// RUN: %clang_cc1 -fsyntax-only -verify %s // expected-no-diagnostics template int foo1(F1 X1); template struct A { template friend int foo1(F2 X2) { return A1; } }; template struct A<1>; int main() { foo1(1.0); } template int foo2(F1 X1); template struct B { template friend int foo2(F2 X2) { return A1; } }; template struct B<1>; template int foo2(float X1);