// { dg-do compile { target c++20 } } template concept Nothrow_assignable = __has_nothrow_assign(T); template concept Nothrow_constructible = __has_nothrow_constructor(T); template concept Nothrow_copyable = __has_nothrow_copy(T); template concept Trivially_assignable = __has_trivial_assign(T); template concept Trivially_constructible = __has_trivial_constructor(T); template concept Trivially_copyable = __has_trivial_copy(T); template concept Trivially_destructible = __has_trivial_destructor(T); template concept Dynamically_destructible = __has_virtual_destructor(T); template concept Abstract = __is_abstract(T); template concept Polymorphic = __is_polymorphic(T); template concept Class = __is_class(T); template concept Empty = __is_empty(T); template concept Enum = __is_enum(T); template concept Final = __is_final(T); template concept Literal_type = __is_literal_type(T); template concept Pod = __is_pod(T); template concept Standard_layout = __is_standard_layout(T); template concept Trivial = __is_trivial(T); template concept Union = __is_union(T); template void f1(); template void f2(); template void f3(); template void f4(); template void f5(); template void f6(); template void f7(); template void f8(); template void f9(); template void f10(); template void f11(); template void f12(); template void f13(); template void f14(); template void f15(); template void f16(); template void f17(); template void f18(); int main() { f1(); // { dg-error "" } f2(); // { dg-error "" } f3(); // { dg-error "" } f4(); // { dg-error "" } f5(); // { dg-error "" } f6(); // { dg-error "" } f7(); // { dg-error "" } f8(); // { dg-error "" } f9(); // { dg-error "" } f10(); // { dg-error "" } f11(); // { dg-error "" } f12(); // { dg-error "" } f13(); // { dg-error "" } f14(); // { dg-error "" } f15(); // { dg-error "" } f16(); // { dg-error "" } f17(); // { dg-error "" } }