Fix #33819 and update ui test
This commit is contained in:
parent
9e5574803f
commit
428099233a
@ -977,7 +977,11 @@ impl<'a, 'tcx> BorrowckCtxt<'a, 'tcx> {
|
||||
if let Categorization::Local(local_id) = err.cmt.cat {
|
||||
let span = self.tcx.map.span(local_id);
|
||||
if let Ok(snippet) = self.tcx.sess.codemap().span_to_snippet(span) {
|
||||
if snippet != "self" {
|
||||
if snippet.starts_with("ref ") {
|
||||
db.span_label(span,
|
||||
&format!("use `{}` here to make mutable",
|
||||
snippet.replace("ref ", "ref mut ")));
|
||||
} else if snippet != "self" {
|
||||
db.span_label(span,
|
||||
&format!("use `mut {}` here to make mutable", snippet));
|
||||
}
|
||||
|
9
src/test/compile-fail/issue-33819.rs
Normal file
9
src/test/compile-fail/issue-33819.rs
Normal file
@ -0,0 +1,9 @@
|
||||
fn main() {
|
||||
let mut op = Some(2);
|
||||
match op {
|
||||
Some(ref v) => { let a = &mut v; },
|
||||
//~^ ERROR:cannot borrow immutable
|
||||
//~| use `ref mut v` here to make mutable
|
||||
None => {},
|
||||
}
|
||||
}
|
@ -1,8 +1,10 @@
|
||||
error: mismatched types [--explain E0308]
|
||||
--> $DIR/main.rs:14:18
|
||||
|>
|
||||
14 |> let x: u32 = (
|
||||
|> ^ expected u32, found ()
|
||||
note: expected type `u32`
|
||||
note: found type `()`
|
||||
|
||||
|
||||
error: aborting due to previous error
|
||||
|
Loading…
Reference in New Issue
Block a user