Cargo:Rust 版本感知解析器

概述

  • edition = "2024"Cargo.toml 中意味着 resolver = "3",这将启用 Rust 版本感知依赖解析器。

详情

自从 Rust 1.84.0 版本以来,Cargo 已经选择性地支持考虑 package.rust-version 以便在选择依赖版本时使用,通过在 .cargo/config.toml 中设置 resolver.incompatible-rust-version = "fallback" 来启用此功能。

从 Rust 2024 版本开始,这将成为默认行为。 也就是说,在 Cargo.toml 中写入 edition = "2024" 将意味着 resolver = "3",而 resolver = "3" 又意味着 resolver.incompatible-rust-version = "fallback"

解析器是 workspace 的全局设置,并且此设置在依赖项中被忽略。 此设置仅对 workspace 的顶层包生效。 如果您正在使用虚拟 workspace,如果您想选择启用新的解析器,您仍然需要在 [workspace] 定义中显式设置 resolver 字段

有关 Rust 版本感知依赖解析如何工作的更多详细信息,请参阅 Cargo book

迁移

没有自动化的迁移工具用于更新到新的解析器。

我们建议项目在 CI 中针对最新的依赖项进行验证,以便尽快发现依赖项中的错误。