| - // MIR for `main` before GVN | |
| + // MIR for `main` after GVN | |
| fn main() -> () { | |
| let mut _0: (); | |
| let mut _1: *const fn(); | |
| let mut _2: usize; | |
| let mut _3: fn(); | |
| scope 1 { | |
| } | |
| bb0: { | |
| StorageLive(_1); | |
| StorageLive(_2); | |
| StorageLive(_3); | |
| _3 = main as fn() (PointerCoercion(ReifyFnPointer(Safe), AsCast)); | |
| _2 = move _3 as usize (PointerExposeProvenance); | |
| StorageDead(_3); | |
| _1 = move _2 as *const fn() (PointerWithExposedProvenance); | |
| StorageDead(_2); | |
| StorageDead(_1); | |
| _0 = const (); | |
| return; | |
| } | |
| } | |