xref: /llvm-project/clang/test/SemaTemplate/concepts-GH86757.cpp (revision a042fcbe45d1ae64acc5d818db90e26e16e1aab3)
1*a042fcbeSHaojian Wu // RUN: %clang_cc1 -std=c++20 -Wfatal-errors -verify %s
2*a042fcbeSHaojian Wu 
3*a042fcbeSHaojian Wu template <typename> int a;
4*a042fcbeSHaojian Wu template <typename... b> concept c = a<b...>;
5*a042fcbeSHaojian Wu template <typename> concept e = c<>;
6*a042fcbeSHaojian Wu 
7*a042fcbeSHaojian Wu // must be a fatal error to trigger the crash
8*a042fcbeSHaojian Wu undefined; // expected-error {{a type specifier is required for all declarations}}
9*a042fcbeSHaojian Wu 
10*a042fcbeSHaojian Wu template <typename d> concept g = e<d>;
11*a042fcbeSHaojian Wu template <g> struct h
12*a042fcbeSHaojian Wu template <g d>
13*a042fcbeSHaojian Wu struct h<d>;
14