// { dg-do compile } // Origin: Philippe Van Deyck // PR c++/13520: Default template template argument that is a qualified id // with dependent scope. template class Policy {}; template class OriginalPolicy> class ChangedPolicy_impl {}; template class OriginalPolicy > class ChangedPolicy { public: template class Type : public ChangedPolicy_impl { }; }; template class Policy1, template class Policy2 = ChangedPolicy::template Type> class Host : public Policy1, public Policy2 { }; int main() { Host h; return 0; }