// { dg-do compile { target c++11 } }

// Add arguments to unbound template template parameter.

template <template <class> class Template>
struct Internal {
  template <class Arg> using Bind = Template<Arg>;
};

template <template <class> class Template, class Arg>
using Instantiate = Template<Arg>; // After parsing #1, the
                                   // BOUND_TEMPLATE_TEMPLATE_PARM
                                   // parameter Template gets
                                   // the UNBOUND_CLASS_TEMPLATE
                                   // Internal<Template>::template Bind
                                   // as an argument, and the
                                   // parameter Arg gets Argument as
                                   // an argument.  And we build
                                   // 'Bind<Argument>'.

template <template <class> class Template, class Argument>
using Bind = Instantiate<Internal<Template>::template Bind, Argument>; //#1

