cxx2a-concept-specialization-expr.cpp
601 Bytes
// RUN: %clang_cc1 -std=c++2a -emit-pch %s -o %t
// RUN: %clang_cc1 -std=c++2a -include-pch %t -verify %s
// RUN: %clang_cc1 -std=c++2a -emit-pch -fpch-instantiate-templates %s -o %t
// RUN: %clang_cc1 -std=c++2a -include-pch %t -verify %s
// expected-no-diagnostics
#ifndef HEADER
#define HEADER
template<typename... T>
concept C = true;
namespace n {
template<typename... T>
concept C = true;
}
void f() {
(void)C<int>;
(void)C<int, void>;
(void)n::C<void>;
}
#else /*included pch*/
int main() {
(void)C<int>;
(void)C<int, void>;
(void)n::C<void>;
f();
}
#endif // HEADER