-
Notifications
You must be signed in to change notification settings - Fork 2.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
9e86985
to
49cc60b
Compare
Thanks! @bors r+ |
☀️ 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`
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