Skip to content

Commit

Permalink
tweak "make mut" spans (No. 4)
Browse files Browse the repository at this point in the history
  • Loading branch information
Ezrashaw committed Apr 20, 2023
1 parent 9329bb5 commit 7a90241
Showing 1 changed file with 6 additions and 6 deletions.
12 changes: 6 additions & 6 deletions compiler/rustc_borrowck/src/diagnostics/mutability_errors.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1263,21 +1263,21 @@ fn suggest_ampmut<'tcx>(
{
let span = span.with_lo(span.lo() + BytePos(ws_pos as u32)).shrink_to_lo();
(true, span, " mut".to_owned())
// if there is already a binding, we modify it to be `mut`
} else if binding_exists {
// shrink the span to just after the `&` in `&variable`
let span = span.with_lo(span.lo() + BytePos(1)).shrink_to_lo();
(true, span, "mut ".to_owned())
// otherwise, suggest that the user annotates the binding; we provide the
// type of the local.
} else {
let ty_mut = local_decl.ty.builtin_deref(true).unwrap();
assert_eq!(ty_mut.mutbl, hir::Mutability::Not);

(
binding_exists,
false,
span,
if local_decl.ty.is_ref() {
format!("&mut {}", ty_mut.ty)
} else {
format!("*mut {}", ty_mut.ty)
},
format!("{}mut {}", if local_decl.ty.is_ref() {"&"} else {"*"}, ty_mut.ty)
)
}
}
Expand Down

0 comments on commit 7a90241

Please sign in to comment.