1c8a7eb59SRichard Smith BEGIN 2c8a7eb59SRichard Smith template<typename T = void> struct L; 3c8a7eb59SRichard Smith struct FriendL { 4c8a7eb59SRichard Smith template<typename T> friend struct L; 5c8a7eb59SRichard Smith }; 6c8a7eb59SRichard Smith END 7*2195ec9aSRichard Smith 8*2195ec9aSRichard Smith namespace DeferredLookup { 9*2195ec9aSRichard Smith namespace Indirect { 10*2195ec9aSRichard Smith template<typename, bool = true> struct A {}; 11*2195ec9aSRichard Smith template<typename> struct B { template<typename T> using C = A<T>; }; 12*2195ec9aSRichard Smith } 13*2195ec9aSRichard Smith } 14