Skip to content

Commit

Permalink
Change from label to suggestion.
Browse files Browse the repository at this point in the history
This commit changes the label to a maybe incorrect suggestion for better
integration with RLS.
  • Loading branch information
davidtwco committed Oct 8, 2018
1 parent f8c1b0c commit 9e49ac0
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 7 deletions.
13 changes: 8 additions & 5 deletions src/librustc_mir/borrow_check/mutability_errors.rs
Expand Up @@ -241,7 +241,12 @@ impl<'a, 'gcx, 'tcx> MirBorrowckCtxt<'a, 'gcx, 'tcx> {
base.ty(self.mir, self.infcx.tcx).to_ty(self.infcx.tcx),
field,
) {
err.span_label(span, message);
err.span_suggestion_with_applicability(
span,
"consider changing this to be mutable",
message,
Applicability::MaybeIncorrect,
);
}
},

Expand Down Expand Up @@ -636,8 +641,6 @@ fn annotate_struct_field(
if let ty::TyKind::Ref(_, ty, _) = ty.sty {
if let ty::TyKind::Adt(def, _) = ty.sty {
let field = def.all_fields().nth(field.index())?;
let span = tcx.def_span(field.did);

// Use the HIR types to construct the diagnostic message.
let node_id = tcx.hir.as_local_node_id(field.did)?;
let node = tcx.hir.find(node_id)?;
Expand All @@ -659,9 +662,9 @@ fn annotate_struct_field(
};

return Some((
span,
field.ty.span,
format!(
"use `&{}mut {}` here to make mutable",
"&{}mut {}",
lifetime_snippet, &*type_snippet,
),
));
Expand Down
2 changes: 1 addition & 1 deletion src/test/ui/did_you_mean/issue-38147-2.nll.stderr
Expand Up @@ -2,7 +2,7 @@ error[E0596]: cannot borrow `*self.s` as mutable, as it is behind a `&` referenc
--> $DIR/issue-38147-2.rs:17:9
|
LL | s: &'a String
| ------------- use `&'a mut String` here to make mutable
| ---------- help: consider changing this to be mutable: `&'a mut String`
...
LL | self.s.push('x');
| ^^^^^^ cannot borrow as mutable
Expand Down
2 changes: 1 addition & 1 deletion src/test/ui/did_you_mean/issue-38147-3.nll.stderr
Expand Up @@ -2,7 +2,7 @@ error[E0596]: cannot borrow `*self.s` as mutable, as it is behind a `&` referenc
--> $DIR/issue-38147-3.rs:17:9
|
LL | s: &'a String
| ------------- use `&'a mut String` here to make mutable
| ---------- help: consider changing this to be mutable: `&'a mut String`
...
LL | self.s.push('x');
| ^^^^^^ cannot borrow as mutable
Expand Down

0 comments on commit 9e49ac0

Please sign in to comment.