about summary refs log tree commit diff
diff options
context:
space:
mode:
authorgaurikholkar <f2013002@goa.bits-pilani.ac.in>2017-05-01 22:23:53 -0700
committergaurikholkar <f2013002@goa.bits-pilani.ac.in>2017-05-02 05:44:55 -0700
commit1c57bb4219523c38a2fcaf609c845ef77b6f2240 (patch)
treec3743fa90d071b7748814b04cfa4da7c9700364b
parent478b7d9a7a23dbbbe8972c1dd8fc4a38598f145a (diff)
downloadrust-1c57bb4219523c38a2fcaf609c845ef77b6f2240.tar.gz
rust-1c57bb4219523c38a2fcaf609c845ef77b6f2240.zip
Using a span_suggestion to display use & hint
-rw-r--r--src/librustc_borrowck/borrowck/gather_loans/move_error.rs9
-rw-r--r--src/test/ui/issue-40402-ref-hints/issue-40402-1.stderr7
2 files changed, 7 insertions, 9 deletions
diff --git a/src/librustc_borrowck/borrowck/gather_loans/move_error.rs b/src/librustc_borrowck/borrowck/gather_loans/move_error.rs
index fba4c0340b9..b7ce9d98233 100644
--- a/src/librustc_borrowck/borrowck/gather_loans/move_error.rs
+++ b/src/librustc_borrowck/borrowck/gather_loans/move_error.rs
@@ -79,13 +79,10 @@ fn report_move_errors<'a, 'tcx>(bccx: &BorrowckCtxt<'a, 'tcx>, errors: &Vec<Move
                 let initializer =
                     e.init.as_ref().expect("should have an initializer to get an error");
                 if let Ok(snippet) = bccx.tcx.sess.codemap().span_to_snippet(initializer.span) {
-                    if snippet.len() > 10 {
-                        err.help(&format!("consider borrowing this with `&`"));
-                    } else {
-                        err.help(&format!("consider changing to `&{}`", snippet));
-                    }
+                    err.span_suggestion(initializer.span,
+                                        "consider using a reference instead",
+                                        format!("&{}", snippet));
                 }
-
             }
             _ => {
                 for move_to in &error.move_to_places {
diff --git a/src/test/ui/issue-40402-ref-hints/issue-40402-1.stderr b/src/test/ui/issue-40402-ref-hints/issue-40402-1.stderr
index c9d0f622da8..de110ac12b7 100644
--- a/src/test/ui/issue-40402-ref-hints/issue-40402-1.stderr
+++ b/src/test/ui/issue-40402-ref-hints/issue-40402-1.stderr
@@ -2,9 +2,10 @@ error[E0507]: cannot move out of indexed content
   --> $DIR/issue-40402-1.rs:19:13
    |
 19 |     let e = f.v[0];
-   |             ^^^^^^ cannot move out of indexed content
-   |
-   = help: consider changing to `&f.v[0]`
+   |             ^^^^^^
+   |             |
+   |             help: consider using a reference instead `&f.v[0]`
+   |             cannot move out of indexed content
 
 error: aborting due to previous error