1 class S
2 {
3 	int (&fnref0)(double);
4 	// distinct kinds
5 	int* &fnref1;
6 	int &fnref2;
7 };
8 
foo(S & s)9 void foo(S& s)
10 {
11 }
12 typedef void(&callback)(int);
13 
fn0(void)14 callback fn0(void)
15 {
16 }
17 
fn1(void)18 int(&fn1(void))(int)
19 {
20 }
21 
fn2(callback c)22 void fn2(callback c)
23 {
24 }
25