blob: a82e155e266269142af08a01bebe9dcde9fa96c1 (
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
29
30
31
32
33
34
35
36
37
|
// Origin PR c++/45200
// { dg-do compile }
template<typename T>
struct remove_reference
{
typedef T type;
};
template<typename TestType>
struct forward_as_lref
{
};
template<typename Seq, typename N>
struct apply1
{
typedef typename remove_reference<Seq>::type seq;
typedef forward_as_lref<typename seq::seq_type> type; //#0
};
template<typename Seq>
struct apply
{
typedef forward_as_lref<typename remove_reference<Seq>::type::seq_type> type; //#1
};
struct reverse_view
{
typedef int seq_type;
};
int
main()
{
apply<reverse_view >::type a2;
}
|