// RUN: %clang_cc1 -std=c++2a -x c++ %s -verify
// Examples from standard
concept convertible_to = ;
concept R = ;
requires R<T> struct S ;
;
using si = S<T>;
requires // expected-note{{because 'x + x' would be invalid: invalid operands to binary expression ('T' and 'T')}}
T // expected-note{{candidate template ignored: constraints not satisfied [with T = T]}}
int x = ;
int y = ; // expected-error{{no matching function for call to 'add'}}
concept C = ; // expected-note{{because 'x + x' would be invalid: invalid operands to binary expression ('T' and 'T')}}
requires C<T> // expected-note{{because 'T' does not satisfy 'C'}}
T // expected-note{{candidate template ignored: constraints not satisfied [with T = T]}}
int z = ;
int w = ; // expected-error{{no matching function for call to 'add2'}}