blob: e3845e4838730c63c7edb7c3397e82b04f2de71c (
plain)
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
|
// PR c++/103783
// { dg-do compile { target c++20 } }
template<bool B>
struct A {
template<class...> void f1() = delete;
template<class...> static void f1() requires B;
template<class...> void f2() requires B;
template<class...> static void f2() = delete;
void g1() = delete;
static void g1() requires B;
void g2() requires B;
static void g2() = delete;
};
int main() {
A<true> a;
a.f1(); // OK
a.f2(); // OK
a.g1(); // OK, previously rejected as ambiguous
a.g2(); // OK, previously rejected as ambiguous
}
|