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