16 lines
685 B
C++
16 lines
685 B
C++
// RUN: %clang_cc1 -std=c++20 -verify %s
|
|
|
|
namespace P1972 {
|
|
template <typename T>
|
|
struct S {
|
|
static void f(int)
|
|
requires false; // expected-note 4{{because 'false' evaluated to false}}
|
|
};
|
|
void g() {
|
|
S<int>::f(0); // expected-error{{invalid reference to function 'f': constraints not satisfied}}
|
|
void (*p1)(int) = S<int>::f; // expected-error{{invalid reference to function 'f': constraints not satisfied}}
|
|
void (*p21)(int) = &S<int>::f; // expected-error{{invalid reference to function 'f': constraints not satisfied}}
|
|
decltype(S<int>::f) *p2 = nullptr; // expected-error{{invalid reference to function 'f': constraints not satisfied}}
|
|
}
|
|
}
|