1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
// PR c++/105476 // { dg-do compile { target c++20 } } // A valid version of class-deduction-aggr13.C. template<class> struct Visitor_functor; template<> struct Visitor_functor<int> { using type_t = int; }; template<class T> struct Events { template<class Fn=T> struct Visitor { Visitor_functor<Fn>::type_t t; }; }; using ev_t = Events<int>; ev_t::Visitor v = { {} };