error[E0308]: mismatched types --> $DIR/mut-ref-reassignment.rs:2:11 | LL | fn suggestion(opt: &mut Option) { | ------------------- expected due to this parameter type LL | opt = None; | ^^^^ expected `&mut Option`, found `Option<_>` | = note: expected mutable reference `&mut Option` found enum `Option<_>` help: consider dereferencing here to assign to the mutably borrowed value | LL | *opt = None; | + error[E0308]: mismatched types --> $DIR/mut-ref-reassignment.rs:6:11 | LL | fn no_suggestion(opt: &mut Result) { | ----------------------- expected due to this parameter type LL | opt = None | ^^^^ expected `&mut Result`, found `Option<_>` | = note: expected mutable reference `&mut Result` found enum `Option<_>` error[E0308]: mismatched types --> $DIR/mut-ref-reassignment.rs:10:11 | LL | fn suggestion2(opt: &mut Option) { | ------------------- expected due to this parameter type LL | opt = Some(String::new()) | ^^^^^^^^^^^^^^^^^^^ expected `&mut Option`, found `Option` | = note: expected mutable reference `&mut Option` found enum `Option` help: consider dereferencing here to assign to the mutably borrowed value | LL | *opt = Some(String::new()) | + error[E0308]: mismatched types --> $DIR/mut-ref-reassignment.rs:14:11 | LL | fn no_suggestion2(opt: &mut Option) { | ------------------- expected due to this parameter type LL | opt = Some(42) | ^^^^^^^^ expected `&mut Option`, found `Option<{integer}>` | = note: expected mutable reference `&mut Option` found enum `Option<{integer}>` error: aborting due to 4 previous errors For more information about this error, try `rustc --explain E0308`.