Commit graph

1483 commits

Author SHA1 Message Date
Hidehito Yabuuchi
7b59557dcd Don't lint range syntax with var name start and end 2018-03-05 14:31:37 +09:00
HMPerson1
3045f432c7
Fix #2496 2018-03-04 22:56:03 -05:00
flip1995
86ce897084
Fix unreadable_literal lint for scientific float notation 2018-03-04 16:28:34 +01:00
bootandy
e3c13da830 Change recomendation to: &[type] from Cow<type> 2018-03-03 12:25:20 -05:00
Alex Butler
fc5b377cec Fix #2494 add suggestion for unreadable_literal
Add `rustc --explain E0308` line to relevant tests
2018-03-03 12:25:20 -05:00
Bruce Mitchener
769a1d9b6c Fix single_char_pattern for \n, \t, etc.
Single characters that are escaped weren't being searched / replaced
correctly in the hint string, so it was saying to replace, say,
`"\n"` with `"\n"` rather than `'\n'`.
2018-03-02 22:00:01 +07:00
Karim Snj
7d35fab304 lint: while loop: detect if no var from the condition is mutated 2018-03-02 00:01:08 +01:00
Karim Snj
37eca59438 lint: while immutable condition: refactor to use hir::Visitor 2018-03-01 22:00:43 +01:00
Alex Butler
42000c6cf9
Fix #2494 add suggestion for unreadable_literal
Add `rustc --explain E0308` line to relevant tests
2018-03-01 15:26:39 +00:00
bootandy
9a002e52e5 Lint passing Cow by reference
Add lint for reference to Cow to the same place in the code where
lint for reference to String lives.

https://github.com/rust-lang-nursery/rust-clippy/issues/2405
2018-02-28 10:24:10 -05:00
Manish Goregaokar
539b4b61ec Bump to 0.0.187 2018-02-26 12:32:18 -08:00
Manish Goregaokar
a512fb265b oops 2018-02-26 12:31:29 -08:00
Manish Goregaokar
167d978372 Rustup to rustc 1.26.0-nightly (322d7f7b9 2018-02-25) 2018-02-26 11:57:14 -08:00
Karim Snj
5c1be4a4ba lint: immutable only vars in while condition 2018-02-25 18:25:31 +01:00
Oliver Schneider
6097b8240b
Merge pull request #2479 from gnieto/fix/authorLint
Fix author lint
2018-02-24 22:06:25 +01:00
Guillem Nieto
3ac84b2542 Remove explicit visit_qpath method
Instead of replacing the default behaviour of the visit_qpath method,
I've moved the printing code to private method of PrintVisitor
(print_qpath).
2018-02-24 19:34:51 +01:00
Guillem Nieto
8494f57c82 Fix author lint
The author lint was generating invalid code as shown on issue:
https://github.com/rust-lang-nursery/rust-clippy/issues/2442

I've changed the generated code to properly track cast
expressions.

Unfortunatelly, I've had to rewrite the `visit_decl` method, to
avoid that last if of the chain will be added. After looking at the code,
this last line was being added because of the `let x: char` part, but not
because of the `0x45df as char` expression.

It seems that let statements should not generate code on the author
lint, but I'm not sure that this is true or if I'm breaking
something on other code generation parts.

Finally, I've added a test for the author lint, but I'm not sure that
this needs to be added to the testsuite.
2018-02-24 02:19:47 +01:00
Manish Goregaokar
d5e233a720 Merge branch 'rustup' 2018-02-23 09:03:18 -08:00
Manish Goregaokar
f69fcc08d2 Update Rust to 063deba92e 2018-02-23 09:01:26 -08:00
Oliver Schneider
575c3c4b54
Merge pull request #2471 from bootandy/fix_span2
Fix: point to correct problem part of code, update test
2018-02-23 08:31:57 +01:00
bootandy
aef07e3392 Do not pass Span by reference 2018-02-22 10:11:20 -05:00
Oliver Schneider
5e6342d4ae
Merge pull request #2473 from phansch/handle_multiline_attributes
Lint multiline attributes properly
2018-02-21 21:44:04 +01:00
Philipp Hansch
d3d3d7d7be
Lint multiline attributes properly
This makes it so that the `empty_line_after_outer_attribute` lint only
checks for newlines between the end of the attribute and the beginning
of the following item.

