// PR c++/99815 // { dg-do compile { target c++20 } } template struct is_same { static constexpr bool value = false; }; template struct is_same { static constexpr bool value = true; }; template concept C = is_same::value; // { dg-error "wrong number" } template void f() { C auto x = 0; // { dg-error "constraints" } } template void f(); // { dg-bogus "" } template void f(); // { dg-message "required from here" } template void f<>(); // { dg-message "required from here" } template void f(); // { dg-message "required from here" } template void g() { C auto x = 0; // { dg-error "constraints" } } template void g<>(); // { dg-bogus "" } template void g(); // { dg-message "required from here" } template void h() { C auto x = 0; // { dg-error "constraints" } C auto y = 0; }