rust-lang / rust-lang/rust-clippy

more lintcheck todos

Open
#6,710 4 comments 0 reactions 1 assignee View on GitHub

@matthiaskrgr is already working on this.

Since Feb 9, 2021.

Dominant language
Rust
Stars
13.5k
Forks
2.2k
Avg merge
2d 10h
Merged PRs (30d)
32

Description

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: https://github.com/dtolnay/syn/issues/967 , also: https://github.com/rust-lang/rust-clippy/issues/6508) (avoided by #6744 )
[x] allow/deny lints via crates.toml file (details https://github.com/rust-lang/rust-clippy/pull/6744#issuecomment-779667424 ) ( https://github.com/rust-lang/rust-clippy/pull/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 ( https://github.com/rust-lang/rust-clippy/pull/6800 )
[x] add a Config object that eats the clap config and holds stuff like the lintcheck output path and toml path etc (https://github.com/rust-lang/rust-clippy/pull/6813)
[x] fix mode? (runs clippy --fix and checks if we can apply all suggestions) (https://github.com/rust-lang/rust-clippy/pull/6848)
[x] move lintcheck into its own crate (out of clippy-dev) (https://github.com/rust-lang/rust-clippy/pull/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 https://github.com/rust-lang/rust-clippy/pull/6764#issuecomment-782375310 )
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. :)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.