| // PR c++/67178 | |
| // { dg-do compile { target c++20 } } | |
| template<typename T> | |
| concept c = true; | |
| template<typename T> | |
| concept C0 = requires (auto x) { // { dg-error "placeholder type" } | |
| x; | |
| }; | |
| template<typename T> | |
| concept C1 = requires (C1 auto x) { // { dg-error "not been declared|placeholder|two or more|in requirements" } | |
| x; // { dg-error "not declared" } | |
| { x } -> c; // { dg-message "is invalid" } | |
| }; | |
| template<typename T> | |
| requires C1<T> | |
| void f(T) {} | |
| int main() { | |
| f(1); // { dg-error "" } | |
| } | |