1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
// RUN: %clang_cc1 -fsyntax-only -verify -std=c++20 %s
namespace GH49093 {
class B {
public:
static int a() { return 0; } // expected-note {{declared as a non-template here}}
decltype(a< 0 >(0)) test; // expected-error {{'a' does not refer to a template}}
};
struct C {
static int a() { return 0; } // expected-note {{declared as a non-template here}}
decltype(a < 0 > (0)) test; // expected-error {{'a' does not refer to a template}}
};
void test_is_bool(bool t) {}
void test_is_bool(int t) {}
int main() {
B b;
test_is_bool(b.test);
C c;
test_is_bool(c.test);
}
}
namespace GH107047 {
struct A {
static constexpr auto test() { return 1; } // expected-note {{declared as a non-template here}}
static constexpr int s = test< 1 >(); // expected-error {{'test' does not refer to a template}}
};
}
|