Skip to content

Add a suggestion when adding [lints] to a workspace to use [workspace.lints] instead - #17300

Merged
epage merged 2 commits into
rust-lang:masterfrom
addiesh:master
Aug 3, 2026
Merged

Add a suggestion when adding [lints] to a workspace to use [workspace.lints] instead#17300
epage merged 2 commits into
rust-lang:masterfrom
addiesh:master

Conversation

@addiesh

@addiesh addiesh commented Aug 2, 2026

Copy link
Copy Markdown

What does this PR try to resolve?

A minor nitpick involving lints. If you add a [lints.<something>] table to a workspace's Cargo.toml, cargo will reject it outright when [workspace.lints.<something>] would have worked as the user (me 😅) probably expected.

How to test and review this PR?

I added a test case (also generalized for any future similar changes, I hope cargo's multi-project functionality gets better over time :3) and updated the previous test case to exclude this specific change.

in short, cargo test ws_err_similar_suggest,ws_err_unused should pass.

@rustbot rustbot added A-manifest Area: Cargo.toml issues S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Aug 2, 2026
@rustbot

rustbot commented Aug 2, 2026

Copy link
Copy Markdown
Collaborator

Thanks for the pull request, and welcome! The Rust Project is excited to review your changes, and you should hear from @epage (or someone else) some time within the next two weeks.

Please see the contribution instructions for more information. Namely, in order to ensure the minimum review times lag, PR authors and assigned reviewers should ensure that the review label (S-waiting-on-review and S-waiting-on-author) stays updated, invoking these commands when appropriate:

  • @rustbot author: the review is finished, PR author should check the comments and take action accordingly
  • @rustbot review: the author is ready for a review, this PR will be queued again in the reviewer's queue
Why was this reviewer chosen?

The reviewer was selected based on:

  • Owners of files modified in this PR: @epage, @weihanglo
  • @epage, @weihanglo expanded to epage, weihanglo
  • Random selection from epage, weihanglo

@epage epage left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! Just some minor tweaks and this will be good to go.

View changes since this review

Comment thread src/workspace/parser/mod.rs Outdated
Comment thread src/workspace/parser/mod.rs Outdated
Comment thread tests/testsuite/workspaces.rs Outdated
Comment thread tests/testsuite/workspaces.rs Outdated
@epage
epage enabled auto-merge August 3, 2026 18:10
@epage
epage added this pull request to the merge queue Aug 3, 2026
Merged via the queue into rust-lang:master with commit 983b566 Aug 3, 2026
29 checks passed
@rustbot rustbot removed the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Aug 3, 2026
rust-bors Bot pushed a commit to rust-lang/rust that referenced this pull request Aug 5, 2026
Update cargo submodule

21 commits in 7c83d4cc0953b81d823e47d640c64da9b8bd4fac..c79e8f89441b3e73d6d65d125c0c745792808c74
2026-07-29 21:34:53 +0000 to 2026-08-04 19:17:33 +0000
- fix(diag): Ensure diagnostic titles work without snippets (rust-lang/cargo#17304)
- refactor: Remove unnecessary mut in sources (rust-lang/cargo#17305)
- feat(trim-paths): emit unremap files for final artifacts (rust-lang/cargo#17303)
- fix: prevent panic when `package.build` is empty (rust-lang/cargo#17268)
- Add a suggestion when adding `[lints]` to a workspace to use `[workspace.lints]` instead (rust-lang/cargo#17300)
- chore(deps): update embarkstudios/cargo-deny-action action to v2.1.1 (rust-lang/cargo#17291)
- refactor: move sysroot lookup to GlobalContext (rust-lang/cargo#17276)
- fix(trim-paths): unambiguous and reversible remap rules (rust-lang/cargo#17302)
- Avoid parsing unchanged lockfiles (rust-lang/cargo#17301)
- Remove unnecessary to_path_buf (rust-lang/cargo#17295)
- chore(deps): update cargo-semver-checks to v0.50.0 (rust-lang/cargo#17297)
- chore(deps): update actions/checkout action to v6.1.0 (rust-lang/cargo#17290)
- Remove unnecessary return at end of functions (rust-lang/cargo#17292)
- make __CARGO_TEST_FORCE_ARGFILE available in distributed builds (rust-lang/cargo#17293)
- Fix manual_readme lint for lower-priority README files (rust-lang/cargo#17208)
- fix(git): make checkout names independent of git config (rust-lang/cargo#17289)
- fix(diag): Rename redundant_readme to manual_readme (rust-lang/cargo#17288)
- Remove redundant double call .to_string() (rust-lang/cargo#17286)
- fix(completions): complete paths for cargo run arguments (rust-lang/cargo#17284)
- test(git): exercise multi git revision lockfile (rust-lang/cargo#17279)
- add context to lints documentation (rust-lang/cargo#17273)

r? ghost
rust-bors Bot pushed a commit to rust-lang/rust that referenced this pull request Aug 6, 2026
Update cargo submodule



21 commits in 7c83d4cc0953b81d823e47d640c64da9b8bd4fac..c79e8f89441b3e73d6d65d125c0c745792808c74
2026-07-29 21:34:53 +0000 to 2026-08-04 19:17:33 +0000
- fix(diag): Ensure diagnostic titles work without snippets (rust-lang/cargo#17304)
- refactor: Remove unnecessary mut in sources (rust-lang/cargo#17305)
- feat(trim-paths): emit unremap files for final artifacts (rust-lang/cargo#17303)
- fix: prevent panic when `package.build` is empty (rust-lang/cargo#17268)
- Add a suggestion when adding `[lints]` to a workspace to use `[workspace.lints]` instead (rust-lang/cargo#17300)
- chore(deps): update embarkstudios/cargo-deny-action action to v2.1.1 (rust-lang/cargo#17291)
- refactor: move sysroot lookup to GlobalContext (rust-lang/cargo#17276)
- fix(trim-paths): unambiguous and reversible remap rules (rust-lang/cargo#17302)
- Avoid parsing unchanged lockfiles (rust-lang/cargo#17301)
- Remove unnecessary to_path_buf (rust-lang/cargo#17295)
- chore(deps): update cargo-semver-checks to v0.50.0 (rust-lang/cargo#17297)
- chore(deps): update actions/checkout action to v6.1.0 (rust-lang/cargo#17290)
- Remove unnecessary return at end of functions (rust-lang/cargo#17292)
- make __CARGO_TEST_FORCE_ARGFILE available in distributed builds (rust-lang/cargo#17293)
- Fix manual_readme lint for lower-priority README files (rust-lang/cargo#17208)
- fix(git): make checkout names independent of git config (rust-lang/cargo#17289)
- fix(diag): Rename redundant_readme to manual_readme (rust-lang/cargo#17288)
- Remove redundant double call .to_string() (rust-lang/cargo#17286)
- fix(completions): complete paths for cargo run arguments (rust-lang/cargo#17284)
- test(git): exercise multi git revision lockfile (rust-lang/cargo#17279)
- add context to lints documentation (rust-lang/cargo#17273)

r? ghost
@rustbot rustbot added this to the 1.99.0 milestone Aug 6, 2026
pull Bot pushed a commit to LeeeeeeM/miri that referenced this pull request Aug 8, 2026
Update cargo submodule



21 commits in 7c83d4cc0953b81d823e47d640c64da9b8bd4fac..c79e8f89441b3e73d6d65d125c0c745792808c74
2026-07-29 21:34:53 +0000 to 2026-08-04 19:17:33 +0000
- fix(diag): Ensure diagnostic titles work without snippets (rust-lang/cargo#17304)
- refactor: Remove unnecessary mut in sources (rust-lang/cargo#17305)
- feat(trim-paths): emit unremap files for final artifacts (rust-lang/cargo#17303)
- fix: prevent panic when `package.build` is empty (rust-lang/cargo#17268)
- Add a suggestion when adding `[lints]` to a workspace to use `[workspace.lints]` instead (rust-lang/cargo#17300)
- chore(deps): update embarkstudios/cargo-deny-action action to v2.1.1 (rust-lang/cargo#17291)
- refactor: move sysroot lookup to GlobalContext (rust-lang/cargo#17276)
- fix(trim-paths): unambiguous and reversible remap rules (rust-lang/cargo#17302)
- Avoid parsing unchanged lockfiles (rust-lang/cargo#17301)
- Remove unnecessary to_path_buf (rust-lang/cargo#17295)
- chore(deps): update cargo-semver-checks to v0.50.0 (rust-lang/cargo#17297)
- chore(deps): update actions/checkout action to v6.1.0 (rust-lang/cargo#17290)
- Remove unnecessary return at end of functions (rust-lang/cargo#17292)
- make __CARGO_TEST_FORCE_ARGFILE available in distributed builds (rust-lang/cargo#17293)
- Fix manual_readme lint for lower-priority README files (rust-lang/cargo#17208)
- fix(git): make checkout names independent of git config (rust-lang/cargo#17289)
- fix(diag): Rename redundant_readme to manual_readme (rust-lang/cargo#17288)
- Remove redundant double call .to_string() (rust-lang/cargo#17286)
- fix(completions): complete paths for cargo run arguments (rust-lang/cargo#17284)
- test(git): exercise multi git revision lockfile (rust-lang/cargo#17279)
- add context to lints documentation (rust-lang/cargo#17273)

r? ghost
github-actions Bot pushed a commit to rust-lang/stdarch that referenced this pull request Aug 10, 2026
Update cargo submodule



21 commits in 7c83d4cc0953b81d823e47d640c64da9b8bd4fac..c79e8f89441b3e73d6d65d125c0c745792808c74
2026-07-29 21:34:53 +0000 to 2026-08-04 19:17:33 +0000
- fix(diag): Ensure diagnostic titles work without snippets (rust-lang/cargo#17304)
- refactor: Remove unnecessary mut in sources (rust-lang/cargo#17305)
- feat(trim-paths): emit unremap files for final artifacts (rust-lang/cargo#17303)
- fix: prevent panic when `package.build` is empty (rust-lang/cargo#17268)
- Add a suggestion when adding `[lints]` to a workspace to use `[workspace.lints]` instead (rust-lang/cargo#17300)
- chore(deps): update embarkstudios/cargo-deny-action action to v2.1.1 (rust-lang/cargo#17291)
- refactor: move sysroot lookup to GlobalContext (rust-lang/cargo#17276)
- fix(trim-paths): unambiguous and reversible remap rules (rust-lang/cargo#17302)
- Avoid parsing unchanged lockfiles (rust-lang/cargo#17301)
- Remove unnecessary to_path_buf (rust-lang/cargo#17295)
- chore(deps): update cargo-semver-checks to v0.50.0 (rust-lang/cargo#17297)
- chore(deps): update actions/checkout action to v6.1.0 (rust-lang/cargo#17290)
- Remove unnecessary return at end of functions (rust-lang/cargo#17292)
- make __CARGO_TEST_FORCE_ARGFILE available in distributed builds (rust-lang/cargo#17293)
- Fix manual_readme lint for lower-priority README files (rust-lang/cargo#17208)
- fix(git): make checkout names independent of git config (rust-lang/cargo#17289)
- fix(diag): Rename redundant_readme to manual_readme (rust-lang/cargo#17288)
- Remove redundant double call .to_string() (rust-lang/cargo#17286)
- fix(completions): complete paths for cargo run arguments (rust-lang/cargo#17284)
- test(git): exercise multi git revision lockfile (rust-lang/cargo#17279)
- add context to lints documentation (rust-lang/cargo#17273)

r? ghost
github-actions Bot pushed a commit to rust-lang/rustc-dev-guide that referenced this pull request Aug 10, 2026
Update cargo submodule



21 commits in 7c83d4cc0953b81d823e47d640c64da9b8bd4fac..c79e8f89441b3e73d6d65d125c0c745792808c74
2026-07-29 21:34:53 +0000 to 2026-08-04 19:17:33 +0000
- fix(diag): Ensure diagnostic titles work without snippets (rust-lang/cargo#17304)
- refactor: Remove unnecessary mut in sources (rust-lang/cargo#17305)
- feat(trim-paths): emit unremap files for final artifacts (rust-lang/cargo#17303)
- fix: prevent panic when `package.build` is empty (rust-lang/cargo#17268)
- Add a suggestion when adding `[lints]` to a workspace to use `[workspace.lints]` instead (rust-lang/cargo#17300)
- chore(deps): update embarkstudios/cargo-deny-action action to v2.1.1 (rust-lang/cargo#17291)
- refactor: move sysroot lookup to GlobalContext (rust-lang/cargo#17276)
- fix(trim-paths): unambiguous and reversible remap rules (rust-lang/cargo#17302)
- Avoid parsing unchanged lockfiles (rust-lang/cargo#17301)
- Remove unnecessary to_path_buf (rust-lang/cargo#17295)
- chore(deps): update cargo-semver-checks to v0.50.0 (rust-lang/cargo#17297)
- chore(deps): update actions/checkout action to v6.1.0 (rust-lang/cargo#17290)
- Remove unnecessary return at end of functions (rust-lang/cargo#17292)
- make __CARGO_TEST_FORCE_ARGFILE available in distributed builds (rust-lang/cargo#17293)
- Fix manual_readme lint for lower-priority README files (rust-lang/cargo#17208)
- fix(git): make checkout names independent of git config (rust-lang/cargo#17289)
- fix(diag): Rename redundant_readme to manual_readme (rust-lang/cargo#17288)
- Remove redundant double call .to_string() (rust-lang/cargo#17286)
- fix(completions): complete paths for cargo run arguments (rust-lang/cargo#17284)
- test(git): exercise multi git revision lockfile (rust-lang/cargo#17279)
- add context to lints documentation (rust-lang/cargo#17273)

r? ghost
renovate-bot pushed a commit to renovate-bot/rust-lang-_-compiler-builtins that referenced this pull request Aug 17, 2026
Update cargo submodule



21 commits in 7c83d4cc0953b81d823e47d640c64da9b8bd4fac..c79e8f89441b3e73d6d65d125c0c745792808c74
2026-07-29 21:34:53 +0000 to 2026-08-04 19:17:33 +0000
- fix(diag): Ensure diagnostic titles work without snippets (rust-lang/cargo#17304)
- refactor: Remove unnecessary mut in sources (rust-lang/cargo#17305)
- feat(trim-paths): emit unremap files for final artifacts (rust-lang/cargo#17303)
- fix: prevent panic when `package.build` is empty (rust-lang/cargo#17268)
- Add a suggestion when adding `[lints]` to a workspace to use `[workspace.lints]` instead (rust-lang/cargo#17300)
- chore(deps): update embarkstudios/cargo-deny-action action to v2.1.1 (rust-lang/cargo#17291)
- refactor: move sysroot lookup to GlobalContext (rust-lang/cargo#17276)
- fix(trim-paths): unambiguous and reversible remap rules (rust-lang/cargo#17302)
- Avoid parsing unchanged lockfiles (rust-lang/cargo#17301)
- Remove unnecessary to_path_buf (rust-lang/cargo#17295)
- chore(deps): update cargo-semver-checks to v0.50.0 (rust-lang/cargo#17297)
- chore(deps): update actions/checkout action to v6.1.0 (rust-lang/cargo#17290)
- Remove unnecessary return at end of functions (rust-lang/cargo#17292)
- make __CARGO_TEST_FORCE_ARGFILE available in distributed builds (rust-lang/cargo#17293)
- Fix manual_readme lint for lower-priority README files (rust-lang/cargo#17208)
- fix(git): make checkout names independent of git config (rust-lang/cargo#17289)
- fix(diag): Rename redundant_readme to manual_readme (rust-lang/cargo#17288)
- Remove redundant double call .to_string() (rust-lang/cargo#17286)
- fix(completions): complete paths for cargo run arguments (rust-lang/cargo#17284)
- test(git): exercise multi git revision lockfile (rust-lang/cargo#17279)
- add context to lints documentation (rust-lang/cargo#17273)

r? ghost
lnicola pushed a commit to lnicola/rust-analyzer that referenced this pull request Aug 17, 2026
Update cargo submodule



21 commits in 7c83d4cc0953b81d823e47d640c64da9b8bd4fac..c79e8f89441b3e73d6d65d125c0c745792808c74
2026-07-29 21:34:53 +0000 to 2026-08-04 19:17:33 +0000
- fix(diag): Ensure diagnostic titles work without snippets (rust-lang/cargo#17304)
- refactor: Remove unnecessary mut in sources (rust-lang/cargo#17305)
- feat(trim-paths): emit unremap files for final artifacts (rust-lang/cargo#17303)
- fix: prevent panic when `package.build` is empty (rust-lang/cargo#17268)
- Add a suggestion when adding `[lints]` to a workspace to use `[workspace.lints]` instead (rust-lang/cargo#17300)
- chore(deps): update embarkstudios/cargo-deny-action action to v2.1.1 (rust-lang/cargo#17291)
- refactor: move sysroot lookup to GlobalContext (rust-lang/cargo#17276)
- fix(trim-paths): unambiguous and reversible remap rules (rust-lang/cargo#17302)
- Avoid parsing unchanged lockfiles (rust-lang/cargo#17301)
- Remove unnecessary to_path_buf (rust-lang/cargo#17295)
- chore(deps): update cargo-semver-checks to v0.50.0 (rust-lang/cargo#17297)
- chore(deps): update actions/checkout action to v6.1.0 (rust-lang/cargo#17290)
- Remove unnecessary return at end of functions (rust-lang/cargo#17292)
- make __CARGO_TEST_FORCE_ARGFILE available in distributed builds (rust-lang/cargo#17293)
- Fix manual_readme lint for lower-priority README files (rust-lang/cargo#17208)
- fix(git): make checkout names independent of git config (rust-lang/cargo#17289)
- fix(diag): Rename redundant_readme to manual_readme (rust-lang/cargo#17288)
- Remove redundant double call .to_string() (rust-lang/cargo#17286)
- fix(completions): complete paths for cargo run arguments (rust-lang/cargo#17284)
- test(git): exercise multi git revision lockfile (rust-lang/cargo#17279)
- add context to lints documentation (rust-lang/cargo#17273)

r? ghost
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-manifest Area: Cargo.toml issues

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants