diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2022-09-01 21:37:21 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-09-01 21:37:21 +0200 |
| commit | 1bafe0b0204a6e1ddc31a805adaaa33c1db2506c (patch) | |
| tree | a3db177bf1b29cac8666601dae8634012aef0057 /compiler/rustc_borrowck/src | |
| parent | 8f8a5d2723f061aa863d2897c2b6cecae2b0ceba (diff) | |
| parent | 78e9bea598a1e9a87236e9bf437baa8f9ecb8294 (diff) | |
| download | rust-1bafe0b0204a6e1ddc31a805adaaa33c1db2506c.tar.gz rust-1bafe0b0204a6e1ddc31a805adaaa33c1db2506c.zip | |
Rollup merge of #101285 - TaKO8Ki:do-not-suggest-adding-move-when-closure-is-already-marked-as-move, r=oli-obk
Do not suggest adding `move` to closure when `move` is already used Fixes #101227
Diffstat (limited to 'compiler/rustc_borrowck/src')
| -rw-r--r-- | compiler/rustc_borrowck/src/diagnostics/region_errors.rs | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/compiler/rustc_borrowck/src/diagnostics/region_errors.rs b/compiler/rustc_borrowck/src/diagnostics/region_errors.rs index 00fdf331ca6..082dd869023 100644 --- a/compiler/rustc_borrowck/src/diagnostics/region_errors.rs +++ b/compiler/rustc_borrowck/src/diagnostics/region_errors.rs @@ -902,7 +902,11 @@ impl<'a, 'tcx> MirBorrowckCtxt<'a, 'tcx> { hir::ExprKind::MethodCall(.., args, _) => { // only the first closre parameter of the method. args[0] is MethodCall PathSegment for i in 1..args.len() { - if let hir::ExprKind::Closure(..) = args[i].kind { + if let hir::ExprKind::Closure(hir::Closure { + capture_clause: hir::CaptureBy::Ref, + .. + }) = args[i].kind + { closure_span = Some(args[i].span.shrink_to_lo()); break; } @@ -911,7 +915,11 @@ impl<'a, 'tcx> MirBorrowckCtxt<'a, 'tcx> { hir::ExprKind::Block(blk, _) => { if let Some(ref expr) = blk.expr { // only when the block is a closure - if let hir::ExprKind::Closure(..) = expr.kind { + if let hir::ExprKind::Closure(hir::Closure { + capture_clause: hir::CaptureBy::Ref, + .. + }) = expr.kind + { closure_span = Some(expr.span.shrink_to_lo()); } } @@ -921,7 +929,7 @@ impl<'a, 'tcx> MirBorrowckCtxt<'a, 'tcx> { if let Some(closure_span) = closure_span { diag.span_suggestion_verbose( closure_span, - format!("consider adding 'move' keyword before the nested closure"), + "consider adding 'move' keyword before the nested closure", "move ", Applicability::MaybeIncorrect, ); |
