diff --git a/clippy_lints/src/loops/infinite_loop.rs b/clippy_lints/src/loops/infinite_loop.rs index 5b5bb88c1790..d7fa7935fc6d 100644 --- a/clippy_lints/src/loops/infinite_loop.rs +++ b/clippy_lints/src/loops/infinite_loop.rs @@ -1,12 +1,14 @@ +use std::ops::ControlFlow; + use clippy_utils::diagnostics::span_lint_and_then; use clippy_utils::{fn_def_id, is_from_proc_macro, is_lint_allowed}; use hir::intravisit::{walk_expr, Visitor}; -use hir::{Expr, ExprKind, FnRetTy, FnSig, Node}; -use rustc_ast::Label; +use hir::{ClosureKind, Expr, ExprKind, FnRetTy, FnSig, ItemKind, Node, Ty, TyKind}; use rustc_errors::Applicability; use rustc_hir as hir; use rustc_lint::{LateContext, LintContext}; use rustc_middle::lint::in_external_macro; +use rustc_span::Span; use super::INFINITE_LOOP; @@ -14,7 +16,7 @@ pub(super) fn check<'tcx>( cx: &LateContext<'tcx>, expr: &Expr<'tcx>, loop_block: &'tcx hir::Block<'_>, - label: Option