Skip to content

Commit 193fe5a

Browse files
skip if-let-rescope lint unless requested by migration
1 parent e8c698b commit 193fe5a

File tree

1 file changed

+5
-6
lines changed

1 file changed

+5
-6
lines changed

compiler/rustc_lint/src/if_let_rescope.rs

+5-6
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ use rustc_errors::{
99
use rustc_hir::{self as hir, HirIdSet};
1010
use rustc_macros::LintDiagnostic;
1111
use rustc_middle::ty::TyCtxt;
12-
use rustc_session::lint::{FutureIncompatibilityReason, Level};
12+
use rustc_session::lint::{FutureIncompatibilityReason, LintId};
1313
use rustc_session::{declare_lint, impl_lint_pass};
1414
use rustc_span::Span;
1515
use rustc_span::edition::Edition;
@@ -242,12 +242,12 @@ impl_lint_pass!(
242242

243243
impl<'tcx> LateLintPass<'tcx> for IfLetRescope {
244244
fn check_expr(&mut self, cx: &LateContext<'tcx>, expr: &'tcx hir::Expr<'tcx>) {
245-
if expr.span.edition().at_least_rust_2024() {
246-
return;
247-
}
248-
if let (Level::Allow, _) = cx.tcx.lint_level_at_node(IF_LET_RESCOPE, expr.hir_id) {
245+
if expr.span.edition().at_least_rust_2024()
246+
|| cx.tcx.lints_that_dont_need_to_run(()).contains(&LintId::of(IF_LET_RESCOPE))
247+
{
249248
return;
250249
}
250+
251251
if let hir::ExprKind::Loop(block, _label, hir::LoopSource::While, _span) = expr.kind
252252
&& let Some(value) = block.expr
253253
&& let hir::ExprKind::If(cond, _conseq, _alt) = value.kind
@@ -287,7 +287,6 @@ struct IfLetRescopeLint {
287287
rewrite: Option<IfLetRescopeRewrite>,
288288
}
289289

290-
// #[derive(Subdiagnostic)]
291290
struct IfLetRescopeRewrite {
292291
match_heads: Vec<SingleArmMatchBegin>,
293292
consequent_heads: Vec<ConsequentRewrite>,

0 commit comments

Comments
 (0)