Warn when an edition 2021 crate is in a virtual workspace with default resolver#10910
Conversation
|
r? @ehuss (rust-highfive has picked a reviewer for you, use r? to override) |
|
This is mostly a problem for binary packages, but it does also affect library packages in some situations; e.g. it can cause issues when a different resolver is used while building the docs on docs.rs than when building in the projects CI: tokio-rs/axum#1180 |
2ca333f to
79f3229
Compare
|
I'll update this based on the discussion in #10112 tomorrow. |
|
☔ The latest upstream changes (presumably #10961) made this pull request unmergeable. Please resolve the merge conflicts. |
79f3229 to
1ed5869
Compare
|
Ping @Nemo157. Just checking in to see if you have time and are still interested in working on this. If you have any question, feel free to discuss here or on Zulip. |
…t resolver Edition 2021 updates the default resolver to version "2", but developers using virtual workspaces commonly don't get this update because the virtual workspace defaults to version "1". Warn when this situation occurs so those developers can explicitly configure their workspace and will be more likely to know that they will need to update it in the future.
1ed5869 to
620f66f
Compare
|
Sorry about the delay, I finally got around to rebasing and implemented both suggestions from above. |
epage
left a comment
There was a problem hiding this comment.
Let me know what your thoughts are on another round for tweaking the messages
I look forward to #12115 since it will open the door for more cargo warnings and we'll be able to have a broader mismatch warning that people can disable.
|
☀️ Test successful - checks-actions |
|
Thanks @Nemo157 for picking this back up. @weihanglo I recommend adding (I recall trying to add |
rust-lang/cargo#10910 starts emitting warning if resolver is not set for 2021 edition package. We want to surpress the warning for now.
Update cargo 17 commits in 64fb38c97ac4d3a327fc9032c862dd28c8833b17..f7b95e31642e09c2b6eabb18ed75007dda6677a0 2023-05-23 18:53:23 +0000 to 2023-05-30 19:25:02 +0000 - chore: detect the channel a PR wants to merge into (rust-lang/cargo#12181) - refactor: de-depulicate `make_dep_prefix` implementation (rust-lang/cargo#12203) - Re-enable code_generation test on Windows (rust-lang/cargo#12199) - docs: add doc comments for git source and friends (rust-lang/cargo#12192) - test: set retry sleep to 1ms for all tests (rust-lang/cargo#12194) - fix(add): Reduce the chance we re-format the user's `[features]` table (rust-lang/cargo#12191) - test(add): Remove expensive test (rust-lang/cargo#12188) - Add a description of `Cargo.lock` conflicts in the Cargo FAQ (rust-lang/cargo#12185) - refactor(tests): Reduce cargo-add setup load (rust-lang/cargo#12189) - Warn when an edition 2021 crate is in a virtual workspace with default resolver (rust-lang/cargo#10910) - refactor(tests): Reduce cargo-remove setup load (rust-lang/cargo#12184) - chore: Lexicographically order `-Z` flags (rust-lang/cargo#12182) - chore(ci): remove temporary fix for rustup 1.24.1 (rust-lang/cargo#12180) - fix: AIX searches dynamic libraries in `LIBPATH`. (rust-lang/cargo#11968) - deps: remove unused features from windows-sys (rust-lang/cargo#12176) - Automatically inherit workspace lints when running cargo new/init (rust-lang/cargo#12174) - Test that the new `debuginfo` options match between cargo and rustc (rust-lang/cargo#12022) r? `@ghost`
See rust-lang/cargo#10910, released with Rust 1.70 ``` warning: some crates are on edition 2021 which defaults to `resolver = "2"`, but virtual workspaces default to `resolver = "1"` ```
See rust-lang/cargo#10910, released with Rust 1.70 ``` warning: some crates are on edition 2021 which defaults to `resolver = "2"`, but virtual workspaces default to `resolver = "1"` ```
rust-lang/cargo#10910 starts emitting warning if resolver is not set for 2021 edition package. We want to surpress the warning for now.
rust-lang/cargo#10910 starts emitting warning if resolver is not set for 2021 edition package. We want to surpress the warning for now.
Update cargo 17 commits in 64fb38c97ac4d3a327fc9032c862dd28c8833b17..f7b95e31642e09c2b6eabb18ed75007dda6677a0 2023-05-23 18:53:23 +0000 to 2023-05-30 19:25:02 +0000 - chore: detect the channel a PR wants to merge into (rust-lang/cargo#12181) - refactor: de-depulicate `make_dep_prefix` implementation (rust-lang/cargo#12203) - Re-enable code_generation test on Windows (rust-lang/cargo#12199) - docs: add doc comments for git source and friends (rust-lang/cargo#12192) - test: set retry sleep to 1ms for all tests (rust-lang/cargo#12194) - fix(add): Reduce the chance we re-format the user's `[features]` table (rust-lang/cargo#12191) - test(add): Remove expensive test (rust-lang/cargo#12188) - Add a description of `Cargo.lock` conflicts in the Cargo FAQ (rust-lang/cargo#12185) - refactor(tests): Reduce cargo-add setup load (rust-lang/cargo#12189) - Warn when an edition 2021 crate is in a virtual workspace with default resolver (rust-lang/cargo#10910) - refactor(tests): Reduce cargo-remove setup load (rust-lang/cargo#12184) - chore: Lexicographically order `-Z` flags (rust-lang/cargo#12182) - chore(ci): remove temporary fix for rustup 1.24.1 (rust-lang/cargo#12180) - fix: AIX searches dynamic libraries in `LIBPATH`. (rust-lang/cargo#11968) - deps: remove unused features from windows-sys (rust-lang/cargo#12176) - Automatically inherit workspace lints when running cargo new/init (rust-lang/cargo#12174) - Test that the new `debuginfo` options match between cargo and rustc (rust-lang/cargo#12022) r? `@ghost`
rust-lang/cargo#10910 starts emitting warning if resolver is not set for 2021 edition package. We want to surpress the warning for now.
Update cargo 17 commits in 64fb38c97ac4d3a327fc9032c862dd28c8833b17..f7b95e31642e09c2b6eabb18ed75007dda6677a0 2023-05-23 18:53:23 +0000 to 2023-05-30 19:25:02 +0000 - chore: detect the channel a PR wants to merge into (rust-lang/cargo#12181) - refactor: de-depulicate `make_dep_prefix` implementation (rust-lang/cargo#12203) - Re-enable code_generation test on Windows (rust-lang/cargo#12199) - docs: add doc comments for git source and friends (rust-lang/cargo#12192) - test: set retry sleep to 1ms for all tests (rust-lang/cargo#12194) - fix(add): Reduce the chance we re-format the user's `[features]` table (rust-lang/cargo#12191) - test(add): Remove expensive test (rust-lang/cargo#12188) - Add a description of `Cargo.lock` conflicts in the Cargo FAQ (rust-lang/cargo#12185) - refactor(tests): Reduce cargo-add setup load (rust-lang/cargo#12189) - Warn when an edition 2021 crate is in a virtual workspace with default resolver (rust-lang/cargo#10910) - refactor(tests): Reduce cargo-remove setup load (rust-lang/cargo#12184) - chore: Lexicographically order `-Z` flags (rust-lang/cargo#12182) - chore(ci): remove temporary fix for rustup 1.24.1 (rust-lang/cargo#12180) - fix: AIX searches dynamic libraries in `LIBPATH`. (rust-lang/cargo#11968) - deps: remove unused features from windows-sys (rust-lang/cargo#12176) - Automatically inherit workspace lints when running cargo new/init (rust-lang/cargo#12174) - Test that the new `debuginfo` options match between cargo and rustc (rust-lang/cargo#12022) r? `@ghost`
rust-lang/cargo#10910 starts emitting warning if resolver is not set for 2021 edition package. We want to surpress the warning for now.
Update cargo 17 commits in 64fb38c97ac4d3a327fc9032c862dd28c8833b17..f7b95e31642e09c2b6eabb18ed75007dda6677a0 2023-05-23 18:53:23 +0000 to 2023-05-30 19:25:02 +0000 - chore: detect the channel a PR wants to merge into (rust-lang/cargo#12181) - refactor: de-depulicate `make_dep_prefix` implementation (rust-lang/cargo#12203) - Re-enable code_generation test on Windows (rust-lang/cargo#12199) - docs: add doc comments for git source and friends (rust-lang/cargo#12192) - test: set retry sleep to 1ms for all tests (rust-lang/cargo#12194) - fix(add): Reduce the chance we re-format the user's `[features]` table (rust-lang/cargo#12191) - test(add): Remove expensive test (rust-lang/cargo#12188) - Add a description of `Cargo.lock` conflicts in the Cargo FAQ (rust-lang/cargo#12185) - refactor(tests): Reduce cargo-add setup load (rust-lang/cargo#12189) - Warn when an edition 2021 crate is in a virtual workspace with default resolver (rust-lang/cargo#10910) - refactor(tests): Reduce cargo-remove setup load (rust-lang/cargo#12184) - chore: Lexicographically order `-Z` flags (rust-lang/cargo#12182) - chore(ci): remove temporary fix for rustup 1.24.1 (rust-lang/cargo#12180) - fix: AIX searches dynamic libraries in `LIBPATH`. (rust-lang/cargo#11968) - deps: remove unused features from windows-sys (rust-lang/cargo#12176) - Automatically inherit workspace lints when running cargo new/init (rust-lang/cargo#12174) - Test that the new `debuginfo` options match between cargo and rustc (rust-lang/cargo#12022) r? `@ghost`
Edition 2021 updates the default resolver to version "2", but developers using virtual workspaces commonly don't get this update because the virtual workspace defaults to version "1". Warn when this situation occurs so those developers can explicitly configure their workspace and will be more likely to know that they will need to update it in the future.
Fixes #10112