// { dg-do compile { target c++20 } } | |
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>, ""); |