]> git.lizzy.rs Git - rust.git/commitdiff
Address review comments: make label shorter
authorEsteban Küber <esteban@kuber.com.ar>
Tue, 2 Jan 2018 06:10:04 +0000 (22:10 -0800)
committerEsteban Küber <esteban@kuber.com.ar>
Tue, 2 Jan 2018 06:10:13 +0000 (22:10 -0800)
src/librustc_borrowck/borrowck/mod.rs
src/test/ui/borrowck/issue-41962.stderr

index 4b72b6987084ee5c987f7020749209c52aa12d08..b33cd19b7a9f1b6d38fdc967dc7a579d16b643b2 100644 (file)
@@ -705,12 +705,6 @@ pub fn report_use_of_moved_value(&self,
                 }, " (into closure)"),
         };
 
-        let extra_move_label = if need_note {
-            format!(" because it has type `{}`, which does not implement the `Copy` trait",
-                    moved_lp.ty)
-        } else {
-            String::new()
-        };
         // Annotate the use and the move in the span. Watch out for
         // the case where the use and the move are the same. This
         // means the use is in a loop.
@@ -720,10 +714,22 @@ pub fn report_use_of_moved_value(&self,
                 format!("value moved{} here in previous iteration of loop{}",
                          move_note,
                          extra_move_label));
+
+            if need_note {
+                err.note(&format!("value moved because it has type `{}`, \
+                                   which does not implement the `Copy` trait",
+                                  moved_lp.ty)
+            }
             err
         } else {
-            err.span_label(use_span, format!("value {} here after move", verb_participle))
-               .span_label(move_span, format!("value moved{} here{}", move_note, extra_move_label));
+            err.span_label(use_span, format!("value {} here after move", verb_participle));
+            let extra_move_label = if need_note {
+               &format!(" because it has type `{}`, which does not implement the `Copy` trait",
+                        moved_lp.ty)
+            } else {
+                ""
+            };
+            err.span_label(move_span,format!("value moved{} here{}", move_note, extra_move_label));
             err
         };
 
index 4ee11798123a9481bab2d34f27a811fecb828a99..caa67835ee573ab06e7bb248be9d49e4f90ebaae 100644 (file)
@@ -10,7 +10,8 @@ error[E0382]: use of moved value: `(maybe as std::prelude::v1::Some).0`
   --> $DIR/issue-41962.rs:15:21
    |
 15 |         if let Some(thing) = maybe {
-   |                     ^^^^^ value moved here in previous iteration of loop because it has type `std::vec::Vec<bool>`, which does not implement the `Copy` trait
+   |                     ^^^^^ value moved here in previous iteration of loop
+   = note: value moved because it has type `std::vec::Vec<bool>`, which does not implement the `Copy` trait
 
 error: aborting due to 2 previous errors