--- /dev/null
+#[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: {
+// ...
+// _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