1// { dg-do assemble } 2// { dg-options "-g" } 3 4typedef unsigned int size_t; 5 6 7struct dummy { }; 8 9struct arrrrrgh { }; 10 11 12template<class Par,class Rand = arrrrrgh> 13struct whyyyyyyy { }; 14 15 16 17 18template<class T, class S =dummy> 19struct grrrrrrrr { }; 20 21 22template<class Par, class Par2 =Par, class Rand =arrrrrgh> 23class no_future 24{ 25public: 26 27 28 template<class S> 29 no_future(const grrrrrrrr<whyyyyyyy<Par,Rand>*,S>& man ) { } 30 31 ~no_future( ) { } 32 33private: 34 35 36 no_future(const no_future&); 37 no_future& operator=(const no_future&); 38}; 39 40 41int main( ) 42{ 43 grrrrrrrr<whyyyyyyy<double>*> man; 44 45 no_future<double> here(man); 46 47 return 0; 48} 49