fix(rationale): Clarify workspace-level lint for incompatible MSRV

This commit is contained in:
Ed Page 2024-02-02 11:19:00 -06:00
parent 43db9719cf
commit 5294aba05f
1 changed files with 1 additions and 1 deletions

View File

@ -871,7 +871,7 @@ Misc alternatives
Therefore, we could probably get away with treating this as a minor incompatibility
- Either way, the big care about is there being attention drawn to the change.
We couldn't want this to be like sparse registries where a setting exists and we change the default and people hardly notice (besides any improvements)
- `cargo build` will treat incompatible MSRVs as a workspace-level lint, rather than a package level lint, to avoid the complexity of mapping the package to a workspace-member for `[lint]` and dealing with unifying conflicting levels in `[lint]`.
- `cargo build` will treat incompatible MSRVs as a workspace-level lint, rather than a package level lint, to avoid the complexity of mapping the dependency to a workspace-member to select `[lint]` tables to respect and then dealing with unifying conflicting levels in between `[lint]` tables among members.
- `--ignore-rust-version` picks absolutely the latest dependencies to support (1) users on latest rustc and (2) users wanting "unsupported" dependencies, at the cost of users not on the latest rustc but still want latest more up-to-date dependencies than their MSRV allows
- Compilation commands (e.g. `cargo check`) will take on two meanings for `--ignore-rust-version`, (1) `allow` the workspace diagnostic and (2) resolve changed dependencies to latest when syncing `Cargo.toml` to `Cargo.lock`.
- This expansion of scope is for consistency