about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJosh Triplett <josh@joshtriplett.org>2022-07-06 00:51:40 -0700
committerJosh Triplett <josh@joshtriplett.org>2022-07-06 01:00:19 -0700
commitebff7206bcc4c740be9016dc7d2e10cf421463f9 (patch)
treeef6cb262c73cb759e2cdf2516765c7789c689e70
parent528308b5aa544454e6c90f6d051c3adeb1a46e1b (diff)
downloadrust-ebff7206bcc4c740be9016dc7d2e10cf421463f9.tar.gz
rust-ebff7206bcc4c740be9016dc7d2e10cf421463f9.zip
Add MSRV check for `bool::then_some`
-rw-r--r--clippy_lints/src/methods/mod.rs7
-rw-r--r--clippy_utils/src/msrvs.rs1
2 files changed, 7 insertions, 1 deletions
diff --git a/clippy_lints/src/methods/mod.rs b/clippy_lints/src/methods/mod.rs
index 36389d798ed..15d98098f33 100644
--- a/clippy_lints/src/methods/mod.rs
+++ b/clippy_lints/src/methods/mod.rs
@@ -2737,7 +2737,12 @@ impl Methods {
                     }
                 },
                 ("take", []) => needless_option_take::check(cx, expr, recv),
-                ("then", [arg]) => unnecessary_lazy_eval::check(cx, expr, recv, arg, "then_some"),
+                ("then", [arg]) => {
+                    if !meets_msrv(self.msrv, msrvs::BOOL_THEN_SOME) {
+                        return;
+                    }
+                    unnecessary_lazy_eval::check(cx, expr, recv, arg, "then_some");
+                },
                 ("to_os_string" | "to_owned" | "to_path_buf" | "to_vec", []) => {
                     implicit_clone::check(cx, name, expr, recv);
                 },
diff --git a/clippy_utils/src/msrvs.rs b/clippy_utils/src/msrvs.rs
index b09c929f76e..9e238c6f1ac 100644
--- a/clippy_utils/src/msrvs.rs
+++ b/clippy_utils/src/msrvs.rs
@@ -12,6 +12,7 @@ macro_rules! msrv_aliases {
 
 // names may refer to stabilized feature flags or library items
 msrv_aliases! {
+    1,62,0 { BOOL_THEN_SOME }
     1,53,0 { OR_PATTERNS, MANUAL_BITS, BTREE_MAP_RETAIN, BTREE_SET_RETAIN }
     1,52,0 { STR_SPLIT_ONCE, REM_EUCLID_CONST }
     1,51,0 { BORROW_AS_PTR, UNSIGNED_ABS }