Vincent Dal Maso
fa9f744c2c
Add the common case search
...
Changes:
- Refactor the common case search into a function.
- Fix the useless Option around the vec in the search_same_list.
2019-05-21 13:08:19 +02:00
Philipp Krones
42d849c185
Formatting inside if_chain! macro
2019-05-21 10:45:38 +02:00
Harrison McCullough
f32c2fcb7e
Implement get_last_with_len lint
2019-05-20 18:01:21 -06:00
BO41
36c8aaba8f
Fix tests and make other ascii lints auto-fixable
2019-05-20 16:02:50 +02:00
BO41
859b329603
Make non_ascii_literal auto-fixable
2019-05-20 15:23:38 +02:00
BO41
874de889dc
Improve verbosity of non_ascii_literal lint example
2019-05-20 15:08:53 +02:00
bors
fd56381015
Auto merge of #4088 - pJunger:check1, r=oli-obk
...
Added lint for TryFrom for checked integer conversion.
works towards #3947
Added lint for try_from for checked integer conversion.
Should recognize simple & straight-forward checked integer conversions.
2019-05-20 09:31:09 +00:00
bors
0417a0ac4d
Auto merge of #4107 - taiki-e:useless_attribute, r=flip1995
...
useless_attribute: Add unreachable_pub to whitelists
Fixes #4106
changelog: `useless_attribute`: whitelist `unreachable_pub` on `use` items
2019-05-19 10:37:09 +00:00
bors
4071b2996e
Auto merge of #4099 - flip1995:ul_4094, r=oli-obk
...
Add macro check for unreadable_literal lint
Closes #4094
changelog: Disable `unreadable_literal` lint inside macros
2019-05-19 08:46:43 +00:00
pJunger
f627fbdc59
Removed symbols again.
2019-05-18 10:54:03 +02:00
pJunger
7e0f2e3f1e
Removed unused lifetime.
2019-05-18 09:34:56 +02:00
pJunger
ce9494a3df
Changed impl to use symbols.
2019-05-18 09:34:56 +02:00
pJunger
00a5ef64a2
Added suggestion for conversion with is_ok.
2019-05-18 09:33:26 +02:00
pJunger
0a43dcfd04
Fixed more lint findings.
2019-05-18 09:33:26 +02:00
pJunger
1c86b3758d
Fixed clippy lints in checked_conversions.rs.
2019-05-18 09:33:26 +02:00
pJunger
14d948c560
Registered lint.
2019-05-18 09:33:25 +02:00
pJunger
47444c44ad
Added lint for TryFrom for checked integer conversion rust-lang#3947.
2019-05-18 09:33:25 +02:00
Taiki Endo
40fc725298
useless_attribute: Add unreachable_pub to whitelists
2019-05-18 14:22:16 +09:00
Oliver Scherer
f49ef0ec04
Dogfood
2019-05-18 01:42:15 +02:00
Oliver Scherer
462df72100
Dogfood and rustfmt
2019-05-18 00:58:25 +02:00
Oliver Scherer
f7f85a0dca
Prevent symbocalypse
2019-05-17 23:53:54 +02:00
Manish Goregaokar
ce63f3ae4d
Add known problems
2019-05-16 09:43:07 -07:00
Manish Goregaokar
373d270673
Rename to redundant_closure_for_method_calls
2019-05-16 09:18:50 -07:00
Vincent Dal Maso
902726c38d
Fix match_same_arms to fail late
...
Changes:
- Add a function search_same_list which return a list of matched expressions
- Change the match_same_arms implementation behaviour. It will lint each same arms found.
2019-05-16 11:27:45 +02:00
Michael Wright
4fcaab3d62
Split redundant_closure lint
...
Move the method checking into a new lint called
`redundant_closures_for_method_calls` and put it in the pedantic group.
This aspect of the lint seems more controversial than the rest.
cc #3942
2019-05-16 08:25:39 +02:00
flip1995
3543f58c84
Add macro check for unreadable_literal lint
...
Closes #4094
2019-05-15 14:57:56 +02:00
flip1995
5dea5d404c
Fix dogfood errors
2019-05-14 15:08:29 +02:00
flip1995
4b4d734758
Also hash mem::discriminant in hash_stmt
2019-05-14 14:13:23 +02:00
Oliver Scherer
f11b236087
mem::discriminant trumps manual discriminant hashing
2019-05-14 14:04:55 +02:00
Oliver Scherer
bc031d4c74
Properly hash enums
2019-05-14 13:57:48 +02:00
bors
501830bf01
Auto merge of #4084 - mikerite:fix-4019, r=oli-obk
...
Fix 4019
Fixes #4019
2019-05-14 11:26:16 +00:00
Oliver Scherer
dfbc74b08b
Rustfmt all the things
2019-05-14 10:33:48 +02:00
Oliver Scherer
af80c53450
Clippy dogfood
2019-05-14 10:33:48 +02:00
Oliver Scherer
b2dbda4d48
Use symbols instead of strings
2019-05-14 10:33:42 +02:00
Manish Goregaokar
42480fd031
Rustup to rustc 1.36.0-nightly (1764b2972 2019-05-12)
2019-05-13 11:39:14 -07:00
Michael Wright
2efd8c6e05
Fix comments; minor refactoring
2019-05-12 10:32:19 +02:00
Michael Wright
e6e3f24e0c
Fix #4019
2019-05-12 10:18:38 +02:00
Manish Goregaokar
abf6481f87
Add in_macro again
2019-05-11 21:39:37 -07:00
Manish Goregaokar
7eb8018554
Rename in_macro to in_macro_or_desugar
2019-05-11 21:39:02 -07:00
Manish Goregaokar
19cfb84405
Start handling desugarings in author lint
2019-05-10 23:43:58 -07:00
Manish Goregaokar
0499184201
Ignore desugarings in macro checks
2019-05-10 23:40:42 -07:00
Manish Goregaokar
5661e5947f
Add IfDesugar to desugaring_name
2019-05-10 23:40:42 -07:00
Manish Goregaokar
26ebc3e9a1
Fix consts.rs
2019-05-10 23:40:42 -07:00
Manish Goregaokar
c9ed92ce20
More uses of higher::if_block
2019-05-10 23:40:42 -07:00
Manish Goregaokar
69b1da4d82
Remove some unnecessary If arms
2019-05-10 23:40:42 -07:00
Manish Goregaokar
da8b56d99a
Fix needless_bool.rs
2019-05-10 23:40:42 -07:00
Manish Goregaokar
09a93291ec
Fix question_mark.rs
2019-05-10 23:40:42 -07:00
Manish Goregaokar
f40c77a776
Fix shadow.rs
2019-05-10 23:40:42 -07:00
Manish Goregaokar
62897747fd
Fix unwrap.rs
2019-05-10 23:40:42 -07:00
Manish Goregaokar
e7af60f258
Add util function for desugaring if block
2019-05-10 23:40:42 -07:00
Andy Russell
9ede56f383
use derive
feature over serde_derive
crate
2019-05-09 13:05:34 -04:00
Matthias Krüger
857c2c53bf
rustup https://github.com/rust-lang/rust/pull/60586
...
cc https://github.com/rust-lang/rust/issues/60623
2019-05-08 06:58:37 +02:00
Matthias Krüger
d618637c05
Rustup to rustc 1.36.0-nightly (13fde05b1 2019-05-03)
2019-05-03 22:28:34 -07:00
Jean Mertz
ff244b6c43
Fix link in into_iter_on_array documentation
...
The non-inline variant wasn't being rendered correctly.
see: https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_array
2019-05-03 17:38:13 +02:00
bors
8b906f94f3
Auto merge of #4053 - euclio:too-many-args-span, r=flip1995
...
remove function body from "too many args" span
changelog: Remove the function body from the "too many arguments" span.
2019-05-03 07:26:55 +00:00
Andy Russell
9253506112
remove function body from "too many args" span
2019-05-02 10:36:59 -04:00
bors
8151a17422
Auto merge of #4049 - airt:fix-4033-search_is_some, r=flip1995
...
Fix #4033 search_is_some
Fixes #4033 .
Suggest `any(|x| ..)` instead of `any(|&x| ..)` for `find(|&x| ..).is_some()` (Lint [search_is_some](https://rust-lang.github.io/rust-clippy/master/index.html#search_is_some ))
FnDecl of `find`:
```rust
fn find<P>(&mut self, mut p: P) -> Option<Self::Item> where
P: FnMut(&Self::Item) -> bool
```
FnDecl of `any`:
```rust
fn any<F>(&mut self, mut f: F) -> bool where
F: FnMut(Self::Item) -> bool
```
If match on `|&_|` in closure of `find`, only use `|_|` in the suggestion.
PS. It's the first time that I have used the `hir` API, please correct me if there is any mistake 😺
2019-05-02 08:45:02 +00:00
bors
1cf5d7f04c
Auto merge of #4035 - JoshMcguigan:useless_let_if_seq-3043, r=oli-obk
...
useless_let_if_seq handle interior mutability
fixes #3043
This passes all tests, including a new one specifically dealing with a type with interior mutability. The main thing I'm unsure of is whether the span I used in the call to `is_freeze` is the most appropriate span to use, or if it matters.
2019-05-02 07:03:28 +00:00
Matthias Krüger
f195680edb
more Use->DropTemps fixes
2019-05-01 23:04:35 +02:00
Matthias Krüger
24e856f10a
rustup https://github.com/rust-lang/rust/pull/60417/
...
cc https://github.com/rust-lang/rust/issues/60448
2019-05-01 22:18:16 +02:00
Matthias Krüger
6967cf59a4
clippy-driver: use rustc_tools_util to get version info.
...
This will add git hash information to `clippy-driver -V` output.
2019-05-01 10:43:16 +02:00
airt
d063516c85
check closure arguments before use it
2019-05-01 04:41:00 +08:00
airt
5d6a100f81
format code
2019-05-01 04:03:51 +08:00
André Luis Leal Cardoso Junior
e428862c95
Update find(p).map(p) occurrences to use find_map(p)
2019-04-30 16:45:32 -03:00
André Luis Leal Cardoso Junior
b411391f8e
Add lints for find_map
2019-04-30 16:45:28 -03:00
airt
c3fde34fd5
fix suggestion for search_is_some
2019-05-01 03:11:58 +08:00
airt
bd0b75f6c3
fix suggestion for search_is_some naively
2019-05-01 01:08:16 +08:00
Manish Goregaokar
83519d3ca0
Rustup to rustc 1.36.0-nightly (f843ad60e 2019-04-30)
2019-04-29 22:31:39 -07:00
Manish Goregaokar
79f48d0573
Rustup to rustc 1.36.0-nightly (c7fcbfbf1 2019-04-29)
...
See https://github.com/rust-lang/rust/pull/60317
2019-04-28 22:42:16 -07:00
bors
78d13e007f
Auto merge of #4043 - rust-lang:map-clone-iter, r=matthiaskrgr
...
Suggest .copied() for map_clone on iterators too
fixes https://github.com/rust-lang/rust-clippy/issues/3958
changelog: Make `map_clone` suggest the newly-stable `Iterator::copied()` when applicable
r? @mikerite @matthiaskrgr
2019-04-28 18:39:00 +00:00
Manish Goregaokar
770de14505
Suggest .copied() for map_clone on iterators too
2019-04-28 11:14:39 -07:00
Matthias Krüger
e01caad2a8
deps: bump toml from 0.4 to 0.5
2019-04-28 19:24:36 +02:00
Michael Wright
5ad79c2b3d
Fix breakage due to rust-lang/rust#60225
2019-04-28 09:11:20 +02:00
Josh Mcguigan
2bbe8be8d0
useless_let_if_seq handle interior mutability
2019-04-25 19:07:01 -07:00
bors
910d538ef1
Auto merge of #4008 - g-bartoszek:boxed-fnmut, r=phansch
...
Do not trigger redundant_closure for non-function types
fixes #3898
Added a check for the entity being called in the closure body to be a FnDef. This way lint does not trigger for ADTs (Box) but I'm not sure if it's correct and not too restrictive.
<!--
Thank you for making Clippy better!
We're collecting our changelog from pull request descriptions.
If your PR only updates to the latest nightly, you can leave the
`changelog` entry as `none`. Otherwise, please write a short comment
explaining your change.
If your PR fixes an issue, you can add "fixes #issue_number" into this
PR description. This way the issue will be automatically closed when
your PR is merged.
If you added a new lint, here's a checklist for things that will be
checked during review or continuous integration.
- [ ] Followed [lint naming conventions][lint_naming]
- [ ] Added passing UI tests (including committed `.stderr` file)
- [ ] `cargo test` passes locally
- [ ] Executed `util/dev update_lints`
- [ ] Added lint documentation
- [ ] Run `cargo fmt`
Note that you can skip the above if you are just opening a WIP PR in
order to get feedback.
Delete this line and everything above before opening your PR -->
changelog: Fix false positive in `redundant_closure` pertaining to non-function types
2019-04-25 18:13:47 +00:00
bors
6a0105e59f
Auto merge of #4026 - cemiloten:working-on-#3981, r=flip1995
...
Attempt to fix #3981
Fixes #3981
Hi, hopefully this is correct, happy to have feedback.
changelog: Don't trigger `unnecessary_cast` inside a macro
2019-04-25 10:37:30 +00:00
cemil
8eae2d3707
Ignore unnecessary cast if inside macro
2019-04-25 12:06:20 +02:00
bors
8c0e038f6f
Auto merge of #4029 - phansch:update_pulldown_cmark, r=oli-obk
...
Update pulldown_cmark to 0.5
We now no longer have to use our own wrapper around `Parser` and can use
the new `OffsetIter`.
changelog: none
2019-04-25 09:16:46 +00:00
Philipp Hansch
1f5a3c6e52
Rustup for https://github.com/rust-lang/rust/pull/59042
2019-04-25 07:29:23 +02:00
Philipp Hansch
32e877ce13
Update pulldown_cmark to 0.5
...
We now no longer have to use our own wrapper around `Parser` and can use
the new `OffsetIter`.
2019-04-24 22:54:12 +02:00
Matthew Kraai
5c7349d430
Remove approx_constant known problems
...
Fixes #4025 .
2019-04-24 09:29:45 -07:00
bors
253601a91c
Auto merge of #4024 - kraai:suppress-let_and_return-if-let-has-attributes, r=flip1995
...
Suppress let_and_return if let has attributes
Fixes #3882 .
changelog: suppress `let_and_return` if `let` has attributes
2019-04-24 07:29:35 +00:00
Matthew Kraai
c0479402e4
Suppress let_and_return if let has attributes
...
Fixes #3882 .
2019-04-23 23:32:16 -07:00
Matthew Kraai
9a43e09d77
Change "if types change" to "if you later change the type"
...
Fixes #3964 .
2019-04-23 16:53:09 -07:00
bors
9897442f27
Auto merge of #4018 - rust-lang:or_fn_call_variants, r=oli-obk
...
Ignore non-const ctor expressions in or_fn_call
Fixes https://github.com/rust-lang/rust-clippy/issues/1338
Should have been fixed by #919 , however that focuses on const ctor expressions only, and `.or(Some(local))` isn't const.
This also automatically ignores things like `.or(Some(local.clone())` which we don't actually want to do; I need to figure out what to do here.
changelog: Fixed false positive in [`or_fn_call`] pertaining to enum variant constructors
r? @oli-obk @phansch
2019-04-23 18:24:10 +00:00
Manish Goregaokar
f3455cda81
Rustup to rustc 1.36.0-nightly (fe0a415b4 2019-04-23)
2019-04-23 08:25:45 -07:00
Manish Goregaokar
7e2043de2f
Ignore all enum and struct constructors in lints about *or(call())
2019-04-23 08:01:42 -07:00
bors
d420589e1a
Auto merge of #4013 - kraai:move-path_buf_push_overwrite-to-nursery, r=matthiaskrgr
...
Move path_buf_push_overwrite to nursery
See #4012 .
changelog: move `path_buf_push_overwrite` to the nursery
2019-04-21 20:44:03 +00:00
Igor Matuszewski
930f1e6129
Use newly-introduced mutability query for statics
...
Fixes fallout from https://github.com/rust-lang/rust/pull/60124 .
cc https://github.com/rust-lang/rust/issues/60154
2019-04-21 21:15:34 +02:00
Matthew Kraai
4171299632
Move path_buf_push_overwrite to nursery
...
See #4012 .
2019-04-21 10:24:51 -07:00
Grzegorz
4f801a278d
redundant closure triggers for fnptrs and closures
2019-04-20 22:20:14 +02:00
bors
54e80c7b34
Auto merge of #4007 - phansch:fix_allowing_toplevel_ref_arg, r=flip1995
...
Allow allowing of toplevel_ref_arg lint
I'm not sure why some lints need the `HirId` to be able to recognize the
lint level attributes, but this commit makes the lint level attributes
work for `toplevel_ref_arg`.
Fixes #2332
changelog: Allow allowing of `toplevel_ref_arg` lint
2019-04-20 18:22:53 +00:00
bors
7a6d5c00d3
Auto merge of #4006 - phansch:fix_module_name_repetitions_fp, r=flip1995
...
Fix false positive in module_name_repetitions lint
This lint was triggering on modules inside expanded attrs, like
for example `#[cfg(test)]` and possibly more.
It was not reporting a location in #3892 because `span.lo()` and `span.hi()` both were 0.
Fixes #3892
changelog: Fix false positive in `module_name_repetitions` lint
2019-04-20 16:58:51 +00:00
Philipp Hansch
158aa39a7c
Allow allowing of toplevel_ref_arg lint
...
I'm not sure why some lints need the `HirId` to be able to recognize the
lint level attributes, but this commit makes the lint level attributes
work for `toplevel_ref_arg`.
2019-04-19 15:18:32 +02:00
Grzegorz
aa9cf07d56
redundant closure for functions restricted to FnDefs
2019-04-19 15:14:49 +02:00
Philipp Hansch
850c24edd3
Fix false positive in module_name_repetitions lint
...
This lint was triggering on modules inside expanded attrs, like
for example `#[cfg(test)]` and possibly more.
2019-04-19 12:53:03 +02:00
bors
12e8075d91
Auto merge of #3989 - flip1995:assert_on_const, r=phansch
...
Don't trigger assertions_on_constants on debug_assert!(false)
Fixes #3948
Fixes #3765
changelog: Fix `debug_assert!` false positive on `assertions_on_constants` lint
2019-04-19 09:57:35 +00:00
Felix Rabe
b4f2200d5c
Typo
2019-04-18 15:08:14 +02:00
flip1995
10cd28900f
Fix dogfood error
2019-04-18 13:37:20 +02:00
André Luis Leal Cardoso Junior
7e9cb5b84a
Add lint PathBufPushOverwrite
2019-04-18 08:05:55 -03:00
flip1995
834ad76806
Remove code duplication
2019-04-18 12:04:46 +02:00
flip1995
40218bae0c
Format code
2019-04-18 11:50:45 +02:00
flip1995
be98df5ac3
Don't lint debug_assert!(false)
2019-04-18 11:47:39 +02:00
bors
b834dbb2d5
Auto merge of #3984 - phansch:bytecount_sugg, r=flip1995
...
Change naive_bytecount applicability to MaybeIncorrect
We can't use `MachineApplicable` here as applying the fix will cause
another error because `bytecount` would first have to be added to the
Cargo.toml.
Example:
```
error: You appear to be counting bytes the naive way
--> $DIR/bytecount.rs:5:13
|
LL | let _ = x.iter().filter(|&&a| a == 0).count(); // naive byte count
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider using the bytecount crate: `bytecount::count(x, 0)`
```
Just replacing it with the suggestion is not enough.
cc #3630
2019-04-18 07:49:09 +00:00
Philipp Hansch
01ea9bd9d8
Change naive_bytecount applicability MaybeIncorrect
...
We can't use `MachineApplicable` here as applying the fix will cause
another error because `bytecount` would first have to be added to the
Cargo.toml.
2019-04-17 20:46:42 +02:00
Matthew Kraai
753c39672e
Use lint pass macros
...
Fixes #3917 .
2019-04-17 09:35:22 -07:00
flip1995
ce87051779
Fix lint_without_lint_pass internal lint
2019-04-17 06:51:21 -07:00
flip1995
840eac2c05
Use {get,match}_def_path from LateContext
2019-04-17 12:53:29 +02:00
flip1995
2f100e04af
Remove uplifted functions {get,match}_def_path from Clippy
2019-04-17 12:51:57 +02:00
bors
27d62cf603
Auto merge of #3966 - flip1995:internal_lints, r=oli-obk
...
Enable rustc internal lints
Closes #3965
I'm not 100% sure if enabling the `-Zunstable-options` flag in the `.cargo/config` file is the right place.
2019-04-17 04:46:19 +00:00
bors
1132caabff
Auto merge of #3975 - phansch:has_placeholders, r=flip1995
...
Change while_let_loop applicability to HasPlaceholders
The suggestion has been changed at some point to use `..` in the suggested code.
Due to that we can't make the lint MachineApplicable anymore.
cc #3630
2019-04-17 01:14:27 +00:00
Philipp Hansch
e974d84d03
while_let_loop uses placeholders in suggestions
...
Due to that we can't make the lint MachineApplicable anymore.
2019-04-16 20:05:16 +02:00
Manish Goregaokar
e9cde416ba
Only suggest .copied() for Option right now
2019-04-15 15:44:09 -07:00
Manish Goregaokar
ad2c65bd1b
Also suggest .copied() when .clone() is called on a Copy type
2019-04-15 14:39:41 -07:00
Manish Goregaokar
d2f7ae70ae
Suggest .copied() instead of .cloned() in map_clone when dealing with references
2019-04-15 14:32:39 -07:00
flip1995
445fa3b529
Deny rustc internal lints
2019-04-15 13:21:52 +02:00
flip1995
5361b842d1
Remove clippy::default_hash_types internal lint
2019-04-15 13:21:52 +02:00
Manish Goregaokar
2156f6733e
Clean up unused cx parameters
2019-04-14 13:23:43 -07:00
Manish Goregaokar
3c93a95b1f
HirIdify ReadVisitor
2019-04-14 13:18:34 -07:00
Manish Goregaokar
0c6956f8ce
Use _from_hir_id APIs
2019-04-14 13:15:20 -07:00
Manish Goregaokar
1b2f2be085
Remove now-unnecessary calls to node_to_hir_id
2019-04-14 13:11:31 -07:00
Philipp Hansch
289a9af801
cargo fmt
2019-04-14 15:07:15 +02:00
Philipp Hansch
ad27e3ff9b
Refactor suspicious_else_formatting using if_chain
2019-04-14 11:12:51 +02:00
Philipp Hansch
96c34e85c4
Remove except
in suspicious_else_formatting
...
This was causing two different ICEs in #3741 .
The first was fixed in #3925 .
The second one is fixed with this commit: We just don't `expect`
anymore. If the snippet doesn't contain an `else`, we stop emitting the
lint because it's not a suspiciously formatted else anyway.
2019-04-14 11:04:41 +02:00
bors
d516925ec8
Auto merge of #3946 - rchaser53:issue-3920, r=flip1995
...
fix format does not parse escaped braces error
related: https://github.com/rust-lang/rust-clippy/issues/3920
2019-04-12 17:03:01 +00:00
rchaser53
db6ca9b8d3
fix format does not parse escaped braces error
2019-04-13 01:39:10 +09:00
flip1995
3fe5eea4e4
Fix get_def_path
...
This fix is obsolet once rust-lang/rust#59779 and #3926 is merged.
2019-04-12 11:59:06 +02:00
bors
2278814c8e
Auto merge of #3931 - phansch:3891, r=flip1995
...
Fix ICE in decimal_literal_representation lint
Handling the integer parsing properly instead of just unwrapping.
Note that the test is not catching the ICE because plain UI tests
[currently hide ICEs][compiletest_issue]. Once that issue is fixed, this
test would fail properly again.
Fixes #3891
[compiletest_issue]: https://github.com/laumann/compiletest-rs/issues/169
2019-04-10 20:57:15 +00:00
Philipp Hansch
ab6b949224
Refactor check_lit method
2019-04-10 21:05:56 +02:00
Tomas Koutsky
603996c9d5
Support updated type dependent def ID getter
2019-04-10 16:18:02 +02:00
Philipp Hansch
1fd2451b90
Code formatting/cleanup
2019-04-10 07:50:34 +02:00
Philipp Hansch
2b0dc39f5b
Don't emit useless_attribute lint in external macros
2019-04-10 07:30:59 +02:00
bors
37f5c1ec73
Auto merge of #3925 - phansch:3741, r=flip1995
...
Fix ICE in suspicious_else_formatting
Fixes #3741
2019-04-09 07:13:08 +00:00
Philipp Hansch
0307ff020c
Fix ICE in decimal_literal_representation lint
...
Handling the integer parsing properly instead of just unwrapping.
Note that the test is not catching the ICE because plain UI tests
[currently hide ICEs][compiletest_issue]. Once that issue is fixed, this
test would fail properly again.
[compiletest_issue]: https://github.com/laumann/compiletest-rs/issues/169
2019-04-08 22:16:34 +02:00
Klemen Košir
560fd163d6
Escape a single quote in single_char_pattern hint
2019-04-08 21:55:50 +09:00
bors
4fdd113bed
Auto merge of #3921 - euclio:single-char-names-multispan, r=flip1995
...
use a multispan for MANY_SINGLE_CHAR_NAMES
2019-04-08 08:42:13 +00:00
bors
e91ba8af85
Auto merge of #3848 - felix91gr:null_transmute, r=flip1995
...
Transmuting known null ptr to ref
Working on implementing #628
2019-04-08 07:20:25 +00:00
bors
42e1cf3763
Auto merge of #3901 - rail-rain:issue_1670, r=flip1995
...
Fix `explicit_counter_loop` suggestion
#1670
This code seems to me to work, but I have two question.
* Because range expression desugared in hir, `Sugg::hir` doesn't add parenthesis to range expression. Which function is better to check range do you think, `check_for_loop_explicit_counter` or `hir_from_snippet`?
* Do you think we need to distinguish between range expression and struct expression that creates `std::ops::Range*`?
2019-04-08 06:28:15 +00:00
Philipp Hansch
547c5c0667
cargo fmt
2019-04-08 07:56:54 +02:00
Philipp Hansch
60c1bb0546
Fix ICE in suspicious_else_formatting
2019-04-07 11:11:06 +02:00
Andy Russell
0d50d44ea6
use a multispan for MANY_SINGLE_CHAR_NAMES
2019-04-05 10:07:39 -04:00
Matthias Krüger
920e47ceb5
NFC: fix typos
2019-04-04 11:15:30 +02:00
Matthias Krüger
c81e43b92c
rustup https://github.com/rust-lang/rust/pull/59657
...
commit: 4122d2221ec65232bc211a266d0796a4713e0d39
2019-04-03 10:48:54 +02:00
Félix Fischer
069957a8ad
Add TransmutingNull Lint
...
* Late Lint pass, catches:
* One liner: 0 -> null -> transmute
* One liner: std:null() -> transmute
* Const (which resolves to null) -> transmute
* UI Test case for Lint
* Updated test for issue 3849, because now the lint that code generated is in Clippy.
* Expanded `const.rs` miri-based Constant Folding code, to cover
raw pointers
2019-04-02 11:39:43 -03:00
Philipp Hansch
b253c564d5
Rustup to https://github.com/rust-lang/rust/pull/58805
2019-04-01 20:37:05 +02:00
Félix Fischer
491f72442e
Updated source to match with recent rustc master
toolchain changes
2019-04-01 20:37:05 +02:00
flip1995
bbb7963735
Fix dogfood error of question_mark lint fix
2019-04-01 20:37:05 +02:00
flip1995
6f01ecfefd
Fix question_mark lint+test
2019-04-01 20:37:05 +02:00
rail
2b82c71b55
use span_lint_and_sugg
in explicit_counter_loop
2019-03-28 08:51:57 +09:00
Félix Fischer
3cff06a0eb
Fix some test failures
2019-03-26 13:57:03 -03:00
Oliver Scherer
d020565ed2
Hacky rustup
2019-03-26 10:55:03 +01:00
Matthias Krüger
b5d82524b4
run cargo fmt
2019-03-23 23:39:58 +01:00
Matthias Krüger
e17dd4efa9
rustup https://github.com/rust-lang/rust/pull/59096/
2019-03-23 23:37:38 +01:00
rail
9698e41994
Change explicit_counter_loop's message to add parentheses if necessary
2019-03-23 15:36:48 +09:00
rail
bd6c2df066
Change explicit_counter_loop's message to reflect original variable name
2019-03-23 15:30:17 +09:00
Mateusz Mikuła
6cb0605600
Cargo fmt
2019-03-18 13:39:11 +01:00
Mateusz Mikuła
664391c5f8
Drop range_contains feature
2019-03-18 12:54:10 +01:00
Mateusz Mikuła
8feb2c6b2f
Fix rustfmt::skip detection
2019-03-18 12:54:10 +01:00
Mateusz Mikuła
fb7699d9e5
Rework clippy detection in attribute lint
2019-03-18 12:54:10 +01:00
Mateusz Mikuła
0ea5e38a9e
name -> check_name
2019-03-18 12:54:10 +01:00
Mateusz Mikuła
4bb6c87b08
span -> span()
2019-03-18 12:54:10 +01:00
Mateusz Mikuła
b25564fc8a
name -> ident_str
2019-03-18 12:54:10 +01:00
Mateusz Mikuła
e63a685412
NestedMetaItemKind -> NestedMetaItem
2019-03-18 12:54:10 +01:00
Mateusz Mikuła
cf71caa71d
Drop redundant &
2019-03-18 12:54:10 +01:00
Mateusz Mikuła
cb3aa7480c
Fix path_qualified
...
As suggested by eddyb
2019-03-18 12:54:10 +01:00
Mateusz Mikuła
9b7ff501a6
Replace most of ty:Ty with Ty
2019-03-18 12:54:10 +01:00
flip1995
4832a853c7
Feed dog
2019-03-16 15:39:02 +01:00
flip1995
180e07e99e
Adapt paths to new formatting
2019-03-16 15:22:31 +01:00
flip1995
3c4616d303
cargo fmt
2019-03-16 11:51:57 +01:00
flip1995
254fad95de
Use LocalInternedString inside of AbsolutePathPrinter
2019-03-16 11:45:29 +01:00
flip1995
dae5c9c685
AbsolutePathBuffer -> AbsolutePathPrinter
2019-03-16 11:17:36 +01:00
flip1995
2d8618e95c
Remove ty::TyKind from eta_reduction and replace it with ty::Ty
2019-03-16 11:10:33 +01:00
flip1995
8eadbfd35b
parent_def_id -> parent
2019-03-15 23:44:04 +01:00
flip1995
dcbd3aefa2
item_path_str -> def_path_str
2019-03-15 23:43:42 +01:00
flip1995
31435cd7f5
Reimplement AbsolutePathBuffer
2019-03-15 23:42:46 +01:00
bors
e7806413c6
Auto merge of #3883 - daxpedda:missing_docs_in_private_items, r=phansch
...
Add `doc(include = ...)` detection to `missing_docs_in_private_items`
The whole `missing documentation in crate` part doesn't have any tests. If I should add test cases tell me.
2019-03-15 06:18:28 +00:00
daxpedda
e1096e3310
Add a test for doc(include)
...
Tiny code improvement.
2019-03-14 19:33:06 +01:00
daxpedda
177b3b27c4
Add doc(include = ...)
detection to missing_docs_in_private_items
2019-03-14 18:32:39 +01:00
bors
9df38117d9
Auto merge of #3877 - rink1969:3842, r=flip1995
...
casting integer literal to float is unnecessary
fix issue https://github.com/rust-lang/rust-clippy/issues/3842
2019-03-14 16:32:15 +00:00
rink1969
d9dd008e44
casting integer literal to float is unnecessary
2019-03-14 15:53:08 +08:00
bors
99fdf2607e
Auto merge of #3873 - phansch:hiridification, r=flip1995
...
Some more HirId-ification
* 8a59f81
: Rename span_lint_node* functions to span_lint_hir*
* a457258
: Use `HirId` instead of `NodeId` for lookup
2019-03-13 08:45:23 +00:00
Philipp Hansch
bf86c1b989
cargo fmt
2019-03-13 06:51:57 +01:00
bors
8fc0a738e3
Auto merge of #3869 - taiki-e:use_self, r=flip1995
...
Fix `use_self` false positive on nested functions
Related to https://github.com/rust-lang/rust-clippy/pull/3640
The current `use_self` warns the following code.
```rust
#![warn(clippy::use_self)]
struct Foo {}
impl Foo {
fn bar() {
fn baz() -> Foo { //^ warning: unnecessary structure name repetition
Foo {} //^ warning: unnecessary structure name repetition
}
}
}
```
2019-03-12 12:09:56 +00:00
bors
3d31c2157a
Auto merge of #3794 - mikerite:fix-3739, r=phansch
...
Fix `boxed_local` suggestion
Don't warn about an argument that is moved into a closure.
ExprUseVisitor doesn't walk into nested bodies so use a new
visitor that collects the variables that are moved into closures.
Fixes #3739
2019-03-12 07:43:14 +00:00
Philipp Hansch
a457258132
Use HirId
instead of NodeId
for lookup
2019-03-12 08:21:22 +01:00
bors
75bfa29533
Auto merge of #3871 - taiki-e:needless_continue, r=phansch
...
Fix `needless_continue` false positive
If the `continue` has a label, check it matches the label of the loop.
Fixes https://github.com/rust-lang/rust-clippy/issues/2329
2019-03-12 07:04:44 +00:00
Philipp Hansch
8a59f81180
Rename span_lint_node* functions to span_lint_hir*
...
Because they now take a `hir_id` instead of a `node_id` argument.
2019-03-12 08:01:21 +01:00
bors
b586d76b43
Auto merge of #3865 - phansch:run_more_doc_tests, r=flip1995
...
Run more doc tests
This executes some more doc tests that were ignored before.
2019-03-12 06:22:00 +00:00
Michael Wright
6937d5581a
Merge branch 'master' into fix-3739
2019-03-12 08:13:44 +02:00
Philipp Hansch
9ca34e37fa
Run more doc tests
...
This executes some more doc tests that were ignored before.
2019-03-12 06:53:25 +01:00
Taiki Endo
1bc7da2fec
Fix needless_continue
false positive
2019-03-12 03:40:30 +09:00
Taiki Endo
187ce4c5ab
Fix use_self
false positive on nested functions
2019-03-11 23:24:49 +09:00
Taiki Endo
4896b259eb
Filter out proc_macro and proc_macro_attribute
2019-03-11 20:45:57 +09:00
flip1995
72aeaa891b
Fix/Ignore doc tests
2019-03-10 23:01:56 +01:00
flip1995
44c46d2059
Run rustfmt
2019-03-10 22:12:26 +01:00
Alexander Regueiro
d2b85323ad
Addressed points raised in review.
2019-03-10 18:06:28 +00:00
Alexander Regueiro
d43966a176
Various cosmetic improvements.
2019-03-10 18:06:28 +00:00
Manish Goregaokar
038ec7f5d8
Move get_unwrap to restriction
...
fixes #3862
2019-03-09 13:48:06 -08:00
bors
ccfbfb8097
Auto merge of #3860 - phansch:refactor_out_opt_def_id, r=flip1995
...
Refactor: Remove utils::opt_def_id
This removes some indirection. Probably this method was uplifted to
rustc at some point?
2019-03-09 12:05:41 +00:00
Philipp Krones
c32135a87f
Rollup merge of #3857 - phansch:document_path_qpath, r=flip1995
...
Document match_path, improve match_qpath docs
Inching towards enabling `#[deny(missing_docs)]` in utils 📜
2019-03-09 12:24:44 +01:00
Philipp Krones
f69351e995
Rollup merge of #3852 - phansch:refactor_assign_ops, r=flip1995
...
Refactor: Cleanup one part of assign_ops lint
Removes a lot of indentation and separates lint emission from lint
logic. Only touches the `hir::ExprKind::AssignOp` part of the lint.
2019-03-09 12:24:43 +01:00
Philipp Krones
1902384d15
Rollup merge of #3851 - phansch:refactor_trait_stuff, r=flip1995
...
Refactor: Extract `trait_ref_of_method` function
This pattern was used in three places after #3844 , so I think it's worth moving it into `utils/mod.rs` and documenting it.
2019-03-09 12:24:42 +01:00
Philipp Hansch
9d97ed6faa
Refactor: Remove utils::opt_def_id
...
This removes some indirection. Probably this method was uplifted to
rustc at some point?
2019-03-08 14:14:41 +01:00
Philipp Hansch
f04acdd463
Document match_path, improve match_qpath docs
2019-03-08 09:50:20 +01:00
Philipp Hansch
9494f22f06
cargo fmt
2019-03-08 09:44:22 +01:00
Philipp Hansch
131b89b54e
fmt
2019-03-08 09:43:36 +01:00
Philipp Krones
837d675afd
Update clippy_lints/src/utils/mod.rs
...
Co-Authored-By: phansch <dev@phansch.net>
2019-03-08 09:40:12 +01:00
Philipp Hansch
65694cc6c8
Fix doctest
2019-03-08 09:10:41 +01:00
Philipp Hansch
5c9221f880
Refactor: Cleanup one part of assign_ops lint
...
Removes a lot of indentation and separates lint emission from lint
logic. Only touches the `hir::ExprKind::AssignOp` part of the lint.
2019-03-08 09:01:29 +01:00
ljedrz
5d78250c75
align with rust-lang/rust/#58992
2019-03-07 21:51:05 +01:00
rchaser53
ae787d954e
fix missing a semicolon
2019-03-07 23:26:47 +09:00
Philipp Hansch
e1d47cd5f1
Refactor: Extract trait_ref_of_method
function
2019-03-07 08:17:43 +01:00
Félix Fischer
ddc718087f
Renamed: Cyclomatic Complexity -> Cognitive Complexity
...
* Ran automatic naming update
* Formalized rename of `cyclomatic_complexity` to `cognitive_complexity`
** Added the rename to `lib.rs`
** Added rename test
* Added warning for deprecated key `cyclomatic_complexity_threshold` and tests for it
* Added deprecation status for Clippy's builtin attribute
* Updated tests for new builtin attribute renaming
2019-03-06 10:07:38 -03:00
Andy Russell
a9de64a151
fix or ignore failing doc tests
2019-03-05 18:45:08 -05:00
Andy Russell
fe96ffeac9
move lint documentation into macro invocations
2019-03-05 18:45:08 -05:00
Philipp Hansch
15cba2e956
Fix missing_const_for_fn for impl trait methods
2019-03-05 08:11:55 +01:00
Philipp Hansch
b87f5bc55a
Don't trigger missing_const_for_fn in external macros
...
As reported in #3841 . Only fixes the part where it triggers on the
`derive`.
2019-03-04 22:56:33 +01:00
Philipp Hansch
68096cf181
fmt fixes
2019-03-03 13:05:39 +01:00
ljedrz
f3363b9cf2
align with rust-lang/rust/#58836
2019-03-01 19:10:14 +01:00
ljedrz
f2587703cc
enable rust-lang/rust#58754
2019-03-01 19:10:14 +01:00
Santiago Pastorino
77a67c914d
Place::Local(x) is now Place::Base(PlaceBase::Local(x))
2019-03-01 12:20:17 -03:00
flip1995
1463d6f69f
Error an unknown or deprecated Clippy attribute
2019-02-28 16:44:42 +01:00
bors
ff2798840c
Auto merge of #3666 - detrumi:map-or-on-non-copy, r=flip1995
...
Only suggest map_or for copy types
Fixes #2686
2019-02-27 08:28:48 +00:00
Philipp Hansch
982a99d2c4
Rustup https://github.com/rust-lang/rust/pull/58321
2019-02-27 07:20:49 +01:00
bors
6e8931c5f5
Auto merge of #3821 - g-bartoszek:redundant_closure-different-borrow-levels, r=oli-obk
...
do not trigger redundant_closure when there is a difference in borrow…
… level between closure parameter and "self", fixes #3802
2019-02-26 17:30:48 +00:00
Wilco Kusee
eb70a72459
Fix false negative
2019-02-26 17:29:36 +01:00
Wilco Kusee
fec6e55d1d
Attempt to fix false negative
2019-02-26 17:27:41 +01:00
Wilco Kusee
4cf720abbe
Move lint_map_unwrap_or to its own file
2019-02-26 17:27:41 +01:00
Wilco Kusee
54ab22f6db
Only suggest map_or for copy types
2019-02-26 17:27:40 +01:00
bors
0957f7d3b7
Auto merge of #3817 - rust-lang:fix-bool_comparison-on-non-bool, r=oli-obk
...
Fix `bool_comparison` with non-`bool` expressions
Fixes #3703 .
It just moves around the type check that was already there for some comparison to all of them, because if one type isn't `bool`, none of those comparison can be simplified.
2019-02-26 15:51:40 +00:00
Grzegorz
a7f4d41a7d
do not trigger redundant_closure when there is a difference in borrow level between closure parameter and "self"
2019-02-26 12:12:27 +01:00
bors
412d41ae86
Auto merge of #3814 - ljedrz:HirIdification_lockstep_upgrade, r=phansch
...
HirIdify some lints
Unblocks https://github.com/rust-lang/rust/pull/58561 (a part of [rust-lang/rust#57578 ](https://github.com/rust-lang/rust/pull/57578 )). Can we branch it like with https://github.com/rust-lang/rust-clippy/pull/3790 ? I can rebase on a different commit if need be.
Haven't had time to run tests yet, so I'd wait for Travis 🙈 .
2019-02-26 10:43:50 +00:00
ljedrz
c1b65ec363
fix line format
2019-02-26 11:21:07 +01:00
Michael Wright
c9d79c0c5e
Remove #[feature(try_from)]
...
`try_from` is now stable.
2019-02-26 08:43:47 +02:00
mcarton
c0c0686a65
Fix bool_comparison
with non-bool
expressions
2019-02-25 22:31:16 +01:00
bors
50d9473856
Auto merge of #3808 - mikerite:useless-format-suggestions, r=oli-obk
...
Fix `useless_format` suggestions
2019-02-25 16:21:26 +00:00
bors
2141ebf695
Auto merge of #3816 - g-bartoszek:redundant_closure_for_macros, r=Manishearth
...
do not trigger redundant_closure for external macros
fixes #3791
2019-02-25 13:46:31 +00:00
Grzegorz
41f197460f
redundant_closure does not trigger for external macros
2019-02-25 13:40:28 +01:00
bors
1ac6f4e9ae
Auto merge of #3772 - flip1995:ice-3719, r=Manishearth
...
Fix ICE #3719+#3718 in lint match_ref_pats
Fixes #3719
This conveniently also fixes #3718
The ICE occurs when the match expression was a macro call, where the macro was defined in another file. Since we don't have the ability to reproduce this behavior with our UI tests (AFAIK), I couldn't add a test reproducing this ICE.. However, I added a test which is related to the ICE, to show the new behavior of the lint.
I tested it with the mscheme repo locally and the ICE didn't happen anymore.
r? @matthiaskrgr
2019-02-25 12:30:35 +00:00
bors
cd29740e6e
Auto merge of #3805 - martinsp:ice-3747, r=Manishearth
...
Fix ICE #3747
I'm not sure if this was the correct approach.
I don't know if I put tests/ui/crashses/ice-3747.rs in correct place because the test always passed when I ran it with `cargo test`, even without the fix applied.
If I run that test with `env CLIPPY_TESTS=true cargo run --bin clippy-driver -- -L ./target/debug tests/ui/crashes/ice-3747.rs` then the test correctly fails without the fix applied
fixes #3747
2019-02-25 12:08:43 +00:00
ljedrz
7bc2e1d60d
fix: replace wrong id
2019-02-25 11:06:46 +01:00
Philipp Hansch
bd949328f1
Make DiagnosticWrapper private
...
It's doesn't have to be public anywhere outside of clippy_lints
2019-02-25 07:19:56 +01:00
ljedrz
8dac8a6ba4
HirIdify some lints
2019-02-24 20:49:43 +01:00
bors
5833e4d26e
Auto merge of #3810 - phansch:refactor/extract_module, r=flip1995
...
Extract diagnostics module and document some functions
This moves the lint building functions from `utils/mod.rs` to their own
`utils/diagnostics.rs` file. Also adds documentation for three of them.
2019-02-24 15:35:01 +00:00
bors
1ce961f083
Auto merge of #3790 - ljedrz:HirIdify_intravisit, r=phansch
...
partially HirIdify lints
Enables https://github.com/rust-lang/rust/pull/58232 (a part of https://github.com/rust-lang/rust/pull/57578 ).
2019-02-24 14:32:55 +00:00
ljedrz
601cbc6d84
fix formatting
2019-02-24 15:16:16 +01:00
Philipp Hansch
7d883cddbc
Extract diagnostics module and document some functions
...
This moves the lint building functions from `utils/mod.rs` to their own
`utils/diagnostics.rs` file. Also adds documentation for three of them.
2019-02-24 14:11:05 +01:00
Philipp Hansch
ff1b1a7c9f
Document some span_lint_*
util functions
2019-02-24 09:49:17 +01:00
Michael Wright
0182a6640e
Fix useless_format
suggestions
2019-02-24 07:30:08 +02:00
Martins Polakovs
391ee7987d
Fix ICE #3747
...
[Martins Polakovs, John Firebaugh]
2019-02-23 21:38:16 +02:00