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