// Investigating the size of things in Rust. // In particular the size of structs, arrays and vectors // ggtowell // Nov 2023 use std::mem; fn main() { println!("Hello, world!"); println!("i32 {}", mem::size_of::()); println!("f64 {}", mem::size_of::()); println!("[i32;2] {}]", mem::size_of::<[i32; 2]>()); println!("[i32;3] {}", mem::size_of::<[i32; 3]>()); println!("[i8;2] {}]", mem::size_of::<[i8; 2]>()); println!("[i8;3] {}", mem::size_of::<[i8; 3]>()); // Pointer size println!("raw pointer {}", mem::size_of::<*const i32>()); struct FieldStruct { first: u8, second: u16, third: u8, } println!("struct {}", mem::size_of::()); println!("Vec {}", mem::size_of::>()); println!("Vec {}", mem::size_of::>()); }