error[E0597]: `first_dropped` does not live long enough --> $DIR/issue28498-reject-passed-to-fn.rs:34:19 | LL | let (foo1, first_dropped); | ------------- binding `first_dropped` declared here ... LL | foo1 = Foo(1, &first_dropped, Box::new(callback)); | ^^^^^^^^^^^^^^ borrowed value does not live long enough ... LL | } | - | | | `first_dropped` dropped here while still borrowed | borrow might be used here, when `foo1` is dropped and runs the `Drop` code for type `Foo` | = note: values in a scope are dropped in the opposite order they are defined error: aborting due to previous error For more information about this error, try `rustc --explain E0597`.