aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/cpp2a/concepts-friend7.C
blob: 4481b5c4af48e116b56e443bae90922034ef7139 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// PR c++/93467
// { dg-do compile { target c++20 } }

template<typename T> concept True = true;

template<typename U>
struct S1 {
    template<True T> friend struct S2; // friend declaration for S2
};

S1<int> s; // instantiate S1

template<True T> struct S2; // another declaration for S2

template<typename U>
struct S3 {
    template<True T> friend struct ::S2; // a third declaration for S2
};