// Origin: PR c++/53609 // { dg-do compile { target c++11 } } template struct List{ static const bool is_ok = false;}; template struct Z { static const int value = T; static const int value_square = T * T; }; template class U> struct List, U<3>, U<4>, U<9>> { static const bool is_ok = true;}; template using LZ = List...>; template struct F { using N = LZ; }; static_assert (F, Z<3>>::N::is_ok, "");