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