Commit Graph

452 Commits

Author SHA1 Message Date
Andre Bogus 2f7babba82 New zero_ptr lint.
This fixes #1047. I did not bother to add a full suggestion,
because replacing with `std::ptr::null()` may still lead to
inference failures.
2017-02-21 04:36:59 +01:00
sinkuu 263e60ce0b Run update_lints.py 2017-02-20 16:55:52 +09:00
sinkuu 0a6bc6031a Rename lint to needless_take_by_value
And fixes false-positives for generics and `match`
2017-02-20 16:02:48 +09:00
sinkuu d81d961ba7 Lint needless take-by-value 2017-02-19 07:59:44 +09:00
Bood Qian ee86d46cd1 Update README 2017-02-18 11:13:38 +08:00
Bood Qian 97d46232b4 Merge branch 'master' of github.com:Manishearth/rust-clippy 2017-02-18 11:12:13 +08:00
sinkuu 16e53c9868 Run update_lints.py 2017-02-18 10:14:20 +09:00
Andre Bogus 505eb53d29 New never loop lint
This lint detects loops that unconditionally break or return.

Closes #257
2017-02-17 04:53:14 +01:00
Bood Qian 2f00ea3a07 Suppress lint for unsuffixed number casts 2017-02-16 22:55:41 +08:00
Bood Qian afce85e96d Add lint for unnecessary casts (cast to same type) 2017-02-15 22:20:20 +08:00
Oliver Schneider 40ea5e8c5d run util/update_lint 2017-02-13 11:40:27 +01:00
Oliver Schneider 1177f3915c update readme 2017-02-13 11:15:36 +01:00
Oliver Schneider 637a4590f6
Merge remote-tracking branch 'origin/master' 2017-02-13 11:15:12 +01:00
Martin Carton 9a7597d5af Merge pull request #1528 from Manishearth/mut-from-ref
New `mut_from_ref` lint
2017-02-12 16:01:15 +01:00
Bood Qian a2d752807a Lint on `Err(_)` arm of a match 2017-02-11 14:57:50 +08:00
Owen Sanchez 96ae7da9b6 Run update_lints.py 2017-02-10 18:12:32 -07:00
Andre Bogus 5650a599a8 New mut_from_ref lint
This fixes #1507.
2017-02-10 19:39:03 +01:00
Oliver Schneider b6d9c86579 update lints 2017-02-08 14:42:52 +01:00
Martin Carton 4ee839857b Merge pull request #1506 from bood/master
Lint for possible missing comma in an array #1177
2017-02-07 18:56:38 +01:00
Owen Sanchez 1193f4fb68 Run update_lints.py 2017-02-04 21:54:21 -07:00
Bood Qian 25fd8c6ba1 Shorten lint name for possible missing comma 2017-02-04 20:05:25 +08:00
Bood Qian 33577ec3f7 Lint for possible missing comma in an array #1177 2017-02-03 19:10:30 +08:00
Oliver Schneider 82dd50d0e2 large_enum_variants lint suggests to box variants above a configurable limit 2017-01-30 13:17:56 +01:00
Andre Bogus 2fdb6e4d1a deprecate extend_from_slice lint 2017-01-14 14:39:41 +01:00
Oliver Schneider 3a18a48856 Merge pull request #1424 from sinkuu/unused_io_amount
Implement `unused_io_amount` lint
2017-01-09 09:43:40 +01:00
llogiq d1bdbaae06 Merge pull request #1423 from Manishearth/ci
more CI integration
2017-01-08 17:04:18 +01:00
sinkuu ce6e037ac5 Implement `unused_io_amount` lint 2017-01-07 22:23:33 +09:00
Theemathas Chirananthavat 4962df30d0 Update lint documentation using util/update_lints.py 2017-01-05 17:44:46 -08:00
Andre Bogus 451cbed1d3 Add appveyor badge 2017-01-05 23:16:00 +01:00
Samuel Tardieu 82b2f5663f Add a new "short_circuit_statement" lint (fixes #1194) 2016-12-31 01:17:39 +01:00
Theemathas Chirananthavat 7034d169e5 Update lint documentation using util/update_lints.py 2016-12-28 12:06:43 -08:00
Oliver Schneider 90fc9c389f
split pub_enum_variant_names to new lint 2016-12-21 13:30:57 +01:00
Manish Goregaokar cc8c1c0814 Merge pull request #1345 from EpocSquadron/epocsquadron-documentation
Clarify recco to install as a soft dependency
2016-12-19 03:36:42 -08:00
Manish Goregaokar d61c7fc747 Merge pull request #1355 from philipturnbull/deref-addrof
Lint usage of `*&` and `*&mut`
2016-12-19 03:35:45 -08:00
Alex Burka 33ec3bc8cf don't advertise clippy.bashy.io 2016-11-28 18:59:15 -05:00
Phil Turnbull a9f5b90f0f Lint usage of `*&` and `*&mut`
fixes #1316
2016-11-22 21:06:20 -05:00
Daniel S Poulin e40cb6a9dd Further clarify recommended usage
Pushed the section on hard dependency installation to the bottom of the usage methods to further discourage its use. Also included a note in that section warning that it is not the recommended method. Lastly, changed what was said in the opening paragraph of the Usage section to reflect the multitude of options.
2016-11-19 22:16:36 -05:00
Phil Turnbull 73a73638c0 Add lint for `string.extend(string.chars())`
fixes #792
2016-11-19 14:55:47 -05:00
Phil Turnbull fa78b09fa7 Add lint for `string.extend("str".chars())`
fixes #792
2016-11-19 14:55:02 -05:00
Daniel S Poulin 5a415f67de Clarify recco to install as a soft dependency
On IRC it was mentioned that clippy is not meant to be installed as a hard dependency.
As it was, the README placed the hard dependency instructions first and did not
mention the recommendation, misleading users into making it a hard dependency. A
quick survey of the dependent crates on crates.io reveals the reach of this issue.
2016-11-18 22:46:12 -05:00
Devon Hollowood cfc741405b Run update_lints.py 2016-10-31 23:43:19 -07:00
Oliver Schneider 053896b678 Merge pull request #1307 from Kha/partialeq_ne
Implement 'Re-implementing `PartialEq::ne`' lint
2016-10-31 09:06:14 -04:00
Sebastian Ullrich 8664d03ec6 implement 'Re-implementing `PartialEq::ne`' lint
closes #86
2016-10-30 15:00:59 -04:00
Oliver Schneider 20b7559558 Merge pull request #1296 from Manishearth/features
Be more helping, less helpful and bring convenience back for the dead
2016-10-30 14:33:39 -04:00
d-dorazio d213040381 Add lint for redundant pattern matching in iflet for Result/Option 2016-10-30 15:43:46 +01:00
mcarton 409b8e7343
Revert "Revert "Automatically defines the `clippy` feature""
This reverts commit e4dceef7e7.
2016-10-24 16:04:00 +02:00
d-dorazio 62831c6e29 Suggest `nth(X)` instead of `skip(X).next()` 2016-10-14 13:38:00 +02:00
Martin Carton e851bc7404 Merge pull request #1257 from KitFreddura/master
If let some lint
2016-10-04 23:00:05 +02:00
Kit Freddura a57f21945b ran update 2016-10-02 14:17:22 -07:00
Kit Freddura ab9435a6d4 ran update 2016-10-02 13:42:11 -07:00
Andre Bogus 8188c46429 Allow option_map_unwrap_or(_else)
This fixes #1192.
2016-10-02 21:23:26 +02:00
Elliott Clark 4a34087c77 Run util/update_lints.py after adding explicit_into_iter_loop 2016-09-30 17:50:02 -07:00
Oliver Schneider b778269f54 List lints at the end of the readme 2016-09-15 17:19:30 +02:00
Oliver Schneider f469860dc2
lint diverging expressions that are sub-expressions of others 2016-09-12 14:24:11 +02:00
mcarton b2de244cfd
Restrict `len_without_is_empty` to exported items 2016-09-02 15:30:06 +02:00
mcarton d87f137254
Add a `builtin_type_shadow` lint 2016-08-28 19:56:18 +02:00
mcarton 8bab4ed1c5
./utils/update_lints.py 2016-08-23 19:45:32 +02:00
mcarton 36d8ca04a1
Add a `MISSING_DOCS_IN_PRIVATE_ITEMS` lint 2016-08-23 18:28:39 +02:00
mcarton 507b626b36 Add `zero_prefixed_literal` lint 2016-08-23 18:15:12 +02:00
llogiq cf2b0c8dd6 New cmp_null lint (fixes #1184) (#1186)
* new cmp_null lint (fixes #1184)

* adressed comments (still fails)

* fixed tests, dogfood, ran update_lints
2016-08-22 18:29:29 +02:00
Oliver Schneider 3ab6ad59c4
disallow lint attributes on `use` and `extern crate` items 2016-08-17 11:36:04 +02:00
Georg Brandl ffad9a8c8c Lint print!("...\n") (closes #455) 2016-08-16 20:52:48 +02:00
Oliver Schneider 7ee4a9a659
lint modules that have the same name as their parent module 2016-08-16 14:29:21 +02:00
scurest b0a96def09 Add lint for reads and writes that depend on evaluation order 2016-08-11 06:01:40 -05:00
Georg Brandl b91c1a509e Make lint descriptions short and to the point; always fitting the column "triggers on". 2016-08-07 08:09:26 +02:00
Georg Brandl 2f8247ada5 Lint literal suffixes not separated by underscores (see #703) 2016-08-05 18:50:23 +02:00
Georg Brandl ab58331f22 Lint inconsistent casing in hex literals (closes #703) 2016-08-05 18:30:49 +02:00
Manish Goregaokar e00f77356b multirust -> rustup (fixes #1117) 2016-07-25 11:17:34 +05:30
Oliver Schneider f7f9930b89
update lints 2016-07-20 17:34:58 +02:00
llogiq a371558bdb Merge pull request #1093 from oli-obk/serde_specific_lint
lint on implementing `visit_string` without also implementing `visit_str`
2016-07-18 11:53:28 +02:00
mcarton 94fcdadd85 Update README 2016-07-17 13:38:17 +02:00
mcarton 13a30aed2d
Run `./util/update_lints.py` 2016-07-16 00:30:08 +02:00
Oliver Schneider 319c66a2a4
lint on implementing `visit_string` without also implementing `visit_str` 2016-07-12 17:36:11 +02:00
llogiq ad1cd99054 Merge pull request #1060 from Manishearth/sugg
Improve suggestions
2016-07-10 00:06:30 +02:00
Martin Pool 585a3b2565 Fix Markdown syntax in description of collapsible_if 2016-07-09 12:20:54 -07:00
Alberto Leal b71b1a078c Add note on how to enable the optional dependency 2016-07-07 20:36:49 -04:00
mcarton 7778f314f2
Merge branch 'master' into sugg 2016-07-04 00:51:19 +02:00
mcarton 0e3dcd1376
Improve `NOT_UNSAFE_PTR_ARG_DEREF` with functions 2016-07-03 13:29:04 +05:30
mcarton 7781f1d7c5 Add a new `not_unsafe_ptr_arg_deref` lint 2016-07-03 13:28:34 +05:30
mcarton d6182b365c
Merge remote-tracking branch 'origin/rustup' into sugg 2016-07-01 17:48:57 +02:00
mcarton 8d58a928e5
Use `utils::sugg` in `ASSIGN_OPS` 2016-07-01 17:12:48 +02:00
Andre Bogus b73180231a fixed doc nit 2016-06-30 06:33:21 +02:00
Andre Bogus a12e8394d7 new lint: double_neg 2016-06-30 01:00:25 +02:00
mcarton e4dceef7e7
Revert "Automatically defines the `clippy` feature"
This reverts commit d7ba66bf44.

It was causing problems with crates with:

```rust
#![cfg_attr(feature="clippy", plugin(clippy))]
```
2016-06-29 14:29:25 +02:00
Oliver Schneider 9ceb708727 Merge pull request #1053 from oli-obk/char_float_transmute
lint on unnecessary and plain wrong transmutes
2016-06-28 14:50:39 +02:00
Oliver Schneider e06bc37477
lint on unnecessary and plain wrong transmutes 2016-06-28 14:08:08 +02:00
Manish Goregaokar f4115f104e readme formatting nit 2016-06-27 21:08:16 +05:30
Xavier Bestel a8e185646b *latest* nightly 2016-06-24 14:55:17 +02:00
Xavier Bestel eeb847ada8 Suggest Rust nightly
Add one line to suggest that clippy won't compile with Rust stable.
2016-06-24 14:41:58 +02:00
Oliver Schneider 262148c946
update lint doc text 2016-06-22 13:03:59 +02:00
Oliver Schneider 5ccbf3d437
unify the lints 2016-06-22 10:44:46 +02:00
Oliver Schneider 77e2155778
update lints 2016-06-21 13:32:34 +02:00
Devon Hollowood cfa0c5782e Extend iter_nth lint to work with iter_mut() and VecDeque 2016-06-16 14:46:29 -07:00
Oliver 'ker' Schneider e628e4d513 allow by default 2016-06-16 18:37:56 +02:00
Devon Hollowood 74025be59d Make iter_nth work for `Vec`s too 2016-06-16 02:04:32 -07:00
Devon Hollowood 7764dc5ef4 Add slice_iter_nth lint 2016-06-16 01:36:11 -07:00
mcarton d80436f9f2
Add a issue template and specify a *recent* nightly is needed 2016-06-10 13:47:47 +02:00
mcarton d7ba66bf44
Automatically defines the `clippy` feature 2016-06-08 21:53:58 +02:00
mcarton a7a6c0461d
Add environment variable to deactivate wiki links 2016-06-05 22:03:02 +02:00
mcarton 42879bcdcb
Add a `USELESS_LET_IF_SEQ` lint 2016-05-29 12:19:12 +02:00
mcarton 8ac545d0fe Fix documentation 2016-05-26 00:08:31 +02:00
Andre Bogus 9cfc42275d Split `new_without_default` and `new_without_default_derive`.
This is still very slow, because we do a trait lookup for each field.
Perhaps storing the visited types in a set to reuse types would improve
performance somewhat. Also we may want to pre-decide some known types
(e.g. `Vec<T>`, `Option<T>`).
2016-05-24 18:22:18 +02:00
mcarton 2a5416d662
Rustup to *1.10.0-nightly (9c6904ca1 2016-05-18)* 2016-05-23 16:11:19 +02:00
Manish Goregaokar f2f5fefd00
Allow invalid upcast comparisons 2016-05-16 22:52:22 +05:30
Oliver Schneider 1e897f1552 add a companion lint to `no_effect` with suggestions for partially effective statements 2016-05-13 16:43:47 +02:00
Oliver Schneider c6b4b19a43
suggest `a op= b` over `a = a op b` 2016-05-11 15:32:20 +02:00
Oliver Schneider 654154d8e7
`cargo clippy` subcommand 2016-05-09 16:47:32 +02:00
Oliver Schneider 87faaec7a3
add needless_borrow lint 2016-05-09 13:07:43 +02:00
Oliver Schneider a159f047dd
fix markdown 2016-05-06 16:07:47 +02:00
Manish Goregaokar f6290b622c Merge branch 'pr-890' 2016-05-02 14:43:11 +05:30
Andre Bogus 9a99979cc4 fix #887: New lints for integer/floating-point arithmetic 2016-04-30 04:01:47 +02:00
Andre Bogus e3d86800ff allow items_after_statements by default 2016-04-23 07:52:45 +02:00
Georg Brandl efb5417439 Fix grammar. 2016-04-22 18:06:35 +02:00
Taylor Cramer 1e2cc78e08 Ran script to update README.md 2016-04-21 09:41:38 -07:00
Taylor Cramer 5158a08c5b Changed std::mem::forget errors to mem::forget 2016-04-20 18:55:41 -07:00
Taylor Cramer 12ae306630 Ticks around std::mem::forget 2016-04-20 13:33:05 -07:00
Taylor Cramer 7961f59303 Ran update_lints and updated CHANGELOG.md to reflect addition of mem_forget 2016-04-20 13:11:55 -07:00
Taylor Cramer b793ad7f2f Ran update_lints script 2016-04-19 16:32:04 -07:00
llogiq 0bc067089e add neg_multiply lint (#862)
add neg_multiply lint
2016-04-17 23:33:21 +02:00
Georg Brandl 12b8a0ac14 Make if_not_else lint Allow by default (fixes #859) 2016-04-17 12:54:38 +02:00
mcarton 1789430a49 Add a `TEMPORARY_CSTRING_AS_PTR` lint 2016-04-14 17:26:07 +02:00
Taylor Cramer 106ae7da44 Invalid upcast comparison cleanup 2016-04-02 15:32:57 +02:00
Taylor Cramer c81edfc7b9 Updated lints with script 2016-04-02 15:32:56 +02:00
Oliver Schneider 2917484130 make `nonminimal_bool` allow-by-default 2016-03-30 12:55:59 +02:00
Oliver Schneider e7013a3e9c update lints 2016-03-29 10:45:45 +02:00
Oliver Schneider 93d097eb12 better simplification 2016-03-29 10:45:18 +02:00
mcarton 371a5537eb Address nits in DOC_MARKDOWN 2016-03-28 21:24:52 +02:00
mcarton b1d1f095f1 Improve the DOC_MARKDOWN lint
`_` can be used for emphasize text. `::` is equality as bad outside
ticks.
2016-03-28 21:24:36 +02:00
mcarton 42bf37f49f Add a lint for bad documentation formatting 2016-03-28 21:24:36 +02:00
mcarton 2d5e3f3118 Lint transmute from ptr to ref 2016-03-28 18:05:43 +02:00
llogiq deb0f3120d Merge pull request #797 from cramertj/master
Added crosspointer transmute error and tests
2016-03-25 00:59:47 +01:00
Taylor Cramer bafffbd624 Ran python lint updater 2016-03-24 16:40:06 -07:00
Tim Neumann e53babef8f Mention running optional clippy dependency with `cargo rustc` 2016-03-24 23:03:51 +01:00
mcarton 15e55f5df5 Deprecates 4 lints
Namely STR_TO_STRING, STRING_TO_STRING, UNSTABLE_AS_SLICE and
UNSTABLE_AS_MUT_SLICE.
2016-03-24 19:56:48 +01:00
Oliver Schneider 077481053c refactoring and bugfix 2016-03-18 14:06:39 +01:00
Oliver Schneider 463897fd39 lint on too many single character bindings 2016-03-18 14:06:39 +01:00
Oliver Schneider 06ca1fc0a6 lint on binding-names that are too similar 2016-03-18 14:06:39 +01:00
mcarton 14dcb60bf8 s/Clippy.toml/clippy.toml 2016-03-12 14:52:09 +01:00
mcarton aa4daea364 Lint function with too many arguments 2016-03-12 14:52:06 +01:00
mcarton 578750aae1 Document the configuration file 2016-03-12 14:51:47 +01:00
mcarton a3031e34f9 Add a `BLACKLISTED_NAME` lint 2016-03-12 14:51:45 +01:00
Adolfo Ochagavía 87ef5f4d3b Lint against indexing and slicing
This can be useful to prevent panics in a codebase. ATM it is a pedantic
lint, but in the future it should be added to the restricions group.
2016-03-11 21:30:35 +01:00
mcarton 3f112b1b8a Fix punctuation in README 2016-03-11 14:26:26 +01:00
Manish Goregaokar 1d41ec9846 Merge pull request #742 from ctjhoa/master
Add clippy linting service badge
2016-03-11 08:41:53 +05:30
Camille TJHOA e67e21ca5d Add link with clippy service 2016-03-10 21:42:24 +01:00
mcarton d7129f560d Lint types with `fn new() -> Self` and no `Default` impl 2016-03-08 17:00:37 +01:00
mcarton 204c12c99e Lint unused labels 2016-03-08 16:43:40 +01:00
KALPESH KRISHNA 55fbf59f3b Linting classical overflow checks. 2016-03-08 02:48:42 +05:30
Camille TJHOA 59f44eb17a add clippy service badge 2016-03-07 00:12:06 +01:00
KALPESH KRISHNA e421a0f8a3 Warn about calling a closure in the same expression where it's defined. 2016-03-05 22:41:52 +05:30