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