// RUN: %clang_cc1 -std=c++2a -x c++ %s -verify
using A = int;
constexpr bool is_same_v = false;
constexpr bool is_same_v<T, T> = true;
concept same_as = is_same_v<T, U>;
static_assert;
static_assert;
// Check that requires expr is an unevaluated context.
;
requires
;
using r1i = r1<int>;
// expected-error@-1 {{constraints not satisfied for class template 'r1' [with T = int]}}
requires
;
using r2i = r2<int>;
// expected-error@-1 {{constraints not satisfied for class template 'r2' [with T = int]}}
requires
;
using r3i = r3<int>;
// expected-error@-1 {{constraints not satisfied for class template 'r3' [with T = int]}}
;
requires requires
// expected-note@-1 {{because 'T::value' would be invalid: type 'int' cannot be used prior to '::' because it has no members}}
;
using r4i = r4<int>;
// expected-error@-1 {{constraints not satisfied for class template 'r4' [with T = int]}}