// PR c++/100374 | |
// { dg-do compile { target c++20 } } | |
template<class T, class U> | |
concept C = requires { typename T; }; | |
template<class T> | |
struct A { | |
template<C<typename T::value_type> U> | |
void f(); | |
template<C<typename T::value_type> U> | |
struct B; | |
}; | |
int main() { | |
A<int> a; | |
a.f<void>(); | |
using type = A<int>::B<void>; | |
} |