struct Empty {};
namespace basic {
struct Foo {
[[no_unique_address]] Empty a;
};
} // namespace basic
namespace bases {
struct A {
long c, d;
};
struct B {
[[no_unique_address]] Empty x;
};
struct C {
[[no_unique_address]] Empty x;
};
struct Foo : B, A, C {};
struct Bar : B, C, A {};
} // namespace bases
int main() {
basic::Foo b1;
bases::Foo b2;
bases::Bar b3;
b2.c = 1;
b2.d = 2;
b3.c = 5;
b3.d = 6;
return 0;
}