use clippy_utils::diagnostics::span_lint_and_then; use clippy_utils::{fn_def_id, is_lint_allowed}; use hir::intravisit::{walk_expr, Visitor}; use hir::{Expr, ExprKind, FnRetTy, FnSig, Node}; use rustc_ast::Label; use rustc_errors::Applicability; use rustc_hir as hir; use rustc_lint::LateContext; use super::INFINITE_LOOP; pub(super) fn check<'tcx>( cx: &LateContext<'tcx>, expr: &Expr<'_>, loop_block: &'tcx hir::Block<'_>, label: Option