Skip to content

refactor(lints): Pull out unknown_lints lint logic and missing_lints_features diagnostic logic#16976

Merged
weihanglo merged 7 commits intorust-lang:masterfrom
epage:refactor-unknown
May 8, 2026
Merged

refactor(lints): Pull out unknown_lints lint logic and missing_lints_features diagnostic logic#16976
weihanglo merged 7 commits intorust-lang:masterfrom
epage:refactor-unknown

Conversation

@epage
Copy link
Copy Markdown
Contributor

@epage epage commented May 8, 2026

What does this PR try to resolve?

This builds on #16975, showing that we already have a diagnostic among our lints.

How to test and review this PR?

@rustbot rustbot added A-workspaces Area: workspaces S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels May 8, 2026
@rustbot
Copy link
Copy Markdown
Collaborator

rustbot commented May 8, 2026

r? @ehuss

rustbot has assigned @ehuss.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

Why was this reviewer chosen?

The reviewer was selected based on:

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

epage added 2 commits May 8, 2026 08:35
This is an audit to make sure all lints are registered but we will soon
have diagnostics as well.
@epage epage force-pushed the refactor-unknown branch from a021f19 to 9c3a290 Compare May 8, 2026 13:35
continue;
}
let content = std::fs::read_to_string(&path).unwrap();
if !content.contains("LINT") {
Copy link
Copy Markdown
Member

@weihanglo weihanglo May 8, 2026

Choose a reason for hiding this comment

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

Should we be more paranoid checking static LINT in case it might accidentally matches? Or should we list diagnostic files out explicitly?

View changes since the review

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

If we do static LINT, we could miss some things as diagnostics. I figured it would be good to err on the being as permissive as possible.

As for a diagnostic list, maybe? In theory, we should have more lints than diagnostics but likely the first step towards making many of our deferred warning diagnostics into lints is to pull them out as dedicated diagnostics.

I also want to play with unused item warnings to help manage this. If we switch them from pub to pub(crate), we might be able to have the compiler help us catch missing ones. I just didn't want this to be blocked on that experiment and getting consensus on merging it.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Reasonable. Merging!

@weihanglo weihanglo added this pull request to the merge queue May 8, 2026
Merged via the queue into rust-lang:master with commit 5de5ca7 May 8, 2026
29 checks passed
@rustbot rustbot removed the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label May 8, 2026
@epage epage deleted the refactor-unknown branch May 8, 2026 17:40
epage added a commit to epage/cargo that referenced this pull request May 8, 2026
Now that we more formally have a diagnostic in here (rust-lang#16976),
let's make the broader intent more clear.

See rust-lang#16975 for background on where this is going.
pull Bot pushed a commit to Mattlk13/cargo that referenced this pull request May 8, 2026
### What does this PR try to resolve?

Now that we more formally have a diagnostic in here (rust-lang#16976), let's make
the broader intent more clear.

See rust-lang#16975 for background on where this is going.

### How to test and review this PR?
rust-bors Bot pushed a commit to rust-lang/rust that referenced this pull request May 9, 2026
Update cargo submodule

13 commits in 4f9b52075316e9ced380c8fa492858048d5758b6..a343accce8526b128adc517d33348573d22920a3
2026-05-01 22:36:41 +0000 to 2026-05-08 22:41:35 +0000
- docs(guide): Fix a typo (rust-lang/cargo#16980)
- chore(deps): update msrv (3 versions) to v1.93 (rust-lang/cargo#16979)
- refactor(diag): Move lints to diagnostics (rust-lang/cargo#16978)
- refactor(lints): Pull out `unknown_lints` lint logic and `missing_lints_features` diagnostic logic (rust-lang/cargo#16976)
- refactor(lints): Move things out of `lints/mod.rs` (rust-lang/cargo#16975)
- test: cover search API redirects (rust-lang/cargo#16971)
- refactor(lints): Instrument lints for logging  (rust-lang/cargo#16972)
- docs: `.cargo-checksum.json` is not a security mechanism (rust-lang/cargo#16966)
- fix(vendor): add `$comment` to `.cargo-checksum.json` (rust-lang/cargo#16967)
- test: Fixed arg order in rustdoc json test (rust-lang/cargo#16968)
- fix(config): `[env]` relative paths definition  (rust-lang/cargo#16957)
- fix(config): normalize included config paths  (rust-lang/cargo#16964)
- Fix heading level of `build.warnings` documentation. (rust-lang/cargo#16961)

r? ghost
@rustbot rustbot added this to the 1.97.0 milestone May 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-workspaces Area: workspaces

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants