Commit graph

1737 commits

Author SHA1 Message Date
Oliver Schneider
7fddc6116e
Merge pull request #2415 from HMPerson1/fix-2356
Fix `ImplItem`s being ignored
2018-02-05 08:19:11 +01:00
Oliver Schneider
02ee62533d
Merge pull request #2428 from phansch/fix_lint_list_issues
Allow empty lines in lint doc examples
2018-02-05 08:18:20 +01:00
Oliver Schneider
bef22006b4
Merge pull request #2419 from phansch/fix_doc_comment_false_positive
Fix false positive in empty_line_after_outer_attr
2018-02-05 08:17:29 +01:00
messense
5226b664a1
Rustup to rustc 1.25.0-nightly (0c6091fbd 2018-02-04) 2018-02-05 12:16:17 +08:00
Karim Snj
9575dac491 Fix suggestions for ref matches 2018-02-04 13:41:54 +01:00
Manish Goregaokar
8e8cf2feb1 Bump to 0.0.185 2018-02-02 13:23:32 +05:30
HMPerson1
10d2feddba
Fix const_static_lifetime 2018-02-02 02:03:21 -05:00
HMPerson1
ff83b3ecb9
Fix non_expressive_names 2018-02-02 01:54:07 -05:00
HMPerson1
3a4ea45821
Fix get_enclosing_block 2018-02-02 01:53:48 -05:00
Frederick Zhang
c5ee8b5dfb set CodeSuggestion approximate to false. fixes #2429 2018-02-02 16:24:32 +11:00
Philipp Hansch
5c28cd259a
Allow empty lines in lint doc examples
This makes sure that empty lines in lint examples are preserved.

It also fixes the documentation for the invalid_ref lint, which was not
shown because of an extra newline before the lint declaration.
2018-02-01 23:21:36 +01:00
Philipp Hansch
a64724fac4
Fix false positive in empty_line_after_outer_attr
Doc comments are syntactic sugar for #[doc] attributes, so this lint was
catching them, too.

This commit makes it so that doc comments are ignored in this lint.

I think, for normal attributes it makes sense to warn about following empty
lines, for doc comments, less. This way the user has some freedom over
the formatting.
2018-02-01 07:43:03 +01:00
Guillem Nieto
74ae9b15b5 Add question mark operator 2018-01-31 00:10:35 +01:00
Oliver Schneider
ee8d32850d
Merge pull request #2413 from flip1995/assign_ops
Improved suggestion on misrefactored_assign_op lint
2018-01-30 19:17:38 +01:00
flip1995
bd421cb5a5 Additionally suggest the semantic equal variant 2018-01-30 17:45:35 +01:00
Oliver Schneider
8123495e0f
Version bump 2018-01-30 15:02:47 +01:00
flip1995
b7cb0752ff Improved suggestion on misrefactored_assign_op lint. Fixes #1239 2018-01-30 14:58:38 +01:00
Oliver Schneider
39d1d6081f
Merge pull request #2340 from phansch/newline_after_attributes
Warn on empty lines after outer attributes
2018-01-30 13:09:23 +01:00
Seiichi Uchida
a3c2323767 Add double comparions lint 2018-01-30 10:35:35 +09:00
Seiichi Uchida
c3e9ec65a1 Rustup to rustc 1.25.0-nightly (90eb44a58 2018-01-29) 2018-01-30 10:35:22 +09:00
Philipp Hansch
3d54e56ed4
Add workaround for hidden outer attribute
If the snippet is empty, it's an attribute that was inserted during macro
expansion and we want to ignore those, because they could come from external
sources that the user has no control over.
For some reason these attributes don't have any expansion info on them, so
we have to check it this way until there is a better way.
2018-01-29 10:03:53 +01:00
Philipp Hansch
aade0d563e
Make lint work on all members of ast::Item_ 2018-01-29 10:03:52 +01:00
Philipp Hansch
80827c1f74
Warn on empty lines after outer attributes 2018-01-29 10:03:52 +01:00
Manish Goregaokar
81c5a05648
Bump to 0.0.183 2018-01-29 11:20:29 +05:30
Seiichi Uchida
e40bc64f4f Rustup to rustc 1.25.0-nightly (7d6e5b9da 2018-01-27) 2018-01-28 16:28:48 +09:00
Michael Wright
daa39b3be1 Fix compilation
Fix the compilation broken by these two changes:
+ 2d56abfbeb (diff-7fceb7ede15b205bf5ad812c31d75384L1459)
+ ccf0d8399e (diff-64b696b0ef6ad44140e973801ed82b25L2771)
2018-01-27 15:03:17 +02:00
Devon Hollowood
0413b3f6cf Add misaligned_transmute lint 2018-01-25 00:48:36 -08:00
Oliver Schneider
930a8c6cab
Version Bump 2018-01-25 08:58:47 +01:00
Manish Goregaokar
5437050013 Rustup to rustc 1.25.0-nightly (a0dcecff9 2018-01-24) 2018-01-25 13:14:04 +05:30
Manish Goregaokar
383cc9e545 Add known false positive for enum_glob_use 2018-01-25 12:55:58 +05:30
Oliver Schneider
ea042657e5
Enable more patterns in the author lint 2018-01-24 13:04:06 +01:00
flip1995
31892e205e let invalid_regex point to the right place for raw strings 2018-01-23 16:52:14 +01:00
Oliver Schneider
8e7f76db9a
Merge pull request #2362 from flip1995/master
Lint for numeric literals that have a better representation
2018-01-23 15:54:35 +01:00
flip1995
600147926b Apply requested changes 2018-01-23 15:29:31 +01:00
flip1995
23f90afa1b Add configurable threshold, default: 4096 2018-01-23 12:34:40 +01:00
Phil Ellison
29f8cea5fd Use existing match_var function 2018-01-22 05:46:32 +00:00
Phil Ellison
2132e5c58c Fix unnecessary_fold bug 2018-01-22 05:34:42 +00:00
Manish Goregaokar
96cba36b46
Rustup to rustc 1.25.0-nightly (97520ccb1 2018-01-21) 2018-01-22 10:35:02 +05:30
mcarton
eb009e2de9 Small documentation formatting fix 2018-01-20 23:32:02 +01:00
Oliver Schneider
70302595a4
Merge branch 'master' of github.com:Manishearth/rust-clippy into fold_any 2018-01-19 12:10:24 +01:00
Oliver Schneider
9a2c50f3d6
Merge pull request #2364 from flip1995/precedence
Add macro check to precedence lint
2018-01-19 12:07:00 +01:00
Oliver Schneider
3c6064130b
Merge pull request #2367 from etaoins/inline-fn-without-body-lint
Lint for trait methods without bodies
2018-01-19 09:14:46 +01:00
Oliver Schneider
26c415ab2d
Merge pull request #2381 from HMPerson1/remove_is_unit_expr
Replace `is_unit_expr`
2018-01-19 09:14:04 +01:00
Michael Wright
fca248957b Merge branch 'master' into option_option_pr 2018-01-19 07:56:46 +02:00
HMPerson1
e09805e8ca
Use unit_expr 2018-01-18 17:33:09 -05:00
HMPerson1
7a6c03f876
Add is_unit_expr to deprecated lints list 2018-01-18 17:29:14 -05:00
HMPerson1
8081f6fd6e
Replace is_unit_expr 2018-01-18 17:04:26 -05:00
Oliver Schneider
8217e33718
Only suggest implementing Copy if it can actually be done 2018-01-18 14:27:47 +01:00
Ryan Cumming
7467b83377 Suggest removing inline attributes
This adds a `suggest_remove_item` helper that will remove an item and
all trailing whitespace. This should handle both attributes on the same
line as the function and on a separate line; the function takes the
position of the original attribute.
2018-01-18 20:02:42 +11:00
Ryan Cumming
5f3c340bfb Lint for trait methods without bodies
As discussed in rust-lang/rust#47475 the #[inline] attribute is
currently allowed on trait methods without bodies (i.e. without a
default implementation). This is misleading as it could be interpreted
as affecting the implementations of the trait method. Add a lint for any
use of #[inline] on a trait method without a body.

