1 // RUN: %clang_cc1 -std=c++2a -verify %s
2 // expected-no-diagnostics
5 concept C
= (f(T()), true);
8 constexpr bool foo() { return false; }
11 requires (f(T()), true)
12 constexpr bool foo() requires (f(T()), true) { return true; }
16 constexpr void f(A a
) {}
19 static_assert(C
<a::A
>);
20 static_assert(foo
<a::A
>());
23 // This makes calls to f ambiguous, but the second check will still succeed
24 // because the constraint satisfaction results are cached.
25 constexpr void f(A a
, int = 2) {}
27 static_assert(C
<a::A
>);
28 static_assert(foo
<a::A
>());