Dale Wijnand
6ad7a92ff8
Expand on misrefactored_assign_op known problems
2018-07-24 08:39:18 +01:00
Oliver Schneider
afd91248ed
Rustup
2018-07-23 13:01:12 +02:00
Ryan Cumming
7c74c3e508
Wrap comment at 80 columns
2018-07-23 19:37:41 +10:00
Ryan Cumming
89a4558056
Add Known Problem for multiple lifetimes
2018-07-23 19:33:52 +10:00
Ryan Cumming
58459abd0c
Allow pass by reference if we return a reference
...
Currently this code will trigger `trivally_copy_pass_by_ref`:
```
struct OuterStruct {
field: [u8; 8],
}
fn return_inner(outer: &OuterStruct) -> &[u8] {
&outer.field
}
```
If we change the `outer` to be pass-by-value it will not live long
enough for us to return the reference. The above example is trivial but
I've hit this in real code that either returns a reference to either the
argument or in to `self`.
This suppresses the `trivally_copy_pass_by_ref` lint if we return a
reference and it has the same lifetime as the argument. This will likely
miss complex cases with multiple lifetimes bounded by each other but it
should cover the majority of cases with little effort.
2018-07-23 18:44:40 +10:00
Oliver Schneider
ff0e5f967f
Rewrite the print/write macro checks as a PreExpansionPass
2018-07-23 00:19:07 +02:00
Wim
26eea10ec1
Add known problem for redundant_closure lint
...
Documenting https://github.com/rust-lang-nursery/rust-clippy/issues/1439 until it gets fixed.
2018-07-21 18:05:02 +02:00
Oliver Schneider
8085ed733f
Don't invent new magic keywords
2018-07-21 12:36:01 +02:00
Oliver Schneider
2fa85d86e0
Rustup
2018-07-20 22:50:04 +02:00
Manish Goregaokar
1f65617372
Merge branch 'macro-use' into HEAD
2018-07-20 00:52:01 -07:00
Manish Goregaokar
77b0300a55
Merge branch 'pr-2939' into HEAD
2018-07-20 00:51:57 -07:00
Manish Goregaokar
3c2b54870e
Remove warning
2018-07-20 00:50:02 -07:00
Manish Goregaokar
5918a3fc1e
Remove import of if_chain
2018-07-20 00:50:02 -07:00
Alexander Regueiro
4d2c838a32
Update to nightly
2018-07-20 03:59:07 +01:00
flip1995
ac77a26b8a
Skip useless_attribute lint on allow(unused_imports) on extern crate items with macro_use
2018-07-19 13:59:25 +02:00
Manish Goregaokar
c7676356b8
Remove import of matches
2018-07-19 01:06:02 -07:00
Manish Goregaokar
5d74e2096b
Remove import of rustc
2018-07-19 00:53:23 -07:00
Manish Goregaokar
00ba67a12b
Remove import of lazy_static
2018-07-19 00:11:15 -07:00
Manish Goregaokar
c1745cde82
Remove import of serde
2018-07-19 00:02:08 -07:00
Manish Goregaokar
c05adc545c
Temporarily allow macro_use_extern_crate
2018-07-18 20:24:37 -07:00
Michael Wright
a05c9b63ce
use_self: Simplify spanning
2018-07-18 07:57:50 +02:00
Michael Wright
5bb52c4869
Fix use_self regressions
2018-07-17 08:20:49 +02:00
Michael Wright
847e4dcc0d
Merge branch 'master' into issue2894
2018-07-17 06:32:39 +02:00
Oliver Schneider
6992937002
Update for hir renamings in rustc
2018-07-16 15:07:39 +02:00
csmoe
8e929946fd
DeclKind
2018-07-16 11:48:33 +02:00
csmoe
8cf463fe93
StmtKind
2018-07-16 11:48:33 +02:00
csmoe
12ded030b6
TyKind
2018-07-16 11:48:33 +02:00
csmoe
5d4102ee78
BinOpKind
2018-07-16 11:46:37 +02:00
csmoe
1bd17e4fa2
ExprKind
2018-07-16 11:46:37 +02:00
Michael Wright
b90fc5edfa
Fix #2894
2018-07-15 10:38:40 +02:00
Oliver Schneider
5e085e4310
Remove use of ty_to_def_id
2018-07-15 02:04:23 +02:00
Oliver Schneider
1e9f076254
Ignore spans when comparing expressions
2018-07-15 00:00:27 +02:00
Michael Wright
60af4a8e13
Remove duplication in missing_inline
2018-07-08 08:06:24 +02:00
Manish Goregaokar
184b99de39
Merge branch 'pr-2889'
2018-07-06 23:20:01 -07:00
Oliver Schneider
28daee4c91
Rustup
2018-07-05 13:41:51 +02:00
gnzlbg
3fec3b47b6
refactor function
2018-07-05 01:53:40 +02:00
gnzlbg
14cbdf2607
do not apply lint to executable crate type
2018-07-04 16:39:52 +02:00
gnzlbg
999a00bf5e
address reviews
2018-07-04 15:32:55 +02:00
gnzlbg
7c4ec40346
add missing_inline lint
...
When turned on, the lint warns on all exported functions, methods,
trait methods (default impls, impls), that are not `#[inline]`.
Closes #1503 .
2018-07-04 13:50:39 +02:00
Oliver Schneider
547d9ca120
Rustup
2018-07-03 10:52:59 +02:00
Oliver Schneider
141f79f844
Rustup
2018-07-02 19:07:12 +02:00
Oliver Schneider
63041d070b
Rustup
2018-07-01 13:36:14 +02:00
Michael Wright
dfd9e10a2a
Use slightly neater check for static lifetimes
2018-07-01 11:58:29 +02:00
Georg Brandl
949f0d9c72
Fix badly mangled lint message for neg-cmp-op-on-partial-ord
2018-06-29 16:55:31 +02:00
Mateusz Mikuła
a24f77f65a
Bump the version
2018-06-29 09:55:20 +02:00
Mateusz Mikuła
48cb6e273e
Rustup
2018-06-29 09:49:05 +02:00
Mateusz Mikuła
b7d95f486b
Fix warnings
2018-06-28 13:33:11 +02:00
Oliver Schneider
656b26ea4f
Merge pull request #2832 from kennytm/non-copy-const
...
Lint against const items which are interior mutable.
2018-06-28 08:39:54 +02:00
Alex Vermillion
536e7c8f38
Removed placeholder doc-comments
...
There were comments instructing someone to insert an example, but an example was already present
2018-06-26 20:22:36 -05:00
Manish Goregaokar
73a80c5950
Merge pull request #2872 from rust-lang-nursery/pedantic-default
...
Move default_trait_access to pedantic
2018-06-26 13:03:31 -07:00
Oliver Schneider
052427e87a
Merge pull request #2873 from mati865/edition2018_next_step
...
Next step towards Rust 2018...
2018-06-26 11:11:53 +02:00
Oliver Schneider
0de3f36a02
Merge pull request #2849 from mikerite/issue_2741
...
Fix #2741
2018-06-26 11:08:19 +02:00
Michael Wright
4827bdcc1c
Merge branch 'master' into issue_2741
2018-06-26 07:46:56 +02:00
flip1995
b2fb01f23b
Use utils::opt_def_id() instead of def_id() to prevent ICE
2018-06-25 22:25:15 +02:00
Mateusz Mikuła
df3b9cc350
Format the code
2018-06-25 21:41:24 +02:00
Mateusz Mikuła
1036df5699
Fix clippy_lints doc-tests
2018-06-25 21:22:53 +02:00
Mateusz Mikuła
a6601f2d02
Enable rust_2018_idioms warning
2018-06-25 20:56:25 +02:00
Manish Goregaokar
9f24b9d4b3
Move default_trait_access to pedantic
2018-06-25 11:39:48 -07:00
Oliver Schneider
9f8624e5bf
Version bump
2018-06-25 18:18:50 +02:00
flip1995
203ad28021
resolve merge of NameAndSpan and ExpnInfo rust-lang/rust#51726
2018-06-25 12:25:20 +02:00
flip1995
535c168791
Fix the tests that got broken by the fixes
2018-06-25 12:25:20 +02:00
flip1995
c83fd39e0e
Resolve conflicts produced by GenericArgs
...
Addresses the move/zip of Lifetimes and Types vectors from hir::PathParameters into the args vector of GenericArgs
2018-06-25 12:31:39 +02:00
flip1995
d9a80d2f84
Resolve field, struct and function renaming
...
Addresses the errors produced by (re)moving, merging or renaming
structs, fields and methods by rust-lang/rust#48149 and rust-lang/rust#51580
2018-06-25 12:25:20 +02:00
kennytm
88b7603b16
Lint against const items which are interior mutable. Fix #1560 .
2018-06-23 03:35:36 +08:00
flip1995
6224e19b80
Check for arguments before accessing the first arg
2018-06-21 15:46:24 +02:00
Oliver Schneider
25510cfb13
Merge pull request #2790 from shnewto/vectors-to-indexing-slicing-lint
...
Extend `indexing_slicing` lint
2018-06-21 10:30:40 +02:00
Bruno Kirschner
fedd3ef711
Allows neg_cmp_op_on_partial_ord for external macros ( fixes #2856 ).
...
The macro always negates the result of the given comparison in its
internal check which automatically triggered the lint. As its an
external macro there was no chance to do anything about it which lead
to a white listing of all external macros to prevent further issues.
2018-06-20 11:58:15 +02:00
Shea Newton
c479b3bc28
Removing lint for constant usize
array indexing
...
This commit removes the logic in this PR that linted out-of-bounds constant `usize` indexing on arrays. That case is already handled by rustc's `const_err` lint. Beyond removing the linting logic, the test file and its associated stderr were updated to verify that const `usize` indexing operations on arrays are no longer handled by this `indexing_slicing` lint.
2018-06-19 21:30:43 +00:00
Shea Newton
4ec439bef0
Revisiting indexing_slicing test cases
...
This commit contains a few changes. In an attempt to clarify which test cases should and should not produce stderr it became clear that some cases were being handled incorrectly. In order to address these test cases, a minor re-factor was made to the linting logic itself.
The re-factor was driven by edge case handling including a need for additional match conditions for `ExprCall` (`&x[0..=4]`) and `ExprBinary` (`x[1 << 3]`). Rather than attempt to account for each potential `Expr*` the code was re-factored into simply "if ranged index" and an "otherwise" conditions.
2018-06-19 16:28:10 +00:00
Shea Newton
8b59542acc
Second pass at addressing changes requested
...
The changes reflected in this commit (requested in PR #2790 ) are as follows:
- Extended `INDEXING_SLICING` documentation to include the array type so that it is clearer when indexing operations are allowed.
- Variable `ty` defined identically in multiple scopes was moved to an outer scope so it's only defined once.
- Added a missing return statement to ensure only one lint is triggered by a scenario.
- Prettified match statement with a `let` clause. (I learned something new!)
- Added `&x[5..].iter().map(|x| 2 * x).collect::<Vec<i32>>()` and `&x[2..].iter().map(|x| 2 * x).collect::<Vec<i32>>()` to the test cases. The first _should trigger the lint/stderr_ and the second _should not_.
2018-06-19 16:28:10 +00:00
Shea Newton
a7c0ff3fa6
This commit represents an attempt to address changes requested in the process of reviewing PR #2790 .
...
The changes reflected in this commit are as follows:
- Revised `IndexingSlicingPass` struct name to IndexingSlicing for consistency with the rest of the code base.
- Revised match arm condition to use `(..)` shorthand in favor of `(_, _, _)`.
- Restored a couple telling variable names.
- Calls to `cx.span_lint` were revised to use `utils::span_help_and_lint`.
- Took a stab at refactoring some generalizable calls to `utils::span_help_and_lint` to minimize duplicate code.
- Revised INDEXING_SLICING declaration to pedantic rather than restriction.
- Added `&x[0..].get(..3)` to the test cases.
2018-06-19 16:28:10 +00:00
Shea Newton
5b759efa4c
Rename instances of array_indexing
...
This commit renames instances of `array_indexing` to `indexing_slicing` and moves the `indexing_slicing` lint to the `clippy_pedantic` group. The justification for this commit's changes are detailed in the previous commit's message.
2018-06-19 16:27:39 +00:00
Shea Newton
7af0c67855
Extend indexing_slicing
lint
...
Hey there clippy team! I've made some assumptions in this PR and I'm not at all certain they'll look like the right approach to you. I'm looking forward to any feedback or revision requests you have, thanks!
Prior to this commit the `indexing_slicing` lint was limited to indexing/slicing operations on arrays. This meant that the scope of a really useful lint didn't include vectors. In order to include vectors in the `indexing_slicing` lint a few steps were taken.
The `array_indexing.rs` source file in `clippy_lints` was renamed to `indexing_slicing.rs` to more accurately reflect the lint's new scope. The `OUT_OF_BOUNDS_INDEXING` lint persists through these changes so if we can know that a constant index or slice on an array is in bounds no lint is triggered.
The `array_indexing` tests in the `tests/ui` directory were also extended and moved to `indexing_slicing.rs` and `indexing_slicing.stderr`.
The `indexing_slicing` lint was moved to the `clippy_pedantic` lint group.
A specific "Consider using" string was added to each of the `indexing_slicing` lint reports.
At least one of the test scenarios might look peculiar and I'll leave it up to y'all to decide if it's palatable. It's the result of indexing the array `x` after `let x = [1, 2, 3, 4];`
```
error: slicing may panic. Consider using `.get(..n)`or `.get_mut(..n)`instead
--> $DIR/indexing_slicing.rs:23:6
|
23 | &x[0..][..3];
| ^^^^^^^^^^^
```
The error string reports only on the second half's range-to, because the range-from is in bounds!
Again, thanks for taking a look.
Closes #2536
2018-06-19 16:27:08 +00:00
uHOOCCOOHu
ce1800d599
Check lifetimes in Fn traits in generic bounds.
...
Add tests.
2018-06-19 21:25:38 +08:00
Oliver Schneider
d761ba78d8
Merge pull request #2837 from fanzier/panicking_unwrap
...
Implement lint checking for `unwrap`s that will always panic.
2018-06-19 13:30:38 +02:00
Oliver Schneider
4839c790ae
Merge pull request #2844 from illicitonion/default_trait_access
...
Add default_trait_access lint
2018-06-19 10:10:20 +02:00
Oliver Schneider
7d672888fe
Version bump
2018-06-19 09:56:37 +02:00
Michael Wright
7df5601f5c
Merge branch 'master' into issue_2741
2018-06-19 07:41:52 +02:00
Michael Wright
0f83c68698
Replace Constant::partial_cmp
2018-06-19 07:37:09 +02:00
Daniel Wagner-Hall
b24d75313e
Exclude generated code
2018-06-18 10:29:25 +01:00
Mateusz Mikuła
8625cfb988
Version bump
2018-06-18 09:56:58 +02:00
Michael Wright
7a32c28931
Fix #2741
2018-06-16 18:33:11 +02:00
Wim Looman
621fdcc3bc
Dogfood new trivially_copy_pass_by_ref lint
2018-06-15 16:53:34 +02:00
Wim Looman
700ece5648
Allow configuring the trivial copy size limit
2018-06-15 16:53:34 +02:00
Wim Looman
7547a4ddef
New Lint: Pass small trivially copyable objects by value
...
Fixes #1680
Hardcoded for 64-bit "trivial" size for now
2018-06-15 16:53:34 +02:00
Manish Goregaokar
0c23112846
More doc fixes
2018-06-15 00:20:46 -07:00
Manish Goregaokar
00a0efc566
Doc fix syntax
2018-06-15 00:19:19 -07:00
Daniel Wagner-Hall
4866309f9d
Add default_trait_access lint
2018-06-14 09:11:46 +01:00
Oliver Schneider
26bc88d48c
Merge pull request #2839 from mikerite/duration_subsec_pr_2
...
Add duration_subsec lint
2018-06-12 06:30:20 -07:00
Fabian Zaiser
817da4c00a
Fix documentation
2018-06-12 15:06:46 +02:00
Fabian Zaiser
35d1b19a03
Fix markdown.
2018-06-12 15:06:46 +02:00
Fabian Zaiser
8682858e2c
Categorize the unwrap lints correctly.
2018-06-12 15:06:46 +02:00
Fabian Zaiser
0c6730d851
Update known problems.
2018-06-12 15:04:44 +02:00
Fabian Zaiser
23404287fc
Implement lint checking for unwrap
s that will always panic.
2018-06-12 15:04:44 +02:00
Michael Wright
725e9621d0
duration_subsec: Add check for subsec_micros
2018-06-12 08:25:10 +02:00
Oliver Schneider
8f0edba6e9
Merge pull request #2815 from darArch/master
...
Warn if non-trivial work is done inside .expect
2018-06-11 06:33:26 -07:00
Donald Robertson
c6fb47331a
Updating docs to reflect more recent changes to expect_fun_call lint
2018-06-11 14:17:40 +01:00
Michael Wright
2d427ea7ee
Merge branch 'master' into duration_subsec_pr_2
2018-06-11 07:48:10 +02:00
Oliver Schneider
8fe90e41d0
Publish preparation
2018-06-10 06:22:07 +02:00
Michael Wright
b0d364cb3e
duration_subsec: fix declaration; correctly classify
2018-06-09 11:04:21 +02:00
Michael Wright
7b2fa2077f
Add duration_subsec lint
...
Closes #2543
2018-06-09 10:21:26 +02:00
Oliver Schneider
91986fa933
Merge pull request #2836 from mati865/upcoming_breakage
...
Upcoming breakage
2018-06-09 06:56:39 +02:00
Fabian Zaiser
54826cf72e
Address review comments.
2018-06-08 06:02:25 +02:00
Fabian Zaiser
81821acd59
Implement lint that checks for unidiomatic unwrap()
( fixes #1770 )
...
This checks for things like
if x.is_some() {
x.unwrap()
}
which should be written using `if let` or `match` instead.
In the process I moved some logic to determine which variables are
mutated in an expression to utils/usage.rs.
2018-06-08 05:29:25 +02:00
Mateusz Mikuła
3693a4ea53
Formatting
2018-06-07 22:01:46 +02:00
Oliver Schneider
2a2e602f2a
Merge pull request #2833 from phansch/cannot_relate_bound_region_without_ICE_cream
...
Fix cargo late bound region mismatch ICE
2018-06-07 11:52:32 +02:00
Philipp Hansch
17aff1d774
Fix cargo late bound region mismatch ICE
2018-06-07 07:42:45 +02:00
Donald Robertson
e70632215e
Combining if statements per lint warnings on build
2018-06-06 20:38:13 +01:00
Donald Robertson
9c73f7ff18
Amending use of Some with discarded value to use is_some
2018-06-06 17:13:31 +01:00
Donald Robertson
e67d2b2663
Added check to ensure format macro only being handled, refactored extraction and checks to smaller functions.
2018-06-06 16:53:11 +01:00
Oliver Schneider
7563d8155b
Merge pull request #2804 from utaal/expr-call-author
...
Add support for ExprCall in clippy::author
2018-06-06 15:17:47 +02:00
Donald Robertson
451fd5feb9
Extracting arguments to format to pass directly to panic when appropriate
2018-06-05 21:15:08 +01:00
Oliver Schneider
1e1b4e26ea
Merge pull request #2814 from VKlayd/fn_to_int
...
WIP: Add lint on cast Fn to all numerical except usize.
2018-06-05 17:08:33 +02:00
Donald Robertson
32404741c6
Replacing match block with if block as conditional was boolean
2018-06-04 19:43:03 +01:00
Donald Robertson
1ead12c500
Adding handling and tests for custom type with implemented expect method
2018-06-04 19:43:03 +01:00
Donald Robertson
fe8c9d5965
Ensuring correct lint message is output for Option and Result type
2018-06-04 19:43:03 +01:00
Donald Robertson
2b36017bad
Removing unnecessary allow
2018-06-04 19:43:03 +01:00
Donald Robertson
05c1ccebaf
Warn if non-trivial work is done inside .expect
...
- added tests for common usages of format and as_str arguments to expect
- added tests for usages of Option and Result types
- given performance impact of passing non literal expressions to expect, added to perf group
2018-06-04 19:43:03 +01:00
Bruno Kirschner
28f735bb26
Cleaned implements_ord helper function in boolean lint file.
2018-06-03 22:56:17 +02:00
Bruno Kirschner
80728a2201
Reduced scope of nonminimal_bool
so that it doesn't evaluate only partially orded types.
2018-06-03 21:46:09 +02:00
Bruno Kirschner
09ea75bee9
Fixed spelling and indentation issues in neg_cmp_op_on_partial_ord related files.
2018-06-03 21:46:09 +02:00
Bruno Kirschner
86304d8dde
Use declare_clippy_lint instead of declare_lint.
2018-06-03 21:46:09 +02:00
Bruno Kirschner
6d51559f62
Added lint to avoid negated comparisions on partially ordered types.
2018-06-03 21:46:09 +02:00
Oliver Schneider
c6d53ad2c0
Merge pull request #2813 from terry90/master
...
unreadable_literal: Fills hexadecimal values with 0 to allow better grouping
2018-06-03 12:53:45 +02:00
Terry Raimondo
2c1451817c
Compute digits vec only once
2018-06-03 12:26:50 +02:00
Oliver Schneider
1c6c79f92c
Version bump
2018-06-03 08:59:10 +02:00
Victor Korkin
24ab207671
Divide FN_TO_NUMERIC lint into two.
...
FN_TO_NUMERIC_CAST_WITH_TRUNCATION is correctness check
FN_TO_NUMERIC_CAST is only style check
2018-06-01 23:08:11 +07:00
Oliver Schneider
1ba658772a
Merge pull request #2816 from mockersf/multiple-impl
...
adding to restriction a lint that check for multiple inherent implementations
2018-05-31 13:33:35 +02:00
Oliver Schneider
41f23f5b4d
Merge pull request #2819 from zayenz/no-op-ref-in-macro
...
avoid op-ref in macros
2018-05-31 12:02:09 +02:00
Oliver Schneider
bb2f6a5011
Merge pull request #2821 from mati865/rust-2018-migration
...
Rust 2018 migration
2018-05-30 15:55:11 +02:00
Victor Korkin
e6811b9c26
Fix 'help' message
2018-05-30 16:55:03 +07:00
Mateusz Mikuła
424a33720d
Run rustfix
2018-05-30 10:15:50 +02:00
Mateusz Mikuła
26f3feb980
Add rust_2018_preview feature and fix rustfmt annotation
2018-05-30 10:10:01 +02:00
Victor Korkin
b69520f5fd
Fixes for suggestion message, tests and lint explanation.
2018-05-30 11:48:46 +07:00
Victor Korkin
e4b2a97401
weird thing
2018-05-30 07:55:48 +07:00
François Mockers
d372f1674d
move lint to restriction group
2018-05-29 21:28:52 +02:00
François Mockers
44f4ea6dbf
adding to pedantic a lint that check for multiple inherent implementations
2018-05-29 21:28:52 +02:00
Devon Hollowood
9118cd633e
Simplify lifetime-differences-only detection
...
Now instead of reinventing the wheel with differ_only_in_lifetimes(), we
use TyCtxt's erase_regions()
2018-05-29 09:18:49 -07:00
Devon Hollowood
8134863c13
Fix behavior with generic lifetime parameters
2018-05-29 09:18:49 -07:00
Devon Hollowood
2a606b5220
Don't lint lifetime-only transmutes
2018-05-29 09:18:49 -07:00
Victor Korkin
f6e0388e08
Change lint type to unique and add the suggestion.
2018-05-29 22:56:38 +07:00
Oliver Schneider
400aab9232
Merge pull request #2820 from flip1995/unused_def_conf
...
Remove unused define_conf-macro definitions
2018-05-29 15:30:32 +02:00
flip1995
3a41e0172c
Remove unused define_conf-macro definitions
2018-05-29 14:51:16 +02:00
Oliver Schneider
a338fa9b95
Fix dogfood
2018-05-29 14:45:10 +02:00
Mikael Zayenz Lagerkvist
f97c38de94
avoid op-ref in macros
...
Avoid running op-ref inspection in macros since the macro
may be invoked in many different types of contexts.
Solves #2818 and incidentally avoids #2689 .
2018-05-29 13:17:37 +02:00
Oliver Schneider
ce229b2025
Version bump
2018-05-29 11:58:58 +02:00
Mateusz Mikuła
8ed8ee895a
Update to nightly 2018-05-28
2018-05-29 10:56:58 +02:00
Victor Korkin
cf8f379657
Add lint on cast Fn to numerical.
2018-05-28 23:31:55 +07:00
Andrea Lattuada
e86268e67f
Add support for ExprCall in clippy::author
2018-05-28 14:48:34 +02:00
Terry Raimondo
b81fd202a0
Add tests
...
Fix tests
2018-05-28 14:23:06 +02:00
Terry Raimondo
2033a1eb0e
unreadable_literal: Fills hexadecimal values with 0 to allow grouping (c.f #2300 )
2018-05-28 13:55:27 +02:00
Oliver Schneider
0d1e06d638
Merge pull request #2808 from Aaronepower/master
...
Added lint for unnecessary references.
2018-05-28 13:50:31 +02:00
Aaron Power
8b679176fa
Added lint for unnecessary references
2018-05-28 13:07:19 +02:00
Oliver Schneider
b979f62aab
Merge pull request #2810 from Aaronepower/stable_feature_flags
...
Removed stable feature flags
2018-05-28 12:59:25 +02:00
Oliver Schneider
9d12b04c32
Merge pull request #2806 from mockersf/loop-mut-cond
...
better parsing of condition in while loop for mutability
2018-05-28 12:55:44 +02:00
Oliver Schneider
f30db144dc
Merge pull request #2805 from reiner-dolp/update_lints
...
running update lints script
2018-05-28 12:51:44 +02:00
Aaron Power
1931f53396
Removed stable feature flags
2018-05-28 10:03:27 +02:00
Aaron Power
ceea20153c
Refactored nested if lets to if_chain! macro
2018-05-28 09:50:25 +02:00
François Mockers
5379fc1b28
better parsing of condition in while loop for mutability
...
allow condition to be a block: by calling visit_expr of the visitor directly on the condition instead of walk_expr on the whole expression, we bypass the match to ExprWhile that calls visit_expr on the condition and visit_block on the body. This allow to re-enable visit_block in the visitor, as it won't be called on the while body
allow condition to use static variables: maintain a list of static variables used, and if they are mutable
2018-05-27 23:59:07 +02:00
Reiner Dolp
78b8d5cf1a
running update lints script
2018-05-27 16:16:41 +02:00
Oliver Schneider
fc008aa14c
Rustup
2018-05-26 10:23:34 +02:00
Michael A. Plikk
1f10dd2606
Fix note on macro outside current crate. Changed group to restricted
2018-05-24 19:38:40 +02:00
Michael A. Plikk
88c3c2f1c2
Rename panic files to panic_unimplemented
2018-05-24 10:04:18 +02:00
Michael A. Plikk
77794e91e2
Create lint for unimplemented!()
2018-05-24 10:04:18 +02:00
Mateusz Mikuła
a1c44e966e
Update to nightly 2018-05-22
...
Fixes #2788
2018-05-23 14:47:48 +02:00
Mateusz Mikuła
3c6503eb4b
Format code
2018-05-22 10:21:42 +02:00
Philipp Hansch
74be5632a3
Fix chrono crash due to empty param_env
2018-05-21 17:58:34 +02:00
Oliver Schneider
79d870ef66
Merge pull request #2777 from rust-lang-nursery/scoped_attrs
...
Use the new scoped tool attributes
2018-05-20 09:56:55 +02:00
Cyril Plisko
7b715583d4
rustup to nightly 2018-05-19
...
clippy_lints does not compile: non-primitive cast: `rustc_target::abi::Size` as `usize`
Fixes #2780
2018-05-20 09:20:01 +03:00
Oliver Schneider
e0df4ccfc5
Use the new scoped tool attributes
2018-05-19 14:04:57 +02:00
Philipp Hansch
ed885dc2b3
Fix ICE for issues 2767, 2499, 1782
2018-05-17 21:12:07 +02:00
Philipp Hansch
6eb07cc5b6
Fix ICE for issue 2594
2018-05-17 21:12:06 +02:00
Mateusz Mikuła
f0c823a85e
Rustup to 2018-05-16
2018-05-17 11:21:15 +02:00
Christopher Durham
2c2e7f4d5f
Update for rust-lang/rust#50536
...
Fixes #2757
2018-05-14 04:34:11 -04:00
Philipp Hansch
ecf4f5128f
Fix two typos
2018-05-13 13:47:54 +02:00
Philipp Hansch
26b48bbdfc
Rustup to 2018-05-13
2018-05-13 10:44:57 +02:00
Oliver Schneider
22bef4ce28
Patterns, locals and matches for author lint
2018-05-11 19:05:34 +02:00
Oliver Schneider
39c0f575f2
Reintroduce the lost (im)mutability checks
2018-05-11 09:53:22 +02:00
Philipp Hansch
665cf96221
Rustup to 2018-05-11
2018-05-11 09:53:21 +02:00
Philipp Hansch
be3cba8852
Merge pull request #2735 from rust-lang-nursery/ice_melting
...
Check that we don't treat any type but a range type as a range
2018-05-09 21:56:34 +02:00
flip1995
db4e7ac725
panic_params: don't lint escaped squigglies
2018-05-09 12:29:28 +02:00
Oliver Schneider
c6e35eae53
Check that we don't treat any type but a range type as a range
2018-05-08 17:16:01 +02:00
NiekGr
e7a6b3e613
Update len_zero to handle comparisions with one
...
I have added test cases for comparisons with zero and one.
While implementing handling of one, incorrect handlings of zero
were also fixed.
fixes rust-lang-nursery/rust-clippy/#2554
2018-05-06 23:54:05 +02:00
Michael Wright
1477f34858
Fixes compilation for rust nightly 2018-05-05
...
Closes #2725
2018-05-06 14:05:41 +02:00
Evan Simmons
d4b536f540
Fix 1x..x.0 false positive, pretty suggestion
2018-05-05 09:45:14 -07:00
Oliver Schneider
c1b39c4551
Merge pull request #2713 from alexreg/nightly-fix
...
Fixed build for latest rust master
2018-05-04 15:06:59 +02:00
Oliver Schneider
9ce6fb34ca
Satisfy dogfood
2018-05-04 12:59:45 +02:00
Oliver Schneider
8c9bb89608
Update inline_fn_without_body.rs
2018-05-04 10:17:30 +02:00
Alexander Regueiro
00b549ad40
Fixed build for latest nightly (again)
2018-05-03 23:28:48 +01:00
Oliver Schneider
c7ce6c07b1
Rustup field -> method transition of ..=
2018-05-03 15:52:44 +02:00
Oliver Schneider
8f1a98ff08
remove unused crate import
2018-05-03 10:56:02 +02:00
Oliver Schneider
77de1000d7
Merge pull request #2714 from imp/2709_simplify_some_internal_code
...
Simplify some internal code
2018-05-01 22:14:42 +02:00
Oliver Schneider
ee574464c8
Merge pull request #2711 from phansch/fix_2707
...
Prevent crash when macro was in different file
2018-05-01 21:28:48 +02:00
Cyril Plisko
e94ec44ab3
Simplify some internal code
...
Addresses #2709
2018-05-01 20:33:32 +03:00
Philipp Hansch
5d36edc90d
Prevent crash when macro is in different file
...
This was caused by a macro in a different file.
The `target.span` was be in the file of the macro definition and the
`item.span` in the file of the calling code.
2018-05-01 18:46:15 +02:00
Alexander Regueiro
c7ff9334a6
Fixed build for latest nightly
2018-05-01 17:10:25 +01:00
Oliver Schneider
f69dd6ad2c
Merge pull request #2672 from ysimonson/multiple-crate-versions
...
Lint for multiple versions of dependencies
2018-05-01 16:48:53 +02:00
Oliver Schneider
ce9715a834
Merge pull request #2701 from nathan/patch-1
...
Add third variant to {pub_,}enum_variant_names examples
2018-05-01 16:47:53 +02:00
Yusuf Simonson
7de706b34b
Lint for multiple versions of dependencies
2018-04-30 06:20:39 +07:00
Philipp Hansch
1712e18b77
Rustup to latest nightly
...
Due to https://github.com/rust-lang/rust/pull/48995 and
https://github.com/rust-lang/rust/pull/49894
2018-04-28 12:56:31 +02:00
Nathan
3373fa97e2
Add third variant to {pub_,}enum_variant_names examples
...
The default value for `enum-variant-name-threshold` is 3, so the old examples (which only have two enum variants) don't actually trigger the lint by default.
2018-04-27 18:47:11 -04:00
Oliver Schneider
d45612e606
Merge pull request #2696 from nathan/patch-1
...
Fix rustfmt-induced missing line comments in examples
2018-04-27 23:43:57 +02:00
Mateusz Mikuła
cc7d66aa9c
rustup
2018-04-27 14:00:43 +02:00
Nathan
c9c649b315
Remove extraneous `'s in {wrong,crosspointer}_transmute examples
2018-04-27 02:43:16 -04:00
Nathan
78b141d937
Fix missing line comments in {drop,forget}_copy examples
2018-04-27 02:40:19 -04:00
Nathan
7f0f8acb42
Fix missing line comment in drop_ref example
2018-04-27 02:39:14 -04:00
Nathan
8ad5cb6170
Fix missing line comment in crosspointer_transmute example
2018-04-27 02:37:40 -04:00
Nathan
f327f26113
Fix missing line comment in doc_markdown example
...
rustfmt [wrapped the line](b25b6b3355 (diff-561823671726302d969756ded53a13a7L22)
), so we need a second `///`
2018-04-27 02:31:36 -04:00
Oliver Schneider
3b6440212d
Merge pull request #2673 from estk/excessive_precision
...
Excessive precision
2018-04-25 18:37:42 +02:00
Evan Simmons
9b14ad493b
New excessive precision lint for floats
2018-04-24 15:18:23 -07:00
Devon Hollowood
f0e09d43c9
Make cast_ptr_alignment ignore c_void
2018-04-24 11:37:51 -07:00
Oliver Schneider
faefb4f225
Merge pull request #2684 from 17cupsofcoffee/infallible-destructuring-match
...
Lint for destructuring tuple structs/variants with an infallible single-armed match
2018-04-24 19:08:27 +02:00
Joe Clay
3c38a36d5a
Implement lint for destructuring tuple structs with a let and a match ( closes #2671 )
2018-04-24 17:56:13 +01:00
Brad Gibson
1969d423a7
Corrected messaging to warn against less- to more-strictly align types, rather than the other way around. No logic changes required.
2018-04-23 10:59:53 -07:00
Michael Recachinas
54c0edcfe8
Add smaller check_unformatted to write.rs and fix precision,width,align false positive
2018-04-21 19:51:58 +01:00
Oliver Schneider
c5b39a5917
Version bump
2018-04-19 08:36:22 +02:00
Oliver Schneider
f786a36949
Rustup
2018-04-17 10:52:25 +02:00
Oliver Schneider
ae3213747d
Merge pull request #1467 from philipturnbull/option_map_nil_fn
...
Lint `Option.map(f)` where f returns unit
2018-04-15 16:14:25 +02:00
Philipp Hansch
26b9911e07
Refactor out enum and address nits
2018-04-15 15:37:11 +02:00
Oliver Schneider
9dc9487567
Version bump
2018-04-15 15:01:48 +02:00
MSI\Stew's Laptop
d175c797e5
fixing error message for empty println macro
2018-04-15 14:00:28 +02:00
Philipp Hansch
4f4e20c561
Also lint Result.map for unit returns
2018-04-15 13:59:57 +02:00
Philipp Hansch
8307a899e9
Rename option_map_unit_fn to map_unit_fn
2018-04-15 13:01:10 +02:00
Philipp Hansch
d54f70f1f6
Generate let binding variable name for some cases
...
Given a map call like `x.field.map ...` the suggestion will contain:
`if let Some(x_field) ...`
Given a map call like `x.map ...` the suggestion will contain:
`if let Some(_x) ...`
Otherwise it will suggest: `if let Some(_) ...`
2018-04-15 13:01:10 +02:00
Philipp Hansch
d87385b406
Use approximate_suggestion for non-reducible closures
2018-04-15 13:01:10 +02:00
Philipp Hansch
7de707fdba
Remove further semicolon reduction
2018-04-15 13:01:10 +02:00
Philipp Hansch
a3ff21f4d6
Rename lint to option_map_unit_fn
...
Rust does not have nil.
2018-04-15 13:01:09 +02:00
Philipp Hansch
fbd71f901f
Use declare_clippy_lint and 'complexity' category
2018-04-15 13:01:09 +02:00
Philipp Hansch
ca60e8a2a0
Cleanup misc::check_nan
...
This was a bit messed up after a bigger rebase.
2018-04-15 13:01:09 +02:00
Philipp Hansch
991a30237a
Make it compile again
2018-04-15 13:01:09 +02:00
Phil Turnbull
d0bdfe5ce3
Handle non-trivial nil closures
...
`reduce_nil_closure` mixed together a) 'is this a nil closure?' and b) 'can it
be reduced to a simple expression?'. Split the logic into two functions so we
can still generate a basic warning when the closure can't be simplified.
2018-04-15 13:01:09 +02:00
Phil Turnbull
2f52d1d568
Return Spans instead of Cow<&str>'s
2018-04-15 13:01:09 +02:00
Phil Turnbull
30f2480fd8
Lint closures that return nil
2018-04-15 13:01:09 +02:00
Phil Turnbull
302f5d05f5
Lint Option.map(f)
where f never returns
2018-04-15 13:01:09 +02:00
Phil Turnbull
e5ecbb55ee
Lint Option.map(f)
where f returns nil
2018-04-15 13:01:09 +02:00
Oliver Schneider
b2e4b88d18
Merge pull request #2662 from mikerite/issue_2546
...
Fix useless_format false negative
2018-04-15 11:57:57 +02:00
Michael Wright
d171e8987e
Fix clippy error
2018-04-15 05:20:30 +02:00
Michael Wright
a9c8d1bd90
Fix compilation for nightly 2018-04-15
...
This only fixes compilation and the build. It's possible that the `author`
and `inspector` lints are broken but there are no failing tests.
Closes #2667
2018-04-15 05:01:43 +02:00
Stefano Probst
01faa906d2
Fix Markdown link syntax in lint doc
...
Currently this link is wrong rendered. See https://rust-lang-nursery.github.io/rust-clippy/v0.0.193/index.html#iter_next_loop
2018-04-14 11:35:52 +02:00
Michael Wright
c7ad71ccf2
Fix clippy warnings
2018-04-12 08:50:42 +02:00
Michael Wright
6ae617b313
Fix useless_format false negative
...
Closes #2546
2018-04-12 08:21:03 +02:00
Oliver Schneider
8ec61a613a
Merge pull request #2661 from devonhollowood/ptr-ptr-casts
...
Replace `misaligned_transmute` lint
2018-04-11 13:23:15 +02:00
Devon Hollowood
b77d74030b
Deprecate misaligned_transmute
2018-04-11 02:50:04 -07:00
Devon Hollowood
c6bc682325
Fix misaligned_transmute lint
...
This is done by adding two new lints: cast_ptr_alignment and
transmute_ptr_to_ptr. These will replace misaligned_transmute.
2018-04-11 02:17:59 -07:00
Oliver Schneider
0692b2bb92
Temporarily disable the needless_borrow lint
2018-04-08 11:13:46 +02:00
Oliver Schneider
d247d9c690
Merge pull request #2645 from TimNN/regex-bytes-utf8
...
Allow invalid UTF-8 in bytes Regexes
2018-04-08 08:58:38 +02:00
Evan Simmons
d712991917
New lints for write! / writeln! macros.
2018-04-07 22:45:26 -07:00
Tim Neumann
fad826f966
allow invalid UTF-8 in bytes Regexes
2018-04-07 22:18:51 +02:00
Philipp Hansch
90e7d93d6c
Fix nonminimal_bool false positive
...
It was checking any is_ok, is_err, is_some, is_none method for negation
but it should only perform the check for the built-in types, not custom
types.
2018-04-07 12:52:59 +02:00
Oliver Schneider
fbb5050d82
Merge pull request #2641 from rcoh/patch-2
...
Update hash_xor_eq docs to match behavior
2018-04-07 09:42:54 +02:00
Russell Cohen
4b3326efd0
Fix docs to match behavior
2018-04-06 22:44:25 -07:00
Michael Wright
fe8068c41b
Fix compilation for nightly 2018-04-06
...
Breakages for introduced by rust pull request
'AST: Give spans to all identifies' - rust-lang/rust/pull#49154
Closes #2639
2018-04-07 07:32:30 +02:00
Oliver Schneider
62d595b3dc
Merge pull request #2632 from phansch/fix_useless_format_false_positive
...
Fix useless_format false positive with macros
2018-04-05 09:59:12 +02:00
Philipp Hansch
ff98e3f9f5
Fix useless_format false positive with macros
...
Clippy was issuing a warning when `format!` was used inside a macro.
That's a problem because macros have different syntax and can be outside
the control of the user.
This skips the `useless_format` check if the `format!` call is inside a
macro.
2018-04-05 07:52:26 +02:00
Manish Goregaokar
2046694029
Bump version to 0.0.192
2018-04-04 18:00:21 -07:00
Manish Goregaokar
51336711d3
Remove uses of ExprKind::Inplace
2018-04-04 17:56:44 -07:00
flip1995
cecfdeab19
Don't trigger while_immutable_condition for mutable fields of tuples/structs
2018-04-03 16:41:30 +02:00
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
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
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 const
s with const fn
s
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
Mrmaxmeier
d68f0797bf
Rustup to nightly from 2017-01-31
2017-02-03 14:16:14 +01:00
Mrmaxmeier
2be75ef973
repeat_str feature has been stablilized
2017-02-03 14:16:14 +01:00
Mrmaxmeier
2216a890a6
TyCtxt::map is now called TyCtxt::hir
2017-02-03 14:16:07 +01:00
Bood Qian
33577ec3f7
Lint for possible missing comma in an array #1177
2017-02-03 19:10:30 +08:00
Martin Carton
b1be0d6457
Merge pull request #1492 from Manishearth/largeEnumVariant
...
large_enum_variants lint suggests to box variants above a configurable limit
2017-01-31 19:12:43 +01:00
Oliver Schneider
909ef37f08
Merge pull request #1490 from Manishearth/excl_range_pat_overlap
...
correctly check exclusive range patterns for overlap
2017-01-31 12:40:21 +01:00
Oliver Schneider
75f605ccf6
rustfmt
2017-01-31 11:26:18 +01:00
Oliver Schneider
9bda699c80
improve messages and add suggestions
2017-01-31 08:36:39 +01:00
Oliver Schneider
d9ec55e695
address nits
2017-01-31 08:08:54 +01:00
Ben Boeckel
2cdba9cd85
methods: fix the option_unwrap_used message
...
It had a hard linewrap in it rather than flowing naturally. This
confused the Vim error matching.
2017-01-30 10:44:52 -05:00
Oliver Schneider
82dd50d0e2
large_enum_variants lint suggests to box variants above a configurable limit
2017-01-30 13:17:56 +01:00
Oliver Schneider
aebdf74e16
correctly check exclusive range patterns for overlap
2017-01-30 12:30:16 +01:00
Pascal Hertleif
2ba03c8467
Make Travis' rustfmt happy
2017-01-28 14:17:37 +01:00
Pascal Hertleif
8cbf548f7e
Add suggestions to EXPLICIT_[INTO_]ITER_LOOP
...
Also reduces the highlighted span to the expr containing the
`.[into_]iter()` call (so the suggestion is probably applicable by
rustfix.)
Fixes #1484
2017-01-28 14:02:49 +01:00
Tom Prince
a140c3c1bf
Remove unused import.
2017-01-26 15:41:00 -07:00
Tom Prince
3e03b5d1a7
Fix #1476 : Add support for exclusive pattern matches.
2017-01-26 15:32:34 -07:00
Oliver Schneider
26e8558d8a
remove rustc-serialize dependency and factor util::cargo
out into a crate
2017-01-26 11:31:26 +01:00
mcarton
b784f0d736
Use span_suggestion
in the precedence
lint
2017-01-22 15:00:10 +01:00
Pascal Hertleif
b228434036
Rustfmtup to 0.7.1
2017-01-21 18:04:59 +01:00
Pascal Hertleif
6f103de164
Rustup to nightly from 2017-01-20
...
Adjust `multispan_sugg` to rust-lang/rust#38955
2017-01-21 17:20:01 +01:00
mcarton
426660f00c
Fix rustfmt
2017-01-20 19:09:04 +01:00
Mrmaxmeier
84c57ad221
rustup to rustc 1.16.0-nightly (c07a6ae77 2017-01-17)
2017-01-18 21:35:38 +01:00
Oliver Schneider
713da45906
apply rustfmt
2017-01-17 19:30:32 +01:00
Oliver Schneider
219da6d736
Merge pull request #1444 from Manishearth/or_else_method
...
Extend or_fun_call to also cover methods
2017-01-15 14:38:51 +01:00
sinkuu
cdfe002ee1
Use closure body span ( fixes #1405 )
2017-01-15 13:16:02 +09:00
Andre Bogus
94c97d2ec9
formatting
2017-01-15 01:12:16 +01:00
Andre Bogus
b764b2a7aa
extend or_fun_call lint to cover methods
2017-01-15 00:31:20 +01:00
Andre Bogus
2fdb6e4d1a
deprecate extend_from_slice lint
2017-01-14 14:39:41 +01:00
Oliver Schneider
d944d7df9a
rustup to 2017-01-12
2017-01-13 17:04:56 +01:00
Oliver Schneider
3cc5596466
Merge pull request #1433 from sinkuu/ref
...
Don't lint needless_borrow when matching `&&mut` by `&ref`
2017-01-10 17:29:19 +01:00
sinkuu
c9091b71a1
Don't lint when matching &&mut
by &ref
( Fix #1432 )
2017-01-11 00:42:58 +09:00
Manish Goregaokar
87db342304
run rustfmt
2017-01-09 23:56:13 -08:00
Oliver Schneider
e066997046
FOR_KV_MAP can now lint on mutable maps due to values_mut()
2017-01-10 08:33:20 +01:00
sinkuu
a2bcce9dbf
Move is_try
to util
...
Removed unnecessary condition
Also changed lint span of `try` from surrounded expression to entire `try`
invocation. It turned out that compiletest misses errors for macro invocations.
2017-01-07 23:52:48 +09:00
sinkuu
ce6e037ac5
Implement unused_io_amount
lint
2017-01-07 22:23:33 +09:00
Theemathas Chirananthavat
e4a4d0c361
Implement the forget_ref lint.
2017-01-05 17:41:01 -08:00
Theemathas Chirananthavat
f55d20ff46
Refactor drop_ref.rs to use the if_let_chain macro.
2017-01-05 17:41:01 -08:00