Fixes rust-lang/rust#47475
2018-01-18 20:01:24 +11:00
Manish Goregaokar
552e950080 needless_pass_by_value: Whitelist RangeArgument (fixes #2357) 2018-01-18 14:30:53 +05:30
Manish Goregaokar
2a30c8a194 needless_pass_by_value: Add suggestion for implementing Copy (fixes #2222) 2018-01-18 14:30:47 +05:30
Manish Goregaokar
cf1fbaa36a needless_pass_by_value: Ignore for extern funcs (fixes #1844) 2018-01-18 14:30:32 +05:30
Michael Wright
bf7efead17 Rename variable
Rename `vec` to `ty` in `match_type_parameter`. This variable is a type
and not a vector. Previously it would only refer to `Vec<_>` so the name used
to make sense.
2018-01-18 07:52:24 +02:00
Michael Wright
ec60baa864 Merge branch 'master' into option_option_pr 2018-01-18 07:21:48 +02:00
Phil Ellison
a324a2bc38 Fix typos 2018-01-17 21:54:09 +00:00
Phil Ellison
b73efad600 Add some reviewer comments 2018-01-17 21:06:16 +00:00
Phil Ellison
9806b31d53 Rename lint, improve documentation 2018-01-17 20:21:29 +00:00
Phil Ellison
1cac693bc7 Lint on folds implementing .all, .sum and .product 2018-01-17 19:12:44 +00:00
Vlad-Shcherbina
ada0d2c548
Document map_clone known problems #498 2018-01-17 21:40:47 +03:00
Oliver Schneider
a2fdfc05d7
Merge pull request #2298 from goodmanjonathan/else_if_without_else
add new lint else_if_without_else
2018-01-17 09:35:58 +01:00
Michael Wright
e7567f2eac Made requested changes 2018-01-17 07:24:33 +02:00
Michael Wright
21fde9a9d1 Merge branch 'master' into option_option_pr 2018-01-17 06:52:00 +02:00
Phil Ellison
a64d19cc0e Fix error span to play nicely with rustfix 2018-01-16 21:20:55 +00:00
Manish Goregaokar
37f62a54f8 Show wider and more accurate suggestion for const_static_lifetime
fixes #2365
2018-01-16 20:46:44 +05:30
flip1995
877321ba32 Add macro check to precedence lint 2018-01-16 15:52:16 +01:00
flip1995
647da97622 Lint for numeric literals that have a better representation in another format 2018-01-16 14:01:07 +01:00
Oliver Schneider
61e2b7a4d6
Merge pull request #2355 from alusch/clone_on_ref_ptr_restriction
Fix #2048: Move `clone_on_ref_ptr` to the restriction lints
2018-01-16 10:40:12 +01:00
Oliver Schneider
d011dae96d
Rustup 2018-01-15 12:08:17 +01:00
Jonathan Goodman
40c6f431da add new lint else_if_without_else 2018-01-14 22:53:00 -06:00
Adam Lusch
f343cd22f6 Adds the missing turbofish 2018-01-14 20:19:55 -08:00
Adam Lusch
1615813960 Moves clone_on_ref_ptr to be a restriction lint
Also updates the suggestion to include the full type (e.g. `Arc<Foo>::clone(&rc)`)
and adds a case using trait objects to the UI tests.
2018-01-14 19:58:09 -08:00
Phil Ellison
ad164939ed Check that we're calling Iterator::fold 2018-01-14 20:04:34 +00:00
Phil Ellison
70a5535ffa Address some review comments 2018-01-14 18:18:09 +00:00
Phil Ellison
360f2359d5 Fix name 2018-01-14 15:30:06 +00:00
Oliver Schneider
2f62d803ab
Merge pull request #2349 from rust-lang-nursery/no-main-doc
Don't warn about missing docs for main()
2018-01-14 13:16:54 +01:00
Phil Ellison
7e833ea5ce Add description 2018-01-14 10:07:41 +00:00
Phil Ellison
528be23c07 Move get_arg_name into utils 2018-01-14 10:05:01 +00:00
Phil Ellison
1feb9fd550 Tidy using if_chain and snippet function. Actually check that the initial fold value is false. Remove some unwraps 2018-01-14 09:30:08 +00:00
Phil Ellison
f6e56d2559 First pass at linting for .any expressed as a .fold 2018-01-14 08:27:53 +00:00
Manish Goregaokar
7e63f93d81 Don't warn about missing docs for main()
Fixes #2348
2018-01-14 11:35:08 +05:30
Oliver Schneider
cc9008b7d4
Merge pull request #2347 from kimsnj/extrem_comp
Fix #1159: avoid comparing fixed and target sized types in lint
2018-01-13 12:27:36 +01:00
kimsnj
53c0ae0169 Fix #1159: avoid comparing fixed and target sized types in lint 2018-01-12 18:33:25 +01:00
HMPerson1
8505ee7028 Add lint to replace consts with const fns 2018-01-11 12:03:46 -05:00
Oliver Schneider
1245de1e46
Don't suggest changing explicit Clone impls if they have generics 2018-01-11 10:28:42 +01:00
Oliver Schneider
41a710e3f4
Version bump 2018-01-10 09:50:58 +01:00
Oliver Schneider
75c92aa2d2
Fix an ICE in HashMap generalization suggestions 2018-01-09 14:57:44 +01:00
Oliver Schneider
4603e60fca
Merge pull request #2316 from tspiteri/doc-names
Add "NaNs" and "GitLab" to `doc-valid-idents`
2018-01-09 09:10:18 +01:00
Oliver Schneider
64af362ab0
Merge pull request #2334 from Rantanen/ast-fix
Implement nightly libsyntax changes to fix the build
2018-01-08 10:56:07 +01:00
Philipp Hansch
1a16ac058d
Add 'positive' examples for some lints
This allows to see at a quick glance what the improved code could look
like for these lints.
2018-01-08 10:20:04 +01:00
Mikko Rantanen
91ecb3b8ed
Implement nightly libsyntax changes 2018-01-07 05:58:53 +02:00
Pascal Hertleif
82d91c5fcb Add auto-fixable println!() suggestion
Fixes #2319
2018-01-04 12:46:26 +01:00
Trevor Spiteri
a5d0569a20 Add "NaNs" and "GitLab" to doc-valid-idents 2018-01-02 13:51:35 +01:00
zmt00
a7f423b114 Fix typos in README, documentation 2018-01-01 13:55:40 -08:00
Michael Wright
6737bae9b1 Implemented option_option lint 2017-12-26 09:24:12 +02:00
Darren Tsung
b9abe028c9 Move in_macro check to end of expression since usual case is not inside macro 2017-12-22 10:54:52 -08:00
Darren Tsung
1f36aa519e Check that eq_op lint doesn’t mark macro use of functions as errors since macros, fix #2265 2017-12-22 10:51:41 -08:00
Manish Goregaokar
bebc192df4 Universal impl traits get removed earlier now
https://github.com/rust-lang/rust/pull/46754
2017-12-21 20:54:49 -08:00
Manish Goregaokar
7e099903be Update to handle GenericParam
introduced in https://github.com/rust-lang/rust/pull/45930
2017-12-21 20:54:49 -08:00
Wilco Kusee
a6ccc6fe3d Also suggest as_mut for match_as_ref 2017-12-20 10:39:48 +01:00
Wilco Kusee
919601bc51 Lint for matching option as ref 2017-12-19 23:51:06 +01:00
Oliver Schneider
cf58e1c672
Merge pull request #2269 from letheed/fix-2267
Disable cast_lossless on const/static items
2017-12-17 15:09:41 +01:00
Oliver Schneider
8ddcb81a15
Rustup and lazy_static version mismatch fix
fixes #2274
2017-12-15 10:05:32 +01:00
letheed
2703e74440 Disable cast_lossless on const items 2017-12-11 16:22:02 +01:00
Oliver Schneider
299ffcab77
Try fixing const_with_static_lifetime docs 2017-12-07 08:09:46 +01:00
Seiichi Uchida
4121507a48 Rustup to rustc 1.24.0-nightly (bb42071f6 2017-12-01) 2017-12-02 18:23:32 +09:00
laurent
c3a8946a46 Bugfix the bugfix. 2017-12-01 19:27:02 +00:00
laurent
904f27a2ea Do raise a same-arms warning when the two arms are separated by an arm with a guard, fix #1996. 2017-12-01 19:25:43 +00:00
HMPerson1
e2bc383383 Add linting for empty blocks too 2017-11-30 19:40:40 -05:00
HMPerson1
5fca6eb89e Fix #2160 2017-11-30 15:31:56 -05:00
Oliver Schneider
7d7fef1690
Fix #1925 2017-11-30 10:55:06 +01:00
laurent
c3ae2ddeb3 Fix a bug in search_same + add a test case. 2017-11-29 21:42:58 +00:00
laurent
f8dbd32433 Add a couple small tests to the match-same-arm lint. 2017-11-29 20:42:37 +00:00
Oliver Schneider
273ddafac5
Fix #2188 2017-11-29 17:20:00 +01:00
Oliver Schneider
d5b73c184b
Fix placement of new_without_default suggestion 2017-11-29 17:10:53 +01:00
Oliver Schneider
317e97bae7
Fix #2196 2017-11-29 17:06:27 +01:00
Oliver Schneider
f65a022ace
Fix #2245 2017-11-29 16:03:05 +01:00
Oliver Schneider
0b0337d258
Fix #2247 2017-11-29 15:52:57 +01:00
Lukas Stevens
c22455cb9e Check for word beginning in stutter lint 2017-11-26 18:36:12 +01:00
Oliver Schneider
af718413db
Rustup 2017-11-22 10:55:12 +01:00
Frederick Zhang
e91b01348e fix usage of LayoutDetails 2017-11-21 16:51:36 +11:00
Oliver Schneider
c5fa86da04
Merge pull request #2203 from clippered/float_cmp_const
Fix #1142 float constant comparison lint
2017-11-20 09:51:12 +01:00
laurent
ed202b6055 Bugfix + add test. 2017-11-19 11:29:25 +00:00
laurent
8e9d0c277c Remove the brackets argument. 2017-11-19 11:29:25 +00:00
laurent
b74ed09d42 Use a struct to store most of the recurse parameters for boolean expr suggestion. 2017-11-19 11:29:25 +00:00
Oliver Schneider
acc81cf921
Merge pull request #2232 from rust-lang-nursery/fixup-const-static-lifetime
Fixup "const static lifetime" lint for non-path types
2017-11-19 09:28:47 +01:00
Johannes Hofmann
3efa07f959 Ignore identifier 'OpenStreetMap' for DOC_MARKDOWN lint 2017-11-18 19:13:07 +01:00
Georg Brandl
296edda3a9 const_static_lifetime: this applies not only to path types
For example, &'static [u8] or &'static (t1, t2).
2017-11-18 16:10:29 +01:00
Oliver Schneider
2d005b58c5
Merge pull request #2229 from LaurentMazare/master
Simplify the boolean expression suggestion function
2017-11-17 09:29:09 +01:00
laurent
87f5b1f043 Remove the union type. 2017-11-16 21:20:17 +00:00
laurent
e44af6b14d First attempt at simplifying boolean processing. 2017-11-16 21:08:08 +00:00
Christopher Vittal
0155ecf6b0 Split TyImplTrait into Universal and Existential
This fixes build after the implementation of impl Trait in argument
position lands in rustc
2017-11-15 17:52:25 -05:00
Oliver Schneider
f975fb54f8
Merge pull request #2216 from LaurentMazare/master
Handle methods with an obvious negation in the non-minimal bool lint
2017-11-15 09:08:36 +01:00
Oliver Schneider
c6a4eaeb0d
Rustup 2017-11-15 08:38:43 +01:00
laurent
25783fa485 Raise a lint when suggest has simplified the expression. 2017-11-14 21:14:08 +00:00
Oliver Schneider
bdf3887d22
Move 'handle_method_call_in_not' code into 'suggest' 2017-11-14 17:07:04 +01:00
Oliver Schneider
561d47f338
Merge remote-tracking branch 'origin/master' into laurent_master 2017-11-14 16:46:56 +01:00
Oliver Schneider
b464432972 Merge branch 'master' of github.com:Manishearth/rust-clippy into rust-test 2017-11-14 16:31:52 +01:00
Oliver Schneider
127c41f700
Apply changes that were required for running in the rustc test suite 2017-11-14 14:56:00 +01:00
laurent
14d5013314 Use both pair orders. 2017-11-10 19:55:15 +00:00
Oliver Schneider
09d988521d
Merge pull request #2214 from rust-lang-nursery/nrlfp
Improve `needless_range_loop`
2017-11-10 10:11:20 +01:00
Oliver Schneider
299f1270a6
Rustup 2017-11-10 08:58:54 +01:00
laurent
67aeb2eaeb Only apply when there is a single argument. 2017-11-07 21:49:30 +00:00
laurent
82793768b7 Handle methods with an immediate negation in the non-minimal boolean lint, fixes #1930. 2017-11-07 21:43:24 +00:00
Oliver Schneider
1b323b9f35
Don't lint mixed slice indexing and usize indexing in needless_range_loop 2017-11-07 15:32:52 +01:00
Oliver Schneider
652df0fb79
Differentiate between mutable iteration and immutable iteration in needless_range_loop 2017-11-07 14:41:54 +01:00
Oliver Schneider
088555c4ea
Merge pull request #2209 from sinkuu/trait_methods
Fix false positive in needless_pass_by_value trait methods
2017-11-07 08:26:32 +01:00
laurent
c9681905ba Fix broken tests. 2017-11-06 23:26:44 +00:00
laurent
e2b9cf836a Fix merge issues. 2017-11-06 23:22:19 +00:00
sinkuu
6fb736bd42 Fix false positive in needless_pass_by_value trait methods 2017-11-07 06:33:49 +09:00
sinkuu
00081be73d Rustup 2017-11-07 06:32:12 +09:00
Oliver Schneider
9cd778ac9a
Version bump 2017-11-06 12:39:21 +01:00
Oliver Schneider
ed589761e6
Merge pull request #2202 from topecongiro/format
Run `cargo fmt`
2017-11-06 08:35:52 +01:00
Oliver Schneider
fdeaf8002e
Merge pull request #2205 from kraai/2204
Fix compilation errors with rustc 1.23.0-nightly (d762b1d6c 2017-11-04)
2017-11-06 08:12:28 +01:00
Oliver Schneider
4018b0a495
Merge pull request #2197 from AlexEne/dissalow-underscores-and-numbrers
Warns if variable name is composed only of underscores and digits.
2017-11-06 08:11:45 +01:00
laurent
af2c93eeb2 Clean the code a bit. 2017-11-05 15:45:23 +00:00
laurent
4fb1bb124e Make the dogfood test happy. 2017-11-05 15:17:28 +00:00
laurent
42f44d5c78 Cosmetic change. 2017-11-05 15:04:01 +00:00
laurent
7624736961 Bugfix. 2017-11-05 14:56:15 +00:00
laurent
bcdf57e220 Refactor the never-loop detection, fixes #1991. 2017-11-05 14:43:28 +00:00
Matt Kraai
b778659c42 Fix compilation errors with rustc 1.23.0-nightly (d762b1d6c 2017-11-04)
Fixes #2204
2017-11-05 04:19:11 -08:00
clippered
2787a60fc2 Fix #1142 float constant comparison lint 2017-11-05 09:37:17 +11:00
topecongiro
a6c71e9c0d Fix lines that exceed max width manually 2017-11-05 04:59:21 +09:00
topecongiro
7a06d312fd Cargo fmt 2017-11-05 04:55:56 +09:00
topecongiro
65e75c5647 Fix excessive indentation in if_chain! 2017-11-05 04:51:15 +09:00
Alexandru Ene
f92c91601e Addressed PR comments 2017-11-03 20:54:33 +00:00
sinkuu
c102d50ece &Self 2017-11-03 17:56:17 +09:00
sinkuu
be7c4b4862 Fix test 2017-11-03 17:36:38 +09:00
sinkuu
cad33c0306 Extend needless_pass_by_value to methods 2017-11-03 17:36:38 +09:00
cgm616
76e765aeda Switch to new method of checking access 2017-11-02 23:53:48 -05:00
cgm616
ee289c9f88 Merge branch 'master' of github.com:rust-lang-nursery/rust-clippy 2017-11-02 22:57:07 -05:00
Alexandru Ene
9d01468bc7 Warns if variable name is composed only of underscores and digits. 2017-11-03 01:01:41 +00:00
Oliver Schneider
47be692723
Merge pull request #2194 from martinlindhe/master
fix some typos
2017-11-02 10:30:10 +01:00
Oliver Schneider
cabbc781ca
Merge pull request #2189 from gendx/pr-1590
Start working on #1590
2017-11-02 10:29:30 +01:00
sinkuu
0328d4c6e5 Known problems 2017-11-01 23:30:07 +09:00
sinkuu
b9f272cdc2 Known problems 2017-11-01 21:38:59 +09:00
sinkuu
7fa27d9387 Lint transmute::<&[u8], &str> 2017-11-01 18:05:46 +09:00
kennytm
44d3ea5308 Fix lint_without_lint_pass 2017-10-31 10:04:02 -07:00
Martin Lindhe
7bce43b66b fix some typos 2017-10-31 08:34:27 +01:00
Manish Goregaokar
c526c51923 Update clippy for rustc 1.23.0-nightly (f0fe716db 2017-10-30) 2017-10-31 00:07:10 -07:00
G. Endignoux
87fd68731d Update UI tests. 2017-10-30 14:10:38 +01:00
G. Endignoux
f0a1eff1c4 Start working on #1590 2017-10-30 13:08:09 +01:00
Manish Goregaokar
a69764d93d
Bump to 0.0.167 (rustup to rustc 1.23.0-nightly (90ef3372e 2017-10-29)) 2017-10-29 20:46:25 -07:00
Manish Goregaokar
f76225e388 Handle TyForeign 2017-10-29 05:21:25 -04:00
Manish Goregaokar
09143cdaf0 Update tests; make it work with generics on context 2017-10-29 05:19:24 -04:00
cgm616
85683bf07c Fix mistake in merging 2017-10-28 13:23:05 -05:00
Manish Goregaokar
b0616df931 Merge branch 'pr-2140' 2017-10-28 14:04:25 -04:00
cgm616
d094f98f0b Merge branch 'master' of github.com:rust-lang-nursery/rust-clippy 2017-10-28 12:55:16 -05:00
Oliver Schneider
e76eac4b18
Fix dogfood 2017-10-27 10:51:43 +02:00
Lukas Stevens
0ae2ece91e Check for arrays with size > 32 2017-10-25 21:41:31 +02:00
Alex Burka
24a2c14733 remove if_let_chain 2017-10-23 17:53:30 -04:00
Alex Burka
2153d1e560 manual fixups if_let_chain -> if_chain 2017-10-23 17:53:30 -04:00
Alex Burka
41840ae3c4 mechanically swap if_let_chain -> if_chain 2017-10-23 15:18:02 -04:00
Oliver Schneider
2771378620 Merge pull request #2136 from ykrivopalov/identity_op_fixing
Identity/erasing operation lints
2017-10-23 09:25:08 +02:00
Oliver Schneider
b96639f23a Merge pull request #2143 from HMPerson1/master
Add lint for fallible impls of `From`
2017-10-23 09:21:31 +02:00
Oliver Schneider
6d89798119 Merge pull request #2163 from HMPerson1/useless_asref
Add lint for useless `as_ref` calls
2017-10-23 09:16:44 +02:00
cgm616
29626b883e Merge branch 'master' of github.com:rust-lang-nursery/rust-clippy 2017-10-22 10:14:44 -04:00
cgm616
0b0eb8ead6 Undo rustfmt changes unrelated to issue 2017-10-22 09:59:19 -04:00
cgm616
60c7bd47a5 Prevent should_implement_trait on private method
This should close #2159.
2017-10-21 07:53:57 -04:00
sinkuu
00d35eea26 Fix typo 2017-10-21 19:16:13 +09:00
HMPerson1
7206023b1b Change to TryFrom 2017-10-20 20:47:51 -04:00
HMPerson1
e5076d06db Add lint for From<String> 2017-10-20 20:47:30 -04:00
HMPerson1
ff4a850353 Add lint for useless as_ref calls 2017-10-20 20:33:19 -04:00
Oliver Schneider
0e489f3221 Merge pull request #2146 from MaloJaffre/println_empty_string
Add PRINTLN_EMPTY_STRING lint.
2017-10-20 17:39:34 +02:00
Malo Jaffré
22f3ca0e2c Add PRINTLN_EMPTY_STRING lint. 2017-10-20 16:45:32 +02:00
Paul Florence
625aae76de Merge branch 'master' of https://github.com/rust-lang-nursery/rust-clippy 2017-10-20 10:18:54 -04:00
Paul Florence
0928168a79 Remove "#![feature(plugin)]" in the test". 2017-10-20 10:17:41 -04:00
Paul Florence
4bbda68d56 Better linting : use of span_lint_and_then. 2017-10-20 10:17:41 -04:00
Paul Florence
406931381b Fixed some code in clippy to pass the new, removed formatting changes. 2017-10-20 10:17:41 -04:00
Paul Florence
322effe415 Implementation of the const_static_lifetime lint. 2017-10-20 10:17:41 -04:00
Oliver Schneider
ebdefff88a
Something went through the cracks of our CI 2017-10-20 16:13:50 +02: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
281bd790de Merge pull request #2148 from sinkuu/proc_macro
needless_pass_by_value false-positive in annotation
2017-10-20 11:12:21 +02:00
Oliver Schneider
327d995bb6 Merge pull request #2147 from clippered/fix-manual-memcpy-on-overlapping-slices
Fix #2123 : check that the source and destination are different for m…
2017-10-20 09:27:15 +02:00
Oliver Schneider
e2429f023b
Version bump 2017-10-20 09:24:37 +02:00
Oliver Schneider
35b2669219
Check the map for promotable instead for existance of a node (which is always the case) 2017-10-20 09:02:32 +02:00
cgm616
4960d9de86 Deprecate should_assert_eq lint
This should close #2090.
2017-10-19 23:42:04 -05:00
Manish Goregaokar
3e108b7190 Fix constant promotion stuff 2017-10-19 10:16:03 -07:00
Manish Goregaokar
1f81dcbebd
Pass null borrow context to EUV 2017-10-19 09:27:58 -07:00
sinkuu
b4ea47d23e Detect proc-macro in needless_pass_by_value
Fixes #1876
2017-10-18 07:33:22 +09:00
clippered
dfa4cb7ade Fix #2123 : check that the source and destination are different for manual memcpy 2017-10-18 07:06:01 +11:00
Oliver Schneider
f01e45faa4 Merge pull request #2131 from devonhollowood/suggest-print
Suggest print
2017-10-17 15:26:41 +02:00
Oliver Schneider
343e438f9d Merge pull request #2120 from sinkuu/implicit_hasher
Implicit hasher lint
2017-10-17 15:24:20 +02:00
sinkuu
eea30777dd Type parameter change and type change are now in a multispan suggestion 2017-10-17 21:40:46 +09:00
sinkuu
a4f45e85b1 Use cx.access_levels.exported() instead of visibility 2017-10-17 21:13:17 +09:00
Sunjay Varma
da14435ed2 Updated clippy to account for changes from rust-lang/rust#44766 2017-10-15 15:39:47 -04:00
Yury Krivopalov
7b16f4d7ff Clarify message for erasing_op lint 2017-10-15 10:32:47 +03:00
Yury Krivopalov
a5d2bfebc4 Simplify checking for all ones in int 2017-10-15 10:21:56 +03:00
Devon Hollowood
2842038627 Improve lint description 2017-10-14 21:46:19 -03: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
Yury Krivopalov
f68e408cb6 identity_op lint fix for '&' with unsigned types 2017-10-14 12:21:23 +03:00
sinkuu
c3332ca92e Fix panic with fake Range type 2017-10-13 21:51:57 +09:00
Devon Hollowood
a46bf3f456 Clarify lint description 2017-10-12 05:54:33 -03:00
Devon Hollowood
e31a0941e2 Fix output for write macros 2017-10-12 05:53:20 -03:00
Devon Hollowood
4105593eee Run rustfmt 2017-10-12 05:35:13 -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
5a61d88fa1 Apply suggestions 2017-10-11 22:17:00 +09:00
Oliver Schneider
f0aa2c1587 Merge pull request #2127 from rust-lang-nursery/enum_variant_names_fp
Don't lint accidental "prefixes" on enum variants
2017-10-11 13:16:59 +02:00
Oliver Schneider
58002b0e37 Merge pull request #2119 from camsteffen/never_loop
Another never_loop fix
2017-10-11 08:21:28 +02:00
sinkuu
159cc8413c Add implicit_hasher lint (#2101) 2017-10-11 12:10:26 +09:00
Cameron Steffen
752900ca3b change expect message 2017-10-10 16:30:10 -05:00
Lukas Stevens
4438c41d14 Make suggested changes
- Fix copy-paste error
- Check for opt.map_or argument after ensuring that opt is an Option
- Use span_lint_and_then and span_suggestion
- Update reference
2017-10-10 15:35:24 +02:00
Lukas Stevens
c0fac7cf56 Remove unnecessary borrow 2017-10-10 14:04:41 +02:00
Lukas Stevens
eb53cca768 Add lint for opt.map_or(None, f)
Change to Warn and add multiline support

Fix typo

Update reference
2017-10-10 13:37:45 +02:00
Oliver Schneider
af6e2a1e4e
Don't lint accidental "prefixes" on enum variants 2017-10-10 12:37:59 +02:00
Oliver Schneider
28c401f9db Merge pull request #2118 from chyvonomys/relax-needless-loop
relax `needless_range_loop` so that it reports only direct indexing
2017-10-10 09:37:51 +02:00
Cameron Steffen
9ccb7108b5 fix never_loop 2017-10-08 17:26:39 -05:00
Cameron Steffen
533a50547f remove contains_continue functions 2017-10-08 17:24:32 -05:00
Oliver Schneider
73a1dd8e7f Merge pull request #2117 from sinkuu/improve_take_by_value
Improve needless_pass_by_value
2017-10-08 20:14:55 +02:00
Andriy S. from cobalt
52bd7bb662 relax needless_range_loop so that it reports only direct indexing 2017-10-08 18:34:31 +03:00
sinkuu
8ffec33fd3 Remove intermediate vec 2017-10-08 20:17:04 +09:00
Niklas Fiekas
e9be7530c6 Allow range_plus_one while ..= ranges are unstable 2017-10-08 12:51:00 +02:00
Niklas Fiekas
d8e01237e2 Lint range_plus_one and range_minus_one (closes #329) 2017-10-08 12:51:00 +02:00
Oliver Schneider
a54baad4fa Merge pull request #2112 from topecongiro/issue-2109
Add a suggestion to replace `map(f).unwrap_or(None)` with `and_then(f)`.
2017-10-08 11:51:15 +02:00
sinkuu
fdc9a649ff Exclude Fn traits 2017-10-08 18:04:45 +09:00
sinkuu
2be6245179 Duplicate ptr_arg's suggestion logic 2017-10-08 17:51:44 +09:00
sinkuu
bf97cd0338 Reduce false-positives for needless_pass_by_value lint
Excluding a type whose reference also fulfills the trait bound.
2017-10-08 17:25:56 +09:00
Chris Emerson
fcdce8fc1d Merge branch 'master' into no_effect_with_drop 2017-10-07 23:24:36 +01:00
Seiichi Uchida
63d6df2101 Add a comment that explains about comparing snippet to raw text 2017-10-07 00:12:30 +09:00
Seiichi Uchida
f5c941a404 Update OPTION_MAP_UNWRAP_OR lint
Add a suggestion to replace `map(f).unwrap_or(None)` with `and_then(f)`.
2017-10-06 22:06:47 +09:00
Cameron Steffen
d92d5a8811 fix never_loop 2017-10-06 00:04:39 -05: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
aca6c1e065 Have a separate message for raw URLs in doc 2017-09-30 14:59:22 +02:00
mcarton
b10610cdeb Add the url crate as a dependency 2017-09-30 14:53:22 +02:00
mcarton
e40c270d4f Don't lint autolinks in doc_markdown 2017-09-30 14:46:55 +02:00
Laura Peskin
8e6abc6fd7 alphabetize paths to pass dogfood 2017-09-29 21:48:10 -04:00
Laura Peskin
ddad5e0f86 add tests for false positives 2017-09-29 21:01:11 -04:00
Laura Peskin
f3e51d8d65 add lint for creation of invalid references 2017-09-29 21:01:10 -04:00
mcarton
7e956ac7c4 Fix regression with print! 2017-09-29 19:13:21 +02:00
mcarton
cae9cedeb5 Fix regression with format! 2017-09-29 18:36:03 +02: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
201b5c2f24 Use ..= in the suggestion 2017-09-28 10:40:36 -07:00
Manish Goregaokar
0ca166277c Rust upgrade to rustc 1.22.0-nightly (0e6f4cf51 2017-09-27) 2017-09-28 07:11:34 -07:00
Yury Krivopalov
5c56c924fc Clarify verbose_bit_mask_threshold description 2017-09-27 10:31:39 +03:00
Manish Goregaokar
387efd459c
Merge branch 'pr-1945' 2017-09-25 20:11:10 -07:00
Manish Goregaokar
bebc99d893 Run prepublish script 2017-09-25 19:54:24 -07:00
Manish Goregaokar
66eea5e662
Fix dogfood needless-borrow 2017-09-25 19:52:30 -07:00
Manish Goregaokar
1b4aba47b7
Fix dogfood filter-map 2017-09-25 19:52:30 -07:00
Manish Goregaokar
2551bd8924
Reduce cyclomatic complexity of types::check_ty 2017-09-25 19:52:29 -07:00
Manish Goregaokar
fabb6b6645
Rustup to rustc 1.22.0-nightly (6c476ce46 2017-09-25) 2017-09-25 19:52:29 -07:00
Manish Goregaokar
d337c7f927
Update changelog 2017-09-25 18:43:34 -07:00
Manish Goregaokar
94c6f4a868 Pass dogfood 2017-09-25 18:39:50 -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
Manish Goregaokar
6842a522bb Merge pull request #2079 from rust-lang-nursery/ptr_arg-vs-capacity
avoid linting `ptr_arg` if `.capacity()` is called.
2017-09-25 10:22:57 -07:00
Laura Peskin
d7867ef8c1 add lint for mutable borrow; may have false positives. pushed for feedback 2017-09-25 02:00:21 -04:00
Laura Peskin
2fe968774a replace defids with nodeids for local variables 2017-09-25 01:44:47 -04:00
Laura Peskin
c326a779dd use def_id of function in check_for_mutation 2017-09-24 15:40:17 -04:00
Laura Peskin
9a17150a06 refactor, add spans to warnings, add tests 2017-09-24 15:40:17 -04:00
Manish Goregaokar
d0eff10a7c Update test, fix lint 2017-09-24 15:40:16 -04:00
Manish Goregaokar
27d5ff6c9c Rustup 2017-09-24 15:40:16 -04:00
Laura Peskin
74f4fd32e9 attempt to add check for mutation of range bound within loop; compiles but doesn't work as intended. pushed for feedback 2017-09-24 15:40:16 -04:00
Laura Peskin
319f12a4c4 implement lint for mutable range bound 2017-09-24 15:40:16 -04:00
Laura Peskin
b091fb9b24 add lint declaration and example that should trigger the lint 2017-09-24 15:40:16 -04: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
Michael Recachinas
f571cf0b5e Change rtype of int_plus_one detection to Option<String> 2017-09-24 12:31:12 +01:00
Michael Recachinas
9437d2909c Change to returning Option<(bool, Option<String>)> 2017-09-24 10:30:29 +01:00
Michael Recachinas
fff35736e4 Remove old return-value 2017-09-24 09:58:58 +01:00
Manish Goregaokar
e3c4ec74d7 Rust upgrade to rustc 1.22.0-nightly (14039a42a 2017-09-22) 2017-09-23 13:30:29 -07:00
Michael Recachinas
21e9a1285d Use span_lint_and_then as per feedback 2017-09-23 19:32:11 +01:00
Andre Bogus
1e0268fda8 avoid linting ptr_arg if .capacity() is called. Also suggest removing .as_str() where applicable.
THis fixes #2070.

Also fixes a few formatting mishaps
2017-09-20 23:59:23 +02:00
Chris Emerson
9a0a8a0010 Move has_drop to the utils module. 2017-09-19 21:38:35 +01:00
Manish Goregaokar
31489d75a3 Bump to 0.0.162 2017-09-18 20:27:24 -07:00
Manish Goregaokar
35fa4429e3 Rust upgrade to rustc 1.22.0-nightly (0701b37d9 2017-09-18) 2017-09-18 20:23:08 -07:00
Martin Carton
0b64222a68 Fix case in doc_valid_idents
BibTeX and BibLaTeX use the usual capitalization of TeX tools:
- https://www.ctan.org/pkg/bibtex
- https://www.ctan.org/pkg/biblatex
2017-09-18 22:40:00 +02:00
Chris Emerson
f680eb164d Update unnecessary_operation and no_effect to not suggest removing
structs/enums wrappers when that type implements Drop as noted
in #2061.
2017-09-18 20:07:33 +01:00
Luca Bruno
62ae6d2251
lints/doc_markdown: add two more entries 2017-09-18 14:44:28 +00:00
Michael Recachinas
535302efda Register 'int_plus_one' lint case in clippy_lints 2017-09-17 17:27:16 +01:00
Michael Recachinas
d7ea6addf0 (#1955): Suggests x > y over x >= y + 1 for ints
This module handles the following cases:
- `... >= ... + 1` and `... >= 1 + ...`
- `... - 1 >= ...` and `-1 + ... >= ...`
- `... + 1 <= ...` and `... + 1 <= ...`
- `... <= ... - 1` and `... <= -1 + ...`

Note: this only goes 1 level deep (i.e., does not constant-fold) and
does not currently simplify expressions. Examples of these
cases include:
```rust
let x = 1;
y >= y + x; // won't catch this case or any permutation

x + 1 >= y + 2; // won't catch this case

x + 1 - 1 >= y - 1 + 1; // WILL catch this case when it likely shouldn't
```
2017-09-17 17:18:12 +01:00
Oliver Schneider
2bb8efdb4d Merge pull request #2058 from rust-lang-nursery/ptr_arg-vs-clone
add suggestions for .clone() in ptr_arg fns
2017-09-17 15:37:21 +02:00
Marcus Klaas
48ed3c058f Extend MANUAL_MEMCPY lint so that it also detects manual clones between slices 2017-09-16 19:17:22 -04:00
Marcus Klaas
e461e3f915 Format loops.rs with latest stable rustfmt 2017-09-16 18:45:28 -04:00
llogiq
708a818094 Merge pull request #2057 from topecongiro/issue-1818
Enhance CHARS_*_CMP lint
2017-09-16 09:16:55 +02:00
Andre Bogus
72be166756 add suggestions for .clone() in ptr_arg fns 2017-09-16 09:10:26 +02:00
topecongiro
81f5c69131 Enhance CHARS_*_CMP lint 2017-09-16 14:50:07 +09:00
topecongiro
197664e989 Add suggestion to needless_borrow 2017-09-16 11:27:24 +09:00
Seiichi Uchida
1f6801dd6a Add ExprLoop to contains_continue_expr() 2017-09-14 22:26:59 +09:00
Oliver Schneider
b2c88b0a35
Merge remote-tracking branch 'origin/master' into rustup 2017-09-13 15:41:09 +02:00
Oliver Schneider
32a9394490
Rustup 2017-09-13 15:34:04 +02:00
Tuomas Siipola
d768fe8c16
Fix link in trivial_regex 2017-09-12 19:08:25 +03:00
Tuomas Siipola
6d3db724b7
Fix empty documentation in unit_expr 2017-09-12 19:08:25 +03:00
Tuomas Siipola
2b698db1ae
Fix links in approx_const 2017-09-12 19:08:18 +03:00
Oliver Schneider
b7222be917
Version bump 2017-09-12 14:40:24 +02:00
Oliver Schneider
b127ad251f
Rustup 2017-09-12 14:38:59 +02:00
Andre Bogus
e7e8e79020 suggestion for ptr_arg 2017-09-10 19:32:24 +02:00
Aaron Hill
d318ced660
Add CLONE_ON_REF_PTR lint
Closes issue #1645
2017-09-09 21:52:19 -04:00
Oliver Schneider
edcf6e7e80
Use hir_id instead of fetching hir_id via the NodeId 2017-09-09 14:06:41 +02:00
Aaron Hill
8adc42b5b4
Update for latest Rust
This is mainly due to https://github.com/rust-lang/rust/commit/dead08cb33134
2017-09-09 01:23:08 -04:00
Manish Goregaokar
8aa1d118b3 Merge pull request #2004 from sunfishcode/master
When suggesting `from(x)` for lossless casts, strip parens from `x`.
2017-09-05 15:09:39 -07:00
Manish Goregaokar
44b852b10e Merge pull request #2023 from montrivo/while_let_loop
`while_let_loop` doesn't take into account break-with-value #1948
2017-09-05 14:19:00 -07:00
Tim Nielens
7489a84c6a while_let_loop doesn't take into account break-with-value #1948 2017-09-05 22:28:30 +02:00
Oliver Schneider
8c824e4cbc Also ignore continue statements in is_unit_expr 2017-09-05 12:12:44 -07:00
Manish Goregaokar
7e9ba81297 for loops -> for-loops 2017-09-05 12:10:53 -07:00
Dan Gohman
396cfa7055 Only strip parens for binary expressions. 2017-09-05 10:55:08 -07:00
Dan Gohman
35cf2715dc When suggesting from(x) for lossless casts, strip parens from x. 2017-09-05 10:55:04 -07:00
Manish Goregaokar
bc602df324 Update changelog 2017-09-05 10:54:45 -07:00
Manish Goregaokar
07d5dba0b7 Update changelog 2017-09-05 09:45:14 -07:00
Marcus Klaas
90f345df94
Add lint to detect manual slice copies 2017-09-05 12:56:26 +02:00
Oliver Schneider
e4524ac4de
Run nightly rustfmt 2017-09-05 12:39:27 +02:00
M. Hasbini
ee8c51be00 Fix "further information" link
"further information" link was missing the `v` part from the url.
e.g.
wrong (404 notfound): https://rust-lang-nursery.github.io/rust-clippy/0.0.157/index.html#map_entry
correct: https://rust-lang-nursery.github.io/rust-clippy/v0.0.157/index.html#map_entry
2017-09-04 20:03:51 +03:00
Oliver Schneider
7757c893ef
Fix len_zero ICE 2017-09-04 17:05:47 +02:00
Oliver Schneider
009f5aaf83
Update to latest nightly 2017-09-04 16:10:36 +02:00
Manish Goregaokar
5e1899138f
Fix dogfood 2017-09-03 14:58:27 -07:00
Manish Goregaokar
2544458559
Run rustfmt 2017-09-03 14:15:18 -07:00
Manish Goregaokar
35eda0531a
Fix unit_expr expectations and changelog entry 2017-09-03 14:14:20 -07:00
Manish Goregaokar
e56da2782c Merge branch 'pr-2016' into HEAD 2017-09-03 14:02:16 -07:00
Zaki Manian
0d9f56674d Mention the false positive 2017-09-03 14:01:29 -07:00
Manish Goregaokar
4807909152 Rustup to rustc 1.22.0-nightly (744dd6c1d 2017-09-02) (fixes #2013) 2017-09-03 13:55:45 -07:00
Zaki Manian
8b53f2238b Fix all the clippy lints
Add false positive tests
2017-09-03 13:39:49 -07:00
Zaki Manian
6657d4e7ff Remove direct call for Deref
Remove "assigns" from the lint
2017-09-03 12:50:02 -07:00
Zaki Manian
e0caf26586 RustFmt file and tests 2017-09-03 11:19:59 -07:00
Zaki Manian
1c7583776b Don't trigger lint on break or return 2017-09-03 11:17:20 -07:00
Zaki Manian
98ec8657e4 Improve the lint message 2017-09-03 09:52:28 -07:00
Zaki Manian
0233d9b0e7 Fix false positives in assignment inside the else condition 2017-09-03 08:31:15 -07:00
Zaki Manian
93e78c81a1 RustFmt changes 2017-09-02 21:33:26 -07:00
Zaki Manian
27e55c96ce Switch back to manual deref 2017-09-02 20:45:40 -07:00
Zaki Manian
789e78e72e Improved spans for lints and support match expressions 2017-09-02 20:36:24 -07:00
Zaki Manian
34edc3f782 Handle method calls 2017-09-02 15:04:52 -07:00
Zaki Manian
e7c5825378 Fix brace indentation 2017-09-02 14:20:22 -07:00
Zaki Manian
d6d78cdbbe Check method calls 2017-09-02 14:19:45 -07:00
Zaki Manian
2a97aadacf More initial work 2017-09-02 14:09:41 -07:00
Zaki Manian
9e3be6ae49 Introduce check_stmt 2017-09-02 12:20:43 -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
Andre Bogus
df29c87303 some small doc improvements 2017-09-01 22:43:34 +02:00
Oliver Schneider
045139613a
Link to current versions docs instead of master docs 2017-09-01 12:34:10 +02:00
Oliver Schneider
ff91c6359a
wiki -> docs 2017-09-01 12:34:10 +02:00
Oliver Schneider
c64073b2f5
Deprecate the wiki and remove the lint list from the README (fixes #1933) 2017-09-01 12:34:05 +02:00
Oliver Schneider
755a236641
Get rid of another handwritten Span construtor in favour of a builtin function 2017-08-31 15:00:21 +02:00
Oliver Schneider
a8cf4e8ecb
Accessing Span internals is deprecated 2017-08-31 14:47:45 +02:00
Oliver Schneider
9d6c0feef2
Rustup (fixes #2002) 2017-08-30 10:54:41 +02: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
Tim Nielens
ec79970771 len_without_is_empty false positive #1740 2017-08-28 23:18:12 +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
39ceca8893 rename TriState -> Finiteness, docs 2017-08-26 19:57:27 +02:00
Andre Bogus
6e7bc6ad9a fix match_path -> match_qpath rename 2017-08-26 00:09:31 +02: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
Martin Carton
5cf3f8359f Merge pull request #1989 from Frederick888/fix-1988
Try to fix #1988
2017-08-25 12:39:53 +02:00
Frederick Zhang
70c8fe5539 fix PathParameters usage 2017-08-25 19:38:28 +10:00
Alexey Zabelin
cd57add2c3
Incorporate upstream changes 2017-08-24 20:46:40 -04:00
Alexey Zabelin
695bedbe27
Rename match_path_old to match_path
The old `match_path` was renamed to `match_qpath`.

As per #1983.
2017-08-24 20:42:50 -04:00
Oliver Schneider
ab362031ed Merge pull request #1959 from DarkEld3r/1884-borrowed-box-any
Fix borrowed_box lint for Box<Any>
2017-08-24 23:59:15 +02:00
Oliver Schneider
cb23298eff Merge pull request #1984 from MaloJaffre/fix_int_to_bits
Fix int_ty_to_nbits
2017-08-24 09:11:13 +02:00
Oliver Schneider
36e417cce5 Merge pull request #1982 from rust-lang-nursery/bytecount
new lint: naive_bytecount
2017-08-24 09:09:56 +02:00
Malo Jaffré
d6e4e0639e Fix int_ty_to_nbits
Thanks @oli-obk for the detailed instructions.
Fixes #1957.
2017-08-23 22:18:04 +02:00
Andre Bogus
6d989c729d add closure arg check, also catch non-consts 2017-08-23 17:54:35 +02:00
Stanislav Tkach
81538f6ff3 Fix 'cyclomatic complexity' warning 2017-08-23 17:13:51 +03:00
Stanislav Tkach
45ff467c31 Fix borrowed_box lint for Box<Any> 2017-08-23 17:00:39 +03:00
Andre Bogus
70e34077d5 new lint: naive_bytecount 2017-08-22 23:45:08 +02:00
Tim Nielens
572b3388ac lint #1674: lifetimed types exclusion
add expect() message and update test results
2017-08-22 19:22:47 +02:00
Tim Nielens
3f575d874b lint #1674: lifetimed types exclusion 2017-08-22 19:08:49 +02:00
Oliver Schneider
992d88ab58 Merge pull request #1977 from rust-lang-nursery/panic
Fix a panic and a false positive
2017-08-22 10:20:02 +02:00
Andre Bogus
2362177aaf fix #768 by checking for message macro expansion 2017-08-21 23:23:54 +02:00
Oliver Schneider
c3ef220bba
Rebase and update ui test 2017-08-21 14:22:41 +02:00
Benoît CORTIER
ee2f54723a
Finalize needless_borrowed_ref lint doc.
Make sure the needless_borrowed_ref.stderr in examples is up to date
too.
2017-08-21 14:02:28 +02:00
Benoît CORTIER
c00393163c
Improve needless_borrowed_ref lint: remove the hand rolled span part. 2017-08-21 14:01:31 +02:00
Benoît CORTIER
60ca61ee66
Improve needless_borrowed_ref and add suggestion to it. 2017-08-21 14:00:56 +02:00
Benoît CORTIER
2460454155
Improve needless_borrowed_ref lint comments. 2017-08-21 14:00:29 +02:00
Benoît CORTIER
0063309a00
Now register needless borrowed ref. 2017-08-21 13:59:20 +02:00
Oliver Schneider
66346b22ff Merge pull request #1973 from rust-lang-nursery/fix-1920
remove stars at the beginning of multiline comments
2017-08-21 13:52:26 +02:00
Oliver Schneider
2430e06a60 Run Dogfood for use_self 2017-08-21 13:32:12 +02:00
Oliver Schneider
3eab44acb1
Don't trigger Self suggestion inside derives 2017-08-21 12:58:06 +02:00
Oliver Schneider
56068b1b67
Fix ICE #1969 2017-08-21 12:57:33 +02:00
Oliver Schneider
2493176f0e
Version bump 2017-08-21 09:44:53 +02:00
Oliver Schneider
b005748b85 Merge pull request #1971 from Frederick888/fix-1970
Try to fix #1970
2017-08-21 09:35:59 +02:00
Oliver Schneider
5e5478a3c3 Merge pull request #1931 from rust-lang-nursery/move_links
Change all links to reflect the move to rust-lang-nursery
2017-08-21 09:35:19 +02:00
Andre Bogus
93c48a0977 remove stars at the beginning of multiline comments 2017-08-19 22:52:49 +02:00
Frederick Zhang
f770d15350 use CompilerDesugaringKind 2017-08-19 18:03:29 +10:00
Oliver Schneider
d1eecbaa2f Merge pull request #1965 from montrivo/use_self
lint #1674: replace struct name with `Self` when applicable
2017-08-18 20:54:18 +02:00
Tim Nielens
7aebe3a690 lint #1674: replace struct name with Self when applicable
SelfType const and suggestion
2017-08-18 19:46:50 +02:00
Joonas Koivunen
a5147e8a08 is_from_for_loop: document what first check matches
Removing the first check will break a lot of for-loop UI tests and the
dogfood test.
2017-08-18 17:12:00 +03:00
Joonas Koivunen
cf8e95eb22 is_from_for_desugar: add match for for _ in x
This will avoid `let_unit_value` in the examples in the ui-test.
It might match too widely.
2017-08-18 17:07:39 +03:00
Tim Nielens
7759bd6111 lint #1674: replace struct name with Self when applicable 2017-08-18 01:11:39 +02:00
Oliver Schneider
f3ae929b2d Rustup 2017-08-15 11:10:49 +02:00
Mateusz Mikula
0d244d3f39
Fix verbose_bit_mask off by one error
Fixes #1940
2017-08-14 16:22:20 +02:00
Oliver Schneider
4470d7a8ca Merge branch 'master' into move_links 2017-08-14 10:07:26 +02:00
Oliver Schneider
459cf467c5 Rustup 2017-08-14 09:54:47 +02:00
Oliver Schneider
0e4c49b145
Handfix dogfood issues with the rustfmt changes 2017-08-14 09:43:26 +02:00
Oliver Schneider
b25b6b3355
Rustfmt 2017-08-14 09:43:26 +02:00
Andre Bogus
61a73bb630 some small doc improvements 2017-08-13 00:14:28 +02:00
Frederick Zhang
709c7926d4 fix usage of for_each_relevant_impl 2017-08-09 13:21:33 +10:00
Andre Bogus
f515d7bb67 Change all links to reflect the move to rust-lang-nursery 2017-08-06 23:10:55 +02:00
Andre Bogus
0670d0b59b fixing dogfood 2017-08-06 11:09:53 +02:00
Frederick Zhang
4de37160bb fix ConstFloat usage 2017-08-06 15:06:21 +10:00
Andre Bogus
76ca4dca85 unify checks into single visitor, fix block walk 2017-08-04 07:48:43 +02:00
Andre Bogus
3b7f3dc8e7 WIP: Find binding or assignment within outer loop 2017-08-03 22:11:58 +02:00
Oliver Schneider
6bdb597a9f Fix some more dogfood issues 2017-08-01 13:05:57 +02:00
Oliver Schneider
a5fe4bed0e
The lint doesn't improve perf (yet) 2017-08-01 12:55:53 +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
5864072eca Run rustfmt 2017-08-01 10:19:49 +02:00
Oliver Schneider
c9d9619eed update_lints.sh has a different opinion on ordering things 2017-08-01 10:18:56 +02:00
Oliver Schneider
b4d70c9420 Merge pull request #1900 from jayhardee9/luckily_literals_love_lints
Add lints for digit grouping.
2017-08-01 10:15:29 +02:00
Oliver Schneider
9d8d2d87c3 More autoclippyification 2017-08-01 09:55:17 +02:00
Oliver Schneider
4fa6f83708 Clippy fixes itself 2017-08-01 09:45:36 +02:00
Frederick Zhang
9539df06c6 use BindingAnnotation instead of BindingMode 2017-08-01 17:17:38 +10:00
Jay Hardee
9b78086ab3 Fix hints from misc_early 2017-07-31 20:20:27 -04:00
Jay Hardee
500857c944 Merge remote-tracking branch 'upstream/master' into luckily_literals_love_lints 2017-07-31 19:17:42 -04:00
Jay Hardee
06fd8784d7 Loose ends and factor out consistency logic. 2017-07-31 19:06:51 -04:00
Jay Hardee
3b56965242 Use DigitInfo instead of get_digits(). 2017-07-31 19:06:51 -04:00
Jay Hardee
a6cb1189dd do_lint() shouldn't format warnings. 2017-07-31 19:06:51 -04:00
Jay Hardee
471b6811d8 Implement method for digit grouping suggestions 2017-07-31 19:06:51 -04:00
Jay Hardee
fbbd788799 Add some structs for cleaning up lint logic later.
DigitInfo for storing radix, type, digits of a literal.
WarningType for making warning messages consistent.
2017-07-31 19:06:50 -04:00
Jay Hardee
017b77ae05 rustfmt 2017-07-31 19:06:50 -04:00
Matt Kraai
937a0aa20a Update from upstream. 2017-07-31 19:06:23 -04:00
Oliver Schneider
9967e9aacc Update to latest master 2017-07-31 12:37:38 +02:00
Oliver Schneider
72b2e9539f Get rid of double double colons 2017-07-24 16:28:41 +02:00
Matt Kraai
de3bdf5826 Set show_code_when_inline to true
Fixes #1902
2017-07-24 06:37:12 -07:00
Jay Hardee
f17def5801 Use if let over match. 2017-07-22 19:54:44 -04:00
Jay Hardee
83a6dbc828 Fix lint descriptions. 2017-07-22 19:49:47 -04:00
Jay Hardee
2abd1f73d9 Add lint for digit grouping. 2017-07-22 17:49:45 -04:00
Oliver Schneider
68948a5654
Fix various needless_range_loop false positives 2017-07-16 19:34:38 +02:00
Matt Kraai
7131fdad38 Use token_to_string instead of binop_to_string
Fixes #1887
2017-07-13 08:27:57 -07:00
Oliver Schneider
e80d883bf1 Run rustfmt 2017-07-10 10:21:21 +02:00
Oliver Schneider
a82cd77b2b Rustup to *rustc 1.20.0-nightly (d84693b93 2017-07-09)* 2017-07-10 10:17:40 +02:00
uHOOCCOOHu
14a1a08b5e
Search continue in return expr. 2017-07-05 15:57:29 +08: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
Oliver Schneider
23b4ad501f Run rustfmt 2017-06-29 16:07:43 +02:00
messense
8ac0388307
Fix compilation on rustc 1.20.0-nightly (69c65d296 2017-06-28) 2017-06-29 21:38:25 +08:00
Oliver Schneider
6a2525ccb8 Merge pull request #1536 from CBenoit/master
Add lint `&ref x` patterns that could be just `x`
2017-06-28 18:45:51 +02:00
Oliver Schneider
d0650ae144 Update for latest master 2017-06-28 11:02:27 +02:00
Benoît CORTIER
e9964e762f Improve needless_borrowed_ref lint doc. 2017-06-26 14:42: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
Seo Sanghyeon
745233f3ab Use span_lint_and_sugg 2017-06-22 03:04:04 +09:00
Oliver Schneider
38925a55b7 Replace Range::step_by checking with Iterator::step_by 2017-06-18 16:12:04 +02:00
mcarton
9881b15822 Ignore mix of {,non-}sugared doc in doc_markdown 2017-06-17 18:24:23 +02:00
mcarton
349b45bb99 Fix spans in all cases in doc_markdown 2017-06-17 18:23:37 +02:00
mcarton
aaf9bce905 Fix spans in doc_markdown in most cases 2017-06-17 18:23:37 +02:00
mcarton
d2ef1b318d Rewrite doc_markdown to use pulldown-cmark 2017-06-17 18:23:37 +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
scott-linder
1ce3cbf9c4 Ignore new-without-default lint when new method has generic types
There may be no sensible `Default` impl if the result of `new` depends
on a type parameter.
2017-06-14 12:58:22 -04: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
Erick Tryzelaar
8c235d19bc in_macro check in NEEDLESS_RETURN
This allows you to define a macro like `try!(...)` that embeds an
early exit without emitting the "needless_return" warning.

Closes #1271.
2017-06-12 19:06:37 -07:00
Andre Bogus
3a8e4c33bd deal with multiple prefixed zeros in literals 2017-06-12 20:41:00 +02:00
scott-linder
1a50755f21 Document check_ty and its new is_local arg. 2017-06-12 08:43:02 -04:00
scott-linder
49bba315e4 Merge nested if into adjacent if_let_chain! 2017-06-12 08:38:29 -04:00
Cameron Steffen
1a453bf72c fix another never_loop 2017-06-11 18:37:59 -05:00
Cameron Steffen
8b00f826d7 Merge branch 'master' into never_loop 2017-06-11 18:25:26 -05:00
scott-linder
74ebe6e69e Add check_local to TypePass for BORROWED_BOX
Adds a boolean flag to indicate whether the current type in `check_ty`
is in a local declaration, as only the borrowed box lint should consider
these types.
2017-06-11 12:20:20 -04:00
scott-linder
c29f5ea83b Commit updated example stderr 2017-06-11 12:19:11 -04:00
scott-linder
deef81a3fc Use span_suggestion in borrowed_box lint 2017-06-11 12:19:11 -04:00
scott-linder
e6eaa726e2 Recurse into inner type when not &Box<T> 2017-06-11 12:19:11 -04:00
scott-linder
80cb48ca1a Actually fix the lint applied 2017-06-11 12:19:11 -04:00
scott-linder
a4c4da1c4b Fix typo in types check 2017-06-11 12:19:11 -04:00
scott-linder
711cad188a check for borrowed box types 2017-06-11 12:19:11 -04:00
Manish Goregaokar
55cb63adfe Bump to 0.0.139 2017-06-10 22:07:09 -07:00
Eduard-Mihai Burtescu
50b3d7ee9d Do not use .sty except for matching on it. 2017-06-11 06:24:13 +03:00
Eduard-Mihai Burtescu
e4ca0e515f Remove uses of span_if_local. 2017-06-11 06:15:53 +03:00
Eduard-Mihai Burtescu
e073dfe9a2 Abide by the common rustc::ty conventions. 2017-06-11 05:57:25 +03:00
Eduard-Mihai Burtescu
cd89737b21 Update for rustc 1.19.0-nightly (4bf5c99af 2017-06-10). 2017-06-11 05:34:47 +03:00
Anders Kaseorg
00b43687e5 Pass extra parameter to CrateStore::item_children for rustc nightly
rust-lang/rust#42507

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2017-06-10 01:41:17 -04:00
mcarton
bb0b597f05 Check for for loop desugaring in highering 2017-06-08 20:17:10 +02:00
Andre Bogus
a648cfeae1 better naming, Iterator::eq 2017-06-07 05:40:57 +02:00
Andre Bogus
8122d3e8cb Check for AsRef/AsMut arguments in wrong_self_convention
This fixes #451
2017-06-06 19:26:50 +02:00
mcarton
01cae3fd6d Rustup to *rustc 1.19.0-nightly (0418fa9d3 2017-06-04)* 2017-06-05 21:49:26 +02:00
Eduard-Mihai Burtescu
010974fafe Finish rustup. 2017-06-05 00:28:01 +03:00
mcarton
edef6c53c0 Continue work on rustup 2017-06-04 20:42:13 +02:00
messense
67cccc5c16
Try to fix compilation error on rustc 1.19.0-nightly (4ed2edaaf 2017-06-01) 2017-06-02 12:13:04 +08:00
Cameron Steffen
4f374824b1 fix never_loop 2017-06-01 21:31:42 -05:00
Cameron Steffen
a73edc0944 add tests and fixes 2017-06-01 00:06:45 -05:00
Cameron Steffen
20728fb0d0 fix never_loop 2017-05-30 22:46:02 -05:00
Manish Goregaokar
8d3c48601d Rustup to rustc 1.19.0-nightly (557967766 2017-05-26) 2017-05-26 22:25:58 -07: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
Georg Brandl
06472ca651 Update to fix array_indexing failures: RangeInclusive::NonEmpty is gone 2017-05-26 16:54:07 +02:00
Oliver Schneider
ff873cc900 Rustup to rustc 1.19.0-nightly (5b13bff52 2017-05-23) 2017-05-24 14:19:30 +02:00
messense
30b94b0fb0
Fix build failure on rustc 1.19.0-nightly (0ed1ec9f9 2017-05-18) 2017-05-19 16:54:02 +08:00
Andre Bogus
e75d7ffd2d distinguish debug_assert 2017-05-15 22:49:20 +02:00
mcarton
b6326121ab Fix span in blacklisted_name 2017-05-14 14:58:16 +02:00
Oliver Schneider
4d5e25f31d Update to rustc 1.19.0-nightly (826d8f385 2017-05-13)
fixes #1759, #1758
2017-05-14 09:56:10 +02:00
Oliver Schneider
dfc7d2afd4 Run rustfmt 2017-05-12 12:09:52 +02:00
Oliver Schneider
29cb2f7eba Fix various wrong uses of NestedVisitorMap::All 2017-05-12 12:02:42 +02:00
Oliver Schneider
672045689e Fix #1730 2017-05-11 19:02:19 +02:00
Oliver Schneider
51f6aeae51
Reduce code duplication 2017-05-11 19:00:14 +02:00
Oliver Schneider
81b35d197b Fixes #1735 2017-05-11 16:32:06 +02:00
Oliver Schneider
2cd3366817 Fixes #443 2017-05-10 13:42:19 +02:00
Oliver Schneider
5997fb952f
Fix a future compat lint that we triggered 2017-05-10 09:21:21 +02:00
Oliver Schneider
3b3e47f451 Merge pull request #1738 from Manishearth/serde
Update serde to 1.0
2017-05-10 08:55:36 +02:00
Oliver Schneider
f48281b632 Split high-cyclomatic-complexity function into two 2017-05-09 17:15:28 +02:00
Oliver Schneider
a67774530f Don't trigger some lints inside macros 2017-05-09 17:15:13 +02:00
Oliver Schneider
d2dab198fa Forgot doc comments 2017-05-09 16:02:48 +02:00
Oliver Schneider
dee53fa1e2 Merge pull request #1728 from Manishearth/inspector
Print type adjustments in the inspector
2017-05-09 15:26:01 +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
Niklas Fiekas
956043e319 Add KiB to doc-valid-idents 2017-05-06 21:31:54 +02:00
Luis de Bethencourt
50b6dd43e2 fix typo in eval_order_dependence.rs
Fixing a "the the" to "the".
2017-05-05 17:52:01 +01:00
Oliver Schneider
eb93058dd5 Also print type adjustments in the inspector 2017-05-05 14:25:54 +02:00
Tatsuyuki Ishi
7e514cb55f Fix for rustc-1.19.0-nightly (2017-04-04) 2017-05-03 22:58:23 +09:00
Oliver Schneider
1522a4913f Run rustfmt 2017-05-03 14:13:50 +02:00
Oliver Schneider
a6c8464dde Update to rustc 1.19.0-nightly (6a5fc9eec 2017-05-02) 2017-05-03 12:51:47 +02:00
Oliver Schneider
b84e71c2b1 Update to latest nightly 2017-05-02 16:56:36 +02:00
Boris-Chengbiao Zhou
36f75e8015 Fix two doc comments 2017-05-01 16:57:27 +02:00
mcarton
76041b8ffa
Rustup to *rustc 1.19.0-nightly (06fb4d256 2017-04-30)* 2017-05-01 13:43:16 +02:00
Oliver Schneider
88d3898426 Fix dogfood tests 2017-04-28 18:13:09 +02:00
Oliver Schneider
e3084cc085 Fix #1698 (ICE regression in clippy's const eval) 2017-04-28 18:10:10 +02:00
Oliver Schneider
7aa42073f2 Fix op_ref false positives 2017-04-28 17:03:47 +02:00
Oliver Schneider
81a55330dc Use utils::is_copy instead of hand-rolling it 2017-04-28 17:03:18 +02:00
Oliver Schneider
b8d577d82d Rustup 2017-04-28 13:00:42 +02:00
Oliver Schneider
9abef6affd
Bump the version 2017-04-27 14:13:14 +02:00
Oliver Schneider
3b73663506 Update to latest rustc version 2017-04-27 14:00:35 +02:00
Oliver Schneider
fed8491476 Merge pull request #506 from yati-sagade/master
Lint for pointing out needless continue statements, fixes #111
2017-04-25 12:37:24 +02:00
Trevor Spiteri
45bbff66cd Add "MinGW" to doc-valid-idents 2017-04-25 11:38:37 +02:00
Oliver Schneider
68369e5d37
Merge remote-tracking branch 'origin/master' into yati_master 2017-04-25 10:31:40 +02:00
Oliver Schneider
216ce57fee Update for changes in rustc 2017-04-24 13:35:14 +02:00
Bastian Köcher
4024f2ce5b Fixes compilation error with latest nightly rust (1.18.0-nightly (9f2abadca 2017-04-18)) 2017-04-19 12:17:12 +02:00
Mrmaxmeier
89f0f323bb Rustup to 1.18.0-nightly (d5cf1cb64 2017-04-15) 2017-04-16 18:38:17 +02:00
Yati Sagade
cac15d24f9 needless_continue: Remove indentation of suggestion code.
As per a suggestion by Oliver on the PR thread, maintaining indentation
in the suggested code is futile because of the changes in the compiler
and the messiness of real-world code. rustfmt will do the indentation if
required, so we don't need to do it.
2017-04-13 21:48:52 +02:00
Oliver Schneider
5842463562 Run rustfmt 2017-04-12 11:06:32 +02:00
Oliver Schneider
7ee0d4f9c2 Dogfood tests 2017-04-12 10:55:34 +02:00
Oliver Schneider
679e98530a
Merge remote-tracking branch 'origin/master' into yati 2017-04-11 16:16:10 +02:00
Oliver Schneider
5f85ea8ef4 Add newline at end of file 2017-04-11 15:54:48 +02:00
Oliver Schneider
21d8fbd082 Don't lint for lifetime bounds required by traits 2017-04-11 15:44:13 +02:00
Oliver Schneider
856b1f1242 Remove now useless allow(unused_lifetimes) from clippy 2017-04-11 14:46:54 +02:00
Oliver Schneider
2eae102cd1 Don't lint lifetimes after trait objects 2017-04-11 14:29:58 +02:00
Oliver Schneider
8bb0a4d667 Fix more doc issues 2017-04-11 14:10:11 +02:00
Oliver Schneider
9a4c0a1c72 Don't lint about unused lifetimes if the lifetimes are used in the body of the function 2017-04-11 14:09:58 +02:00
Oliver Schneider
38b2215060 Dogfood 2017-04-10 15:14:54 +02:00
Oliver Schneider
03a0b18a85 Fix some doc errors 2017-04-10 15:10:29 +02:00
Oliver Schneider
b76ce176bb Fix op_ref in case of nonexisting operations 2017-04-10 15:10:19 +02:00
Yati Sagade
8ea6d6a8d2 needless_continue: Refactor to use stuff from utils, and move some stuff to utils.
I had my own implementation of what `trim_multiline()` seems to be doing, so
I just started using `trim_multiline()`. Some other functions, like
those block alignment, are general enough to be used elsewhere, so moved
them to utils.
2017-04-09 14:07:11 +02:00
Yati Sagade
38238f576d [needless_continue] Add comments explaining terminology used thoughout in the code. 2017-04-08 23:30:34 +02:00
Yati Sagade
9396120008 More dogfood test fixes. 2017-04-08 23:30:34 +02:00
Yati Sagade
7b4a12fd21 Fix lint warnings from dogfooding tests. 2017-04-08 23:30:34 +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
f1e905f620 Reintroduce #768 so we can publish 2017-04-07 11:21:39 +02:00
Oliver Schneider
3052000c73 Merge pull request #1649 from ensch/master
Fix for rustc 1.18.0-nightly (5c94997b6 2017-03-30)
2017-04-07 11:13:44 +02:00
Oliver Schneider
a679f41fa3 Fix fallout 2017-04-06 16:49:13 +02:00
Oliver Schneider
6d921b4734 fix various rustup failures 2017-04-06 16:48:48 +02:00
Peter Gerber
71a788cbd7 correct error message for option_map_unwrap_or_else lint
Remove erroneous "with " in suggested alternative call.
2017-04-01 15:54:27 +02:00
Enrico Schmitz
7a4f7c335b Remove unused cs parameter for is_macro and friends 2017-04-01 00:14:04 +02:00
Enrico Schmitz
8aef64dfe8 Fix src/needless_bool.rs by using ExprBlock(block) = then 2017-03-31 23:46:08 +02:00
Enrico Schmitz
8297c19fcc Fixing src/copies.rs and src/entries.rs by using ExprBlock(block) = then.node 2017-03-31 23:36:45 +02:00
Enrico Schmitz
8f9fb97eb6 First try for a fix for rustc 1.18.0-nightly (5c94997b6 2017-03-30 2017-03-31 19:23:35 +02:00
Oliver Schneider
0ae1a77a2e Do some additional cleanup around InternedString and Symbol 2017-03-30 10:21:13 +02:00
Oliver Schneider
d9e69a70df
Fix fallout 2017-03-30 09:46:04 +02:00
Oliver Schneider
5de367f793
Don't create additional references when invoking binary operators 2017-03-30 09:46:00 +02:00
Oliver Schneider
5547fbb770 Fix accidental newline in diagnostic and missing entries in lint_array! 2017-03-24 10:21:12 +01:00
Oliver Schneider
8ae82eb4ab
Merge remote-tracking branch 'origin/master' into 1537-drop_copy 2017-03-24 10:11:46 +01:00
Oliver Schneider
4f473f7f60 Merge pull request #1617 from sinkuu/proc_macro_pass_by_value
Filter out proc_macro_derive functions
2017-03-24 10:10:24 +01:00
Oliver Schneider
b1b43da20a Merge pull request #1627 from Manishearth/dont-panic
Don't panic if traits not found
2017-03-24 10:09:59 +01:00
sinkuu
a712271df6 Filter out proc_macro_derive functions (fixes #1615) 2017-03-21 17:09:21 +09:00
Oliver Schneider
f2e8f526e6 Run rustfmt 2017-03-21 08:57:54 +01:00
Enrico Schmitz
fa0a670201 Simplify attr_is_cfg in returns.rs 2017-03-21 00:34:05 +01:00
Enrico Schmitz
f8df4aed0f Fix for rustc 1.17.0-nightly (6eb9960d3 2017-03-19) 2017-03-21 00:22:19 +01:00
Andre Bogus
30e0c0fc96 fix typos 2017-03-17 21:21:32 +01:00
Andre Bogus
c2ff30375a Don't panic if traits not found 2017-03-16 08:57:17 +01:00
Andre Bogus
bc934a3ed9 Rustup: Add ExprKind::Catch 2017-03-16 00:56:21 +01:00
Oliver Schneider
4c6e225830
Run rustfmt 2017-03-13 11:40:56 +01:00
Oliver Schneider
2d145b2ef5 don't lint macro_rules! in items_after_statements 2017-03-13 11:09:56 +01:00
Oliver Schneider
40d50fe8b2 Don't lint nan_cmp and zero_ptr in constants 2017-03-07 12:58:07 +01:00
Oliver Schneider
2a8fca599b Mostly apply rustfmt 2017-03-05 10:27:20 +01:00
Enrico Schmitz
1f8b212298 CFG::new now wants Body instead of Expr 2017-03-05 02:15:39 +00:00
Oliver Schneider
ac48e09255 Simplify snippet body by forwarding to snippet_opt 2017-03-03 16:56:35 +01:00
Oliver Schneider
a33930f815 Fix single-match-else in the presence of macros expressions expanding to blocks 2017-03-03 16:56:16 +01:00
Oliver Schneider
a161d3f8f4 deduplicate single_match_else reporting 2017-03-03 15:44:23 +01:00
Oliver Schneider
26270c7451 Fix ice 2017-03-03 14:46:33 +01:00
Sander Maijers
5ab8e7d95a Add ECMAScript to default doc-valid-idents
FYI, https://en.wikipedia.org/wiki/ECMAScript .
2017-03-03 12:28:15 +01:00
Oliver Schneider
51295960bf Fix invalid_upcast_comparisons lint for same size sign casts 2017-03-02 10:41:20 +01:00
Oliver Schneider
7bfa53f504 Almost there 2017-03-01 18:46:18 +01:00
Enrico Schmitz
6f0fd15da9 Handle all types in to_const_range 2017-03-01 16:17:30 +01:00
Enrico Schmitz
353945a01b Use expect instead of unwrap to make clippy happy 2017-03-01 15:42:58 +01:00
Enrico Schmitz
0cf7990e72 Also handle ConstFloat::F32 in is_allowed 2017-03-01 15:33:32 +01:00
Enrico Schmitz
7ba3a713a1 Using to_u128_unchecked and int_type instead of creating a ConstantInt 2017-03-01 15:26:40 +01:00
Enrico Schmitz
63296f0393 Handle signed types in node_as_const_fullint 2017-03-01 15:06:53 +01:00
Enrico Schmitz
7e24e1db09 Using f.unsafety() instead of f.skip_binder().unsafety 2017-03-01 14:46:35 +01:00
Enrico Schmitz
8380dd31da Fix wrong life time for all_ranges 2017-03-01 14:45:45 +01:00
Enrico Schmitz
38251dccb0 Array lengths are usize, so you need ConstInt::Usize(...) 2017-03-01 14:44:52 +01:00
Oliver Schneider
a1dc49c51b Remove unused import 2017-03-01 14:07:08 +01:00
Enrico Schmitz
f66e0aad84 Fix for rustc 1.17.0-nightly (be760566c 2017-02-28) 2017-03-01 13:24:19 +01:00
Oliver Schneider
d53b878af6 Merge branch 'master' into 1537-drop_copy 2017-02-27 12:36:34 +01:00
Oliver Schneider
07698d1574 Run rustfmt 2017-02-27 09:49:02 +01:00
Oliver Schneider
b9f183d31f rustup 2017-02-27 09:45:02 +01:00
Tristian Celestin
12af338150 Add space between colon and type annotation
Wrapped string in Rust don't require a backslash
2017-02-26 23:07:53 -05: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
3075b01d8c Stored linter messages in constants.
Use is_copy() function instead of calling moves_by_default()
2017-02-26 17:57:56 -05:00
Tristian Celestin
aa037d1ef0 Merge branch 'master' into 1537-drop_copy 2017-02-25 23:11:21 -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
sinkuu
5906639af5 Enable len_zero for slices 2017-02-25 12:26:33 +09:00
Oliver Schneider
19929790aa Merge pull request #1561 from Manishearth/zero_ptr
New zero_ptr lint.
2017-02-22 13:34:28 +01:00
sinkuu
1e26c44010 Suggest assert_ne for assert!(x != y) 2017-02-22 16:47:18 +09:00
Andre Bogus
3c04109fcc fix German keyboard fail 2017-02-21 17:28:17 +01:00
Oliver Schneider
d032b8967c Merge pull request #1491 from Manishearth/into_iter_on_ref
fix explicit_into_iter_loop on references
2017-02-21 14:55:52 +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
42c451c122
update help message to match the suggestion 2017-02-21 12:04:48 +01:00
Oliver Schneider
21a0b16aee
adjust messages in tests 2017-02-21 12:04:29 +01:00
Oliver Schneider
c46178c518
rustfmt 2017-02-21 12:01:41 +01:00
Oliver Schneider
c1cf5a2cde
cleanup and create another helper function that we should use more often 2017-02-21 12:01:41 +01:00
Oliver Schneider
0bea3e76d4
fix explicit_into_iter_loop on references
fixes #1398
2017-02-21 12:01:41 +01:00
sinkuu
bf21c84629 Ensure deref_span is empty for Vec and String 2017-02-21 19:45:45 +09:00
sinkuu
cb86c57c5f Integrate suggestion spans 2017-02-21 19:03:50 +09:00
sinkuu
3516d45d7c Use multispan_sugg 2017-02-21 18:44:31 +09: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
627d24c80f Fix suggestion for let <pat> 2017-02-21 00:27:12 +09:00
sinkuu
f1b0b774e7 Support non-moving usages at match
This `match` is not moving the `String`:

```rust
fn foo(x: Option<String>) -> i32 {
    match x {
        Some(_) => 1,
        None => 2,
    }
}
```

With this change, it will be linted and suggested to add `*` to deref it.

```rust
fn foo(x: &Option<String>) -> i32 {
    match *x {
        Some(_) => 1,
        None => 2,
    }
}
```
2017-02-20 16:45:37 +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
Phil Ellison
2dd45b7317 Use span of impl/trait in len_without_is_empty error message, rather than the span of the len method 2017-02-19 15:14:30 +00:00
sinkuu
d2f73e7818 Add explanation 2017-02-19 18:07:37 +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
d2b9b7ece2 Fix language & if_let_chain usage 2017-02-18 10:14:25 +09:00
sinkuu
8cb2ec804d Support generic type 2017-02-18 10:14:25 +09: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
Oliver Schneider
9d8dc689c7 rustfmt again 2017-02-17 13:41:59 +01:00
Oliver Schneider
b1f766b37b fix dogfood tests 2017-02-17 13:23:19 +01:00
Andre Bogus
6c8a6c18ab deal with binary op short-circuit 2017-02-17 08:49:34 +01: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
05a6945adc Rust fmt 2017-02-17 08:39:58 +08:00
Ben Boeckel
84509ca48a typos: coma -> comma 2017-02-16 11:23:28 -05: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
2265babe6a
Merge remote-tracking branch 'origin/master' into clonedCollect 2017-02-13 11:40:02 +01:00
Oliver Schneider
b13d206a22 run rustfmt 2017-02-13 11:18:03 +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
Andre Bogus
2a0bfdcd72 rustfmt 2017-02-12 14:11:18 +01:00
Andre Bogus
36b8554cf1 add notes for immutable inputs 2017-02-12 13:53:30 +01:00
f001
b3570db094 update via comments 2017-02-12 20:40:38 +08:00
f001
5a039f68f7 format adjust 2017-02-12 17:24:59 +08:00
f001
98aa0db0ac Add a lint for slice.iter().cloned().collect()
If one uses `slice.iter().cloned().collect()` to create a new `Vec`,
it should be `slice.to_owned()`.

Fix #1292
2017-02-12 17:03:09 +08:00
Bood Qian
9824c997fe Remove unnecessary ref 2017-02-12 09:16:37 +08:00
Bood Qian
1c381ec642 Move more into if_let_chain 2017-02-11 22:11:19 +08:00
Bood Qian
12c53752b8 Apply rustfmt 2017-02-11 21:47:26 +08:00
Bood Qian
64d2f8af8e Lint on panic! only 2017-02-11 21:42:42 +08:00
Bood Qian
a2d752807a Lint on Err(_) arm of a match 2017-02-11 14:57:50 +08:00
Owen Sanchez
8fb582ea1c rustfmt 2017-02-10 21:08:50 -07:00
Owen Sanchez
45a7012fd9 Search directly for the largest and smallest variants instead of sorting 2017-02-10 18:12:32 -07:00
Owen Sanchez
1938904fcd Change large_enum_variant to lint against size differences rather than size 2017-02-10 18:12:32 -07:00
Owen Sanchez
7e4b633417 Add some writes to a log file for debugging 2017-02-10 18:11:10 -07:00
Andre Bogus
bff4c30ac7 added test, fixed message & description, rustfmt 2017-02-11 00:32:12 +01:00
Andre Bogus
5650a599a8 New mut_from_ref lint
This fixes #1507.
2017-02-10 19:39:03 +01:00
Martin Carton
37a0e52a1e Merge pull request #1520 from Manishearth/rustup
rustup and compile-fail -> ui test move
2017-02-08 21:07:19 +01:00
Nathan Musoke
f2603ba2b2 doc-markdown: Allow LaTeX-related words
Add "TeX", "LaTeX", "BibTeX" and "BibLaTeX" to the default list of allowed
words.
2017-02-08 09:14:18 +13:00
Oliver Schneider
fd1351f6e3 rustup and compile-fail -> ui test move 2017-02-07 21:05:30 +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
59e0ae75d0 Make rustfmt happy 2017-02-05 09:51:31 -07:00
Owen Sanchez
31919aff3b Revert changes from accidentally running rustfmt 2017-02-04 22:22:33 -07:00
Owen Sanchez
c922eb9db5 Suggest to use a wrapper in the wiki for the empty_enum lint 2017-02-04 22:09:54 -07:00
Owen Sanchez
1193f4fb68 Run update_lints.py 2017-02-04 21:54:21 -07:00
Owen Sanchez
49238ad1d2 Implement empty_enum lint and add a test 2017-02-04 21:52:44 -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
4b4dc0a4d3 Fix lint name in comment too 2017-02-05 11:06:19 +08:00
Oliver Schneider
d198b99472 fix false negatives introduced in the rustup 2017-02-04 16:59:06 +01:00
Bood Qian
9ace6c7ffc Consider expression with macro for possible missing comma lint 2017-02-04 21:13:36 +08:00
Oliver Schneider
384eb82526 don't record elided lifetimes on trait objects 2017-02-04 13:18:51 +01:00
Bood Qian
97301434cd Fix abbreviations in document 2017-02-04 20:11:43 +08:00
Bood Qian
25fd8c6ba1 Shorten lint name for possible missing comma 2017-02-04 20:05:25 +08:00