1 // { dg-do assemble } 2 // Origin: Neil Booth, from PR #78 3 4 namespace MySpace 5 { 6 class Tag1 { }; 7 class Tag2 { }; 8 9 template<class Tag> 10 class Object 11 { 12 public: 13 Forgotten(Object const & m)14 friend void Forgotten(Object const & m) {} 15 }; 16 17 typedef Object<Tag1> U1; 18 typedef Object<Tag2> U2; 19 foo()20 void foo() 21 { 22 Forgotten(U1()); 23 Forgotten(U2()); 24 } 25 bar()26 void bar() 27 { 28 Forgotten(U1()); 29 } 30 } 31