error[E0716]: temporary value dropped while borrowed --> $DIR/issue-11493.rs:5:35 | LL | let y = x.as_ref().unwrap_or(&id(5)); | ^^^^^ - temporary value is freed at the end of this statement | | | creates a temporary which is freed while still in use LL | &y; | -- borrow later used here | = note: consider using a `let` binding to create a longer lived value error: aborting due to previous error For more information about this error, try `rustc --explain E0716`.