| //@ test-mir-pass: SingleUseConsts | |
| //@ compile-flags: -C overflow-checks=no -Zmir-enable-passes=+GVN -Zdump-mir-exclude-alloc-bytes | |
| #![allow(unused)] | |
| struct Point { | |
| x: u32, | |
| y: u32, | |
| } | |
| // EMIT_MIR const_debuginfo.main.SingleUseConsts.diff | |
| fn main() { | |
| // CHECK-LABEL: fn main( | |
| // CHECK: debug x => const 1_u8; | |
| // CHECK: debug y => const 2_u8; | |
| // CHECK: debug z => const 3_u8; | |
| // CHECK: debug sum => const 6_u8; | |
| // CHECK: debug s => const "hello, world!"; | |
| // CHECK: debug f => {{_.*}}; | |
| // CHECK: debug o => const Option::<u16>::Some(99_u16); | |
| // CHECK: debug p => const Point | |
| // CHECK: debug a => const 64_u32; | |
| let x = 1u8; | |
| let y = 2u8; | |
| let z = 3u8; | |
| let sum = x + y + z; | |
| let s = "hello, world!"; | |
| let f = (true, false, 123u32); | |
| let o = Some(99u16); | |
| let p = Point { x: 32, y: 32 }; | |
| let a = p.x + p.y; | |
| } |