]> git.lizzy.rs Git - rust.git/commitdiff
mir-borrowck: Add span labels to `report_illegal_mutation_of_borrowed()`
authorBasile Desloges <basile.desloges@gmail.com>
Sun, 24 Sep 2017 13:37:41 +0000 (15:37 +0200)
committerBasile Desloges <basile.desloges@gmail.com>
Tue, 26 Sep 2017 17:09:56 +0000 (19:09 +0200)
src/librustc_mir/borrow_check.rs

index f324e20b26df3eeed3a2b2a71255286a19e83b4d..82e125a0dd2f3edea8fde96036c20f59e47f2a28 100644 (file)
@@ -979,9 +979,15 @@ fn report_illegal_mutation_of_borrowed(&mut self,
                                            _: Context,
                                            (lvalue, span): (&Lvalue, Span),
                                            loan: &BorrowData) {
+        let describe_lvalue = self.describe_lvalue(lvalue);
+        let borrow_span = self.retrieve_borrow_span(loan);
+
         let mut err = self.tcx.cannot_assign_to_borrowed(
             span, &self.describe_lvalue(lvalue), Origin::Mir);
-        // FIXME: add span labels for borrow and assignment points
+
+        err.span_label(borrow_span, format!("borrow of `{}` occurs here", describe_lvalue));
+        err.span_label(span, format!("assignment to borrowed `{}` occurs here", describe_lvalue));
+
         err.emit();
     }