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