Commit Graph

10722 Commits

Author SHA1 Message Date
Matthias Krüger
94a73d7b11 add shortcut "dev-crater" command to build and run "cargo dev crater" 2021-01-23 02:18:11 +01:00
Matthias Krüger
ec1902ce43 cargo dev crater: throw an error if we can't find our specified crate in the .toml list 2021-01-23 02:18:11 +01:00
Matthias Krüger
b6ef1e282e clippy dev crater: add option to only check a single one of the listed crates with --only crate 2021-01-23 02:18:11 +01:00
Matthias Krüger
d257101109 make stats stable 2021-01-23 02:18:11 +01:00
Matthias Krüger
e56c9a5253 cargo dev crater: gather and save lint statistics (how often a lint triggered) 2021-01-23 02:18:11 +01:00
Matthias Krüger
4ec9cb84bb cargo dev crater: refactor to get a list of all ClippyWarnings 2021-01-23 02:18:11 +01:00
Matthias Krüger
6c5bf2778f clippy dev crater: use and parse clippy messages as json message, to get the lint name of a warning 2021-01-23 02:18:11 +01:00
Matthias Krüger
62337f2842 remove duplicate code and other cleanup 2021-01-23 02:18:11 +01:00
Matthias Krüger
22824d21da rename symbols: krate -> crate 2021-01-23 02:18:11 +01:00
Matthias Krüger
f986d78c5e cargo dev crater: support multiple versions per crate 2021-01-23 02:18:11 +01:00
Matthias Krüger
588efa7da9 use a .toml file to list the crates we want to check
Also sort lint results alphabetically.
2021-01-23 02:18:11 +01:00
Matthias Krüger
a9fce6d2d0 allow clippy::filter_map 2021-01-23 02:18:11 +01:00
Matthias Krüger
ccfaa338ed cargo dev crater: share target dir between clippy runs, enable pedantic and cargo lints, ignore tokei for now. 2021-01-23 02:18:11 +01:00
Matthias Krüger
1e5ac1dfd2 cargo dev crater: add more crates to be checked 2021-01-23 02:18:11 +01:00
Matthias Krüger
728dc06d88 add the log file 2021-01-23 02:18:11 +01:00
Matthias Krüger
dbb8c0020e cargo dev crater: save all warnings into a file 2021-01-23 02:18:11 +01:00
Matthias Krüger
7314133722 cargo dev crater: cleanup, don't re-download and reextract crates on every run 2021-01-23 02:18:11 +01:00
Matthias Krüger
734d2052df print all clippy warnings in the end 2021-01-23 02:18:11 +01:00
Matthias Krüger
2360a7cad0 cargo clippy dev: collecting one-line clippy warnings works now 2021-01-23 02:18:11 +01:00
Matthias Krüger
69c0757334 clippy cargo dev: fix checking of crates 2021-01-23 02:18:11 +01:00
Matthias Krüger
e69147486e cargo clippy dev: fix extraction of downloaded crates 2021-01-23 02:18:11 +01:00
Matthias Krüger
63176834c2 cargo dev crater: fixes and debug prints 2021-01-23 02:18:11 +01:00
Matthias Krüger
30d85942cf crater: hook into main.rs 2021-01-23 02:18:11 +01:00
Matthias Krüger
5353591b1b cargo dev crater: work on downloading and extracting crate sources 2021-01-23 02:18:11 +01:00
Matthias Krüger
bec916d02d cargo dev crater: lay out the base plan 2021-01-23 02:18:11 +01:00
bors
70386ff352 Auto merge of #6403 - camsteffen:similar-names-underscore, r=Manishearth
Similar names ignore underscore prefixed names

changelog: Ignore underscore-prefixed names for similar_names

IMO, this lint is not very helpful for underscore-prefixed variables. Usually they are unused or are just there to ignore part of a destructuring.
2021-01-22 23:44:12 +00:00
bors
41d750c76c Auto merge of #6619 - camsteffen:collapsible-match, r=camsteffen
Improve collapsible_match

changelog: Fix collapsible_match false negatives

Allow `&` and/or `*` on the binding and make sure the type still matches.
2021-01-22 22:45:43 +00:00
Cameron Steffen
50abde20c9 Fix dogfood 2021-01-22 16:44:47 -06:00
Cameron Steffen
66afdd1f42 Enhance collapsible_match for adjusted bindings 2021-01-22 16:44:47 -06:00
bors
3c3f4a75b4 Auto merge of #6591 - camsteffen:manual-filter-map, r=llogiq
`manual_filter_map` and `manual_find_map`

