struct A { int x } struct B { int x; int y } int f(A x) { return 3; } int g(B x) { return 3; } int l() { var x = f; x = g; return 3; }