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