BEGIN template struct L; struct FriendL { template friend struct L; }; END namespace DeferredLookup { namespace Indirect { template struct A {}; template struct B { template using C = A; }; } }