1// { dg-do compile }
2
3template <typename V>
4struct b
5{
6  template <typename T>
7  class a
8  {
9    template <typename>
10    friend class a;
11
12    T t_;
13
14   public:
15    a() {}
16    a(a<T *> const &);
17  };
18};
19
20template <typename V>
21template <typename T>
22b<V>::a<T>::a(a<T *> const &rhs): t_(*rhs.t_)
23{}
24
25
26int
27f ()
28{
29  b<void *>::a<char *> q;
30  b<void *>::a<char> w(q);
31
32  return 0;
33}
34