Oliver Schneider
90fcdafb79
Merge pull request #2608 from mrecachinas/feature/print-string-literal
...
Check for literals as println! args
2018-04-02 23:34:17 +02:00
Michael Recachinas
d504290839
Add edge case with env! arg to test and known problems
2018-04-02 21:14:29 +01:00
Philipp Hansch
b1b0b36cc0
Document the author lint
2018-04-02 14:55:00 +02:00
Michael Wright
e91404bcc3
Fix clippy warning
2018-04-02 07:35:13 +02:00
Michael Wright
0fbcb30303
Merge branch 'master' into dogfood_target_dir
2018-04-02 07:28:10 +02:00
Michael Wright
fcabbeb251
Fix clippy warning
...
Fix too_many_arguments on `check_general_case` by allowing it. I can't
see a sensible way of grouping the parameters.
2018-04-02 07:04:43 +02:00
Michael Wright
89cb053146
Fix clippy warning
...
Fix cyclomatic_complexity warning on `check_expr` by allowing it. This
is preferable to increasing the threshold every time the method changes.
2018-04-02 07:04:39 +02:00
Michael Wright
57af95b6f5
Fix clippy warning
...
Fix `option_option` warning on `to_const_range` by taking the entire range
as an parameter instead of the start and end.
2018-04-02 07:04:25 +02:00
Michael Wright
6397131f8a
Fix clippy warning
...
Allow `many_single_char_names` on `SpanlessHash::hash_expr`. Each
variable has a small scope and the method is readable.
2018-04-02 07:04:06 +02:00
Michael Recachinas
511aa654d7
Change declare_lint! to declare_clippy_lint!
2018-04-02 00:25:57 +01:00
Michael Recachinas
62220abfa6
Add implementation and tests for literal checking in print/println format args
2018-04-01 23:19:53 +01:00
Philipp Hansch
db1ec44616
Handle nested block comments
2018-03-30 12:36:50 +02:00
Philipp Hansch
bb4af196be
Move empty_line_after_outer_attribute to nursery
...
From the clippy side it's difficult to detect empty lines between
an attributes and the following item because empty lines and comments
are not part of the AST. The parsing currently works for basic cases
but is not perfect and can cause false positives.
Maybe libsyntax 2.0 will fix some of the problems around attributes but
comments will probably be never part of the AST so we would still have
to do some manual parsing.
2018-03-30 12:36:50 +02:00
Philipp Hansch
b7929cafe1
Fix false positive in empty_line_after_outer_attr
...
Before, when you had a block comment between an attribute and the
following item like this:
```rust
\#[crate_type = "lib"]
/*
*/
pub struct Rust;
```
It would cause a false positive on the lint, because there is an empty
line inside the block comment.
This makes sure that basic block comments are detected and removed from
the snippet that was created before.
2018-03-30 12:36:50 +02:00
Manish Goregaokar
83748f5e48
Rustup to rustc 1.26.0-nightly (ae544ee1c 2018-03-29)
2018-03-30 10:35:51 +02:00
Manish Goregaokar
9887b972d4
Merge pull request #2589 from rust-lang-nursery/rangearg
...
Move RangeArgument
2018-03-29 16:21:45 +02:00
Oliver Schneider
c1bbc173da
Address review comments
2018-03-29 13:41:53 +02:00
Manish Goregaokar
b75618206c
Move RangeArgument
2018-03-29 13:13:27 +02:00
Oliver Schneider
eafb9fe8df
Update test suite
2018-03-28 23:49:32 +02:00
Oliver Schneider
d6344c47e3
Categorize all the lints!
2018-03-28 15:24:26 +02:00
Oliver Schneider
ef9fdbb8a9
Implementation + move one lint
2018-03-27 17:13:55 +02:00
Oliver Schneider
96d5af36f8
Version bump
2018-03-27 12:14:46 +02:00
Oliver Schneider
b6e2c47df0
Merge pull request #2572 from flip1995/immut_while
...
Fix check of immutable condition in closure
2018-03-27 07:07:27 +02:00
Michael Wright
546d2fec29
Fix enum_glob_use false positives
...
Closes #2397 .
This checks the def of the `ItemUse` path instead of checking the
capitalization of the path segements. It was noted that this def would
sometimes be `Def::Mod` instead of `Def::Enum` but it seems correct now.
2018-03-27 06:34:11 +02:00
flip1995
7d29075132
Skip the mutation in while body case for closures
2018-03-27 02:13:06 +02:00
flip1995
d458f22d89
Fix check of immutable condition in closure
2018-03-27 01:21:25 +02:00
Oliver Schneider
b01b0083ba
Merge pull request #2576 from kimsnj/infinite_loop
...
while_immutable_condition: fix handling of self
2018-03-27 00:06:16 +02:00
Karim Snj
737247e50e
while_immutable_condition: limit suggestion span to condition
2018-03-26 23:24:57 +02:00
Karim Snj
85bcaad412
while_immutable_condition: fix handling of self
2018-03-26 23:16:54 +02:00
Philipp Hansch
034c81b761
Fix false positive in empty_line_after_outer_attribute
...
`empty_line_after_outer_attribute` produced a false positive warning when
deriving `Copy` and/or `Clone` for an item.
It looks like the second point in [this comment][that_comment] is related,
as the attribute that causes the false positive has a path of
`rustc_copy_clone_marker`.
Fixes #2475
[that_comment]: https://github.com/rust-lang/rust/issues/35900#issuecomment-245978831
2018-03-26 21:57:42 +02:00
Oliver Schneider
9fb63d5fc4
Merge pull request #2574 from mark-i-m/i128
...
i128 is stabilizing
2018-03-26 07:04:42 +02:00
Mark Mansi
f25d4fd253
make it pass for now
2018-03-25 21:04:05 -05:00
Mark Mansi
a4d869ca76
i128 is stable
2018-03-25 20:35:23 -05:00
Michael Wright
70d8f85e7e
Minor refactoring (walk_ptrs_ty_depth)
...
Replace `walk_ptrs_ty_depth` with `walk_ptrs_ty` when the depth value is
ignored.
2018-03-21 20:10:10 +02:00
Oliver Schneider
2d01f42dde
Merge pull request #2539 from Baelyk/master
...
Add suggestion to useless_format
2018-03-20 08:22:04 +01:00
Baelyk
48027105dc
Add suggestion to useless_format
...
Resolves #2505
Suggests that you use `"foo".to_string()` instead of `format!("foo")`.
2018-03-19 09:27:15 -05:00
Oliver Schneider
4edd140e57
Rustup
2018-03-18 13:26:57 +01:00
flip1995
ad459184a3
Don't lint comparison operators in arithmetic impls
2018-03-17 22:02:34 +01:00
flip1995
4fdc81dd7a
Check if the panic message was created by the assert-macro
2018-03-17 21:19:32 +01:00
Mateusz Mikuła
3b387eaabe
Allow float_cmp in consts lint code
...
Signed-off-by: Mateusz Mikuła <mati865@gmail.com>
2018-03-16 11:36:14 +01:00
Mateusz Mikuła
c7770bf907
Remove attributes for stable features
...
Signed-off-by: Mateusz Mikuła <mati865@gmail.com>
2018-03-16 11:09:05 +01:00
Mateusz Mikuła
4c94dd238f
Fix BiRem for floats
...
Signed-off-by: Mateusz Mikuła <mati865@gmail.com>
2018-03-16 10:54:49 +01:00
Mateusz Mikuła
cfb9b982c5
Apply clippy suggestions
...
Signed-off-by: Mateusz Mikuła <mati865@gmail.com>
2018-03-16 10:54:49 +01:00
Oliver Schneider
8749927973
Rustup
2018-03-16 09:44:20 +01:00
Mateusz Mikuła
a54e4661b7
Fix warning
...
Signed-off-by: Mateusz Mikuła <mati865@gmail.com>
2018-03-15 13:24:51 +01:00
Mateusz Mikuła
3662ee76ab
Merge branch 'miri'
2018-03-15 10:49:13 +01:00
Mateusz Mikuła
fd6542d0de
Rustup
...
Signed-off-by: Mateusz Mikuła <mati865@gmail.com>
2018-03-15 10:25:40 +01:00
Oliver Schneider
21f387d278
Update dependencies
2018-03-13 16:54:13 +01:00
Oliver Schneider
f7b2578aea
Update to rustc master
2018-03-13 11:38:21 +01:00
Hidehito Yabuuchi
d637163435
Fix comment
2018-03-11 14:03:09 +09:00
Hidehito Yabuuchi
ed769a3bc4
Ignore all macros in redundant_field_names
2018-03-11 13:57:28 +09:00
Karim Snj
ae5354e6ef
lint: while immutable condition: do not lint constants
2018-03-07 18:25:09 +01:00
Oliver Schneider
4cf02c7e1a
Merge pull request #2483 from kimsnj/infinite_loop
...
immutable while condition
2018-03-07 08:09:48 +01:00
Oliver Schneider
7d5ecd5ad5
Merge pull request #2511 from flip1995/sus_impl
...
UnNeg and UnNot count as additional operations now
2018-03-06 14:35:54 +01:00
Niklas Fiekas
d55890a2b1
Increase unreadable_literal digits ( fixes #1958 )
2018-03-06 14:24:01 +01:00
flip1995
ed4535641b
UnNeg and UnNot count as additional operations now
2018-03-06 13:58:03 +01:00
Karim Snj
1ea84c80c1
lint: while immutable condition: refactor to use ExprUseVisitor
2018-03-05 22:42:32 +01:00
Oliver Schneider
7dbf315cde
Merge pull request #2509 from ordovicia/redundant_field_names_range
...
Remove unused variable and a minor refactoring
2018-03-05 11:13:55 +01:00
Hidehito Yabuuchi
8e406760a4
Move call of is_range_expression()
outside of blocks
2018-03-05 18:20:27 +09:00
Oliver Schneider
05f92b84c9
Merge pull request #2507 from ordovicia/redundant_field_names_range
...
Don't lint range syntax with var name `start` and/or `end`
2018-03-05 09:41:00 +01:00
Hidehito Yabuuchi
e13dcd26e3
Unused variable is left
2018-03-05 17:40:42 +09:00
Oliver Schneider
40ebff8c7a
Merge pull request #2493 from bootandy/fix_cow
...
Lint passing Cow by reference
2018-03-05 09:35:11 +01:00
Hidehito Yabuuchi
cdb60c6547
Make redundant_field_name
not care range expressions
...
Hand-written `Range` struct family are treated normally.
2018-03-05 17:30:07 +09:00
Oliver Schneider
598acba7d5
Merge pull request #2497 from waywardmonkeys/single-char-pattern
...
Fix single_char_pattern for \n, \t, etc.
2018-03-05 08:43:17 +01:00
Oliver Schneider
6662aa41f9
Merge branch 'master' into fix_cow
2018-03-05 08:42:19 +01:00
Oliver Schneider
f071d1994f
Merge pull request #2504 from flip1995/lit_float_repr
...
Fix unreadable_literal lint for scientific float notation
2018-03-05 08:38:32 +01:00
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