| 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 | | } | |
| | |_________- `if` expressions without `else` arms expect their inner expression 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: you might have meant to return this value | |
| | | |
| LL | return value.get_or_insert_with(func); | |
| | ++++++ + | |
| error: aborting due to 1 previous error | |
| For more information about this error, try `rustc --explain E0308`. |