#[inline(never)]
fn read(_: usize) { }

fn main() {
    const FOO: &i32 = &1;
    let x = FOO as *const i32 as usize;
    read(x);
}

// END RUST SOURCE
// START rustc.main.ConstProp.before.mir
//  bb0: {
//      ...
//      _3 = _4;
//      _2 = move _3 as *const i32 (Misc);
//      ...
//      _1 = move _2 as usize (Misc);
//      ...
//      _6 = _1;
//      _5 = const read(move _6) -> bb1;
//  }
// END rustc.main.ConstProp.before.mir
// START rustc.main.ConstProp.after.mir
//  bb0: {
//      ...
//      _4 = const main::FOO;
//      _3 = _4;
//      _2 = move _3 as *const i32 (Misc);
//      ...
//      _1 = move _2 as usize (Misc);
//      ...
//      _6 = _1;
//      _5 = const read(move _6) -> bb1;
//  }
// END rustc.main.ConstProp.after.mir
