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

template<typename T>
concept C1 =
    requires () {
        { T::smf() } noexcept;
    };

struct M1 {
    static void smf() noexcept;
};
template<typename T>
concept C2 = C1<typename T::type>;

struct M2 {
    using type = M1;
};
static_assert(C2<M2>, "");