We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
Describe the bug Using Catch2 with REQUIRE(std::indirect(42) == 42) triggers a recursive constraint satisfaction error with gcc and clang.
REQUIRE(std::indirect(42) == 42)
error: satisfaction of atomic constraint 'requires(const _Tp& __t, const _Up& __u) {__t == __u;} [with _Tp = _Tp; _Up = _Up]' depends on itself
Expected behavior REQUIRE(std::indirect(42) == 42) should compile and pass.
Reproduction steps Build this snippet with x86-64 gcc trunk and -std=c++26
#include <catch2/catch_all.hpp> #include <memory> TEST_CASE( "std::indirect(42) compares equal to 42" ) { REQUIRE(std::indirect(42) == 42); }
Platform information:
Describe the bug
Using Catch2 with
REQUIRE(std::indirect(42) == 42)triggers a recursive constraint satisfaction error with gcc and clang.error: satisfaction of atomic constraint 'requires(const _Tp& __t, const _Up& __u) {__t == __u;} [with _Tp = _Tp; _Up = _Up]' depends on itselfExpected behavior
REQUIRE(std::indirect(42) == 42)should compile and pass.Reproduction steps
Build this snippet with x86-64 gcc trunk and -std=c++26
Platform information: