// { dg-do assemble } // Origin: Mark Mitchell template struct S { struct X {}; struct Y {}; template friend struct S::X; template friend typename S::Y; // { dg-error "" } typename as friend }; struct T { template friend struct S::X; }; struct U { template friend typename S::X; // { dg-error "" } typename as friend };