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 = g; x = f; return 3; }