// { dg-options "-std=gnu++0x" } template struct X { static const bool primary = true; }; template struct X { static const bool primary = false; }; template struct Y { static const bool primary = true; }; template struct Y { static const bool primary = false; }; static_assert (X::primary, "uses primary template"); static_assert (!X::primary, "uses partial specialization"); static_assert (X::primary, "uses primary template"); static_assert (Y<>::primary, "uses primary template"); static_assert (!Y::primary, "uses partial specialization"); static_assert (Y::primary, "uses primary template");