Skip to content

more lintcheck todos #6710

@matthiaskrgr

Description

@matthiaskrgr

Done:
[x] add a LINTCHECK_TOML env var or something like that https://rust-lang.zulipchat.com/#narrow/stream/257328-clippy/topic/Meeting.202021-02-09 (#6735)
[x] check how clippy ICEs are handled and collect the names of crates that clippy ICEs on (#6708)
[x] parallelize/check multiple crates at a time? (we are mostly interested in the lint results of the root crate and we can only check one root crate at a time... (#6764))
[x] better error handling, currently cargo-metadata stderr ends up in the log (for example: dtolnay/syn#967 , also: #6508) (avoided by #6744 )
[x] allow/deny lints via crates.toml file (details #6744 (comment) ) ( #6750 )
[x] auto-rerun lintcheck
right now we have to manually remove target/lintcheck/shared_target_dir after clippy changed in order to rerun lintcheck.
It would be nice if lintcheck could check the modification date of the clippy binaries and the latest lintcheck log and auto-rerun if clippy-binary is younger than the logs (#6780)
[x] display some short stats on how many new warnings of what lints were found after running ( #6800 )
[x] add a Config object that eats the clap config and holds stuff like the lintcheck output path and toml path etc (#6813)
[x] fix mode? (runs clippy --fix and checks if we can apply all suggestions) (#6848)
[x] move lintcheck into its own crate (out of clippy-dev) (#6884)
[x] set up a new repo with gha and run lintcheck every 24 hours(?) and commit the logs into the repo (WIP: https://github.com/flip1995/clippy-lintcheck / https://github.com/matthiaskrgr/clippy-lintcheck )

[x] add a small test to ci (1-2 crates) that makes sure that lintcheck works (test is added but not checked on ci due to time constraints)

To do:

[ ] check cratesources with many deps first in par_iter mode (see #6764 (comment) )
This will require some more refactoring because we first need to download all the crates before we can count the total number of deps

If you have any more ideas, feel free to dump them here. :)

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions