| //@ 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 | |
| //~| NOTE creates a temporary value which is freed while still in use | |
| //~| HELP consider using a `let` binding to create a longer lived value | |
| println!("{}", val); | |
| //~^ NOTE borrow later used here | |
| } |