diff options
| author | Tommy Ip <hkmp7tommy@gmail.com> | 2017-05-24 17:30:27 +0100 |
|---|---|---|
| committer | Tommy Ip <hkmp7tommy@gmail.com> | 2017-05-24 17:30:27 +0100 |
| commit | bf25b5eb823c3cbbacc06d33a3ff539de325be6a (patch) | |
| tree | a41548be8583ca35dda2f9725a1381f0659cc950 | |
| parent | 7748bc665d012042d2fe8bbda416ab4682ae45ba (diff) | |
| download | rust-bf25b5eb823c3cbbacc06d33a3ff539de325be6a.tar.gz rust-bf25b5eb823c3cbbacc06d33a3ff539de325be6a.zip | |
Explain why a closure is `FnOnce` in closure errors
| -rw-r--r-- | src/librustc_borrowck/borrowck/mod.rs | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/librustc_borrowck/borrowck/mod.rs b/src/librustc_borrowck/borrowck/mod.rs index f7c20542cbf..297df4978a5 100644 --- a/src/librustc_borrowck/borrowck/mod.rs +++ b/src/librustc_borrowck/borrowck/mod.rs @@ -597,6 +597,9 @@ impl<'a, 'tcx> BorrowckCtxt<'a, 'tcx> { if let Ok(ty::ClosureKind::FnOnce) = ty::queries::closure_kind::try_get(self.tcx, DUMMY_SP, id) { err.help("closure was moved because it only implements `FnOnce`"); + if let Some(&(_kind, Some(span))) = self.tables.closure_kinds.get( ) { + err.span_label(span, "move occured here"); + } false } else { true |
