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 f32
s
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 Vec
s 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
mcarton
1f419a2986
Add missing suggestions and help message to tests
2016-06-07 18:33:24 +02:00
mcarton
dd3fd41a03
Use span_suggestion
for WHILE_LET_ON_ITERATOR
2016-06-07 18:32:40 +02:00
mcarton
65c4e391ee
Fix wrong tests and improve some other
2016-06-07 17:32:36 +02:00
mcarton
a7a6c0461d
Add environment variable to deactivate wiki links
2016-06-05 22:03:02 +02:00
mcarton
158183adf5
Fix false-positive in USELESS_LET_IF_SEQ
2016-06-05 21:46:48 +02:00
mcarton
9f70d04000
Fix wrong suggestion with MANUAL_SWAP
and slices
2016-06-05 20:19:00 +02:00
llogiq
66c03f980e
Merge pull request #962 from Manishearth/fix-doc
...
Fix DOC_MARKDOWN and multiline links and quotes
2016-06-04 09:24:39 +02:00
mcarton
5c2a10d703
Correctly check for variable use in useless_let_if_seq
2016-06-03 19:35:39 +02:00
Manish Goregaokar
bf4ce86e9e
Make new_without_default ignore const fns; fixes #977
2016-06-03 20:17:39 +05:30
Andre Bogus
49982036fc
only lint new_without_default
for public items
...
This fixes #953 .
2016-06-01 23:35:14 +02:00
Andre Bogus
2811dd64ec
added missing PatKind::Path + tests
2016-05-31 23:35:42 +02:00
Andre Bogus
1b112f96b8
added mcarton's test suggestion
2016-05-31 23:30:49 +02:00
Andre Bogus
ef5db37d9d
additional error in copies test annotated
2016-05-31 23:30:49 +02:00
mcarton
42879bcdcb
Add a USELESS_LET_IF_SEQ
lint
2016-05-29 12:19:12 +02:00
mcarton
a892a96eeb
Rustup to *1.10.0-nightly (7bddce693 2016-05-27)*
2016-05-28 16:35:38 +02:00
mcarton
97c9930a3f
Fix doc_markdown
and multiline quotes and links
2016-05-28 03:22:55 +02:00
mcarton
ac0bb4126c
Improve markdown parsing for the doc lint
2016-05-28 02:08:01 +02:00
Oliver Schneider
5eca09793e
needless_borrow reported on &&T when only &T implements Trait and &Trait is required
2016-05-27 12:12:38 +02:00
llogiq
4c347320be
Merge pull request #955 from Manishearth/regexes
...
Regexes
2016-05-26 00:00:07 +02:00
mcarton
51d166f17a
Support RegexBuilder
2016-05-25 21:36:51 +02:00
mcarton
4f11f84dee
Lint binary regexes
2016-05-25 21:14:14 +02:00
Oliver Schneider
bb69e60b30
fix no_effect lint
2016-05-25 18:51:35 +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
ac2e175c1b
Rustup to *1.10.0-nightly (476fe6eef 2016-05-21)*
2016-05-23 16:36:10 +02:00
mcarton
6dd608e53e
Rustup to *1.10.0-nightly (764ef92ae 2016-05-19)*
2016-05-23 16:11:28 +02:00
mcarton
2a5416d662
Rustup to *1.10.0-nightly (9c6904ca1 2016-05-18)*
2016-05-23 16:11:19 +02:00
mcarton
ca05e93c10
Rustup to *1.10.0-nightly (cd6a40017 2016-05-16)*
2016-05-17 23:25:20 +02:00
Martin Carton
4c4b1af03c
Merge pull request #928 from oli-obk/unnecessary_operation
...
add a companion lint to `no_effect` with suggestions for partially (in-)effective statements
2016-05-13 17:45:58 +02:00
Oliver Schneider
1e897f1552
add a companion lint to no_effect
with suggestions for partially effective statements
2016-05-13 16:43:47 +02:00
llogiq
ecca55cd9f
Merge pull request #927 from oli-obk/german_windows_32bit
...
German windows 32bit
2016-05-13 15:41:49 +02:00
Oliver Schneider
c37300d899
ignore the portability test on 32 bit
...
it will fail in rustc
2016-05-13 13:45:53 +02:00
Oliver Schneider
86e4216a56
don't check for an exact error message
...
the system might change it, especially if the system language is changed
2016-05-13 13:45:25 +02:00
Andreas Fackler
87df6ae8cb
fix typos
2016-05-13 08:50:51 +03:00
Oliver Schneider
610883b7aa
don't suggest closures over constants
...
fixes #917
2016-05-12 10:23:06 +02:00
llogiq
8fa68f1e08
Merge pull request #913 from oli-obk/assign_ops
...
suggest `a op= b` over `a = a op b`
2016-05-11 23:36:10 +02:00
Oliver Schneider
0bef7b5f74
merge struct similar_name test into the general test file
2016-05-11 17:01:34 +02:00
Oliver Schneider
49e2570b77
don't lint at the use-site of bad struct field bindings if they're shorthand
...
fixes #899
2016-05-11 16:44:43 +02:00
Oliver Schneider
c6b4b19a43
suggest a op= b
over a = a op b
2016-05-11 15:32:20 +02:00
Oliver Schneider
87faaec7a3
add needless_borrow lint
2016-05-09 13:07:43 +02:00
Manish Goregaokar
d70e7bb5fc
Merge pull request #906 from Manishearth/birkenfeld-master
...
Rustup to *rustc 1.10.0-nightly (62e2b2fb7 2016-05-06)*
2016-05-07 21:31:21 -07:00
mcarton
aa10c93e8f
Fix tests
2016-05-08 01:13:05 +02:00
mcarton
3ce60e9731
Don’t warn in titles in DOC_MARKDOWN
2016-05-05 21:49:57 +02:00
mcarton
cc2774df60
Test previously reported false positive
2016-05-05 21:34:42 +02:00
mcarton
e14e1a7148
Fix issue with DOC_MARKDOWN
and punctuation
2016-05-05 21:33:46 +02:00
Oliver Schneider
365644e9e6
doc markdown lint's span shows the line instead of the item
2016-05-02 14:36:33 +02:00
Manish Goregaokar
f6290b622c
Merge branch 'pr-890'
2016-05-02 14:43:11 +05:30
Andre Bogus
0b40ae178a
fixed tests, added clippy_restrictions lint group
2016-04-30 23:54:10 +02:00
Andre Bogus
a967440186
lint remainder, document test w/ half expr
2016-04-30 17:11:59 +02:00
Andre Bogus
9a99979cc4
fix #887 : New lints for integer/floating-point arithmetic
2016-04-30 04:01:47 +02:00
mcarton
cf5c1ab0b6
Fix paths resolution
...
Put more paths into the `utils::paths` module.
2016-04-26 13:31:52 +02:00
Oliver 'ker' Schneider
bf4221c51a
cc: early returns are special
2016-04-23 14:30:05 +02:00
llogiq
30f7651271
Merge pull request #867 from Manishearth/#830
...
Check type for `SINGLE_CHAR_PATTERN`
2016-04-23 10:54:22 +02:00
Taylor Cramer
77427b6ead
Limited mem_forget error to only Drop types (fails)
2016-04-20 19:24:31 -07:00
Taylor Cramer
5158a08c5b
Changed std::mem::forget errors to mem::forget
2016-04-20 18:55:41 -07:00
Taylor Cramer
447940c889
Added lint for mem_forget
2016-04-20 13:10:23 -07:00
mcarton
de9a80cd10
Check type for SINGLE_CHAR_PATTERN
...
It’d be nicer to actually check for `Pattern` bounds but in the meantime
this needs to be fixed.
2016-04-20 21:16:59 +02:00
Taylor Cramer
84a480b02b
Expanded tests for unsafe_removed_from_name
2016-04-19 21:52:10 -07:00
Taylor Cramer
038f528f45
Added lint for use imports which remove unsafe from name
2016-04-19 16:31:26 -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
mcarton
831b8fc1b5
Ignore #[test]
fns in cyclomatic_complexity
2016-04-14 17:26:07 +02:00
mcarton
7ae8516bb3
Remove #[feature(deprecated)]
...
Fixes `warning: this feature is stable. attribute no longer needed`.
2016-04-13 16:07:45 +02:00
mcarton
fe6e8dac35
More tests in DOC_MARKDOWN
2016-04-13 16:02:44 +02:00
mcarton
6c0a486e8b
Fix FP with DOC_MARKDOWN
and reference links
2016-04-12 00:18:58 +02:00
mcarton
c24ba91123
Rustup to 1.9.0-nightly (bf5da36f1 2016-04-06)
2016-04-08 02:23:14 +02:00
mcarton
ee907b73a4
Fix false positive with DOC_MARKDOWN
and 32MiB
2016-04-04 20:25:21 +02:00
mcarton
eada860aa7
Small fixes in #802
2016-04-02 15:51:28 +02:00
Taylor Cramer
44ab23703a
Added tests for eq and neq invalid upcast comparisons
2016-04-02 15:32:57 +02:00
Taylor Cramer
cf451d3bba
Added > and >= tests for upcast comparisons
2016-04-02 15:32:57 +02:00