error[E0716]: temporary value dropped while borrowed --> $DIR/issue-15480.rs:6:10 | LL | &id(3) | ^^^^^ creates a temporary which is freed while still in use LL | ]; | - temporary value is freed at the end of this statement ... LL | for &&x in &v { | -- borrow later used here | help: consider using a `let` binding to create a longer lived value | LL ~ let binding = id(3); LL ~ let v = vec![ LL ~ &binding | error: aborting due to previous error For more information about this error, try `rustc --explain E0716`.