Skip to content

Commit 0e4ce7f

Browse files
authored
msrv: replace nested ifs with guard clauses (#15490)
reads a bit more natural imo changelog: none
2 parents 73b5a59 + 22bbb4e commit 0e4ce7f

File tree

1 file changed

+18
-18
lines changed

1 file changed

+18
-18
lines changed

clippy_utils/src/msrvs.rs

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -189,25 +189,25 @@ impl MsrvStack {
189189
fn parse_attrs(sess: &Session, attrs: &[impl AttributeExt]) -> Option<RustcVersion> {
190190
let mut msrv_attrs = attrs.iter().filter(|attr| attr.path_matches(&[sym::clippy, sym::msrv]));
191191

192-
if let Some(msrv_attr) = msrv_attrs.next() {
193-
if let Some(duplicate) = msrv_attrs.next_back() {
194-
sess.dcx()
195-
.struct_span_err(duplicate.span(), "`clippy::msrv` is defined multiple times")
196-
.with_span_note(msrv_attr.span(), "first definition found here")
197-
.emit();
198-
}
199-
200-
if let Some(msrv) = msrv_attr.value_str() {
201-
if let Some(version) = parse_version(msrv) {
202-
return Some(version);
203-
}
192+
let msrv_attr = msrv_attrs.next()?;
204193

205-
sess.dcx()
206-
.span_err(msrv_attr.span(), format!("`{msrv}` is not a valid Rust version"));
207-
} else {
208-
sess.dcx().span_err(msrv_attr.span(), "bad clippy attribute");
209-
}
194+
if let Some(duplicate) = msrv_attrs.next_back() {
195+
sess.dcx()
196+
.struct_span_err(duplicate.span(), "`clippy::msrv` is defined multiple times")
197+
.with_span_note(msrv_attr.span(), "first definition found here")
198+
.emit();
210199
}
211200

212-
None
201+
let Some(msrv) = msrv_attr.value_str() else {
202+
sess.dcx().span_err(msrv_attr.span(), "bad clippy attribute");
203+
return None;
204+
};
205+
206+
let Some(version) = parse_version(msrv) else {
207+
sess.dcx()
208+
.span_err(msrv_attr.span(), format!("`{msrv}` is not a valid Rust version"));
209+
return None;
210+
};
211+
212+
Some(version)
213213
}

0 commit comments

Comments
 (0)