1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
// { dg-do compile { target c++17 } } template<typename T> struct Base { protected: using type = T; }; template<typename T> struct Cont : Base<T> { using argument_type = typename Base<T>::type; Cont(T, argument_type) { } }; Cont c(1, 1);