We need to check for the empty line count being bigger than 2 because
now the snippet of valid code contains only `\n` and splitting it
produces `["", ""]`
Invalid code will contain more than 2 empty strings.
2018-02-21 21:29:05 +01:00
bootandy
a7c97256dc Stop unwanted newlines being applied on unwrap_or 2018-02-21 11:29:08 -05:00
bootandy
c708154c16 Simplify creation of span_replace_word
Part of unwrap_or test
2018-02-20 12:38:20 -05:00
bootandy
941e062fd4 Fix: point to correct problem part of code
Fix span so it no longer contains the whole train-wreck of code and only
points to the problem function (for the unwrap_or lint).

https://github.com/rust-lang-nursery/rust-clippy/issues/2422

Update ui test methods - it had several cases where the error message
span is now shorter
2018-02-19 12:14:53 -05:00
Philipp Krones
c43e053f3f
Merge branch 'master' into suspicious_impl 2018-02-19 13:04:14 +01:00
flip1995
aa20277a17 Lint for suspicious implementations of arithmetic std::ops traits 2018-02-13 15:40:17 +01:00
TomasKralCZ
42120141bd Suggestion fixed, simplified lint logic. 2018-02-12 11:26:00 +01:00
TomasKralCZ
85642ddd23 Implement redundant field names lint #2244 2018-02-10 22:52:31 +01:00
Oliver Schneider
6feb0dd982
Fixes #2426 (if_same_then_else false positive) 2018-02-09 15:31:55 +01:00
Oliver Schneider
ff32d5f734
Fix #2427 2018-02-09 15:25:12 +01:00
Oliver Schneider
88970ec8cf
Remove rarely used type_size helper function 2018-02-09 15:24:31 +01:00
Oliver Schneider
6f48e37d22
Merge pull request #2444 from phansch/fix_incorrect_useless_attribute_suggestion
Partly fix incorrect useless_attribute suggestion
2018-02-07 09:07:46 +01:00
Philipp Hansch
81f5969704
Partly fix incorrect useless_attribute suggestion
This fixes an incorrect suggestion from the `useless_attribute` lint
when using `cfg_attr`.

Additionally, it will not show a suggestion anymore, if the attribute
begins on a previous line, because it is much harder to construct the
span of multi-line `cfg_attr` attributes as they don't appear in the AST.

To fix it completely, one would have to parse upwards into the file,
and find the beginning of the `cfg_attr` attribute.
2018-02-06 22:35:11 +01:00
Jonathan Goodman
73f2ba5ded don't suggest eliding 'static on associated consts 2018-02-06 12:22:34 -06:00
flip1995
63a7daf78c Make decimal_literal_representation a restriction lint 2018-02-06 13:05:20 +01:00
Guillem Nieto
bcf2e41421 Fix ICE comparing ExprRange
`eq_expr` on hir::utils was throwing an ICE due to an invalid
LateContext being used. Due to this missusage, it was generating an ICE
with the code on the following issue:
https://github.com/rust-lang-nursery/rust-clippy/issues/2423
2018-02-06 01:06:32 +01:00
Oliver Schneider
503a63390d
Cleanup calls to layout_of 2018-02-05 11:28:09 +01:00
Oliver Schneider
ce47e529d2
Version Bump 2018-02-05 08:48:40 +01:00
Oliver Schneider
30a37efaac
Merge pull request #2433 from kimsnj/matches_sugg
Fix suggestions for ref matches
2018-02-05 08:21:21 +01:00
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
18f3f0dd62
Version bump 2018-01-08 11:43:01 +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
fae8a763f8
Bump to 0.0.177 2017-12-21 20:56:26 -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
Cyril Plisko
e7bd162585 Fix crates.io site name 2017-12-15 00:33:23 +02: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
Oliver Schneider
7525854f30
Version bump 2017-12-02 13:02:02 +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
Oliver Schneider
c362efa420
Version bump 2017-11-21 08:17:28 +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
Oliver Schneider
7ce3b74288
Version bump 2017-11-17 08:29:48 +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
Manish Goregaokar
fc2099b96d Bump to 0.0.168 2017-10-31 10:04:02 -07: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
Oliver Schneider
52c58335aa
Remove workspace and Cargo.lock 2017-10-18 08:22:06 +02: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