2022-07-14 19:12:01 -05: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 10:43:27 -05:00
|
|
|
//~| NOTE creates a temporary value 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
|
|
|
|
println!("{}", val);
|
|
|
|
//~^ borrow later used here
|
|
|
|
}
|