Wie speichert Rust Enum-Werte in Arrays?
Das folgende ist gültig Rust:
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 }];
}
Wie speichert Rust das? Das erste Element ist 12 Bytes, während das zweite 8 ist (plus ein Tag-Byte am Anfang, denke ich). Speichert es nur Verweise auf die Elemente im Array?