fix(android): 钉 chrono <0.4.40 修复 arrow-arith 51 的 quarter 方法歧义 (E0034)
Android Build & Publish / build-android (push) Failing after 19m6s
Docker Build and Push / build-image (push) Successful in 2m23s

[原因] 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)
This commit is contained in:
jif2.zhang
2026-09-14 14:46:19 +08:00
parent c0439d08f0
commit b8018f7807
2 changed files with 13 additions and 4 deletions
+10 -3
View File
@@ -52,6 +52,12 @@ version = "0.2.21"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923"
[[package]]
name = "android-tzdata"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0"
[[package]] [[package]]
name = "android_system_properties" name = "android_system_properties"
version = "0.1.6" version = "0.1.6"
@@ -614,16 +620,17 @@ dependencies = [
[[package]] [[package]]
name = "chrono" name = "chrono"
version = "0.4.45" version = "0.4.39"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1aa79e62e7697b8e29b513a68abacf485adcd1fe8284a4316c5ae868e6633327" checksum = "7e36cc9d416881d2e24f9a963be5fb1cd90966419ac844274161d10488b3e825"
dependencies = [ dependencies = [
"android-tzdata",
"iana-time-zone", "iana-time-zone",
"js-sys", "js-sys",
"num-traits", "num-traits",
"serde", "serde",
"wasm-bindgen", "wasm-bindgen",
"windows-link 0.2.1", "windows-targets 0.52.6",
] ]
[[package]] [[package]]
+3 -1
View File
@@ -19,7 +19,9 @@ serde_json = "1"
duckdb = { version = "0.10", features = ["bundled"] } duckdb = { version = "0.10", features = ["bundled"] }
tokio = { version = "1", features = ["full"] } tokio = { version = "1", features = ["full"] }
uuid = { version = "1", features = ["v4"] } 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" sha2 = "0.10"
hex = "0.4" hex = "0.4"
ctrlc = "3" ctrlc = "3"