Rust đo thật — bố cục bộ nhớ: trình biên dịch tự sắp lại trường để struct 15 byte dữ liệu chỉ tốn 16 byte thay vì 32 như repr(C), Option<&T> vẫn đúng 8 byte nhờ tối ưu niche, còn kiểu kích thước 0 không chiếm byte nào
Phần 3 sê-ri Rust đo thật: đo bằng size_of và align_of trong container rust 1.99.1 cách Rust xếp dữ liệu. Một struct chứa 15 byte dữ liệu thật nhưng xen kẽ u8/u64/u32: repr Rust mặc định thì trình biên dịch TỰ sắp lại trường, gói còn 16 byte; ép repr(C) giữ nguyên thứ tự khai báo thì phình lên 32 byte vì padding. Tối ưu niche: Option<&T> và Option<Box<T>> vẫn đúng 8 byte (dùng null làm None), Option<bool>=1, nhưng Option<u64>=16 vì u64 dùng hết mọi bit. Enum = biến thể lớn nhất cộng cờ phân biệt (24 byte). Kiểu kích thước 0 như () tốn 0 byte, Vec<()> không cấp phát heap.