// { dg-do compile { target c++2a } } // { dg-additional-options "-fconcepts-ts" } // Basic tests for introduction syntax. template concept True = true; template concept False = false; template concept Same = __is_same_as(T, U); template concept Pos = N >= 0; True{T} void f1(T) { } False{T} void f2(T) { } Same{X, Y} void same(); Pos{N} void fn(); void driver() { f1(0); f2(0); // { dg-error "" } same(); same(); // { dg-error "" } fn<0>(); // OK fn<-1>(); // { dg-error "" } fn(); // { dg-error "no matching function" } }