2022-07-15 00:12:01 +00:00
|
|
|
// run-rustfix
|
|
|
|
use std::cell::RefCell;
|
|
|
|
|
|
|
|
fn main() {
|
|
|
|
let mut r = 0;
|
|
|
|
let s = 0;
|
|
|
|
let x = RefCell::new((&mut r,s));
|
|
|
|
|
|
|
|
let binding = x.borrow();
|
|
|
|
let val: &_ = binding.0;
|
|
|
|
//~^ 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
|
|
|
|
println!("{}", val);
|
|
|
|
//~^ borrow later used here
|
|
|
|
}
|