// { dg-do assemble } | |
// This testcase won't fail if class ::foo is forward-declared in the | |
// global namespace, nor if class bar is not a template class. | |
template <typename T = void> | |
class bar { | |
public: | |
friend class foo; // this is not bar::foo, it forward-declares ::foo | |
class foo {}; | |
bar() { foo(); } // but this should refer to bar::foo | |
}; | |
bar<> baz; |