1- // MIR for `non_const` before LowerIntrinsics 2+ // MIR for `non_const` after LowerIntrinsics 3 4 fn non_const() -> usize { 5 let mut _0: usize; 6 let _1: extern "rust-intrinsic" fn() -> usize {std::intrinsics::size_of::<T>}; 7 let mut _2: extern "rust-intrinsic" fn() -> usize {std::intrinsics::size_of::<T>}; 8 scope 1 { 9 debug size_of_t => _1; 10 } 11 12 bb0: { 13 StorageLive(_1); 14 _1 = std::intrinsics::size_of::<T>; 15 StorageLive(_2); 16 _2 = _1; 17- _0 = move _2() -> [return: bb1, unwind unreachable]; 18+ _0 = SizeOf(T); 19+ goto -> bb1; 20 } 21 22 bb1: { 23 StorageDead(_2); 24 StorageDead(_1); 25 return; 26 } 27 } 28 29