Commit Graph

281 Commits

Author SHA1 Message Date
Malo Jaffré
22f3ca0e2c Add PRINTLN_EMPTY_STRING lint. 2017-10-20 16:45:32 +02:00
Paul Florence
322effe415 Implementation of the const_static_lifetime lint. 2017-10-20 10:17:41 -04:00
Oliver Schneider
9293188b65 Merge pull request #2156 from cgm616/master
Deprecate should_assert_eq lint
2017-10-20 15:24:52 +02:00
Oliver Schneider
e2429f023b
Version bump 2017-10-20 09:24:37 +02:00
cgm616
4960d9de86 Deprecate should_assert_eq lint
This should close #2090.
2017-10-19 23:42:04 -05:00
Oliver Schneider
f01e45faa4 Merge pull request #2131 from devonhollowood/suggest-print
Suggest print
2017-10-17 15:26:41 +02:00
Devon Hollowood
eda013d3af Change lint filename
suggest_print.rs -> explicit_write.rs
2017-10-14 21:42:14 -03:00
Devon Hollowood
aeeb38dab1 Change lint name
From `suggest_print` to `explicit_write`
2017-10-14 21:26:50 -03:00
Yury Krivopalov
033c99b1ba Add erasing_op lint
For expressions that can be replaced by a zero.
2017-10-14 12:34:37 +03:00
Devon Hollowood
888076b698 Add suggest_print lint 2017-10-12 05:30:35 -03:00
sinkuu
31f16b87b7 Use rustc_typeck::hir_ty_to_ty 2017-10-11 23:08:36 +09:00
sinkuu
159cc8413c Add implicit_hasher lint (#2101) 2017-10-11 12:10:26 +09:00
Niklas Fiekas
d8e01237e2 Lint range_plus_one and range_minus_one (closes #329) 2017-10-08 12:51:00 +02:00
sinkuu
771d2220d2 Add identity_conversion lint (fixes #1051) 2017-10-04 22:16:16 +09:00
PizzaIter
47df717229 Add lints transmute_int_to_* 2017-10-03 14:27:42 +02:00
Oliver Schneider
ebc9891fc6 Merge pull request #1838 from rust-lang-nursery/fix-doc
Don't lint autolinks in `doc_markdown`
2017-09-30 17:10:09 +02:00
mcarton
b10610cdeb Add the url crate as a dependency 2017-09-30 14:53:22 +02:00
Laura Peskin
f3e51d8d65 add lint for creation of invalid references 2017-09-29 21:01:10 -04:00
Oliver Schneider
bc76f397c6 Merge pull request #2084 from ykrivopalov/bit_mask_verbosity_threshold
Configuration option for VERBOSE_BIT_MASK threshold
2017-09-29 08:49:27 +02:00
Manish Goregaokar
d337c7f927
Update changelog 2017-09-25 18:43:34 -07:00
Yury Krivopalov
a3ad409341 Configuration option for VERBOSE_BIT_MASK threshold
By default is 1. u64, because I didn't figure out how to deserialize
u128 option from config.
2017-09-25 23:38:49 +03:00
Oliver Schneider
4ab2223e59 Merge pull request #2060 from mrecachinas/feature/int-plus-one
Addresses #1955 - Suggests >= y + 1 become > y
2017-09-24 13:57:56 +02:00
Manish Goregaokar
31489d75a3 Bump to 0.0.162 2017-09-18 20:27:24 -07:00
Michael Recachinas
535302efda Register 'int_plus_one' lint case in clippy_lints 2017-09-17 17:27:16 +01:00
Oliver Schneider
32a9394490
Rustup 2017-09-13 15:34:04 +02:00
Oliver Schneider
b7222be917
Version bump 2017-09-12 14:40:24 +02:00
Manish Goregaokar
07d5dba0b7 Update changelog 2017-09-05 09:45:14 -07:00
Oliver Schneider
e4524ac4de
Run nightly rustfmt 2017-09-05 12:39:27 +02:00
Manish Goregaokar
35eda0531a
Fix unit_expr expectations and changelog entry 2017-09-03 14:14:20 -07:00
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