// { dg-additional-options -fdump-tree-original } #![feature(intrinsics)] #[lang = "sized"] pub trait Sized {} extern "rust-intrinsic" { pub fn size_of() -> usize; } fn main() -> i32 { unsafe fn foo() -> usize { let f: f32; let s_f32 = size_of::(); let s_f64 = size_of::(); let s_f32_again = size_of::(); s_f32 + s_f64 + s_f32_again } // useless code, just used for function compilation caching unsafe { foo() as i32 } }