@import cxx_templates_common; template T f() { return T(); } template T f(T); namespace N { template T f() { return T(); } template T f(T); } template int template_param_kinds_1(); template class> int template_param_kinds_2(); template class> int template_param_kinds_3(); template struct SomeTemplate; template struct SomeTemplate {}; typedef SomeTemplate SomeTemplateIntPtr; template void PerformDelayedLookup(T &t) { t.f(); typename T::Inner inner; FoundByADL(t); } template void PerformDelayedLookupInDefaultArgument(T &t, int a = (FoundByADL(T()), 0)) {} template struct RedeclaredAsFriend {};