// Build don't link: // Origin: Mark Mitchell template struct S { struct X {}; struct Y {}; template friend struct S::X; // ERROR - typename as friend template friend typename S::Y; // ERROR - typename as friend }; struct T { template friend struct S::X; // ERROR - typename as friend }; struct U { template friend typename S::X; // ERROR - typename as friend };