Daily bump.
[gcc.git] / gcc / testsuite / g++.dg / cpp0x / variadic188.C
blob04732a5e68fb9b40ca914396d485acbd1029363f
1 // PR c++/94100
2 // { dg-do compile { target c++11 } }
4 template <typename... T> struct ValListWithTypes {
5   template <T... Members> struct WithVals {
6     using TypeList = ValListWithTypes;
7   };
8 };
10 template <typename ValList, typename ValTypeList = typename ValList::TypeList>
11 struct Widget;
13 template <typename ValList, typename... ValTypes>
14 struct Widget<ValList, ValListWithTypes<ValTypes...>> {
15   template <typename = ValList> struct Impl {};
18 template <typename ValList, typename... ValTypes>
19 template <ValTypes... Vals>
20 struct Widget<ValList, ValListWithTypes<ValTypes...>>::Impl<
21     typename ValListWithTypes<ValTypes...>::template WithVals<Vals...>> {};
23 int main(void) { Widget<ValListWithTypes<int>::WithVals<0>>::Impl<> impl; }