Commit graph

10489 commits

Author SHA1 Message Date
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
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
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
bors
043cf97abc Auto merge of #6609 - giraffate:fix_wrong_suggestion_of_ref_in_deref, r=llogiq
Fix a wrong suggestion of `ref_in_deref`

Fix #6358.

changelog: Fix a wrong suggestion of `ref_in_deref`
2021-01-21 19:16:11 +00:00
bors
4d381c3a84 Auto merge of #6605 - kawogi:doc-markdown, r=llogiq
Doc markdown

I added "WebGL" along the lines of the existing "OpenGL" to the whitelist of `doc_markdown` as I found this to be a pretty common term.

(this is a follow-up of the now closed https://github.com/rust-lang/rust-clippy/pull/6388)

changelog: Whitelist "WebGL" in `doc_markdown`.
2021-01-21 19:05:50 +00:00
bors
a982ab4cee Auto merge of #6532 - matthiaskrgr:mlmm, r=llogiq
match_like_matches_macro: strip refs in suggestion

fixes #6503

changelog: match_like_matches_macro: strip refs in suggestion (#6503)
2021-01-21 18:34:55 +00:00
bors
7b50a4ead7 Auto merge of #6408 - pro-grammer1:master, r=oli-obk
Fix false positive in write_literal and print_literal (numeric literals)

changelog: No longer lint numeric literals in [`write_literal`] and [`print_literal`].

Fixes #6335
2021-01-21 14:23:25 +00:00
bors
16d13a5a4b Auto merge of #6611 - pastchick3:master, r=flip1995
Fix the reversed suggestion message of `stable_sort_primitive`.

Now Clippy emits `stable_sort_primitive` warning as follows:

```
warning: used sort instead of sort_unstable to sort primitive type `usize`
  --> src\asm.rs:41:13
   |
41 |             self.successors.sort();
   |             ^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.successors.sort_unstable()`
   |
   = note: `#[warn(clippy::stable_sort_primitive)]` on by default
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#stable_sort_primitive
```

I think the position of `sort` and `sort_unstable` in the first line should be reversed.

changelog: Fix the reversed suggestion message of `stable_sort_primitive`.
2021-01-21 14:12:43 +00:00
pastchick3
e42208f1b7 Improve the suggestion message of stable_sort_primitive. 2021-01-21 20:44:52 +08:00
bors
d990c31990 Auto merge of #6567 - camsteffen:path-to-res-enum, r=Manishearth
Fix path_to_res for enum inherent items

changelog: none

I tried to add `Option::is_some` to the paths but got a false positive from the invalid paths lint. Turns out the `path_to_res` function does not find inherent impls for enums. I fixed this and took the liberty to do some additional cleanup in the method.
2021-01-20 21:35:11 +00:00
bors
e6665e42a3 Auto merge of #6475 - matsujika:capitalized_acronyms, r=flip1995
Add new lint `upper_case_acronyms`

Close #1335
I need some reviews on the English sentences because I feel they're messed up. ;)

changelog: Add new lint `upper_case_acronyms`
2021-01-20 10:26:01 +00:00
Hirochika Matsumoto
0ccb491caa
Remove nightly-gate of split_inclusive
Co-authored-by: Philipp Krones <hello@philkrones.com>
2021-01-20 18:14:09 +09:00
Hirochika Matsumoto
ab1da8f865 Add new lint upper_case_acronyms 2021-01-20 18:03:06 +09:00
Hirochika Matsumoto
6c830ff9e4 Run cargo dev new_lint 2021-01-20 18:02:29 +09:00
bors
fb0d7f1714 Auto merge of #6578 - MarijnS95:size-in-element-count-divide-by-byte-size, r=flip1995
size_of_in_element_count: Disable lint on division by byte-size

Fixes #6511

It is fairly common to divide some length in bytes by the byte-size of a single element before creating a `from_raw_parts` slice or similar operation. This lint would erroneously disallow such expressions.

Just in case, instead of simply disabling this lint in the RHS of a division, keep track of the inversion and enable it again on recursive division.

---

changelog: Do not trigger size_of_in_element_count when dividing by element size
2021-01-20 07:24:34 +00:00