// Origin PR c++/51194
// { dg-do compile { target c++11 } }

template<class U, class V> //#1
struct foo {};

template<class U, class V=char>
struct P {};

template<template<class... U> class... TT>
struct bar {
    template<class... Args>
    using mem = P<TT<Args...>...>;//#2
};

bar<foo>::mem<int, char> b;//#3

