Auto merge of #13393 - vHugoObject:master, r=Alexendoo

fix: Specifying reason in expect(clippy::needless_return) no longer triggers false positive

fixes #13366
changelog: none
This commit is contained in:
bors 2024-09-25 14:44:31 +00:00
commit 2a61f59628
3 changed files with 41 additions and 1 deletions

View File

@ -421,7 +421,7 @@ fn check_final_expr<'tcx>(
if matches!(Level::from_attr(attr), Some(Level::Expect(_)))
&& let metas = attr.meta_item_list()
&& let Some(lst) = metas
&& let [NestedMetaItem::MetaItem(meta_item)] = lst.as_slice()
&& let [NestedMetaItem::MetaItem(meta_item), ..] = lst.as_slice()
&& let [tool, lint_name] = meta_item.path.segments.as_slice()
&& tool.ident.name == sym::clippy
&& matches!(

View File

@ -360,3 +360,23 @@ fn issue12907() -> String {
}
fn main() {}
fn a(x: Option<u8>) -> Option<u8> {
match x {
Some(_) => None,
None => {
#[expect(clippy::needless_return, reason = "Use early return for errors.")]
return None;
},
}
}
fn b(x: Option<u8>) -> Option<u8> {
match x {
Some(_) => None,
None => {
#[expect(clippy::needless_return)]
return None;
},
}
}

View File

@ -370,3 +370,23 @@ fn issue12907() -> String {
}
fn main() {}
fn a(x: Option<u8>) -> Option<u8> {
match x {
Some(_) => None,
None => {
#[expect(clippy::needless_return, reason = "Use early return for errors.")]
return None;
},
}
}
fn b(x: Option<u8>) -> Option<u8> {
match x {
Some(_) => None,
None => {
#[expect(clippy::needless_return)]
return None;
},
}
}