Use match on method args instead of if let

This commit is contained in:
sjwang05 2023-10-30 18:39:39 +00:00
parent 39eded7b05
commit 103200967e
No known key found for this signature in database
GPG key ID: AB262FD6FFBFCFFE

View file

@ -65,7 +65,9 @@ impl LateLintPass<'_> for LinesFilterMapOk {
matches!(fm_method_str, "filter_map" | "flat_map" | "flatten") &&
is_type_diagnostic_item(cx, cx.typeck_results().expr_ty_adjusted(fm_receiver), sym::IoLines)
{
let lint = if let [fm_arg] = fm_args {
let lint = match fm_args {
[] => fm_method_str == "flatten",
[fm_arg] => {
match &fm_arg.kind {
// Detect `Result::ok`
ExprKind::Path(qpath) =>
@ -84,8 +86,8 @@ impl LateLintPass<'_> for LinesFilterMapOk {
},
_ => false,
}
} else {
fm_method_str == "flatten"
}
_ => false,
};
if lint {