Commit graph

654 commits

Author SHA1 Message Date
Oliver Schneider
e6bfe4b514
also lint diverging methods 2016-09-13 12:41:37 +02:00
Oliver Schneider
a2257280ec
don't lint expressions referencing ! objects, just expressions creating them 2016-09-13 12:41:20 +02:00
Oliver Schneider
40ce3a8f1c
add tests for stutter lints 2016-09-13 10:20:10 +02:00
Oliver Schneider
12a82b2007
also lint private modules for module_inception, as that is the main issue 2016-09-13 10:19:55 +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
mcarton
8216036193
Add test for #[allow(module_inception)] on the inner module 2016-09-12 10:11:48 +02:00
mcarton
b08c7aa553
Remove EOL space 2016-09-09 20:24:15 +02:00
mcarton
b82f43f38e
Revert "Remove all union stuffs"
This reverts commit 888c34ad70.
This rustups to rustc 1.13.0-nightly (70598e04f 2016-09-03).
2016-09-04 17:45:36 +02:00
mcarton
b2de244cfd
Restrict len_without_is_empty to exported items 2016-09-02 15:30:06 +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
888c34ad70
Remove all union stuffs
The rustc's PR wasn't merged. Hopefully this commit can simply be reverted when it's time.
2016-08-31 18:22:36 +02:00
mcarton
01424f5622
Support unions here and there 2016-08-31 18:22:36 +02:00
mcarton
ee3f3bf260
Remove temporary fix now unneeded 2016-08-31 18:22:36 +02:00
mcarton
d87f137254
Add a builtin_type_shadow lint 2016-08-28 19:56:18 +02:00
mcarton
e922fa80ce
Fix FP in ZERO_PREFIXED_LITERAL and 0b/Oo 2016-08-28 18:00:09 +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
6dd003ac39
add regression test 2016-08-19 17:31:14 +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
b6f320a495
address nits and improve docs 2016-08-16 14:36: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
llogiq
ce3be22021 Merge pull request #1151 from oli-obk/clone_ref
add suggestions to clone_on_copy
2016-08-09 06:30:25 +02:00
llogiq
8ac99162ea Merge pull request #1152 from oli-obk/wrong_self_conv_fn_level
enable changing wrong_self_convention's lint level at the function level
2016-08-08 21:13:16 +02:00
Oliver Schneider
331afc3246
extern fns often need to adhere to a specific api -> don't suggest api-changes 2016-08-08 17:21:47 +02:00
Oliver Schneider
49f276ec6f
enable changing wrong_self_convention's lint level at the function level 2016-08-08 17:09:36 +02:00
Oliver Schneider
7e67f447ce
add suggestions to clone_on_copy
also:

