template struct SomeTemplate {}; struct DefinedInCommon { void f(); struct Inner {}; friend void FoundByADL(DefinedInCommon); }; template struct CommonTemplate { enum E { a = 1, b = 2, c = 3 }; };