//@ run-rustfix | |
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; | |
//~^ 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); | |
//~^ borrow later used here | |
} |