rust/src/test/run-pass/issues/issue-49955-2.rs
2018-12-25 21:08:33 -07:00

20 lines
500 B
Rust

// run-pass
// compile-flags: -Z borrowck=mir
use std::cell::Cell;
const FIVE: Cell<i32> = Cell::new(5);
#[inline(never)]
fn tuple_field() -> &'static u32 {
// This test is MIR-borrowck-only because the old borrowck
// doesn't agree that borrows of "frozen" (i.e., without any
// interior mutability) fields of non-frozen temporaries,
// should be promoted, while MIR promotion does promote them.
&(FIVE, 42).1
}
fn main() {
assert_eq!(tuple_field().to_string(), "42");
}