struct A {} struct B { int x } void foo(A a, B b) { a = b; return; }