1 // RUN: %clang_cc1 -std=c++2a -fallow-pch-with-compiler-errors -emit-pch -o %t %s -verify 2 // RUN: %clang_cc1 -std=c++2a -fallow-pch-with-compiler-errors -include-pch %t %s -verify 3 4 #ifndef HEADER 5 #define HEADER 6 7 template <typename T, typename U> 8 concept not_same_as = true; 9 10 template <int Kind> 11 struct subrange { 12 template <not_same_as<int> R> 13 subrange(R) requires(Kind == 0); 14 15 template <not_same_as<int> R> 16 subrange(R) requires(Kind != 0); 17 }; 18 19 template <typename R> 20 subrange(R) -> subrange<42>; 21 22 int main() { 23 int c; 24 subrange s(c); 25 } 26 27 #endif 28 29 namespace GH99036 { 30 31 template <typename T> 32 concept C; // expected-error {{expected '='}} 33 34 template <C U> void f(); 35 36 } // namespace GH99036 37