2022-07-14 19:12:01 -05:00
|
|
|
// run-rustfix
|
2017-01-14 11:59:10 -06:00
|
|
|
use std::cell::RefCell;
|
|
|
|
|
|
|
|
fn main() {
|
|
|
|
let mut r = 0;
|
|
|
|
let s = 0;
|
|
|
|
let x = RefCell::new((&mut r,s));
|
|
|
|
|
|
|
|
let val: &_ = x.borrow().0;
|
2019-04-22 02:40:08 -05:00
|
|
|
//~^ ERROR temporary value dropped while borrowed [E0716]
|
|
|
|
//~| NOTE temporary value is freed at the end of this statement
|
|
|
|
//~| NOTE creates a temporary which is freed while still in use
|
2022-07-14 19:12:01 -05:00
|
|
|
//~| HELP consider using a `let` binding to create a longer lived value
|
2017-01-14 11:59:10 -06:00
|
|
|
println!("{}", val);
|
2019-04-22 02:40:08 -05:00
|
|
|
//~^ borrow later used here
|
2017-01-14 11:59:10 -06:00
|
|
|
}
|