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 中针对最新的依赖项进行验证,以便尽快发现依赖项中的错误。