From 9a7b138d0854380cc70d546cdd6637580aeeb11c Mon Sep 17 00:00:00 2001 From: AskaEth Date: Sun, 8 Nov 2026 20:57:23 +0800 Subject: [PATCH] =?UTF-8?q?chore(m197):=20=E6=B8=85=E6=8E=89=20clippy=20?= =?UTF-8?q?=E7=9A=84=E4=B8=89=E5=A4=84=E6=8B=92=E7=BB=9D=20+=20=E4=B8=80?= =?UTF-8?q?=E5=A4=84=202018=20idioms=20=E8=AD=A6=E5=91=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit CI 的门禁是 `cargo clippy --workspace --all-targets -- -D warnings`: 冗余闭包 / 用例表的类型复杂度 / Default 之后逐字段赋值 / elided lifetime 四处都会红。 纯实现侧改动,行为不变(757 + 31 全绿)。 --- .../src/pages/settings/java/downloads/tests.rs | 5 ++++- crates/app-iced/src/pages/settings/java/prefs_store.rs | 2 +- crates/app-iced/src/pages/settings/java/tests/prefs.rs | 10 ++++++---- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/crates/app-iced/src/pages/settings/java/downloads/tests.rs b/crates/app-iced/src/pages/settings/java/downloads/tests.rs index 824b40c..b301299 100644 --- a/crates/app-iced/src/pages/settings/java/downloads/tests.rs +++ b/crates/app-iced/src/pages/settings/java/downloads/tests.rs @@ -235,7 +235,10 @@ fn every_download_template_renders_without_leftover_placeholders() { use unlucky_i18n::{Key, Lang}; let catalog = Lang::En.catalog(); - let cases: [(&str, Key, &[(&str, &str)]); 6] = [ + /// 一条用例:标签 / key / 渲染参数。 + type Case<'a> = (&'a str, Key, &'a [(&'a str, &'a str)]); + + let cases: [Case<'_>; 6] = [ ( "failed", Key::SettingsJavaDownloadFailed, diff --git a/crates/app-iced/src/pages/settings/java/prefs_store.rs b/crates/app-iced/src/pages/settings/java/prefs_store.rs index 624b835..f33cf96 100644 --- a/crates/app-iced/src/pages/settings/java/prefs_store.rs +++ b/crates/app-iced/src/pages/settings/java/prefs_store.rs @@ -100,7 +100,7 @@ pub fn effective(config: &Path, prefs: &Prefs) -> Effective { let text = prefs.saved_install_root.trim(); (!text.is_empty()).then(|| PathBuf::from(text)) }; - let layout = home_of(config).map(|home| LauncherLayout::new(home)); + let layout = home_of(config).map(LauncherLayout::new); let (root, root_mode, root_layer, root_unresolved) = match &layout { Some(layout) => match JavaInstallRoot::resolve( data_mode, diff --git a/crates/app-iced/src/pages/settings/java/tests/prefs.rs b/crates/app-iced/src/pages/settings/java/tests/prefs.rs index 75c56e6..e825376 100644 --- a/crates/app-iced/src/pages/settings/java/tests/prefs.rs +++ b/crates/app-iced/src/pages/settings/java/tests/prefs.rs @@ -40,11 +40,13 @@ fn the_three_keys_are_written_and_read_back() { let dir = root("prefs-save"); let file = config(&dir); - let mut prefs = Prefs::default(); // 前后带空格:落盘值会被 trim,回读的草稿必须显示**磁盘上那份**。 - prefs.install_root = " D:/JDKs ".to_string(); - prefs.auto_install = false; - prefs.priority = vec!["zulu", "temurin"]; + let mut prefs = Prefs { + install_root: " D:/JDKs ".to_string(), + auto_install: false, + priority: vec!["zulu", "temurin"], + ..Prefs::default() + }; assert!(prefs.dirty(), "改过三键就该是脏的"); let snapshot = prefs_store::save(&file, &prefs).expect("三键应能落盘");