Commit graph

625 commits

Author SHA1 Message Date
James Wang
52408f5b7d
Add a new lint for comparison chains 2019-09-24 16:55:05 -05:00
Michael Wright
d04bf15114 Merge branch 'master' into unneeded_wildcard_pattern 2019-09-22 08:59:23 +02:00
Andre Bogus
8d884c8a1a new lint: mem-replace-with-uninit 2019-09-20 00:25:57 +02:00
Andre Bogus
70a7dab773 New lint: Require # Safety section in pub unsafe fn docs 2019-09-19 09:19:55 +02:00
Michael Wright
4a3bc6b592 Add unneeded-wildcard-pattern lint 2019-09-12 08:25:05 +02:00
Shotaro Yamada
4960f79476 Add manual_saturating_arithmetic lint 2019-09-04 18:38:25 +09:00
Andre Bogus
b01f2d1126 lint against MaybeUninit::uninit().assume_init() 2019-09-03 17:37:38 +02:00
Lzu Tao
7065239da5 Add option_and_then_some lint 2019-08-19 03:54:40 +00:00
Jeremy Stucki
f4f31a4ff4
Implement lint 'suspicious_map' 2019-08-15 22:58:32 +02:00
Philipp Hansch
42f03539ca
Deprecate unused_collect lint
I found this because we only had two test cases in total for this lint.
It turns out the functionality is fully covered by rustc these days.

[Playground Examples](https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=eb8ee6db389c77180c9fb152d3c608f4)

changelog: Deprecate `unused_collect` lint. This is fully covered by
rustc's `#[must_use]` on `collect`

cc #2846
2019-08-14 21:47:11 +02:00
Jeremy Stucki
6ddf8c36d7
Run 'update_lints' 2019-08-12 07:53:22 +02:00
Ralf Jung
40fea7a9e0 update_lints 2019-08-11 11:02:25 +02:00
Alex Touchet
b1b2245e28
Fix HTTPS in links 2019-08-08 19:59:22 -07:00
Matthias Krüger
39cdea6df4
Update README.md (fix typo)
Co-Authored-By: Philipp Hansch <dev@phansch.net>
2019-08-07 21:07:35 +02:00
Matthias Krüger
8dde4e5806 README: mention that cargo fix has experimental support for applying some clippy lint suggestions via "cargo fix -Z unstable-options --clippy" 2019-08-07 16:27:08 +02:00
Alex Touchet
4b2825cd3f
Update Readme 2019-08-06 13:09:26 -07:00
flip1995
a922f800af
Run update_lints and fmt 2019-08-05 13:24:31 +02:00
xd009642
925e8207fa Respond to review comments
Update README and CHANGELOG using the util scripts, refine the help message and fix the float_cmp error.
2019-07-27 21:58:29 +01:00
Darth-Revan
0513202d25
Implement lint for inherent to_string() method. 2019-07-17 08:58:32 +02:00
Matthias Krüger
1bd081c600 readme: fix urls in the license 2019-07-02 20:06:18 +02:00
Joe Frikker
60a80849ce Adding try_err lint 2019-06-22 16:37:05 -04:00
Matthias Krüger
e8dfafc7a0 readme: update
Remove the crates.io badge from the readme.
Installing clippy via crates.io is deprecated and rustup should be used instead, thus we should not promote crates.io here.

Don't have the entire clippy::correctness line in bold letters, I think it looks a little off.
2019-06-20 20:17:14 +02:00
Thiago Arrais
b364eb7b54 Adds lint for integer division 2019-06-12 09:37:14 -03:00
Harrison McCullough
f32c2fcb7e Implement get_last_with_len lint 2019-05-20 18:01:21 -06:00
pJunger
565feb0bc1 Updated README. 2019-05-18 14:53:56 +02:00
Michael Wright
4fcaab3d62 Split redundant_closure lint
Move the method checking into a new lint called
`redundant_closures_for_method_calls` and put it in the pedantic group.

This aspect of the lint seems more controversial than the rest.

