cxx2a-constraints-crash.cpp
507 Bytes
// RUN: %clang_cc1 -std=c++2a -emit-pch %s -o %t
// RUN: %clang_cc1 -std=c++2a -include-pch %t -verify %s
// expected-no-diagnostics
#ifndef HEADER
#define HEADER
template <typename T, typename U>
concept not_same_as = true;
template <int Kind>
struct subrange {
template <not_same_as<int> R>
subrange(R) requires(Kind == 0);
template <not_same_as<int> R>
subrange(R) requires(Kind != 0);
};
template <typename R>
subrange(R) -> subrange<42>;
int main() {
int c;
subrange s(c);
}
#endif