2022-07-15 00:12:01 +00:00
|
|
|
// run-rustfix
|
2017-01-14 17:59:10 +00: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 07:40:08 +00:00
|
|
|
//~^ ERROR temporary value dropped while borrowed [E0716]
|
|
|
|
//~| NOTE temporary value is freed at the end of this statement
|
2022-10-20 15:43:27 +00:00
|
|
|
//~| NOTE creates a temporary value which is freed while still in use
|
2022-07-15 00:12:01 +00:00
|
|
|
//~| HELP consider using a `let` binding to create a longer lived value
|
2017-01-14 17:59:10 +00:00
|
|
|
println!("{}", val);
|
2019-04-22 07:40:08 +00:00
|
|
|
//~^ borrow later used here
|
2017-01-14 17:59:10 +00:00
|
|
|
}
|