// PR c++/79501 // { dg-do compile { target c++17 } } template struct X { template struct B { T t; }; template B(T, decltype(V)=V) -> B; auto foo() { return B{V}; } }; X<42> x; using type = decltype(x.foo()); using type = decltype(decltype(x)::B{42}); using type = X<42>::B;