* don't report clone_on_copy when reporting clone_on_double_ref
* don't suggest `((x))`
2016-08-08 16:43:45 +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
100d381d2b
lint a += a + b (possible mis-refactoring of a = a + b) 2016-07-20 15:29:24 +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
Manish Goregaokar
b8c5e5a89c
Fix position of mut in toplevel-ref-arg (fixes #1100, again) 2016-07-15 19:02:41 +05:30
Manish Goregaokar
60f354880f
Suggest mutability and fix type in toplevel-ref-arg 2016-07-15 17:52:34 +05:30
llogiq
b1becf41e4 Merge pull request #1099 from Manishearth/fix
Some small fixes
2016-07-14 21:32:45 +02:00
mcarton
ea665c38f1
Fix FP with USELESS_VEC and non-copy types 2016-07-14 19:31:17 +02:00
mcarton
c1eb5828fa
Fix suggestion spans for NEEDLESS_RETURN 2016-07-14 18:32:48 +02:00
Taylor Cramer
7450d842ea Fix different NaNs in if const expressions test 2016-07-13 10:02:28 -07:00
Taylor Cramer
0c21a6b0c4 Add test for different NaNs 2016-07-13 09:35:31 -07:00
Taylor Cramer
8907cbc0b8 Added sign check on Constant f64 PartialEq implementation 2016-07-13 00:43:33 -07:00
Oliver Schneider
319c66a2a4
lint on implementing visit_string without also implementing visit_str 2016-07-12 17:36:11 +02:00
Manish Goregaokar
c1421c6e82
Don't warn when boxing large arrays 2016-07-12 18:49:34 +05:30
mcarton
b8b6b7fee6
Try to explain MATCH_SAME_ARMS better 2016-07-10 14:46:39 +02:00
mcarton
eb75d4ee62
Fix suggestions for NEW_WITHOUT_DEFAULT 2016-07-10 14:20:38 +02:00
mcarton
3a7402a6d2
Fix FP with for loops and shadowed loop variable 2016-07-10 14:05:57 +02:00
llogiq
ad1cd99054 Merge pull request #1060 from Manishearth/sugg
Improve suggestions
2016-07-10 00:06:30 +02:00
mcarton
56d3bc7008
Handle /** and ~~~ in DOC_MARKDOWN 2016-07-08 18:24:47 +02:00
mcarton
c5e91e70d0
Use sugg::Sugg in transmute links 2016-07-04 02:22:57 +02:00
mcarton
9b79b1022c
Fix suggestions for needless_bool 2016-07-04 01:43:47 +02:00
mcarton
7778f314f2
Merge branch 'master' into sugg 2016-07-04 00:51:19 +02:00
mcarton
2f259b8cd3
Use span_suggestion in entry lints 2016-07-03 23:27:44 +02:00
mcarton
ffa840d4f2
Use utils::sugg in match related lints
Also don't build suggestion when unnecessary.
2016-07-03 23:27:37 +02:00
James Lucas
10b545e30b Check for constant expression in useless_vec lint 2016-07-03 12:12:43 -07: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
2a45a2ab6b
Use utils::sugg in FOR_KV_MAP 2016-07-01 20:55:45 +02:00
mcarton
f6c9490e65
Fix wrong suggestion with ... and for loops 2016-07-01 19:31:14 +02:00
mcarton
9bd7fa05e0
Improve NEEDLESS_RANGE_LOOP error reporting 2016-07-01 18:53:04 +02:00
mcarton
d6182b365c
Merge remote-tracking branch 'origin/rustup' into sugg 2016-07-01 17:48:57 +02:00
mcarton
55b78ae478
Rustup to ea0dc9297283daff6486807f43e190b4eb561412 II 2016-07-01 17:44:17 +02:00
mcarton
3c4af49662
Rustup to ea0dc9297283daff6486807f43e190b4eb561412 2016-07-01 17:44:17 +02:00
mcarton
ebf72cb67f
Use util::sugg in TRANSMUTE_PTR_TO_REF 2016-07-01 17:12:48 +02:00
mcarton
7023988020
Use utils::sugg in TOPLEVEL_REF_ARG 2016-07-01 17:12:48 +02:00
mcarton
7a1fc9fce5
Use utils::sugg in MATCH_BOOL 2016-07-01 17:12:48 +02:00
mcarton
66808c1e77
Use utils::sugg in COLLAPSIBLE_IF 2016-07-01 17:12:48 +02:00
mcarton
2e8edde6e9
Use utils::sugg in FLOAT_CMP 2016-07-01 17:12:48 +02:00
mcarton
8d58a928e5
Use utils::sugg in ASSIGN_OPS 2016-07-01 17:12:48 +02:00
mcarton
580ae5a879
Use span_suggestion in FLOAT_CMP 2016-07-01 17:12:48 +02:00
Andre Bogus
a12e8394d7 new lint: double_neg 2016-06-30 01:00:25 +02:00
mcarton
9e76bcee5d
Improve matches tests 2016-06-29 17:10:21 +02:00
mcarton
ea76ac5562
Make COLLAPSIBLE_IF consider if let 2016-06-29 17:09:39 +02:00
mcarton
7fa38f6787
Fix FP with mut_mut and for loops 2016-06-29 17:09:39 +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
cdce78a4be
Add parentheses when necessary in transmute suggestion (fixes #1049) 2016-06-28 14:03:46 +05:30
Oliver Schneider
a469ee1061
lint transmuting references to pointers 2016-06-27 16:12:48 +02:00
Oliver 'ker' Schneider
8c5e617c9a don't lint on comparing *const f32s 2016-06-25 18:59:37 +02:00
llogiq
f81d253c07 Merge pull request #995 from oli-obk/oh_the_horror
lint on `filter(x).map(y)`, `filter(x).flat_map(y)`, `filter_map(x).flat_map(y)`
2016-06-22 13:06:12 +02:00
Oliver Schneider
5ccbf3d437
unify the lints 2016-06-22 10:44:46 +02:00
Martin Carton
294aeaf4b3 Merge pull request #1012 from Manishearth/nohyg
Don't use identifier hygiene in HIR
2016-06-21 21:23:39 +02:00
Oliver Schneider
ac6e7b2957
fix tests 2016-06-21 14:46:02 +02:00
Oliver Schneider
eef439cb78
add tests 2016-06-21 13:48:56 +02:00
Devon Hollowood
12bc90d457 Add tests for extend-iter-nth 2016-06-16 14:39:29 -07:00
llogiq
f3397afacb Merge pull request #994 from oli-obk/stuttter
Stuttter lint
2016-06-16 19:00:43 +02:00
Martin Carton
4e8c87ad08 Merge pull request #1021 from Manishearth/issue1017
Fix FP with `WHILE_LET_LOOP` and break expressions
2016-06-16 16:30:44 +02:00
mcarton
836554387a
Fix FP with WHILE_LET_LOOP and break expressions 2016-06-16 16:21:11 +02:00
Oliver Schneider
32894d503e
lint enum variants names that start or end with their enum's name 2016-06-16 12:17:15 +02:00
Devon Hollowood
74025be59d Make iter_nth work for Vecs too 2016-06-16 02:04:32 -07:00
Devon Hollowood
555e4555b1 Add tests for slice_iter_nth 2016-06-16 01:29:03 -07:00
mcarton
e6cbe970c8
Don't use identifier hygiene in HIR 2016-06-15 16:36:22 +02:00
llogiq
e6832317fa Merge pull request #999 from Manishearth/whitelist
Some small fixes
2016-06-10 00:04:50 +02:00
mcarton
e9360f7675
Fix suggestions for REVERSE_RANGE_LOOP 2016-06-09 23:34:19 +02:00
mcarton
ce2b96abe9
Fix yet another FP in USELESS_LET_IF_SEQ
The block expression before the assignment must be `None`.
2016-06-09 23:33:38 +02:00
mcarton
c5affa2efc
Whitelist Nan in DOC_MARKDOWN 2016-06-09 23:33:28 +02:00
Carol (Nichols || Goulding)
8e1dc0481c Include consts in the approx_consts lint for easier copypasting
If you try to use `f64::PI`, it won't work-- you need to use
`f64::consts::PI`, so suggest that in the lint message.
2016-06-08 19:58:29 -04:00