// PR c++/67240 // { dg-options "-std=c++17 -fconcepts" } int foo(int x) { return x; } template concept bool C1 = requires (T x) { {foo(x)} -> int&; }; template concept bool C2 = requires (T x) { {foo(x)} -> void; }; static_assert( C1 ); // { dg-error "assert" } static_assert( C2 ); // { dg-error "assert" }