Следующая действительна Ржавчина:Как Rust хранит значения enum в массивах?
enum Foo {
One(i32, i32, i32),
Two { x: i32, y: i32 },
}
fn main() {
let x: [Foo; 2] = [Foo::One(1, 2, 3), Foo::Two { x: 1, y: 2 }];
}
Как Rust магазин это? Первый элемент - 12 байтов, а второй - 8 (плюс байт тега в начале, который я предполагаю). Сохраняет ли он только ссылки на элементы в массиве?
Точно так же он хранит значения перечислений в другом месте, FWIW. – Shepmaster