Cargo:表和键名一致性

概述

  • Cargo.toml 中的几个表和键名已被移除,因为之前有两种方法可以指定相同的内容。
    • 移除 [project];请使用 [package] 代替。
    • 移除 default_features;请使用 default-features 代替。
    • 移除 crate_type;请使用 crate-type 代替。
    • 移除 proc_macro;请使用 proc-macro 代替。
    • 移除 dev_dependencies;请使用 dev-dependencies 代替。
    • 移除 build_dependencies;请使用 build-dependencies 代替。

详细信息

2024 版本中不再允许使用几个表和键名。之前有两种方法可以指定这些表或键,而此更改有助于确保只有一种指定方法。

其中一些是由于随时间推移的决策变更造成的,而另一些是无意的实现产物。为了避免混淆,并强制执行指定这些表和键的单一风格,现在只允许使用一种变体。

例如

[dev_dependencies]
rand = { version = "0.8.5", default_features = false }

应该更改为

[dev-dependencies]
rand = { version = "0.8.5", default-features = false }

请注意,dev_dependenciesdefault_features 的下划线已更改为短划线。

迁移

当使用 cargo fix --edition 时,Cargo 将自动更新您的 Cargo.toml 文件以使用首选的表和键名。

如果您希望手动更新 Cargo.toml,请务必查看上面的列表,并确保仅使用新的形式。