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<Concrete<'_>>` 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 previous error

For more information about this error, try `rustc --explain E0713`.
