You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Problem
I have a cargo workspace with 2 packages, all set to edition = "2021". However, this do not set to use the resolver 2 by default, which is misleading.
This can be solved by setting resolver = "2" in workspace Cargo.toml (not in the package Cargo.toml) manually, but this is misleading as one would expect using edition = "2021" will set resolver default to be 2.
setting resolver = "2" directly in the package does generate an warning: warning: resolver for the non root package will be ignored, specify resolver at the workspace root:.
The rust 2021 edition guide says: edition = "2021" implies resolver = "2" in Cargo.toml., but this is simply not true in the case of workspace; and edition do not work in workspace Cargo.toml as well.
Steps
Setup an cargo workspace with one package
Cargo.toml:
[workspace]
members = [
"dev-resolver"
]
dev-resolver/Cargo.toml
[package]
name = "dev-resolver"
version = "0.1.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
p256 = { version = "0.9.0", features = ["ecdsa"], default-features = false }
[dev-dependencies]
rand_core = { version = "0.6.3", features = ["getrandom"] }
cargo build. getrandom is compiled.
Set resolver = "2" in workspace Cargo.toml then cargo build, getrandom is not compiled.
Possible Solution(s)
This have to be add in the documentation.
For rust 2021 (and thus nightly), I suggest to set this automatically (i.e. workspace resolver by default uses resolver 2).
Notes
Output of cargo version: cargo 1.57.0-nightly (0121d66aa 2021-09-22)
The text was updated successfully, but these errors were encountered:
Problem
I have a cargo workspace with 2 packages, all set to edition = "2021". However, this do not set to use the resolver 2 by default, which is misleading.
This can be solved by setting
resolver = "2"
in workspaceCargo.toml
(not in the packageCargo.toml
) manually, but this is misleading as one would expect usingedition = "2021"
will set resolver default to be 2.setting resolver = "2" directly in the package does generate an warning:
warning: resolver for the non root package will be ignored, specify resolver at the workspace root:
.The rust 2021 edition guide says:
edition = "2021" implies resolver = "2" in Cargo.toml.
, but this is simply not true in the case of workspace; andedition
do not work in workspaceCargo.toml
as well.Steps
Cargo.toml:
dev-resolver/Cargo.toml
cargo build
.getrandom
is compiled.Set
resolver = "2"
in workspaceCargo.toml
thencargo build
,getrandom
is not compiled.Possible Solution(s)
This have to be add in the documentation.
For rust 2021 (and thus nightly), I suggest to set this automatically (i.e. workspace resolver by default uses resolver 2).
Notes
Output of
cargo version
:cargo 1.57.0-nightly (0121d66aa 2021-09-22)
The text was updated successfully, but these errors were encountered: