types.rs (754B)
1 fn main() { 2 println!("CASTING"); 3 let decimal = 93.243_295_f32; 4 let cast_u32 = decimal as u32; 5 let cast_u8 = decimal as u8; 6 // Only u8 can be cast to char (even though char is 32 bits) 7 let cast_char = cast_u8 as char; 8 println!("u8: '{}', char: '{}'", cast_u8, cast_char); 9 10 println!("LITERALS"); 11 println!("size(u8): {}", std::mem::size_of_val(&cast_u8)); 12 println!("size(u32): {}", std::mem::size_of_val(&cast_u32)); 13 println!("size(char): {}", std::mem::size_of_val(&cast_char)); 14 println!("size(f32): {}", std::mem::size_of_val(&decimal)); 15 16 println!("ALIASING"); 17 type UnsignedInt128 = u128; 18 let long = 8 as UnsignedInt128; 19 println!("size(UnsignedInt128): {}", std::mem::size_of_val(&long)); 20 }