From b8018f780771ab6913fc622132462575f5ee6fcf Mon Sep 17 00:00:00 2001 From: "jif2.zhang" Date: Mon, 14 Sep 2026 14:46:19 +0800 Subject: [PATCH] =?UTF-8?q?fix(android):=20=E9=92=89=20chrono=20<0.4.40=20?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20arrow-arith=2051=20=E7=9A=84=20quarter=20?= =?UTF-8?q?=E6=96=B9=E6=B3=95=E6=AD=A7=E4=B9=89=20(E0034)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [原因] duckdb 0.10.2 非可选依赖 arrow 51 (→ arrow-arith 51)。 chrono 0.4.40+ 在 Datelike 新增 quarter(), 与 arrow-arith 自带的 ChronoDateExt::quarter 在 temporal.rs:90 产生 E0034 multiple applicable items。 桌面构建走 docker-build(web+OTA), 从未编译 arrow, 故只有 android CI 暴露。 [验证] cargo update -p chrono --precise 0.4.39 成功; 本机缺 MSVC 无法 cargo check, 修复与 arrow-rs#6600 官方 workaround 一致 (chrono >=0.4.38, <0.4.40) --- src-tauri/Cargo.lock | 13 ++++++++++--- src-tauri/Cargo.toml | 4 +++- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index 1e81cb3..772b879 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -52,6 +52,12 @@ version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" +[[package]] +name = "android-tzdata" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" + [[package]] name = "android_system_properties" version = "0.1.6" @@ -614,16 +620,17 @@ dependencies = [ [[package]] name = "chrono" -version = "0.4.45" +version = "0.4.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1aa79e62e7697b8e29b513a68abacf485adcd1fe8284a4316c5ae868e6633327" +checksum = "7e36cc9d416881d2e24f9a963be5fb1cd90966419ac844274161d10488b3e825" dependencies = [ + "android-tzdata", "iana-time-zone", "js-sys", "num-traits", "serde", "wasm-bindgen", - "windows-link 0.2.1", + "windows-targets 0.52.6", ] [[package]] diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index 615314d..3ae917d 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -19,7 +19,9 @@ serde_json = "1" duckdb = { version = "0.10", features = ["bundled"] } tokio = { version = "1", features = ["full"] } uuid = { version = "1", features = ["v4"] } -chrono = { version = "0.4", features = ["serde"] } +# 版本上限: chrono 0.4.40 起 Datelike 新增 quarter(), 与 arrow-arith 51 的 +# ChronoDateExt::quarter (duckdb 0.10.2 非可选依赖 arrow 51) 产生 E0034 方法歧义 +chrono = { version = ">=0.4.38, <0.4.40", features = ["serde"] } sha2 = "0.10" hex = "0.4" ctrlc = "3"