blob: 060ab7788aeef25e033f548929c8f3b0fe13a354 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
// { dg-do compile }
// Origin: David Abrahams <dave@boost-consulting.com>
// Wolfgang Bangerth <bangerth@ticam.utexas.edu>
// PR c++/12170: Deducing template template parameter from nested
// class template.
template <typename> struct W {};
template< template<typename> class F, typename T>
int foo(W< F<T> >);
template<typename T>
struct L {
static int const value = sizeof(foo(W<T>()));
typedef T type;
};
template <typename>
struct Y {
template <typename> struct X { typedef int type; };
typedef typename L<X<int> >::type type;
};
template struct Y<int>;
|