// 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}}
};
}