Joshua Holmer
4b68c965fe
Resolve ICE in needless range loop lint
...
An ICE would occur if the needless range loop was triggered
within a procedural macro, because Clippy would try to produce
a code suggestion which was invalid, and caused the compiler
to crash.
This commit takes the same approach which Clippy currently takes
to work around this type of crash in the needless pass by value lint,
which is to skip the lint if Clippy is inside of a macro.
2018-10-17 10:43:32 -04:00
Philipp Hansch
284c63e84d
Merge pull request #3281 from CYBAI/redundant-match
...
Add lint for redundant pattern matching for explicit return boolean
2018-10-17 07:31:09 +02:00
CYBAI
66ae3b1249
Rename if_let_redundant_pattern_matching to redundant_pattern_matching
...
Also, making the old one deprecated
2018-10-17 11:20:42 +08:00
CYBAI
3b7c88888b
Add lint for redundant pattern matching for explicit return boolean
2018-10-17 11:14:37 +08:00
Giorgio Gambino
aa88e68902
Fix issue #3322 : reword help message for len_zero
2018-10-16 23:23:31 +02:00
Owen Sanchez
8c902d1cf2
Simplify manual_memcpy suggestion in some cases
2018-10-16 12:38:23 -07:00
Joshua Holmer
33847b579e
Update known problems for unnecessary_fold
2018-10-16 09:04:02 -04:00
Bruno Kirschner
2d8b4f3d5c
Avoid linting boxed_local
on trait implementations.
2018-10-15 20:34:45 +02:00
Josh Mcguigan
66d3672b26
out_of_bounds_indexing improved reporting of out of bounds value
2018-10-15 04:44:39 -07:00
Oliver S̶c̶h̶n̶e̶i̶d̶e̶r Scherer
0f4b13bc1b
Merge pull request #3316 from pengowen123/fix_needless_range_loop
...
Swap order of methods in `needless_range_loop` suggestion for efficiency in some cases
2018-10-15 09:33:21 +02:00
Owen Sanchez
456843f1cd
Swap order of methods in needless_range_loop
suggestion in some cases
2018-10-14 20:14:16 -07:00
Oliver S̶c̶h̶n̶e̶i̶d̶e̶r Scherer
212a4fe4f4
fix for rustc master
2018-10-14 22:55:26 +02:00
Josh Mcguigan
5c39282826
out_of_bounds_indexing refactoring
2018-10-14 07:49:28 -07:00
Matthias Krüger
c492818110
mem_forget: fix syntax error in code sample
2018-10-14 10:30:04 +02:00
Josh Mcguigan
0f3345e8b2
OUT_OF_BOUNDS_INDEXING fix #3102 false negative
2018-10-13 13:51:53 -07:00
Oliver S̶c̶h̶n̶e̶i̶d̶e̶r Scherer
601cc9d2c5
Merge pull request #3310 from JoshMcguigan/explicit_counter_loop-3308
...
explicit_counter_loop fix #3308 false positive
2018-10-13 20:11:50 +02:00
Josh Mcguigan
c6f79c7ba0
explicit_counter_loop fix #3308 false positive
2018-10-13 06:57:52 -07:00
Josh Mcguigan
54506705ce
Added new_ret_no_self exception to clippy to pass dogfood tests
2018-10-13 06:25:10 -07:00
Josh Mcguigan
a5e4805ecf
new_ret_no_self correctly lint impl return
2018-10-13 06:20:39 -07:00
Josh Mcguigan
2ef4af7db2
Removed unused variables
2018-10-13 06:20:39 -07:00
Josh Mcguigan
1c4fa419f3
new_ret_no_self fix false positive for impl trait return with associated type self
2018-10-13 06:20:39 -07:00
Josh Mcguigan
13ce96c4bf
new_ret_no_self corrected panic and added test stderr
2018-10-13 06:20:39 -07:00
Josh Mcguigan
eb854b233c
new_ret_no_self added positive test cases
2018-10-13 06:20:39 -07:00
Oliver S̶c̶h̶n̶e̶i̶d̶e̶r Scherer
8b12eee112
Merge pull request #3233 from rust-lang-nursery/unused-unit
...
new lint: unused_unit
2018-10-13 09:30:19 +02:00
Oliver S̶c̶h̶n̶e̶i̶d̶e̶r Scherer
78860a71d8
Merge pull request #3298 from devonhollowood/pedantic-dogfood-naming
...
Pedantic dogfood: naming and docs
2018-10-13 09:24:55 +02:00
Devon Hollowood
335bc1e820
Fix some more stutter
warnings
2018-10-12 17:07:48 -07:00
Andre Bogus
e8687a6677
unused unit lint
2018-10-13 00:42:55 +02:00
Joshua Holmer
863c8e26fc
Revert "Exclude pattern guards from unnecessary_fold lint"
...
This reverts commit d3c06f7252
.
2018-10-12 13:15:55 -04:00
Joshua Holmer
d3c06f7252
Exclude pattern guards from unnecessary_fold lint
...
Methods like `Iterator::any` borrow the iterator mutably,
which is not allowed within a pattern guard and will fail to compile.
This commit prevents clippy from suggesting this type of change.
Closes #3069
2018-10-12 12:11:56 -04:00
Oliver S̶c̶h̶n̶e̶i̶d̶e̶r Scherer
d445dbfe16
Merge pull request #3291 from JoshMcguigan/cmp_owned-3289
...
cmp_owned wording and false positive
2018-10-12 15:07:12 +02:00
Josh Mcguigan
352863065c
cmp_owned refactor
2018-10-12 04:48:54 -07:00
Josh Mcguigan
c9718fa589
cmp_owned correct error message if rhs is deref
2018-10-12 04:34:41 -07:00
sigustin
4e20625187
Add a comment reminding to update README if the default changes
2018-10-12 12:32:48 +02:00
Maxwell Anderson
63fbeaab68
Merge remote-tracking branch 'upstream/master'
2018-10-11 22:16:05 -06:00
Maxwell Anderson
9fad38dca9
tmp progress
2018-10-11 22:15:01 -06:00
Devon Hollowood
73ba33dd2b
Fix doc_markdown
lints
2018-10-11 15:43:13 -07:00
Devon Hollowood
dcef9d0795
Fix stutter
lints
2018-10-11 15:42:22 -07:00
Devon Hollowood
9afd8abbe3
Fix similar_names
warnings
...
Most of these are just `#![allow]`ed, because they are things like using
l vs r to differentiate left vs right. These would be made less clear by
taking the advice of `similar_names`
2018-10-11 15:18:58 -07: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
Philipp Hansch
8b45dd704b
Merge pull request #3294 from mikerite/fix-3276
...
Fix fn_to_numeric_cast_with_truncation suppression
2018-10-11 10:53:05 +02:00
Philipp Hansch
928a6d3dc7
Merge pull request #3288 from devonhollowood/pedantic-dogfood-casts
...
Pedantic dogfood: casts
2018-10-11 08:07:51 +02:00
Michael Wright
80cf0d7f26
Fix fn_to_numeric_cast_with_truncation suppression
...
Fixes #3276
2018-10-11 07:45:26 +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
Devon Hollowood
289c642d1a
Clarify code
...
Take advantage of the fact that very large regexes are unlikely
2018-10-09 23:35:10 -07:00
Michael Wright
7499cb543d
Fix #2937
2018-10-10 07:52:58 +02:00
Josh Mcguigan
88ee209a1d
Corrected single-character string constant used as pattern found in dogfood test
2018-10-09 20:01:12 -07: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
Devon Hollowood
2b9abc5daa
Fix cast_possible_wrap and cast_sign_loss warnings
2018-10-08 22:34:10 -07:00
Devon Hollowood
eef2e8948b
Fix cast_possible_truncation warnings
2018-10-08 21:40:21 -07: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
Oliver S̶c̶h̶n̶e̶i̶d̶e̶r Scherer
ce2da2c04f
Merge pull request #3283 from etaoins/dont-suggest-cloned-for-map-box-deref
...
Don't suggest cloned() for map Box deref
2018-10-08 08:21:59 +02:00
Philipp Hansch
41e94dd072
Merge pull request #3285 from devonhollowood/pedantic-dogfood-items-after-statements
...
Pedantic dogfood: `items_after_statements`
2018-10-08 06:59:55 +01:00
Devon Hollowood
82638e4dd4
Fix items_after_statements for const
s
2018-10-07 17:09:32 -07:00
Devon Hollowood
be983fbf52
Fix items_after_statements for sub-functions
2018-10-07 17:09:32 -07:00
Devon Hollowood
6528749083
Fix items_after_statements for use
statements
2018-10-07 17:09:32 -07: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
Manish Goregaokar
5dcb90e29d
Merge pull request #3279 from phansch/fix_fp_in_fn_to_numeric_cast_with_truncation
...
Fix FP in `fn_to_numeric_cast_with_truncation`
2018-10-07 04:27:51 -07: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
Dylan Maccora
d129d049c6
Adding more detail to filter_map lint documentation.
2018-10-07 11:24:09 +11:00
Manish Goregaokar
e9c025ea70
Add license header to Rust files
2018-10-06 09:43:08 -07:00
Manish Goregaokar
53d41e5c50
Rustup for https://github.com/rust-lang/rust/pull/54741
2018-10-05 13:41:40 -07:00
Manish Goregaokar
cbde8201c5
Remove unused utils
2018-10-05 13:26:39 -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
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
391d53db66
Add hidden lifetime parameters to fix warning
2018-10-04 21:59:30 +02:00
Philipp Hansch
c0ab8b2531
Reimplement the fn_to_numeric_cast_with_truncation
lint
2018-10-04 21:44:16 +02:00
Philipp Hansch
7adf24ebb0
Improve docs of fn_to_numeric_cast
...
Closes #2980
2018-10-04 18:09:09 +02:00
Matthias Krüger
fd5ea0ddf7
resolve build warnings in clippy_lints/src/format.rs
2018-10-04 16:34:41 +02:00
Oliver S̶c̶h̶n̶e̶i̶d̶e̶r Scherer
c3e3be374b
Merge pull request #3256 from rust-lang-nursery/fix-2796
...
Fix 2796 and 3020
2018-10-04 08:51:00 +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
Manish Goregaokar
c430147942
Fix push_item_path call (rustup to 4cf11765dc98536c6eedf33f2df7f72f6e161263)
2018-10-03 02:06:26 -07:00
mcarton
7eebd5b20c
Ignore format!
with precision in USELESS_FORMAT
2018-10-02 23:57:22 +02:00
Oliver Schneider
913a5c9b56
Trailing newline
2018-10-02 15:18:56 +02:00
Oliver Schneider
696dc369df
FIx dogfood
2018-10-02 15:17:56 +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
Manish Goregaokar
be1094bd8d
ScalarMaybeUndef -> Scalar (Rustup to e812ca472a2a5284e9f15cd9af32285d7ff3fd39)
2018-10-02 10:35:26 +02:00
Philipp Hansch
eb5f146f14
Fix 'impossible case reached' ICE
2018-10-01 22:34:52 +02:00
Matthias Krüger
91f7e22edf
remove cargo edition 2018 feature gate.
...
Rust and the cargo used to bootstrap was updated in https://github.com/rust-lang/rust/pull/54601 which now has the 2018 edition stabilized.
2018-09-30 11:12:24 +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
06f6b36025
rustfmt
2018-09-29 14:18:50 +02:00
Michael Wright
efdc739dfc
Move unnecessary_filter_map to a submodule
2018-09-29 14:12:40 +02:00
Philipp Krones
67d85bc47d
Merge pull request #3224 from matthiaskrgr/clippy_self__use_self
...
fix some clippy::pedantic warnings found in the codebase.
2018-09-28 15:26:50 +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
4b4d758ce0
Fix warnings in clippy_lints
2018-09-27 06:29:48 +02:00
Michael Wright
2f364d9ac5
Merge branch 'master' into unnecessary_filter_map
2018-09-27 06:12:01 +02:00
Matthias Krüger
9fae4693f9
fix clippy::single-match-else and clippy::match_same_arms warnings in clippys codebase
2018-09-26 22:25:01 +02:00
Matthias Krüger
2a31937cc9
fix all clippy::use_self pedantic warnings found in the codebase.
...
cc #3172
2018-09-26 22:24:18 +02:00
Matthias Krüger
fc35c20a0a
rustup
...
fix breakage by https://github.com/rust-lang/rust/pull/53824
use smallvec crate instead of rustcs type alias.
2018-09-26 15:57:38 +02: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
Philipp Krones
af2d6a0c14
Merge pull request #3191 from vi/suggest_with_applicability
...
Use span_suggestion_with_applicability instead of span_suggestion
2018-09-23 15:45:55 +02:00
Michael Wright
867ac98d38
Fix double_parens false positive
...
Closes #3206
2018-09-22 17:20:34 +02:00
flip1995
987b34d090
Another Applicability adjustment
2018-09-20 14:38:48 +02:00
Vitaly _Vi Shukela
52fb7d461e
Applicability adjustment per additional comments
2018-09-20 14:38:48 +02:00
Vitaly _Vi Shukela
58729346be
Fill in Applicability from review comments by @flip1995
2018-09-20 14:38:48 +02:00
Vitaly _Vi Shukela
3eccccb367
Fix indents
2018-09-20 14:38:48 +02:00
Vitaly _Vi Shukela
2781cac839
Apply subset of "cargo fmt".
2018-09-20 14:38:47 +02:00
Vitaly _Vi Shukela
3e853a632e
Add forgotten function: span_suggestion*s* to the previous refactoting
2018-09-20 14:38:47 +02:00
Vitaly _Vi Shukela
d4c994e670
Supplement DiagnosticBuilderExt with Applicability
2018-09-20 14:38:47 +02:00
Vitaly _Vi Shukela
92034e20c8
Use span_suggestion_with_applicability instead of span_suggestion
2018-09-20 14:38:47 +02:00
Jay Kickliter
79cda3bb1e
mem_replace: fix grammar.
2018-09-19 14:54:38 -07:00
Jay Kickliter
2f53aaa5bd
mem_replace: match on path.
2018-09-19 14:41:22 -07:00
Jay Kickliter
12c7bc1e58
mem_replace: apply update_lints tool.
2018-09-19 14:41:22 -07:00
Jay Kickliter
1b6d739ce3
mem_replace: make examples compilable.
2018-09-19 14:38:34 -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
Philipp Hansch
b6707ffc42
Merge pull request #3187 from flip1995/internal_fn
...
New internal lint: compiler_lint_functions
2018-09-19 19:43:48 +01:00
flip1995
a8b681cc2c
Fix c_void path
...
This got changed in rust-lang/rust#53910
2018-09-17 11:20:27 +02:00
Michael Wright
c78cf042ff
Remove unneeded check for method call
...
The check can be removed because the call to `method_chains_args`
already performs this check.
2018-09-16 13:08:00 +02:00
flip1995
021748eb6a
Replace another occurrence of "".to_owned()
2018-09-15 11:25:40 +02:00
Matthias Krüger
f3add4acb4
convert "".to_string() and "".to_owned() to String::new()
2018-09-15 11:20:35 +02:00
flip1995
144281c537
Formatting
2018-09-15 11:02:00 +02:00
flip1995
a4e1a90705
Fix warnings of compiler_lint_functions
2018-09-15 11:02:00 +02:00
flip1995
aaeeaa5330
Add internal lint compiler_lint_functions
2018-09-15 11:01:16 +02:00
Eduard-Mihai Burtescu
c70bfb2cac
Revert "the cargo feature: edition 2018 is stabilized in current nightly"
...
This reverts commit 404a09d61c
.
2018-09-15 11:16:45 +03:00
Eduard-Mihai Burtescu
85caaf5905
Fix useless_attribute
to also whitelist unused_extern_crates
.
2018-09-15 11:16:45 +03:00
Eduard-Mihai Burtescu
9219fc6c5c
Reintroduce extern crate
for non-Cargo dependencies.
2018-09-15 11:10:51 +03:00
Philipp Hansch
4aaef72fa0
Merge pull request #3186 from flip1995/pedantic_filter_map
...
Fix pedantic filter_map warnings
2018-09-14 19:47:50 +01:00
flip1995
582ab5a0d0
Reapply: "the cargo feature: edition 2018 is stabilized in current nightly"
...
This reapplies commit 404a09d
.
Cargo got bumped in rust-lang/rust#54210
2018-09-14 13:43:20 +02:00
flip1995
f49f133cba
Fix pedantic filter_map warnings
2018-09-14 12:56:25 +02:00
Manish Goregaokar
7b530c79b2
Add match on StructCtor
2018-09-14 12:41:20 +05:30
Philipp Hansch
dac5e2d3a5
Merge pull request #3140 from matthiaskrgr/redundant_casts
...
fix warnings about trivial casts, mostly {i,u}128 -> {i,u}128, such as "i128::min_value() as i128"
2018-09-13 20:37:13 +01:00
Philipp Hansch
07cb45bc85
Merge pull request #3166 from flip1995/travis_internal
...
Run internal lints on the Clippy code base
2018-09-13 17:22:48 +01:00
Matthias Krüger
28424ecbfa
fix warnings about trivial casts, mostly {i,u}128 -> {i,u}128, such as "i128::min_value() as i128"
2018-09-13 07:59:12 +02:00
Philipp Hansch
e8400061bd
Merge pull request #3085 from mikerite/revert-98dbce
...
Revert "Fix E0502 warnings"
2018-09-13 06:33:26 +01:00
Boyu Yang
4827ab978e
Remove a wrong suggestion.
2018-09-13 13:01:23 +08:00
Boyu Yang
60e8da1647
Fix typo in examples.
2018-09-13 11:51:58 +08:00
flip1995
e28440d2e0
Change Hash{Map, Set} to FxHash{Map, Set}
2018-09-12 01:34:52 +02:00
flip1995
cfa3c33b1d
Fix lint_without_lint_pass lint
2018-09-12 01:34:04 +02:00
Oliver Schneider
1128505fdd
Revert "the cargo feature: edition 2018 is stabilized in current nightly"
...
This reverts commit 404a09d61c
.
2018-09-10 16:02:17 +02:00
Oliver S̶c̶h̶n̶e̶i̶d̶e̶r Scherer
c884357849
Merge pull request #3160 from matthiaskrgr/ed_2018
...
the cargo feature: edition 2018 is stabilized in current nightly
2018-09-10 13:57:55 +02:00
Oliver S̶c̶h̶n̶e̶i̶d̶e̶r Scherer
1c1030f83f
Merge pull request #3152 from PSeitz/master
...
fixes #3151 by skipping the lint instead of crashing
2018-09-10 13:44:47 +02:00
Pascal Seitz
d512c2bcce
add spaces
2018-09-10 09:03:33 +02:00
Matthias Krüger
404a09d61c
the cargo feature: edition 2018 is stabilized in current nightly
2018-09-10 03:01:51 +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
Pascal Seitz
43549ebbf8
fixes #3151 by skipping the lint instead of crashing
2018-09-08 15:30:50 +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
Matthias Krüger
f6935be71e
clippy_lints: enable crate_visibility_modifier since it is used but no longer part of 2018 edition.
...
Fixes build with https://github.com/rust-lang/rust/pull/53999
2018-09-08 01:32:40 +02:00
flip1995
fa3e3cb6ea
Fix #3145 by removing assert
2018-09-07 17:18:00 +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
Michael A. Plikk
7bf8d8ba09
Simplified boolean expression for checking literal suffixes
2018-09-06 17:19:38 +02:00
Michael A. Plikk
986c772c24
Reduce number of split_at calls
2018-09-06 16:26:17 +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
Matthias Krüger
0a8ceaf8b0
rustfmt clippy_lints/src/write.rs
2018-09-06 12:33:00 +02:00
Matthias Krüger
554fe1ed5c
remove "clippy::" lint prefix from lint name in doc url.
...
Fixes #3132
2018-09-06 00:45:57 +02:00
Michael A. Plikk
38d287fecd
Add lint for misstyped literal casting
2018-09-05 19:46:49 +02:00
daubaris
009c29069c
switched to ticks for chars
2018-09-04 18:56:48 +03: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
Oliver S̶c̶h̶n̶e̶i̶d̶e̶r Scherer
b7587d8176
Merge pull request #3125 from nrc/pub-conf
...
Make `Default` do what `default` used to do
2018-09-04 10:09:38 +02:00
Josh Holmer
ed9cd1530d
More if_chain
2018-09-03 23:58:10 -04: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
Nick Cameron
4050a68989
Make Default
do what default
used to do
2018-09-04 09:13:48 +12:00
daubaris
2f0a99a3a4
fixed known problems expression
2018-09-03 23:01:28 +03: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
Nick Cameron
d6f01f3a6c
Make Conf::default
available
...
Fixes RLS
2018-09-03 13:57:50 +12:00
Daniel Wagner-Hall
9f0216d520
Merge branch 'master' into issue-2879
2018-09-03 00:01:57 +01:00
Daniel Wagner-Hall
939d842ea1
Simplify
2018-09-02 23:42:07 +01:00
Daniel Wagner-Hall
368223a341
Use types rather than strings
2018-09-02 23:37:28 +01:00
Michael Wright
19157c02cb
Fix #3112
2018-09-02 09:38:25 +02: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
20dfaf7842
declare_lint -> declare_tool_lint
2018-08-31 00:34:48 -07:00
Oliver Schneider
73e8416df3
Merge pull request #3081 from mikerite/fix-3078
...
Fix #3078
2018-08-31 09:05:39 +02:00
Michael Wright
c6074a94b9
Merge branch 'master' into fix-3078
2018-08-31 06:17:11 +02:00
Michael Wright
daacac6b97
Revert "fix-3078: verify test case"
...
This reverts commit 6256ad05ba
.
2018-08-31 06:15:55 +02:00
daubaris
679bc32f46
range_plus_one suggestion should not remove braces fix
2018-08-30 20:06:13 +03:00
Philipp Hansch
b87ab5ccf2
Merge pull request #3076 from mbrubeck/patch-1
...
Remove incorrect note from string_add_assign docs
2018-08-29 20:09:38 +01:00
Manish Goregaokar
e0ad732226
Merge pull request #3105 from frewsxcv/frewsxcv-private
...
Make clippy_lints::{utils,consts} modules private, remove unused items.
2018-08-29 11:24:00 -07:00
flip1995
daa4f0ad34
Implement backwards compatibility changes introduced by rust-lang/rust#53762
2018-08-29 11:08:29 -07:00
flip1995
d1f2f0c34c
Fix some rebase fallout
2018-08-29 11:08:29 -07:00
flip1995
f3bb161f0e
Adapt codebase to the tool_lints
2018-08-29 11:08:29 -07:00
flip1995
8c07772dbb
Switch to declare_tool_lint macro
2018-08-29 11:08:29 -07:00
flip1995
392235d6e1
Switch to tool_lints
2018-08-29 11:08:29 -07:00
Corey Farwell
f42442b6e0
dont deref
2018-08-29 09:07:09 -05:00
Corey Farwell
53928d5367
clippy suggestion
2018-08-29 08:27:32 -05:00
Corey Farwell
6445a5d79d
derive copy/clone
2018-08-29 08:01:05 -05:00
Corey Farwell
d5534ca9db
bring back sugg::range
2018-08-29 07:46:03 -05:00
Corey Farwell
9a8f206662
eof newline
2018-08-29 07:43:40 -05:00
Corey Farwell
2a486528ee
utilize carrier
2018-08-29 07:42:43 -05:00
Corey Farwell
2fa7351c1e
suggest wrapping_offset as well
2018-08-29 07:40:00 -05:00
Corey Farwell
61c20c148e
if no suggestion, dont add suggestion
2018-08-29 07:12:22 -05:00
Corey Farwell
f7d1ef90a0
utilize .is_unsafe_ptr
2018-08-29 07:08:59 -05:00
Corey Farwell
a48a6ef10f
utilize cx.tcx.types.usize
2018-08-29 07:07:23 -05:00
Corey Farwell
a7c1ea96c4
tweak comment
2018-08-29 07:03:50 -05:00
Corey Farwell
feb3e9fd5f
switch lint from 'style' to 'complexity'
2018-08-29 07:02:26 -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
Corey Farwell
05f637cf88
Make clippy_lints::{utils,consts} modules private, remove unused items.
2018-08-28 21:32:20 -05:00
Oliver Schneider
d99cea0f16
Update imports and rustup
2018-08-28 13:13:42 +02: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
Matthias Krüger
fc31dc01de
docs: make example in new_without_default lint syntax highlighted
2018-08-27 17:35:30 +02:00
Philipp Krones
9ce826ade1
Merge pull request #3082 from mikerite/move-range-lints
...
Move some range lints to complexity
2018-08-26 15:08:21 +02:00
Michael Wright
95fedd2273
Revert "Fix E0502 warnings"
...
This reverts commit 98dbce4fe4
.
The compiler no longer emits the warnings in #2982 with the original
code.
2018-08-26 11:21:22 +02:00
Michael Wright
eef3ffab35
Remove iterator_find_map
feature attribute
...
Closes #3083
2018-08-26 11:11:47 +02:00
Michael Wright
cc87dc7539
Move some range lints to complexity
...
Recategorize `range_plus_one` and `range_minus_one` to `complexity`.
This moves `range_plus_one` out of the nursery as the inclusive range
syntax is now stable. Both are moved to `complexity` as it is more
consistent with other lints such as `int_plus_one`.
2018-08-26 10:57:04 +02:00
Michael Wright
6256ad05ba
fix-3078: verify test case
...
Check the crash test case by commenting out the fix
2018-08-25 22:35:06 +02:00
Michael Wright
45ceecc79c
Fix #3078
2018-08-25 14:49:56 +02:00
Philipp Hansch
296b79bdb8
Merge pull request #3079 from matthiaskrgr/update_cargo_metadata
...
deps: update cargo_metadata from 0.5 to 0.6.
2018-08-24 20:09:50 +02:00
Philipp Krones
b1620f5d3a
Merge pull request #3080 from matthiaskrgr/manual_swap_example
...
add how-to example for std::mem::transmute() usage instead of manual swap
2018-08-24 19:47:17 +02:00
Matthias Krüger
f7be2a0416
add how-to example for std::mem::transmute() usage instead of manual swap
2018-08-24 18:41:49 +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
Matthias Krüger
2224fbb5f7
deps: update cargo_metadata from 0.5 to 0.6.
2018-08-24 18:14:49 +02:00
Niklas Fiekas
afdf350060
Add copy_iterator lint ( #1534 )
2018-08-24 11:57:48 +02:00
Matthias Krüger
c98987f390
fix clippy breakage due to https://github.com/rust-lang/rust/pull/52602
2018-08-23 21:41:30 +02:00
Matt Brubeck
6a0703664b
Remove incorrect note from string_add_assign docs
...
The docs claim that `String::push_str` is better than `String::add` because `String::add` allocates a new string and drops the old one, but this is not true. In fact, `add` reuses the existing string and grows it only if its capacity is exceeded, exactly like `push_str`. Their performance is identical since `add` is just a wrapper for `push_str`:
```
fn add(mut self, other: &str) -> String {
self.push_str(other);
self
}
```
35bf1ae257/src/liballoc/string.rs (L1922-L1925)
2018-08-23 08:38:41 -07:00
Matthias Krüger
8ab16b678c
remove macro_vis_matcher feature gate since it is stable now.
...
Warning was:
warning: the feature `macro_vis_matcher` has been stable since 1.29.0 and no longer requires an attribute to enable
--> src/lib.rs:4:12
|
4 | #![feature(macro_vis_matcher)]
| ^^^^^^^^^^^^^^^^^
|
= note: #[warn(stable_features)] on by default
2018-08-23 15:40:51 +02:00
flip1995
37099ae034
Remove now stable tool_attributes feature
2018-08-23 15:36:07 +02:00
Matthias Krüger
712d2d4fa1
rustup, fix breakage introduced by https://github.com/rust-lang/rust/pull/53581
2018-08-22 23:34:52 +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
Lachezar Lechev
3015987f27
#3016 [WIP] Implement feedback and suggestions
2018-08-20 14:03:13 +02:00
Manish Goregaokar
a7bea134d3
Remove implied rust_2018 feature
...
We are already on the edition and this feature is implied.
2018-08-19 19:14:47 -07:00
Manish Goregaokar
76321d3300
codemap -> source_map
...
https://github.com/rust-lang/rust/pull/52953
2018-08-19 19:06:54 -07:00
Lachezar Lechev
6cb94630fb
WIP of #3016 for hardocded suggestion for writeln on empty string
2018-08-16 18:20:06 +02:00
Michael Wright
1c681b6ab6
fix-2927: Update formatting
2018-08-16 07:13:52 +02:00
Michael Wright
bbd67c9b78
Fix #2927
2018-08-15 08:11:07 +02:00
Manish Goregaokar
bac76afb5a
Rustup to rustc 1.30.0-nightly (23f09bbed 2018-08-14)
2018-08-14 11:26:28 -07: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
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
Philipp Krones
826d998cd2
Merge pull request #3036 from matthiaskrgr/clippy_self
...
fix 2 clippy warnings
2018-08-14 12:53:01 +02:00
Dale Wijnand
7933d445d1
Move shadow_unrelated to pedantic
2018-08-14 09:52:27 +01:00
Dale Wijnand
22ff5a3ef1
Avoid new_without_default_derive in DefaultHashTypes
2018-08-14 09:25:09 +01: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
Matthias Krüger
88d693918f
docs: add more suggestions on how to fix clippy findings to the online lint list.
2018-08-12 11:29:44 +02:00
Matthias Krüger
66ca3954ec
fix 2 clippy warnings
2018-08-11 23:16:47 +02:00
Oliver Schneider
99a087bea5
Update to rustc master
2018-08-08 13:19:07 +02:00
Oliver Schneider
d722489e71
Merge pull request #2823 from flip1995/thingies_things
...
Replace cfg_attr(rustfmt... with rustfmt::skip
2018-08-08 13:14:20 +02:00
Nick Cameron
b109e10334
Fix build
2018-08-08 18:01:06 +12: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
Oliver Schneider
77025557f9
Merge pull request #3009 from dwijnand/option-map_or
...
Use Option::map_or
2018-08-07 13:11:30 +02:00
Oliver Schneider
1af90085a1
Merge pull request #3008 from dwijnand/remove-workaround
...
Remove #[allow(rust_2018_idioms)] workaround
2018-08-07 13:10:54 +02:00
Oliver Schneider
dc5ee5aa19
Merge pull request #3010 from mikerite/issue2971
...
Fix #2971
2018-08-07 13:10:26 +02:00
Scott McMurray
73e097e9f1
Fix the build after https://github.com/rust-lang/rust/pull/53016
...
In-band lifetimes are no longer in the edition, so update the one place that was using them.
2018-08-07 00:05:09 -07:00
Michael Wright
a3d7698fd9
Fix #2971
2018-08-07 05:37:11 +02:00
Dale Wijnand
7a5ede677b
Use Option::map_or
2018-08-06 17:52:09 +01:00
Dale Wijnand
1a310bfdf7
Remove #[allow(rust_2018_idioms)] workaround
2018-08-06 17:51:04 +01: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
Nick Cameron
99dcc70dcd
Fix error in CrateType
in latest Rust
2018-08-05 09:35:08 +12:00
Manish Goregaokar
0ff762f7cd
Rustup to 59fa6bd6c
2018-08-03 10:14:25 -07: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
flip1995
12f2d61fa9
Replace cfg_attr(rustfmt... thingies
2018-08-02 23:04:20 +02:00
Philipp Krones
5d9ca00d94
Merge pull request #2992 from etaoins/allow-pass-by-ref-on-adt-return
...
Allow pass by ref when returning ADT with ref
2018-08-02 22:39:04 +02:00
Alex Crichton
40349b23ea
Fix breakage from rust-lang/rust#52949
2018-08-02 13:00:14 -07:00
Manish Goregaokar
f43d0e53b2
Make indexing_slicing a restriction lint ( fixes #2933 )
2018-08-02 10:06:03 -07:00
reujab
1afb7e895b
removed colon
2018-08-02 11:52:46 -04: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
Andrew Audibert
3851c0e22b
Address build warning
2018-07-31 23:53:45 -07: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
Philipp Hansch
4dbc62baf8
Merge pull request #2983 from mikerite/fix_warnings_20180730
...
Fix compiler warnings
2018-08-01 06:18:18 +01:00
Michael Wright
98dbce4fe4
Fix E0502 warnings
...
Fixes #2982
2018-08-01 06:33:08 +02:00
flip1995
74fcf7de4a
single_char_pattern: lint only on the argument span
2018-07-31 12:20:32 +02:00
Michael Wright
9c53b1560c
Fix unused_mut warning
2018-07-31 07:45:05 +02:00
Andrew Audibert
0ea1afab3a
Lint using identity into_iter conversion
2018-07-29 21:37:31 -07:00
Philipp Krones
4010788b3a
Merge pull request #2917 from mikerite/issue2894
...
Fix #2894
2018-07-29 23:54:03 +02:00
Philipp Hansch
0aeb82cb67
Merge pull request #2959 from chrisduerr/master
...
Add known problem to `needless_borrow` lint
2018-07-29 12:15:17 +02:00
Philipp Hansch
946340acfe
Fix ICE with 'while let (..) = x.iter()'
2018-07-29 11:00:26 +02:00
Michael Wright
d7ddb2abba
Add use_self
comment
2018-07-28 10:42:21 +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
bf3f976a43
Fix regression in print_literal
2018-07-25 17:31:17 -04:00
Philipp Hansch
e1096391dc
Merge pull request #2960 from matthiaskrgr/typos
...
fix a bunch of typos found by codespell
2018-07-25 22:57:10 +02:00
Philipp Hansch
3bd062e1d9
Merge pull request #2948 from Nemo157/patch-1
...
Add known problem for redundant_closure lint
2018-07-25 22:55:36 +02: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
Christian Duerr
13353111da
Add known problem to needless_borrow
lint
...
The `needless_borrow` lint is temporarily disabled because of some false
positives it causes in combination with the `derive` macro.
However the documentation does not explain these issues, but instead
lists `Known problems: None`. To make it clear why this lint is
currently not enabled, a description of the false positives caused by
this lint has been added to the `Known problems` section.
2018-07-25 14:54:09 +02:00
Michael Wright
137f944315
Fix warnings
2018-07-25 06:34:29 +02:00
Michael Wright
5e23fcec0b
Merge branch 'master' into issue2894
2018-07-25 06:27:36 +02:00
Dale Wijnand
a1cce2d06a
Inline utils::in_external_macro
2018-07-24 10:38:58 +01:00
Dale Wijnand
b1fa7b91ba
Delegate utils::in_external_macro to rustc::lint::in_external_macro
2018-07-24 10:34:18 +01:00
Philipp Krones
b02e53de34
Merge pull request #2951 from etaoins/allow-pass-by-ref-on-ref-return
...
Allow pass by reference if we return a reference
2018-07-24 11:23:01 +02:00
Philipp Krones
3f9b837ec8
Merge pull request #2953 from dwijnand/misrefactored_assign_op-known-problem-doc
...
Expand on misrefactored_assign_op known problems
2018-07-24 11:19:58 +02:00
Ryan Cumming
0afa5e1e21
Merge branch 'master' into allow-pass-by-ref-on-ref-return
2018-07-24 19:03:43 +10:00
Dale Wijnand
70f5bb1ff6
Tweak
...
misrefactored_assign_op's known problems wording
2018-07-24 09:26:28 +01:00
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
2a37a62686
Update dependencies
2018-07-20 00:50:02 -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
d914106d87
Bump to 0.0.212
2018-07-06 23:23:19 -07: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
Oliver Schneider
b4b6e6558e
Version bump
2018-06-29 10:22:01 +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
551c02ecbf
Upgrade to edition 2018
2018-05-30 10:18:52 +02: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