diff options
| author | William Lee <wlee@mochify.com> | 2016-08-04 23:43:56 -0400 |
|---|---|---|
| committer | William Lee <wlee@mochify.com> | 2016-08-04 23:43:56 -0400 |
| commit | 1ca95ae5ba9c0b3974b620399297c3d494d73601 (patch) | |
| tree | 669bd28cf10f0236082e387f30c8ed1c5c7611c4 | |
| parent | e804a3cf256106c097d44f6e0212cd183122da07 (diff) | |
| download | rust-1ca95ae5ba9c0b3974b620399297c3d494d73601.tar.gz rust-1ca95ae5ba9c0b3974b620399297c3d494d73601.zip | |
Fix for issue #35336 - updating error message for for E0368 to include a span_label
| -rw-r--r-- | src/librustc_typeck/check/op.rs | 14 | ||||
| -rw-r--r-- | src/test/compile-fail/issue-5239-1.rs | 1 |
2 files changed, 10 insertions, 5 deletions
diff --git a/src/librustc_typeck/check/op.rs b/src/librustc_typeck/check/op.rs index d02f87d0b9c..63487683ec3 100644 --- a/src/librustc_typeck/check/op.rs +++ b/src/librustc_typeck/check/op.rs @@ -176,11 +176,15 @@ impl<'a, 'gcx, 'tcx> FnCtxt<'a, 'gcx, 'tcx> { // error types are considered "builtin" if !lhs_ty.references_error() { if let IsAssign::Yes = is_assign { - span_err!(self.tcx.sess, lhs_expr.span, E0368, - "binary assignment operation `{}=` \ - cannot be applied to type `{}`", - op.node.as_str(), - lhs_ty); + struct_span_err!(self.tcx.sess, lhs_expr.span, E0368, + "binary assignment operation `{}=` \ + cannot be applied to type `{}`", + op.node.as_str(), + lhs_ty) + .span_label(lhs_expr.span, + &format!("cannot use `{}=` on type `{}`", + op.node.as_str(), lhs_ty)) + .emit(); } else { let mut err = struct_span_err!(self.tcx.sess, lhs_expr.span, E0369, "binary operation `{}` cannot be applied to type `{}`", diff --git a/src/test/compile-fail/issue-5239-1.rs b/src/test/compile-fail/issue-5239-1.rs index 1ebef06008f..06e3c9a207b 100644 --- a/src/test/compile-fail/issue-5239-1.rs +++ b/src/test/compile-fail/issue-5239-1.rs @@ -13,4 +13,5 @@ fn main() { let x = |ref x: isize| -> isize { x += 1; }; //~^ ERROR E0368 + //~| NOTE cannot use `+=` on type `&isize` } |
