diff options
| author | Manish Goregaokar <manishsmail@gmail.com> | 2025-03-19 15:56:45 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-03-19 15:56:45 +0000 |
| commit | 48ce25ea0e02f46d2888aed2f80cf86b2dc172d6 (patch) | |
| tree | ff70807b34bb7bd3a94103e28f43479b6ac9d78b /clippy_lints/src | |
| parent | 31497d68fb1e71f0a5facc0defec2c55260c6ac7 (diff) | |
| parent | d793c0abfa7997d65b8b52df7c8a15532c5b49df (diff) | |
Add MSRV check for `question_mark` (#14436)
changelog: [`question_mark`]: Now respects the [`msrv`] configuration
Diffstat (limited to 'clippy_lints/src')
| -rw-r--r-- | clippy_lints/src/question_mark.rs | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/clippy_lints/src/question_mark.rs b/clippy_lints/src/question_mark.rs index 2c9d3c1ba1f..a80e1f79bbc 100644 --- a/clippy_lints/src/question_mark.rs +++ b/clippy_lints/src/question_mark.rs @@ -3,7 +3,7 @@ use crate::question_mark_used::QUESTION_MARK_USED; use clippy_config::Conf; use clippy_config::types::MatchLintBehaviour; use clippy_utils::diagnostics::span_lint_and_sugg; -use clippy_utils::msrvs::Msrv; +use clippy_utils::msrvs::{self, Msrv}; use clippy_utils::source::snippet_with_applicability; use clippy_utils::ty::{implements_trait, is_type_diagnostic_item}; use clippy_utils::{ @@ -524,7 +524,8 @@ fn is_inferred_ret_closure(expr: &Expr<'_>) -> bool { impl<'tcx> LateLintPass<'tcx> for QuestionMark { fn check_stmt(&mut self, cx: &LateContext<'tcx>, stmt: &'tcx Stmt<'_>) { - if !is_lint_allowed(cx, QUESTION_MARK_USED, stmt.hir_id) { + if !is_lint_allowed(cx, QUESTION_MARK_USED, stmt.hir_id) || !self.msrv.meets(cx, msrvs::QUESTION_MARK_OPERATOR) + { return; } @@ -540,7 +541,10 @@ impl<'tcx> LateLintPass<'tcx> for QuestionMark { return; } - if !self.inside_try_block() && !is_in_const_context(cx) && is_lint_allowed(cx, QUESTION_MARK_USED, expr.hir_id) + if !self.inside_try_block() + && !is_in_const_context(cx) + && is_lint_allowed(cx, QUESTION_MARK_USED, expr.hir_id) + && self.msrv.meets(cx, msrvs::QUESTION_MARK_OPERATOR) { check_is_none_or_err_and_early_return(cx, expr); check_if_let_some_or_err_and_early_return(cx, expr); |
