error[E0716]: temporary value dropped while borrowed --> $DIR/issue-17545.rs:7:10 | LL | pub fn foo<'a, F: Fn(&'a ())>(bar: F) { | -- lifetime `'a` defined here LL | / bar.call(( LL | | &id(()), | | ^^^^^^ creates a temporary value which is freed while still in use LL | | )); | | -- temporary value is freed at the end of this statement | |______| | argument requires that borrow lasts for `'a` error: aborting due to previous error For more information about this error, try `rustc --explain E0716`.