// { dg-do compile { target c++17 } } // { dg-options "-fconcepts" } // Check shorthand notation. template concept Type = true; template concept Same = __is_same_as(T, U); template T> struct S1 { }; template U> struct S2 { }; void f(Same auto q) { } void g(Type auto a, Same auto b) { } int main() { S1 s1; // { dg-error "constraint|invalid" } S2 s2; // { dg-error "constraint|invalid" } f('a'); // { dg-error "no match" } g(0, 'a'); // { dg-error "no match" } }