Address review comments: make label shorter
This commit is contained in:
parent
be6734a7e7
commit
6c506d4c71
@ -705,12 +705,6 @@ impl<'a, 'tcx> BorrowckCtxt<'a, 'tcx> {
|
|||||||
}, " (into closure)"),
|
}, " (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
|
// Annotate the use and the move in the span. Watch out for
|
||||||
// the case where the use and the move are the same. This
|
// the case where the use and the move are the same. This
|
||||||
// means the use is in a loop.
|
// means the use is in a loop.
|
||||||
@ -720,10 +714,22 @@ impl<'a, 'tcx> BorrowckCtxt<'a, 'tcx> {
|
|||||||
format!("value moved{} here in previous iteration of loop{}",
|
format!("value moved{} here in previous iteration of loop{}",
|
||||||
move_note,
|
move_note,
|
||||||
extra_move_label));
|
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
|
err
|
||||||
} else {
|
} else {
|
||||||
err.span_label(use_span, format!("value {} here after move", verb_participle))
|
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));
|
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
|
err
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -10,7 +10,8 @@ error[E0382]: use of moved value: `(maybe as std::prelude::v1::Some).0`
|
|||||||
--> $DIR/issue-41962.rs:15:21
|
--> $DIR/issue-41962.rs:15:21
|
||||||
|
|
|
|
||||||
15 | if let Some(thing) = maybe {
|
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
|
error: aborting due to 2 previous errors
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user