// PR c++/63201 // { dg-do compile { target c++14 } } template struct Y { template static U x; }; template template U Y::x = U(); template <> template U Y::x = 42; template <> template // odd diagnostic U Y::x = 42; // { dg-error "partial specialization" } template <> template <> int Y::x = 42; // { dg-bogus "non-member-template declaration" } template struct Z { template struct ZZ { template static V x; }; }; template template template V Z::ZZ::x = V(); template <> template <> template V Z::ZZ::x = V(); template <> template struct Z::ZZ { template static V x; }; template <> template template V Z::ZZ::x = V(); template <> template <> template <> int Z::ZZ::x = 42; // { dg-bogus "non-member-template declaration" } int main() { int y = Y::x; int z = Z::ZZ::x; }