From 99ce411ed67fd73fc9d3e4afebbdf3472d25bd10 Mon Sep 17 00:00:00 2001 From: Samuel Tardieu Date: Sun, 6 Oct 2024 17:38:36 +0200 Subject: [PATCH] `infinite_loop`: continuing an outer loop leaves the inner loop --- clippy_lints/src/loops/infinite_loop.rs | 17 ++++++- tests/ui/infinite_loops.rs | 38 +++++++++++++++ tests/ui/infinite_loops.stderr | 64 ++++++++++++++++++++++++- 3 files changed, 117 insertions(+), 2 deletions(-) diff --git a/clippy_lints/src/loops/infinite_loop.rs b/clippy_lints/src/loops/infinite_loop.rs index 64ae08070152..e25c03db5344 100644 --- a/clippy_lints/src/loops/infinite_loop.rs +++ b/clippy_lints/src/loops/infinite_loop.rs @@ -42,6 +42,7 @@ pub(super) fn check<'tcx>( let mut loop_visitor = LoopVisitor { cx, label, + inner_labels: label.into_iter().collect(), is_finite: false, loop_depth: 0, }; @@ -93,6 +94,7 @@ fn get_parent_fn_ret_ty<'tcx>(cx: &LateContext<'tcx>, expr: &Expr<'_>) -> Option struct LoopVisitor<'hir, 'tcx> { cx: &'hir LateContext<'tcx>, label: Option