about summary refs log tree commit diff
diff options
context:
space:
mode:
authordswij <dharmasw@outlook.com>2025-08-18 16:23:22 +0000
committerGitHub <noreply@github.com>2025-08-18 16:23:22 +0000
commit0e4ce7ffff20be2653e5b764db08894b8f63962d (patch)
treeccc6801bc565d3934aafab2cd7b3dcd929daf92e
parent73b5a59c224c189735aa628f85c874849e52cabf (diff)
parent22bbb4eba2c0b84dd7adda00280b2ae8d929a3eb (diff)
downloadrust-0e4ce7ffff20be2653e5b764db08894b8f63962d.tar.gz
rust-0e4ce7ffff20be2653e5b764db08894b8f63962d.zip
`msrv`: replace nested `if`s with guard clauses (#15490)
reads a bit more natural imo

changelog: none
-rw-r--r--clippy_utils/src/msrvs.rs36
1 files changed, 18 insertions, 18 deletions
diff --git a/clippy_utils/src/msrvs.rs b/clippy_utils/src/msrvs.rs
index 89a83e2c48f..896d607fbcd 100644
--- a/clippy_utils/src/msrvs.rs
+++ b/clippy_utils/src/msrvs.rs
@@ -189,25 +189,25 @@ impl MsrvStack {
 fn parse_attrs(sess: &Session, attrs: &[impl AttributeExt]) -> Option<RustcVersion> {
     let mut msrv_attrs = attrs.iter().filter(|attr| attr.path_matches(&[sym::clippy, sym::msrv]));
 
-    if let Some(msrv_attr) = msrv_attrs.next() {
-        if let Some(duplicate) = msrv_attrs.next_back() {
-            sess.dcx()
-                .struct_span_err(duplicate.span(), "`clippy::msrv` is defined multiple times")
-                .with_span_note(msrv_attr.span(), "first definition found here")
-                .emit();
-        }
-
-        if let Some(msrv) = msrv_attr.value_str() {
-            if let Some(version) = parse_version(msrv) {
-                return Some(version);
-            }
+    let msrv_attr = msrv_attrs.next()?;
 
-            sess.dcx()
-                .span_err(msrv_attr.span(), format!("`{msrv}` is not a valid Rust version"));
-        } else {
-            sess.dcx().span_err(msrv_attr.span(), "bad clippy attribute");
-        }
+    if let Some(duplicate) = msrv_attrs.next_back() {
+        sess.dcx()
+            .struct_span_err(duplicate.span(), "`clippy::msrv` is defined multiple times")
+            .with_span_note(msrv_attr.span(), "first definition found here")
+            .emit();
     }
 
-    None
+    let Some(msrv) = msrv_attr.value_str() else {
+        sess.dcx().span_err(msrv_attr.span(), "bad clippy attribute");
+        return None;
+    };
+
+    let Some(version) = parse_version(msrv) else {
+        sess.dcx()
+            .span_err(msrv_attr.span(), format!("`{msrv}` is not a valid Rust version"));
+        return None;
+    };
+
+    Some(version)
 }