diff --git a/crates/app-iced/src/app/update/adopt.rs b/crates/app-iced/src/app/update/adopt.rs index d63c3c9..965ade4 100644 --- a/crates/app-iced/src/app/update/adopt.rs +++ b/crates/app-iced/src/app/update/adopt.rs @@ -199,16 +199,21 @@ mod tests { } /// 台账里有没有派过某条 adopt 命令(只认命令种类,不看载荷内容)。 + /// + /// 写法是 `let ... else` + `matches!`:内层用 `match` 会被 clippy 判成 + /// `match expression looks like matches! macro`(deny 级,CI 的 `-D warnings` 直接红)。 fn dispatched_adopt(ledger: &Rc>>, want: &str) -> bool { - ledger.borrow().iter().any(|command| match command { - AppCommand::Adopt(command) => match (&**command, want) { - (AdoptCommand::Scan, "scan") => true, - (AdoptCommand::Preview(_), "preview") => true, - (AdoptCommand::Confirm(_), "confirm") => true, - (AdoptCommand::Dismiss, "dismiss") => true, - _ => false, - }, - _ => false, + ledger.borrow().iter().any(|command| { + let AppCommand::Adopt(command) = command else { + return false; + }; + matches!( + (&**command, want), + (AdoptCommand::Scan, "scan") + | (AdoptCommand::Preview(_), "preview") + | (AdoptCommand::Confirm(_), "confirm") + | (AdoptCommand::Dismiss, "dismiss") + ) }) }