Closed
Description
This issue tracks the effort to replace the current lint documentation collection with a new Rust implementation. The implementation will be based on a lint to access rustc's type information (See #4310 for further information). The first incomplete version of the metadata collection monster (as I like to call it) got merged in #6887.
To-Do list
- Collect lint metadata
- The lint ID
- The lint declaration file and location (for link from the lint in the docs to the code #1303)
- The lint group
- The documentation
- The applicability (if resolvable)
- Is the suggesting a multi-part-suggestion? (if resolvable)
- Collect deprecated lints
- draft
- PR Metadata collection monster eating deprecated lints #7197
- backup implementation to collect from
store.register_removed
commit
- Collect lint configuration values
- Create a simple way to run the lint collector, maybe via a cargo alias
- Rerun the collection after touching the
clippy_lints/src/lib.rs
if nothing was collected due to caching (See comments in this issue) - Remove
clippy::
prefix from lint group and add the lint level - Switch the CI over to use the new collection
- Adapt Clippy's lint list to support the new metadata format (Example output file:
metadata_collection.json
) - Remove old implementation
- Collect renamed lints (Collect renamed lints #8843 Thanks to @Serial-ATA)
- Update documentation
- Lint configuration doc comment schema
- Registering deprecated lints
- Update configuration section template to use
### Configuration
instead of**Configuration**
- Collect implementation version (See Add the clippy/rust verison of lint introduced to the website #6492)
Needs investigation / discussion
- Look into speeding up the collection by only registering the collection lint itself. (Suggested by @flip1995 here) (Related discussion about registration)
- Done by flip1995 in PR Early return from LintPass registration when collecting metadata #7253
- Maybe include the lint output for the examples if it's not too much effort. (Suggested here)
@rustbot label +C-tracking-issue