1 template<typename T> struct SomeTemplate {}; 2 3 struct DefinedInCommon { 4 void f(); 5 struct Inner {}; 6 friend void FoundByADL(DefinedInCommon); 7 }; 8 9 template<typename T> struct CommonTemplate { 10 enum E { a = 1, b = 2, c = 3 }; 11 }; 12