error[E0308]: mismatched types
  --> $DIR/issue-82612-return-mutable-reference.rs:18:13
   |
LL | /         if index < self.values.len() {
LL | |             let value = unsafe { self.values.get_unchecked_mut(index) };
LL | |             value.get_or_insert_with(func)
   | |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `()`, found `&mut V`
LL | |         }
   | |_________- expected this to be `()`
   |
   = note:      expected unit type `()`
           found mutable reference `&mut V`
help: consider using a semicolon here
   |
LL |             value.get_or_insert_with(func);
   |                                           +
help: consider using a semicolon here
   |
LL |         };
   |          +
help: you might have meant to return this value
   |
LL |             return value.get_or_insert_with(func);
   |             ++++++                               +

error: aborting due to previous error

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