//TEST:INTERPRET(filecheck=CHECK): func foo(f : functype (float) -> int) -> int{ return f(0); } int bit(T) { return 10; } int bit(vector) { return 1; } int zit() { // even though foo is overloaded, we should still be able to infer that we want bit // based on the parameter (expected) type. return foo(bit); } void main() { // CHECK: 10 printf("%d\n", zit()); }