Navigation Menu

Skip to content

Commit

Permalink
Fix #33819 and update ui test
Browse files Browse the repository at this point in the history
  • Loading branch information
Jonathan Turner committed May 23, 2016
1 parent 9e55748 commit 4280992
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 1 deletion.
6 changes: 5 additions & 1 deletion src/librustc_borrowck/borrowck/mod.rs
Expand Up @@ -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));
}
Expand Down
9 changes: 9 additions & 0 deletions src/test/compile-fail/issue-33819.rs
@@ -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 => {},
}
}
2 changes: 2 additions & 0 deletions src/test/ui/mismatched_types/main.stderr
@@ -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

0 comments on commit 4280992

Please sign in to comment.