这似乎是足够聪明,只用一个字节为A,但不够聪明使用一个字节为B,即使只有8 * 8 = 64点的可能性。有什么办法哄锈算出这个还是我不得不手动实现更紧凑的布局?
#![allow(dead_code)]
enum A {
L,
UL,
U,
UR,
R,
DR,
D,
DL,
}
enum B {
C(A, A),
}
fn main() {
println!("{:?}", std::mem::size_of::<A>()); // prints 1
println!("{:?}", std::mem::size_of::<B>()); // prints 2
}