error[E0713]: borrow may still be in use when destructor runs --> $DIR/issue28498-reject-ex1.rs:34:29 | LL | foo.data[0].1.set(Some(&foo.data[1])); | ^^^^^^^^ ... LL | } | - | | | here, drop of `foo` needs exclusive access to `foo.data`, because the type `Foo>` implements the `Drop` trait | borrow might be used here, when `foo` is dropped and runs the `Drop` code for type `Foo` | = note: consider using a `let` binding to create a longer lived value error: aborting due to 1 previous error For more information about this error, try `rustc --explain E0713`.