Skip to content

Commit c7cadb6

Browse files
Update clippy_lints/src/matches/collapsible_match.rs
Co-authored-by: Samuel Tardieu <sam@rfc1149.net>
1 parent 2e7b2ba commit c7cadb6

1 file changed

Lines changed: 2 additions & 1 deletion

File tree

clippy_lints/src/matches/collapsible_match.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,9 @@ use super::{COLLAPSIBLE_MATCH, pat_contains_disallowed_or};
2323

2424
pub(super) fn check_match<'tcx>(cx: &LateContext<'tcx>, expr: &'tcx Expr<'_>, arms: &'tcx [Arm<'_>], msrv: Msrv) {
2525
if let Some(els_arm) = arms.iter().rfind(|arm| arm_is_wild_like(cx, arm)) {
26+
let last_non_wildcard = arms.iter().rposition(|arm| !arm_is_wild_like(cx, arm));
2627
for (idx, arm) in arms.iter().enumerate() {
27-
let only_wildcards_after = arms[idx + 1..].iter().all(|a| arm_is_wild_like(cx, a));
28+
let only_wildcards_after = last_non_wildcard.is_none_or(|lnw| idx >= lnw);
2829
check_arm(
2930
cx,
3031
true,

0 commit comments

Comments
 (0)