cc #3942
2019-05-16 08:25:39 +02:00
André Luis Leal Cardoso Junior
b411391f8e Add lints for find_map 2019-04-30 16:45:28 -03:00
André Luis Leal Cardoso Junior
7e9cb5b84a Add lint PathBufPushOverwrite 2019-04-18 08:05:55 -03:00
Philipp Krones
a7bfac7353 Update README.md
Co-Authored-By: sunjay <sunjay@users.noreply.github.com>
2019-04-10 22:17:17 -04:00
Sunjay Varma
5fab7ec002
Mention that -D warnings will deny ALL warnings, not just clippy warnings 2019-04-08 13:51:54 -04:00
Félix Fischer
069957a8ad Add TransmutingNull Lint
* Late Lint pass, catches:
  * One liner: 0 -> null -> transmute
  * One liner: std:null() -> transmute
  * Const (which resolves to null) -> transmute
* UI Test case for Lint
* Updated test for issue 3849, because now the lint that code generated is in Clippy.
* Expanded `const.rs` miri-based Constant Folding code, to cover
  raw pointers
2019-04-02 11:39:43 -03:00
bors
920112d723 Auto merge of #3824 - phansch:adding_lints, r=phansch
Add lint writing documentation

[Rendered](https://github.com/phansch/rust-clippy/blob/adding_lints/doc/adding_lints.md)

This adds a new documentation page that explains how to write Clippy
lints. It guides the reader through creating a `foo` function lint.

I plan to iterate a bit more on the prose of some sections, but I think the
general structure is fine now, so I'm looking forward to feedback =)

One thing I'm not sure about: I felt like this is too big for CONTRIBUTING.md
so I put it into a new `doc/` directory. I can imagine having more
documentation in the future, so we might even want to create a book using
mdbook instead? Or should everything go into CONTRIBUTING.md?

Further things left to do:

- [x] Link from CONTRIBUTING.md
- [x] Remove things covered in this guide from CONTRIBUTING.md
- [x] Section about `clippy::author` attribute
- [x] Run `remark-lint` on CI over the `doc` directory and fix things
2019-03-09 15:05:38 +00:00
Félix Fischer
ddc718087f Renamed: Cyclomatic Complexity -> Cognitive Complexity
* Ran automatic naming update

* Formalized rename of `cyclomatic_complexity` to `cognitive_complexity`
** Added the rename to `lib.rs`
** Added rename test

* Added warning for deprecated key `cyclomatic_complexity_threshold` and tests for it

* Added deprecation status for Clippy's builtin attribute

* Updated tests for new builtin attribute renaming
2019-03-06 10:07:38 -03:00
Philipp Hansch
0da3521eb6
Reword 'Setup' a bit 2019-03-03 15:03:25 +01:00
Wilfred Hughes
4f8c1d100d
Fix broken markdown in README.md 2019-02-23 00:20:57 +00:00
Manish Goregaokar
50f1dd6af8 Clarify lint groups in readme 2019-02-22 13:29:33 +05:30
Michael Howell
cb1c0b6849 Update README and CHANGELOG 2019-02-17 22:53:08 -07:00
rhysd
83d620b824 run util/dev update_lints and cargo fmt --all 2019-02-03 21:56:24 +09:00
rhysd
9d130a546f add dbg_macro rule to CHANGELOG.md and update count in README 2019-02-01 11:32:22 +09:00
Alex Hamilton
7fa50fb3fe wildcard_match_arm: Update lint count. 2019-01-29 15:33:16 -06:00
Philipp Hansch
c3980bf0bc
Add initial version of const_fn lint 2019-01-29 08:19:05 +01:00
A.A.Abroskin
f11d993c0f Merge branch 'master' into add-lints-aseert-checks
* master: (58 commits)
  Rustfmt all the things
  Don't make decisions on values that don't represent the decision
  Improving comments.
  Rustup
  Added rustfix to the test.
  Improve span shortening.
  Added "make_return" and "blockify" convenience methods in Sugg and used them in "needless_bool".
  Actually check for constants.
  Fixed potential mistakes with nesting. Added tests.
  formatting fix
  Update clippy_lints/src/needless_bool.rs
  formatting fix
  Fixing typo in CONTRIBUTING.md
  Fix breakage due to rust-lang/rust#57651
  needless bool lint suggestion is wrapped in brackets if it is an "else" clause of an "if-else" statement
  Fix automatic suggestion on `use_self`.
  Remove negative integer literal checks.
  Fix `implicit_return` false positives.
  Run rustfmt
  Fixed breakage due to rust-lang/rust#57489
  ...
2019-01-23 11:36:12 +03:00
Manas Karekar
a8157d2de7
Update Readme
Move instruction to the correct step for installing Clippy.
2019-01-12 20:24:52 -05:00
Manas Karekar
09323d7426
Update Readme for (arguably) better readability
Move final instruction to run clippy into a third step in the Readme so it's easier to spot at a quick glance.
2019-01-12 19:42:36 -05:00
bors
91ef4e3ae7 Auto merge of #3646 - matthiaskrgr:travis, r=phansch
readme: update travis badge to reflect migration from travis-ci.org to travis-ci.com
2019-01-11 01:11:34 +00:00
A.A.Abroskin
58abdb5918 run ./util/dev update_lints 2019-01-09 21:31:29 +03:00
Matthias Krüger
144f01f381 readme: update travis badge to reflect migration from travis-ci.org to travis-ci.com 2019-01-09 00:50:32 +01:00
Philipp Hansch
38d4ac7cea
Remove all copyright license headers
Discussion previously happened in https://github.com/rust-lang/rust/pull/43498
2019-01-08 21:46:39 +01:00
Konrad Borowski
34daf09aa4 cast_ref_to_mut lint 2019-01-07 14:37:28 +01:00
Matthias Krüger
3389a68834 Revert "Auto merge of #3603 - xfix:random-state-lint, r=phansch"
This reverts commit 0a6593cd1b, reversing
changes made to 5277a1fb6c.

This hopefully fixes #3628
2019-01-05 10:19:04 +01:00
bors
0a6593cd1b Auto merge of #3603 - xfix:random-state-lint, r=phansch
random_state lint
2019-01-03 02:00:46 +00:00
bors
61bfb39e3f Auto merge of #3593 - mikerite:readme-syspath-2, r=phansch
Update README local run command to remove syspath

Since #3257 was reverted, including the sysroot in RUSTFLAGS gives the
error `Option 'sysroot' given more than once`
2018-12-30 11:45:38 +00:00
Konrad Borowski
a6c4eaa93c random_state lint 2018-12-30 02:45:34 +01:00
Michael Wright
f4cf82ce7d Update README local run command to remove syspath
Since #3257 was reverted, including the sysroot in RUSTFLAGS gives the
error `Option 'sysroot' given more than once`
2018-12-29 07:59:33 +02:00
Russell Greene
d127aed737 Merge new_without_default_derive into new_without_default 2018-12-28 10:57:58 -07:00
bors
d3c747c752 Auto merge of #3569 - phansch:update_contributing, r=flip1995
Change contrib.md hierarchy, link to it from readme

'How Clippy works' and 'How to fix nightly failures' are not exactly part
of 'Writing code'.
2018-12-22 09:18:39 +00:00
Philipp Hansch
cef8f57082
Remove header link 2018-12-22 10:16:52 +01:00
Philipp Hansch
ff634e2350
Change contrib.md hierarchy, link to it from readme
'How Clippy works' and 'How to fix nightly failures' are not exactly part
of 'Writing code'.
2018-12-21 08:11:06 +01:00
Michael Wright
987f260543 Update README local run command to specify syspath 2018-12-19 06:13:43 +02:00
Kampfkarren
e5ea5395b9 Update lint definitions 2018-12-13 09:14:01 -08:00
Philipp Hansch
0c93e4cdb2
s/clippy/Clippy in readme 2018-12-10 22:30:16 +01:00
Philipp Hansch
d4da776ea7
Also add note about using -W clippy::lint_group 2018-12-10 22:22:57 +01:00
Philipp Hansch
04e251f623
readme: tool lints are stable now 2018-12-10 22:04:27 +01:00
Nick Cameron
7220185560
Remove -preview suffix from README 2018-12-06 11:11:50 -05:00
daxpedda
d5d6692288 Added FORCED_RETURN lint. 2018-12-05 01:59:09 +01:00
David Tolnay
e632a1946e
Remove unsafe_vector_initialization lint 2018-12-03 02:48:37 -08:00
Philipp Hansch
93e8c9efc9
Update docs in regards to the merged RFC 2018-11-28 08:11:28 +01:00
Matthias Krüger
2a1c8b1db6 readme: tell how to install clippy on travis from git if it is not shipped with a nightly. 2018-11-26 14:07:21 +01:00
Guillem Nieto
dc35841be4 Update lints 2018-11-25 14:36:04 -08:00
Matthias Krüger
0b8d323304 missed another one in the README 2018-11-22 04:50:00 +01:00
Matthias Krüger
f5929e0797 rust-lang-nursery/rust-clippy => rust-lang/rust-clippy 2018-11-22 04:40:09 +01:00
Yusuf Simonson
866caabb7a Check for common metadata 2018-11-13 08:43:30 -05:00
flip1995
bb4083c412
Run update_lints.py script 2018-11-02 19:50:23 +01:00
kennytm
2d1c9313b0
Added lints into_iter_on_ref and into_iter_on_array. Fix #1565. 2018-11-02 22:53:56 +08:00
flip1995
6819127f1e
run update_lints script 2018-11-02 13:49:10 +01:00
Shotaro Yamada
5285372f68 Run update_lints 2018-10-26 01:16:14 +09:00
HMPerson1
aabf8083bd
Add lint for calling mem::discriminant on a non-enum type 2018-10-24 23:39:54 -04:00
Hidehito Yabuuchi
d334fab4d0 Run util/update_lints.py 2018-10-24 15:00:28 +09:00
Oliver S̶c̶h̶n̶e̶i̶d̶e̶r Scherer
8b12eee112
Merge pull request #3233 from rust-lang-nursery/unused-unit
new lint: unused_unit
2018-10-13 09:30:19 +02:00
Andre Bogus
e8687a6677 unused unit lint 2018-10-13 00:42:55 +02:00
sigustin
34fd4af503
Specify which categories are enabled by default
Closes #3293
2018-10-12 12:15:20 +02:00
Oliver Scherer
b8654eaa6c Stabilize tool lints 2018-10-11 12:16:22 +02:00
Manish Goregaokar
492d6852e5 Add license to README 2018-10-06 19:29:01 -07:00
Manish Goregaokar
ca437e81a7 Relicense clippy
Documentation on relicensing in previous commit

Fixes #2885

Also fixes #3093, fixes #3094, fixes 3095, fixes #3096, fixes #3097, fixes #3098,
fixes #3099, fixes #3100, fixes #3230
2018-10-06 09:43:08 -07:00
Manish Goregaokar
b94238f5b3 Mention -A and -W in readme 2018-10-02 10:42:14 +02:00
Michael Wright
f5ffac4fce Implement unnecesary_filter_map lint 2018-09-26 06:52:36 +02:00
Hanaasagi
2b4d9d55b8 fix invalid travis-yaml in README 2018-09-25 22:40:17 +09:00
Jane Lusby
14feb3670f Lint for chaining flatten after map
This change adds a lint to check for instances of `map(..).flatten()`
that can be trivially shortened to `flat_map(..)`

Closes #3196
2018-09-24 14:29:16 -07:00
Philipp Krones
b5c4342ef9
Merge pull request #3195 from JayKickliter/jsk/mem_replace_opt_w_none
Add lint for `mem::replace(.., None)`.
2018-09-23 10:23:48 +02:00
Manish Goregaokar
8e9f1a9d68
Mention rustup self update (fixes #3211) 2018-09-22 14:35:11 -07:00
Jay Kickliter
12c7bc1e58 mem_replace: apply update_lints tool. 2018-09-19 14:41:22 -07:00
Michael Wright
c06551aba7 Update lint list 2018-09-19 07:39:50 +02:00
Matthias Krüger
535f4c2b93 readme: show how to make the travis job fail when using clippy 2018-09-14 11:22:26 +02:00
Philipp Hansch
65b58de545
Explain Travis CI usage
Closes #2432
2018-09-14 08:22:38 +02:00
Philipp Hansch
c9c32a665e
Cleanup README for clippy-preview on stable
With the 1.29 release, the `clippy-preview` component will be available
on stable which means we don't need nightly/beta anymore.
2018-09-13 18:28:10 +02:00
Philipp Krones
49b1a8c775
README: More detailed explanation of tool_lints
cc #3164
2018-09-13 11:27:01 +02:00
Oliver S̶c̶h̶n̶e̶i̶d̶e̶r Scherer
63a46b1e1a
Merge pull request #3129 from mipli/3091-numeric-typo
Add lint for misstyped literal casting
2018-09-07 09:54:43 +02:00
Michael A. Plikk
38d287fecd Add lint for misstyped literal casting 2018-09-05 19:46:49 +02:00
Philipp Hansch
273e11fcaf
Trigger rebuild for AppVeyor (and fix grammar) 2018-09-02 11:31:39 +02:00
flip1995
83baf8f5fe Adapt documentation to the tool_lints 2018-08-29 11:08:29 -07:00
Manish Goregaokar
a43f8cf819 some readme clarifications 2018-07-16 13:39:38 -07:00
Jane Lusby
29cae6263b Update readme for new clippy install method 2018-07-16 13:30:16 -07:00
Dale Wijnand
d95d6516b4
Consistently call it "Clippy", not clippy or rust-clippy
As per discussion on the Clippy 1.0 RFC
2018-07-05 11:37:50 +01:00
gnzlbg
7c4ec40346 add missing_inline lint
When turned on, the lint warns on all exported functions, methods,
trait methods (default impls, impls), that are not `#[inline]`.

Closes #1503.
2018-07-04 13:50:39 +02:00
Mateusz Mikuła
a24f77f65a Bump the version 2018-06-29 09:55:20 +02:00
Oliver Schneider
9f8624e5bf Version bump 2018-06-25 18:18:50 +02:00
Philipp Hansch
50027405c3
Link to correct AppVeyor project in Readme 2018-06-21 07:40:29 +02:00
Oliver Schneider
0f848576e9
Update README.md 2018-06-20 20:37:22 +02:00
Mateusz Mikuła
8625cfb988 Version bump 2018-06-18 09:56:58 +02:00
Oliver Schneider
8fe90e41d0 Publish preparation 2018-06-10 06:22:07 +02:00
Oliver Schneider
1c6c79f92c Version bump 2018-06-03 08:59:10 +02:00
Oliver Schneider
ce229b2025 Version bump 2018-05-29 11:58:58 +02:00
Michael A. Plikk
77794e91e2 Create lint for unimplemented!() 2018-05-24 10:04:18 +02:00
Oliver Schneider
fd8a1d20cc
Remove all mention and testing of #[plugin(clippy)] and warn if used 2018-05-11 13:20:39 +02:00
Oliver Schneider
654ff18588
deprecate clippy-as-a-plugin 2018-05-11 11:32:56 +02:00
Philipp Hansch
0557359ecd
Merge pull request #2724 from Caemor/patch-1
Link with https instead of http
2018-05-04 18:43:27 +02:00
Oliver Schneider
642baa91cf
Version bump 2018-05-04 15:54:56 +02:00
Chris
a27baecbdf
Link with https instead of http
The old link caused a mixed content warning on crates.io. This should be fixed now.
2018-05-04 14:23:53 +02:00
Yusuf Simonson
7de706b34b Lint for multiple versions of dependencies 2018-04-30 06:20:39 +07:00
Mateusz Mikuła
cc7d66aa9c rustup 2018-04-27 14:00:43 +02:00
Oliver Schneider
c5b39a5917
Version bump 2018-04-19 08:36:22 +02:00
Oliver Schneider
9dc9487567
Version bump 2018-04-15 15:01:48 +02:00
Oliver Schneider
ba1be0d53b
Explain nursery lints
fixes #2652
2018-04-10 13:50:44 +02:00
Manish Goregaokar
2046694029 Bump version to 0.0.192 2018-04-04 18:00:21 -07:00
Tim Neumann
c7aa8b0458
Add missing clippy_ prefix to lint groups in Readme 2018-04-04 19:49:55 +02:00
Philipp Hansch
fe8ba21962
Readme: Explain nightly install and clippy update 2018-04-02 11:25:04 +02:00
Oliver Schneider
82e771d7dc
Document lint groups 2018-03-29 13:04:52 +02:00
Oliver Schneider
eafb9fe8df
Update test suite 2018-03-28 23:49:32 +02:00
CYBAI
cb9d1727fe Update configuration for leading dot filename 2018-03-25 16:57:15 +08:00
Guido
b52f46d1d1
Change command to run clippy without installation 2018-02-08 12:37:56 +01:00
Guido
45e4f3aac7
Simplify recommended command 2018-02-07 19:24:38 +01:00
Manish Goregaokar
c66eaee77c Nightly only 2018-01-12 16:03:13 +05:30
Philipp Hansch
ab5b7dd7c1
Add link to lints in README configuration section
The wiki has been deprecated.
2018-01-07 12:55:40 +01:00
zmt00
a7f423b114 Fix typos in README, documentation 2018-01-01 13:55:40 -08:00
Clar Charr
8abf9647ce Rearrange README.md.
This suggests `cargo clippy` first, which is probably the best method at this point. It also describes how to enable clippy only when testing.
2017-12-27 11:06:40 -05:00
Darren Tsung
203038cbe5 Add +nightly to command for running cargo build. 2017-12-21 15:24:18 -08:00
Darren Tsung
1d523ce8f7 Add “, add these lines” as well as removing the extra space between the attributes to make it more clear that both should be included. 2017-12-21 15:21:28 -08:00
Philipp Hansch
464f455fe1
Fix license badge anchor link [skip ci]
The anchor name is lowercase, not uppercase.
2017-11-22 21:26:11 +01:00
Oliver Schneider
b90523c860 Merge pull request #2129 from vorner/update-script
Include a conditional update script
2017-10-27 08:57:15 +02:00
cgm616
4960d9de86 Deprecate should_assert_eq lint
This should close #2090.
2017-10-19 23:42:04 -05:00
Michal 'vorner' Vaner
def4a2627d
Include a conditional update script 2017-10-15 10:09:13 +02:00
Joe Rattazzi
46d6f2454e Add link to Rust Github
Linking to the Rust-lang Github repository: https://github.com/rust-lang/rust
2017-10-14 14:47:38 -05:00
Martin Carton
285a33a569 Move the number of lints back to the top of README
This used to be at the top and was moved at the bottom when the big list of lints started to be so ridiculously long that people had to scroll for 10 minutes to have usage information 😄
2017-09-01 20:29:36 +02:00
Oliver Schneider
e5e1afac5f Remove clippy.bashy.io
The service seems to be defunct for a while now
2017-09-01 15:14:49 +02:00
Oliver Schneider
0f0075df09
Update README lint counter message 2017-09-01 12:34:10 +02:00
Oliver Schneider
ff91c6359a
wiki -> docs 2017-09-01 12:34:10 +02:00
Oliver Schneider
c64073b2f5
Deprecate the wiki and remove the lint list from the README (fixes #1933) 2017-09-01 12:34:05 +02:00
Dan Gohman
1ea70116d3 Enable the cast_lossless warning by default. 2017-08-29 05:48:56 -07:00
Dan Gohman
7714203c72 Add a lint for lossless casts. 2017-08-28 08:42:33 -07:00
Andre Bogus
df903edddd New lint: (maybe_)infinite_iter
This fixes #1870 (mostly, does not account for loops yet)
2017-08-25 22:20:52 +02:00