Commit graph

502 commits

Author SHA1 Message Date
Zaki Manian
a25a172e60 Use the type from the macro 2017-09-02 11:29:01 -07:00
Zaki Manian
f581aa7779 Initial commit of unit expr 2017-09-02 11:25:33 -07:00
Dan Gohman
1ea70116d3 Enable the cast_lossless warning by default. 2017-08-29 05:48:56 -07:00
Oliver Schneider
6bc7893b70 Merge pull request #1956 from sunfishcode/master
Add a lint for lossless casts.
2017-08-29 08:50:36 +02:00
Oliver Schneider
73d87d966d
Update tests to current rustc 2017-08-28 18:16:16 +02:00
Dan Gohman
7714203c72 Add a lint for lossless casts. 2017-08-28 08:42:33 -07:00
Oliver Schneider
23bc6508bb Merge pull request #1861 from CBenoit/master
Add example for needless borrowed ref lint and register it
2017-08-28 14:34:30 +02:00
Tatsuyuki Ishi
b8da486ce5 Remove unused extern crates 2017-08-27 16:04:20 +09:00
Tatsuyuki Ishi
f37f2f710c Reorder allow attributes to suppress unknown lint warning 2017-08-27 16:02:05 +09: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
Andre Bogus
70e34077d5 new lint: naive_bytecount 2017-08-22 23:45:08 +02:00
Benoît CORTIER
0063309a00
Now register needless borrowed ref. 2017-08-21 13:59:20 +02:00
Oliver Schneider
2493176f0e
Version bump 2017-08-21 09:44:53 +02:00
Tim Nielens
7759bd6111 lint #1674: replace struct name with Self when applicable 2017-08-18 01:11:39 +02:00
Andre Bogus
3b7f3dc8e7 WIP: Find binding or assignment within outer loop 2017-08-03 22:11:58 +02:00
Oliver Schneider
7102442a4b
Use the authoring tool to create a new lint 2017-08-01 12:55:52 +02:00
Oliver Schneider
3a61b452a2
Create a lint authoring helper (generates matching code) 2017-08-01 12:55:52 +02:00
Oliver Schneider
c9d9619eed update_lints.sh has a different opinion on ordering things 2017-08-01 10:18:56 +02:00
Jay Hardee
2abd1f73d9 Add lint for digit grouping. 2017-07-22 17:49:45 -04:00
Oliver Schneider
1788f7bcde Merge pull request #1847 from Manishearth/nested_while_let
don't lint while_let_on_iterator on nested loops
2017-07-04 16:05:24 +02:00
Benoît CORTIER
1cae3366ea Add needless borrowed ref lint (WIP). 2017-06-24 12:04:56 +02:00
Andre Bogus
88aa04dfa5 don't lint while_let_on_iterator on nested loops
The problem is with a nested loop, the iterator may well be reused. This
changeset introduces a false negative, when the iterator is initialized
within the outer loop. A further PR could get rid of this false negative
by checking if the iterator is indeed initialized within the outer loop.
2017-06-23 18:29:18 +02:00
Oliver Schneider
38925a55b7 Replace Range::step_by checking with Iterator::step_by 2017-06-18 16:12:04 +02:00
mcarton
9c9ad3e281 Add itertools and pulldown-cmark dependencies 2017-06-17 18:22:49 +02:00
messense
16a958b103
rustup to rustc 1.19.0-nightly (258ae6dd9 2017-06-15) 2017-06-16 11:57:44 +08:00
Oliver Schneider
7056018335 Merge pull request #1501 from scott-linder/types-borrow-box
Types borrow box
2017-06-13 11:30:52 +02:00
scott-linder
711cad188a check for borrowed box types 2017-06-11 12:19:11 -04:00
Cameron Steffen
20728fb0d0 fix never_loop 2017-05-30 22:46:02 -05:00
Georg Brandl
3ba4e8b3fa Demote the never_loop lint to Allow for now.
Also add "known problem" to the description, with link to #1586.
2017-05-26 18:02:43 +02:00
Oliver Schneider
31b2bf4ab9 Update our config reading to serde 1.0 2017-05-09 15:23:38 +02:00
Oliver Schneider
8225c23a33 Update to serde 1.0 2017-05-09 15:23:10 +02:00
Oliver Schneider
9abef6affd
Bump the version 2017-04-27 14:13:14 +02:00
Oliver Schneider
68369e5d37
Merge remote-tracking branch 'origin/master' into yati_master 2017-04-25 10:31:40 +02:00
Oliver Schneider
856b1f1242 Remove now useless allow(unused_lifetimes) from clippy 2017-04-11 14:46:54 +02:00
Yati Sagade
240471f926 Needless continue: This is a complete rewrite of this lint as an early-pass lint.
The previous version had troubles computing suggestions without macro expansions
creeping in. This fixes it by using original_sp, which works on AST nodes.
2017-04-08 23:30:34 +02:00
Oliver Schneider
c657d603ba
Bump the version 2017-04-07 11:25:00 +02:00
Oliver Schneider
8ae82eb4ab
Merge remote-tracking branch 'origin/master' into 1537-drop_copy 2017-03-24 10:11:46 +01:00
Enrico Schmitz
f8df4aed0f Fix for rustc 1.17.0-nightly (6eb9960d3 2017-03-19) 2017-03-21 00:22:19 +01:00
Oliver Schneider
40d50fe8b2 Don't lint nan_cmp and zero_ptr in constants 2017-03-07 12:58:07 +01:00
Tristian Celestin
75e28610a7 Merged drop_forget_ref.rs with drop_forget_copy.rs.
Moved constant message strings out of declare_lint! macros.
2017-02-26 21:57:47 -05:00
Tristian Celestin
b8defc6cc4 Warn on calls to std::mem::drop or std::mem::forget with a Copy type 2017-02-25 23:05:37 -05:00
Oliver Schneider
19929790aa Merge pull request #1561 from Manishearth/zero_ptr
New zero_ptr lint.
2017-02-22 13:34:28 +01:00
Oliver Schneider
27aa309b3d Merge pull request #1556 from sinkuu/take_by_value
Lint needless take-by-value
2017-02-21 13:07:25 +01:00
Oliver Schneider
f07f793fa8 Merge pull request #1544 from bood/master
Add lint for unnecessary casts (cast to same type)
2017-02-21 09:16:07 +01:00
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
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
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
sinkuu
6bb426b0e3 Add should_assert_eq lint (fixes #641) 2017-02-18 10:13:56 +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
637a4590f6
Merge remote-tracking branch 'origin/master' 2017-02-13 11:15:12 +01:00
Andre Bogus
36b8554cf1 add notes for immutable inputs 2017-02-12 13:53:30 +01:00
Bood Qian
a2d752807a Lint on Err(_) arm of a match 2017-02-11 14:57:50 +08:00
Andre Bogus
5650a599a8 New mut_from_ref lint
This fixes #1507.
2017-02-10 19:39:03 +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
Owen Sanchez
e88e637b67 Add empty_enum lint (just a copy of large_enum_variant for now) 2017-02-04 21:07:54 -07:00
Bood Qian
25fd8c6ba1 Shorten lint name for possible missing comma 2017-02-04 20:05:25 +08:00
Mrmaxmeier
2be75ef973 repeat_str feature has been stablilized 2017-02-03 14:16:14 +01:00
Bood Qian
33577ec3f7 Lint for possible missing comma in an array #1177 2017-02-03 19:10:30 +08:00
Martin Carton
b1be0d6457 Merge pull request #1492 from Manishearth/largeEnumVariant
large_enum_variants lint suggests to box variants above a configurable limit
2017-01-31 19:12:43 +01:00
Oliver Schneider
82dd50d0e2 large_enum_variants lint suggests to box variants above a configurable limit 2017-01-30 13:17:56 +01:00
Oliver Schneider
aebdf74e16 correctly check exclusive range patterns for overlap 2017-01-30 12:30:16 +01:00
Tom Prince
a140c3c1bf Remove unused import. 2017-01-26 15:41:00 -07:00
Oliver Schneider
26e8558d8a
remove rustc-serialize dependency and factor util::cargo out into a crate 2017-01-26 11:31:26 +01:00
Andre Bogus
2fdb6e4d1a deprecate extend_from_slice lint 2017-01-14 14:39:41 +01:00
Oliver Schneider
d944d7df9a
rustup to 2017-01-12 2017-01-13 17:04:56 +01:00
sinkuu
ce6e037ac5 Implement unused_io_amount lint 2017-01-07 22:23:33 +09:00
Theemathas Chirananthavat
e4a4d0c361 Implement the forget_ref lint. 2017-01-05 17:41:01 -08:00
Oliver Schneider
f145fc44f8 Merge pull request #1414 from samueltardieu/no-short-circuit-if
Add a new "short_circuit_statement" lint (fixes #1194)
2017-01-05 10:41:14 +01:00
Manish Goregaokar
e02fac4896 Rustup to rustc 1.16.0-nightly (468227129 2017-01-03): Recover patterns from arguments 2017-01-04 15:50:43 -08:00
Josh Holmer
5aea0b2062 Rustup to rustc 1.16.0-nightly (468227129 2017-01-03): u128 fixes for rustup 2017-01-04 15:50:34 -08:00
Samuel Tardieu
82b2f5663f Add a new "short_circuit_statement" lint (fixes #1194) 2016-12-31 01:17:39 +01:00
Theemathas Chirananthavat
d76fa3dfd9 Add skeleton for double_parens lint. 2016-12-28 11:21:53 -08:00
Oliver Schneider
90fc9c389f
split pub_enum_variant_names to new lint 2016-12-21 13:30:57 +01:00
Oliver Schneider
49e3419b87
shorten deprecated lints line length 2016-12-21 12:50:39 +01:00
Oliver Schneider
53fc09ec46
autogenerated functions are ignored by rustfmt 2016-12-21 12:40:56 +01:00
Oliver Schneider
009c6d95d7
manually fix the overlong lines 2016-12-21 12:30:41 +01: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
Oliver Schneider
c6e2967b9c
rustup to rustc 1.15.0-dev (3b248a184 2016-12-05) 2016-12-06 11:32:21 +01:00
Oliver Schneider
59b0077565 WIP compiles and doesn't crash (much) but tests are failing 2016-12-01 22:31:56 +01:00
Phil Turnbull
0ee6128e27 Convert DEREF_ADDROF to EarlyLintPass 2016-11-25 10:33:21 -05:00
Phil Turnbull
a9f5b90f0f Lint usage of *& and *&mut
fixes #1316
2016-11-22 21:06:20 -05:00
Phil Turnbull
fa78b09fa7 Add lint for string.extend("str".chars())
fixes #792
2016-11-19 14:55:02 -05:00
mcarton
19c5f5394b
Rustup to rustc 1.15.0-nightly (0ed951993 2016-11-14) 2016-11-16 23:05:26 +01: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
8b2e80b47b Merge pull request #1299 from Manishearth/clippy-toml
Search for `clippy.toml` recursively
2016-10-30 14:35:32 -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
d52af53e04
Search for clippy.toml recursively 2016-10-25 19:41:24 +02:00
Oliver Schneider
1248159f0d
add expression and pattern dump 2016-10-24 14:28:58 +02:00
Oliver Schneider
ff3efc759e
initial implementation of the code inspector lint 2016-10-18 16:57:39 +02:00
mcarton
4cf87a9d49
Remove the now stable #[feature(question_mark)] 2016-10-16 14:01:55 +02:00
d-dorazio
62831c6e29 Suggest nth(X) instead of skip(X).next() 2016-10-14 13:38:00 +02:00
mcarton
fc09eb553e
Fix dogfood problem 2016-10-06 17:50:11 +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
ab9435a6d4 ran update 2016-10-02 13:42:11 -07:00
Kit Freddura
1c15428339 removed formatting changes 2016-10-02 13:39:28 -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
Martin Carton
dc84759ac5 Merge pull request #1224 from oli-obk/divergence
lint diverging expressions that are sub-expressions of others
2016-09-13 15:58:31 +02:00
Oliver Schneider
f469860dc2
lint diverging expressions that are sub-expressions of others 2016-09-12 14:24:11 +02:00
Oliver Schneider
03fa974855
Let the submodule #[allow] in module_inception 2016-09-12 10:30:42 +02:00
kennytm
5f09020e90 Added a lint_without_lint_pass lint.
Four lints were missing from LintPass, making them unavailable unless the
`clippy` lint group is explicitly enabled:

* `for_loop_over_result`
* `for_loop_over_option`
* `match_overlapping_arm`
* `filter_next`
2016-09-01 15:07:37 +08:00
mcarton
d87f137254
Add a builtin_type_shadow lint 2016-08-28 19:56:18 +02:00
mcarton
e338f6a4f0
Remove now useless attribute type_macros 2016-08-28 17:24:34 +02:00
Andre Bogus
06235b0310 refactored misc to reduce passes
related to #1062

Before: 960MB After: 956MB

So while this reduces code size somewhat, I don't see much memory
improvement here. Still, it's probably worthwile to consider reducing
our passes at least within modules.
2016-08-24 21:47:46 +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
bc2ecc9623 INDEXING_SLICING should probably be a restriction lint. 2016-08-07 08:05:37 +02:00
Manish Goregaokar
74c7880597 Merge pull request #1145 from birkenfeld/issue-703-2
Lint literal suffixes not separated by underscores (idea also from #703)
2016-08-07 09:57:16 +05:30
Georg Brandl
fa0df69a97 Add a configurable threshold for enum variants before name lints trigger (fixes #1138) 2016-08-06 20:59:27 +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
Oliver Schneider
81c5757f44
lint on by ref patterns for references 2016-08-01 16:59:14 +02:00
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
Oliver Schneider
02c46f057f
add an internal lint that catches misordered paths 2016-07-18 11:19:33 +02:00
Oliver Schneider
319c66a2a4
lint on implementing visit_string without also implementing visit_str 2016-07-12 17:36:11 +02:00
Manish Goregaokar
e63b8342c3 Remove unnecessary feature 2016-07-12 20:21:45 +05:30
Manish Goregaokar
c1421c6e82
Don't warn when boxing large arrays 2016-07-12 18:49:34 +05:30
mcarton
02547b9392
Merge remote-tracking branch 'origin/master' into sugg 2016-07-06 14:54:10 +02:00
mcarton
3bd0acaa5c
Remove useless feature attribute
`iter_arith` has been stabilized in rustc 1.11.0.
2016-07-06 14:51:20 +02:00
mcarton
7778f314f2
Merge branch 'master' into sugg 2016-07-04 00:51:19 +02:00
mcarton
7781f1d7c5 Add a new not_unsafe_ptr_arg_deref lint 2016-07-03 13:28:34 +05:30
mcarton
e613c8b492
Introduce multispan_sugg 2016-07-01 18:43:42 +02:00
mcarton
d6182b365c
Merge remote-tracking branch 'origin/rustup' into sugg 2016-07-01 17:48:57 +02:00
mcarton
9811dea237
Add a module to pretty-print suggestions 2016-07-01 17:12:48 +02:00
Andre Bogus
a12e8394d7 new lint: double_neg 2016-06-30 01:00:25 +02:00
mcarton
f37c9adbd9
Make CollapsibleIf an EarlyLintPass
It doesn't need any `hir` feature and `ast` is much more stable.
2016-06-29 17:09:39 +02:00
Oliver Schneider
e06bc37477
lint on unnecessary and plain wrong transmutes 2016-06-28 14:08:08 +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
Oliver 'ker' Schneider
e628e4d513 allow by default 2016-06-16 18:37:56 +02:00
Oliver Schneider
4701f13551
round 1 2016-06-16 12:20:05 +02:00
Devon Hollowood
74025be59d Make iter_nth work for Vecs 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
489576437d
Cleanup dependencies and features 2016-06-10 00:09:17 +02:00
mcarton
9f70d04000 Fix wrong suggestion with MANUAL_SWAP and slices 2016-06-05 20:19:00 +02:00
Oliver Schneider
80e81d351d
add version check to the unit tests 2016-05-30 12:47:04 +02:00
mcarton
42879bcdcb
Add a USELESS_LET_IF_SEQ lint 2016-05-29 12:19:12 +02:00
Oliver Schneider
bf227f4729
split clippy into lints, plugin and cargo-clippy 2016-05-27 13:03:58 +02:00