friend34.C   [plain text]


// Build don't link:
// excess errors test 

// 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;