]>
Commit | Line | Data |
---|---|---|
e78b10ce PC |
1 | // PR c++/60153 |
2 | // { dg-do compile { target c++11 } } | |
3 | ||
4 | enum class foo :int {x,y,z}; | |
5 | ||
6 | template <int a, foo b> | |
7 | class A | |
8 | { | |
9 | public: | |
10 | A() | |
11 | { | |
12 | } | |
13 | }; | |
14 | ||
15 | template <typename T> | |
16 | struct B | |
17 | { | |
18 | typedef T value_type; | |
19 | static const T val; | |
20 | }; | |
21 | ||
22 | template <typename... B> | |
23 | struct madscience_intitializer | |
24 | { | |
25 | template <typename B::value_type... args> | |
26 | using ret_type = A<args...>; | |
27 | }; | |
28 | ||
29 | int main() | |
30 | { | |
31 | madscience_intitializer<B<int>,B<foo> >::ret_type<1,foo::y> a; | |
32 | } |