1 // RUN: %clang_cc1 -fsyntax-only %s
2 
3 template<typename T>
4   T f0(T, int);
5 
6 void test_f0() {
7   int (*f0a)(int, int) = f0;
8   int (*f0b)(int, int) = &f0;
9   float (*f0c)(float, int) = &f0;
10 }
11 
12 template<typename T> T f1(T, int);
13 template<typename T> T f1(T);
14 
15 void test_f1() {
16   float (*f1a)(float, int) = f1;
17   float (*f1b)(float, int) = &f1;
18   float (*f1c)(float) = f1;
19   float (*f1d)(float) = (f1);
20   float (*f1e)(float) = &f1;
21   float (*f1f)(float) = (&f1);
22 }
23