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