// { dg-do compile { target c++17_only } } // { dg-options "-fconcepts-ts" } // Check shorthand notation. template concept bool Type() { return true; } template concept bool Same() { return __is_same_as(T, U); } template T> struct S1 { }; template U> struct S2 { }; void f(Same q) { } void g(Type a, Same 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" } }