changelog: Add `manual_filter_map` and replace `find_map` with `manual_find_map`

Replaces #6453

Fixes #3188
Fixes #4193

~Depends on #6567 (to fix an internal lint false positive)~

This replaces `filter_map` and `find_map` with `manual_filter_map` and `manual_find_map` respectively. However, `filter_map` is left in place since it is used for a variety of other cases. See discussion in #6453.
2021-01-22 22:28:41 +00:00
Manish Goregaokar
65d003a112 Clean up suggestion span; clarify help message 2021-01-22 12:08:47 -08:00
Manish Goregaokar
752274eabd Fix indentation of suggestion 2021-01-22 11:59:36 -08:00
Manish Goregaokar
8cb7e85006 Add exhaustive_structs lint 2021-01-22 11:59:36 -08:00
flip1995
8c00304bbb Make more traits of the From/Into family diagnostic items
Following traits are now diagnostic items:
- `From` (unchanged)
- `Into`
- `TryFrom`
- `TryInto`

This also adds symbols for those items:
- `into_trait`
- `try_from_trait`
- `try_into_trait`
2021-01-22 18:07:00 +01:00
Mara Bos
e9b2cf4f64 Rollup merge of #81236 - estebank:everybody-loop-now, r=oli-obk
Gracefully handle loop labels missing leading `'` in different positions

Fix #81192.

* Account for labels when suggesting `loop` instead of `while true`
* Suggest `'a` when given `a` only when appropriate
* Add loop head span to hir
* Tweak error for invalid `break expr`
* Add more misspelled label tests
* Avoid emitting redundant "unused label" lint
* Parse loop labels missing a leading `'`

Each commit can be reviewed in isolation.
2021-01-22 14:30:19 +00:00
bors
fbc374d0a6 Auto merge of #6621 - giraffate:improve_the_example_in_ref_in_deref, r=flip1995
Improve the example in `ref_in_deref`

Add a suggested code to the example in doc

changelog: none
2021-01-22 14:04:31 +00:00
Takayuki Nakata
23662d1353 Improve the example in ref_in_deref 2021-01-22 22:51:06 +09:00
bors
a1b89f07f0 Auto merge of #81135 - jyn514:no-backticks, r=flip1995
Fix formatting for removed lints

- Don't add backticks for the reason a lint was removed. This is almost
never a code block, and when it is the backticks should be in the reason
itself.
- Don't assume clippy is the only tool that needs to be checked for
backwards compatibility

I split this out of https://github.com/rust-lang/rust/pull/80527/ because it kept causing tests to fail, and it's a good change to have anyway.

r? `@flip1995`
2021-01-22 06:13:19 +00:00
Esteban Küber
3a5ede6ef4 Fix clippy and comment 2021-01-21 21:43:28 -08:00
Esteban Küber
612a7fc18e Add loop head span to hir 2021-01-21 21:41:46 -08:00
Cameron Steffen
82bab19a01 Deprecate find_map lint 2021-01-21 18:19:55 -06:00
Cameron Steffen
a22915bf48 Remove unneeded allow's 2021-01-21 18:19:53 -06:00
Cameron Steffen
a752d31e0a Replace find_map with manual_find_map 2021-01-21 18:18:21 -06:00
Cameron Steffen
c92bdc4dbb Split filter_map into manual_filter_map 2021-01-21 18:18:18 -06:00
Cameron Steffen
7a8660861e Add expr_fallback to SpanlessEq 2021-01-21 18:17:25 -06:00
Cameron Steffen
e89ad4ba71 Fix comment 2021-01-21 18:17:25 -06:00
Cameron Steffen
2d509f8b40 Check if let guard in collapsible_match 2021-01-21 18:13:36 -06:00
xFrednet
a905cf6737 Added documentation for common abbreviations
This list was created as a collaborative effort on Zulip and the [thread] is definitely worth a read as we had quite some fun. A big **THANK YOU** goes out to everyone who participated you make this project fun to work on!!!

The Zulip [thread]: https://rust-lang.zulipchat.com/#narrow/stream/257328-clippy/topic/Common.20abbreviations.20in.20basics.2Emd/near/223548065
2021-01-22 00:25:24 +01:00
Manish Goregaokar
09d4d49299 ExhaustiveEnums -> ExhaustiveItems 2021-01-21 13:39:00 -08:00
Manish Goregaokar
f6cb96ef07 Make exhaustive_enums only warn on exported items 2021-01-21 13:34:44 -08:00