Maxwell Anderson
9fad38dca9
tmp progress
2018-10-11 22:15:01 -06:00
Josh Mcguigan
0b65462ca5
cmp_owned current suggestion for multiple deref
2018-10-11 05:03:02 -07:00
Oliver Scherer
9d3373137b
Remove now-useless allow(unknown_lints)
2018-10-11 12:18:27 +02:00
Oliver Scherer
b8654eaa6c
Stabilize tool lints
2018-10-11 12:16:22 +02:00
mikerite
31eb3b73d3
Merge pull request #3127 from mikerite/fix-2937
...
Fix 2937
2018-10-11 06:22:02 +02:00
Karim SENHAJI
f9e4f5695d
Limit commutative assign op lint to primitive types
2018-10-10 19:10:44 +02:00
Josh Mcguigan
d41615548e
cmp_owned add test for multiple dereference
2018-10-10 04:51:06 -07:00
Michael Wright
7499cb543d
Fix #2937
2018-10-10 07:52:58 +02:00
Josh Mcguigan
b0d7aea946
Fixes 3289, cmp_owned wording and false positive
2018-10-09 19:25:03 -07:00
Oliver S̶c̶h̶n̶e̶i̶d̶e̶r Scherer
f6882ede4d
Merge pull request #3287 from JoshMcguigan/cmp_owned-2925
...
cmp_owned false positive
2018-10-09 10:01:31 +02:00
Josh Mcguigan
ad5c29a445
Fixes #2925 cmp_owned false positive
2018-10-08 19:04:29 -07:00
Matthias Krüger
a578cb2d62
if_let_redundant_pattern_matching: use Span.to() instead of Span.with_hi() to fix crash.
...
Fixes #3064
2018-10-08 17:34:43 +02:00
Rotem Yaari
1ef32e4096
Improve diagnostics in case of lifetime elision ( closes #3284 )
2018-10-08 13:07:21 +03:00
Oliver S̶c̶h̶n̶e̶i̶d̶e̶r Scherer
02705d4cf5
Merge pull request #3282 from JoshMcguigan/excessive_precision-2840
...
Fix excessive_precision false positive
2018-10-08 08:24:13 +02:00
Ryan Cumming
9bd4e5469e
Don't suggest cloned() for map Box deref
...
Boxes are a bit magic in that they need to use `*` to get an owned value
out of the box. They implement `Deref` but that only returns a
reference. This means an easy way to convert an `Option<Box<T>>` to an
`<Option<T>` is:
```
box_option.map(|b| *b)
```
However, since b36bb0a6
the `map_clone` lint is detecting this as an
attempt to copy the box. Fix by excluding boxes completely from the
deref part of this lint.
Fixes #3274
2018-10-08 06:20:32 +11:00
Josh Mcguigan
8a77a25b8a
Fix excessive_precision false positive
2018-10-07 11:38:20 -07:00
Philipp Hansch
63ceabf0cf
Merge pull request #3280 from d-dorazio/fix-new_without_default-should-not-fire-unsafe-new
...
new_without_default should not warn about unsafe new
2018-10-07 13:09:37 +01:00
Philipp Hansch
d365742bc6
Fix FP in fn_to_numeric_cast_with_truncation
...
We only want this lint to check casts to numeric, as per the lint title.
Rust already has a built-in check for all other casts
[here][rust_check].
[rust_check]: 5472b0718f/src/librustc_typeck/check/cast.rs (L430-L433)
2018-10-07 12:50:36 +02:00
Daniele D'Orazio
59c4ff77f1
new_without_default should not warn about unsafe new
2018-10-07 12:39:54 +02:00
Manish Goregaokar
e9c025ea70
Add license header to Rust files
2018-10-06 09:43:08 -07:00
Manish Goregaokar
75965030c7
Merge pull request #3251 from rust-lang-nursery/relicense-rewrite
...
[do not merge] Relicensing rewrite
2018-10-05 20:14:55 +02:00
Philipp Hansch
8407957ec6
Fix fn_to_numeric_cast UI tests
...
This collapses both lint tests into one file.
Somehow allowing the other lint in the respective files did not work
correctly. Maybe that's fixed as part of fixing #3198 .
2018-10-05 07:49:08 +02:00
Philipp Hansch
1544a1a681
Merge remote-tracking branch 'origin/master' into relicense-rewrite
2018-10-05 07:18:24 +02:00
Joel Gallant
163780ee0b
Solves #3222 by checking the BareFnTy Abi type
2018-10-04 18:49:03 -06:00
Philipp Hansch
8b3d2073fa
Only run tests if pointer width is 64bit
...
If the pointer width of the architechture is 32bit or something else,
then the tests will most likely produce different results.
2018-10-04 22:26:54 +02:00
Philipp Hansch
c0ab8b2531
Reimplement the fn_to_numeric_cast_with_truncation
lint
2018-10-04 21:44:16 +02:00
mcarton
5173ed0c03
Don't suggest to_string().to_string
in USELESS_FORMAT
2018-10-03 20:59:59 +02:00
Philipp Hansch
f42272102a
Reimplement the fn_to_numeric_cast
lint
2018-10-03 12:02:06 +02:00
mcarton
7eebd5b20c
Ignore format!
with precision in USELESS_FORMAT
2018-10-02 23:57:22 +02:00
mcarton
d18c7b2722
Add test for variable width in USELESS_FORMAT
2018-10-02 23:54:50 +02:00
Oliver Schneider
b36bb0a68d
Reimplement the map_clone
lint from scratch
2018-10-02 15:13:43 +02:00
Oliver S̶c̶h̶n̶e̶i̶d̶e̶r Scherer
11cc8472a9
Merge pull request #3245 from JoshMcguigan/wrong_self_convention-1530
...
Correct false positive in wrong_self_convention lint for to_mut
2018-10-02 14:54:36 +02:00
Josh Mcguigan
f142098474
Correct false positive in wrong_self_convention lint for to_mut
2018-10-02 04:47:38 -07:00
Manish Goregaokar
057243f16b
relicensing: Remove map_clone
...
This removes the code added in https://github.com/rust-lang-nursery/rust-clippy/pull/427
2018-10-02 12:51:38 +02:00
Manish Goregaokar
fffcd093b2
relicensing: Remove fn_to_numeric_cast, fn_to_numeric_cast_with_truncation
...
This removes the code added in https://github.com/rust-lang-nursery/rust-clippy/pull/2814
2018-10-02 12:49:27 +02:00
Philipp Hansch
eb5f146f14
Fix 'impossible case reached' ICE
2018-10-01 22:34:52 +02:00
Michael Wright
50133fbd3a
Merge branch 'master' into unnecessary_filter_map
2018-09-30 06:39:56 +02:00
Josh Mcguigan
e25f884e6f
Fixes #3180 , suppress excessive_precision lint for floats with no decimal part
2018-09-29 07:39:30 -07:00
Michael Wright
c2ee9c29ab
Merge branch 'master' into unnecessary_filter_map
2018-09-29 15:27:47 +02:00
Michael Wright
db5c63b77a
Move tests into separate file
2018-09-29 13:57:04 +02:00
Philipp Hansch
8e808664fa
Merge pull request #3178 from ms2300/bad_unwrap
...
Fix for bad get unwrap suggestion
2018-09-28 07:38:00 +01:00
Michael Wright
f5ffac4fce
Implement unnecesary_filter_map lint
2018-09-26 06:52:36 +02:00
Jane Lusby
14feb3670f
Lint for chaining flatten after map
...
This change adds a lint to check for instances of `map(..).flatten()`
that can be trivially shortened to `flat_map(..)`
Closes #3196
2018-09-24 14:29:16 -07:00
Michael Wright
ab71f08663
Fix single_char_pattern crash ( #3204 )
...
This commit fixes the crash by removing constant checking from the lint.
Closes #3204 .
2018-09-24 08:33:57 +02:00
ms2300
523ba2a009
Full fix of get unwrap issue
2018-09-23 19:53:25 -07:00
ms2300
de8d233b06
#3006 : Fixing for .get().unwrap().foo()
2018-09-23 19:53:25 -07:00
Philipp Krones
bc6d85ceaf
Merge pull request #3207 from mikerite/fix-3206
...
Fix double_parens false positive
2018-09-23 18:24:27 +02:00
Michael Wright
867ac98d38
Fix double_parens false positive
...
Closes #3206
2018-09-22 17:20:34 +02:00
Jay Kickliter
2f53aaa5bd
mem_replace: match on path.
2018-09-19 14:41:22 -07:00
Jay Kickliter
598df08d88
Add lint for mem::replace(.., None)
.
...
Suggest `Option::take()` as an alternative.
2018-09-19 14:38:34 -07:00
Eduard-Mihai Burtescu
85caaf5905
Fix useless_attribute
to also whitelist unused_extern_crates
.
2018-09-15 11:16:45 +03:00
Oliver Schneider
3e4f7fc4c0
Don't use the old feature gate
2018-09-10 15:44:41 +02:00
Philipp Krones
f30cf51a70
Merge pull request #3135 from JoshMcguigan/explicit_counter_loop-1219
...
Closes #1219 false positive for explicit_counter_loop
2018-09-09 23:49:03 +02:00
Matthias Krüger
160959d27f
add tests for #3057 and #2651
...
Fixes #3057
Fixes #2651
2018-09-08 09:04:04 +02:00
Josh Mcguigan
9168746c38
Corrected explicit_counter_loop behavior with nested loops
2018-09-07 20:46:36 -07:00
Josh Mcguigan
53c262048c
Fix #1219 false positive for explicit_counter_loop
2018-09-07 19:58:19 -07:00
flip1995
90f7997771
Add regression test
2018-09-07 17:41:03 +02:00
Josh Mcguigan
ce554267b8
Updated explicit_counter_loop tests based on discussion in #3135
2018-09-07 05:32:56 -07:00
Oliver S̶c̶h̶n̶e̶i̶d̶e̶r Scherer
63a46b1e1a
Merge pull request #3129 from mipli/3091-numeric-typo
...
Add lint for misstyped literal casting
2018-09-07 09:54:43 +02:00
Josh Mcguigan
edfa9feac2
Corrected explicit_counter_loop missing lints if variable used after loop
2018-09-06 06:20:25 -07:00
Matthias Krüger
a0f56edfc3
print_with_newline / write_with_newline: don't warn about string with several \n
s in them.
...
Fixes #3126
2018-09-06 12:59:34 +02:00
Josh Mcguigan
4b668159d2
Closes #1219 false positive for explicit_counter_loop
2018-09-05 19:14:01 -07:00
Michael A. Plikk
38d287fecd
Add lint for misstyped literal casting
2018-09-05 19:46:49 +02:00
Josh Mcguigan
0f6d422817
Added test case for ptr_arg
2018-09-05 05:59:07 -07:00
daubaris
db391c4613
Merge branch 'master' of https://github.com/rust-lang-nursery/rust-clippy into range-plus-one
2018-09-04 18:52:18 +03:00
Josh Holmer
48e6be42d7
Rustup
2018-09-03 23:50:24 -04:00
Josh Holmer
061b2f3057
Apply applicability
2018-09-03 23:29:44 -04:00
Josh Holmer
dfed9751bd
Majority of PR changes
2018-09-03 23:29:44 -04:00
Josh Holmer
fbc93c0166
Lint against needless uses of collect()
...
Handles cases of `.collect().len()`, `.collect().is_empty()`, and
`.collect().contains()`. This lint is intended to be generic enough to
be added to at a later time with other similar patterns that could be
optimized.
Closes #3034
2018-09-03 23:29:44 -04:00
daubaris
1f3676f7d0
Merge branch 'master' of https://github.com/rust-lang-nursery/rust-clippy into range-plus-one
2018-09-03 18:24:47 +03:00
daubaris
b825578a4a
backticks and testcase
2018-09-03 18:24:38 +03:00
Philipp Hansch
c0513097ab
Merge pull request #3092 from illicitonion/issue-2879
...
default_trait_access skips <F as Default>::default()
2018-09-03 17:24:33 +02:00
daubaris
1615a8a2b6
Merge branch 'master' of https://github.com/rust-lang-nursery/rust-clippy into range-plus-one
2018-09-03 17:21:13 +03:00
Josh Triplett
779988303a
iter conservation efforts: save the endangered .iter() and .into_iter()
...
Make explicit_iter_loop and explicit_into_iter_loop allow-by-default, so
that people can turn them on if they want to enforce that style; avoid
presenting them as *the* idiomatic Rust style, rather than just *a* style.
2018-09-03 01:24:46 -07:00
Daniel Wagner-Hall
9f0216d520
Merge branch 'master' into issue-2879
2018-09-03 00:01:57 +01:00
daubaris
846c3dba2c
resolved conflicts
2018-09-01 09:37:42 +03:00
Manish Goregaokar
c81d70e6bd
Merge pull request #2977 from flip1995/tool_lints
...
Implement tool_lints
2018-09-01 11:22:23 +05:30
Manish Goregaokar
9abf6fca9c
Fix ptr offset tests
2018-08-31 00:38:27 -07:00
Oliver Schneider
73e8416df3
Merge pull request #3081 from mikerite/fix-3078
...
Fix #3078
2018-08-31 09:05:39 +02:00
daubaris
679bc32f46
range_plus_one suggestion should not remove braces fix
2018-08-30 20:06:13 +03:00
flip1995
e9af09c274
Adapt the *.stderr files of the ui-tests to the tool_lints
2018-08-29 11:08:29 -07:00
flip1995
1b6f6051a8
Adapt ui-tests to the tool_lints
2018-08-29 11:08:29 -07:00
Corey Farwell
2fa7351c1e
suggest wrapping_offset as well
2018-08-29 07:40:00 -05:00
Corey Farwell
5ebae01c1e
New lint: Suggest ptr.add([usize])
over ptr.offset([usize] as isize)
.
...
First part of #3047 .
2018-08-28 23:21:29 -05:00
Daniel Wagner-Hall
350036a0c7
default_trait_access skips <F as Default>::default()
...
This includes the type name, so is clear, and may be necessary.
There doesn't seem to be an obviously cleaner way to pull out the
literal text of the named type here.
Fixes #2879
2018-08-27 23:22:07 +01:00
Michael Wright
45ceecc79c
Fix #3078
2018-08-25 14:49:56 +02:00
Philipp Krones
e91147832c
Merge pull request #3048 from goodmanjonathan/assign_op
...
deprecate assign_ops lint
2018-08-24 18:29:31 +02:00
Philipp Krones
562c576ed3
Merge pull request #3059 from elpiel/writeln_empty_string_harcoded-suggestion
...
#3016 writeln_empty_string Hardcoded suggestion
2018-08-24 18:28:50 +02:00
Niklas Fiekas
afdf350060
Add copy_iterator lint ( #1534 )
2018-08-24 11:57:48 +02:00
flip1995
37099ae034
Remove now stable tool_attributes feature
2018-08-23 15:36:07 +02:00
Lachezar Lechev
76f7bfcefd
#3016 Add backticks for the msg
2018-08-20 15:50:15 +02:00
Lachezar Lechev
c292b80783
#3016 Add feedback and implement test for fixed hardcoded suggestion
2018-08-20 15:33:43 +02:00
Michael Wright
bbd67c9b78
Fix #2927
2018-08-15 08:11:07 +02:00
Philipp Krones
84aa49935d
Merge pull request #3026 from dwijnand/fxhash
...
Add an internal lint for FxHashMap/FxHashSet
2018-08-14 13:04:48 +02:00
Philipp Krones
72b8c9b211
Merge pull request #3049 from mikerite/fix-2799
...
Add a test to ensure that #2799 is fixed
2018-08-14 12:55:13 +02:00
Philipp Krones
b2a4013c14
Merge pull request #3014 from estk/allow-write-multi-newline
...
Allow print/write with multiple newlines
2018-08-14 12:54:05 +02:00
Dale Wijnand
7933d445d1
Move shadow_unrelated to pedantic
2018-08-14 09:52:27 +01:00
Michael Wright
a1f8e129fd
Add a test to ensure that #2799 is fixed
...
Closes #2799
2018-08-14 07:27:56 +02:00
Jonathan Goodman
160b41dae3
deprecate assign_ops lint
2018-08-13 16:12:41 -05:00
Dale Wijnand
1812707d39
Use utils::span_lint_and_sugg in default_hash_types
2018-08-13 11:49:57 +01:00
Dale Wijnand
8fc425b676
Add an internal lint for FxHashMap/FxHashSet
2018-08-12 16:15:36 +01:00
Evan Simmons
550ff84ecd
Allow print/write with multiple newlines
2018-08-07 12:01:10 -08:00
Oliver Schneider
328fea3e0d
Rustup
2018-08-07 16:34:17 +02:00
Michael Wright
a3d7698fd9
Fix #2971
2018-08-07 05:37:11 +02:00
Oliver Schneider
b18a3c5b60
Merge pull request #3007 from mikerite/issue3000
...
Fix #3000
2018-08-06 09:16:42 +02:00
Michael Wright
ffce3c77e4
Fix #3000
2018-08-06 08:20:50 +02:00
Philipp Hansch
f6c4e303c9
Merge pull request #2999 from flip1995/single_char_pattern
...
Fix single_char_pattern lint for escaped chars
2018-08-06 07:05:04 +01:00
Philipp Hansch
32e4897854
Merge pull request #2975 from aaudiber/lint-identity-into-iter
...
Lint using identity into_iter conversion
2018-08-05 20:38:28 +01:00
Philipp Hansch
a016d4efe0
Merge pull request #2991 from mikerite/issue2979
...
Fix #2979
2018-08-05 20:35:55 +01:00
flip1995
55672e7e49
Fix single_char_pattern lint for escaped chars
2018-08-03 10:19:29 +02:00
Alex Crichton
8ef759e027
Fix fallout from rust-lang/rust#52841
2018-08-02 18:08:22 -07:00
Alex Crichton
ae6ea84924
Fix tests from 40349b23ea
2018-08-02 14:22:44 -07:00
Ryan Cumming
08d6b3d2f6
Allow pass by ref when returning ADT with ref
...
This is a follow-up to #2951 that extends the logic to allow for
returning references inside structs/enums/unions. This was a simple
oversight in the first version and it's surprisingly easy to handle.
2018-08-02 17:57:49 +10:00
Michael Wright
534d546c81
Fix #2979
2018-08-02 08:56:53 +02:00
Philipp Hansch
d7ffaab0fb
Merge pull request #2968 from phansch/first_an_ICE_and_then_some_ice_cream
...
Fix ICE with 'while let Some(..) = x.iter()'
2018-08-01 06:18:34 +01:00
flip1995
74fcf7de4a
single_char_pattern: lint only on the argument span
2018-07-31 12:20:32 +02:00
Andrew Audibert
0ea1afab3a
Lint using identity into_iter conversion
2018-07-29 21:37:31 -07:00
Philipp Hansch
946340acfe
Fix ICE with 'while let (..) = x.iter()'
2018-07-29 11:00:26 +02:00
Michael Wright
8eeb3feadf
Merge branch 'master' into issue2894
2018-07-28 08:41:10 +02:00
Oliver Schneider
b0dabce478
Merge pull request #2963 from commandline/master
...
Fix regression in print_literal
2018-07-26 10:11:34 +02:00
Thomas Gideon
9b11be72c0
Fix copy-paste error
2018-07-25 18:14:11 -04:00
Thomas Gideon
5446e73de6
And the ones annotating the source file name.
2018-07-25 18:00:19 -04:00
Thomas Gideon
457b76cedf
Update line numbers
2018-07-25 17:51:04 -04:00
Thomas Gideon
bf3f976a43
Fix regression in print_literal
2018-07-25 17:31:17 -04:00
Matthias Krüger
2665f10662
fix a bunch of typos found by codespell
2018-07-25 20:02:52 +02:00
Matthias Krüger
cfc9b33f17
Merge branch 'master' into typos
2018-07-25 19:54:45 +02:00
Michael Wright
5e23fcec0b
Merge branch 'master' into issue2894
2018-07-25 06:27:36 +02:00
Ryan Cumming
0afa5e1e21
Merge branch 'master' into allow-pass-by-ref-on-ref-return
2018-07-24 19:03:43 +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
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
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
8f61a792f4
Update test output to changes in rustc
2018-07-16 15:43:30 +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
Manish Goregaokar
184b99de39
Merge branch 'pr-2889'
2018-07-06 23:20:01 -07:00
gnzlbg
14cbdf2607
do not apply lint to executable crate type
2018-07-04 16:39:52 +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
63041d070b
Rustup
2018-07-01 13:36:14 +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
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
Michael Wright
4827bdcc1c
Merge branch 'master' into issue_2741
2018-06-26 07:46:56 +02:00
kennytm
88b7603b16
Lint against const items which are interior mutable. Fix #1560 .
2018-06-23 03:35:36 +08: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