ThibsG
00a2d7ad7e
Fix bad suggestion that needs curly braces for match_single_binding
lint
2021-03-20 16:11:19 +01:00
Jason Newcomb
d5a7941ead
Fix message for match_wildcard_for_single_variant
2021-03-17 12:42:18 -04:00
Jason Newcomb
0b7ab90eca
Improvements to match_wildcard_for_single_variants
and wildcard_enum_match_arm
lints
...
Don't lint on `Result` and `Option` types.
Considers `or` patterns.
Considers variants prefixed with `Self`
Suggestions will try to find a common prefix rather than just using the full path
2021-03-17 12:04:11 -04:00
Cameron Steffen
0743e841f0
Don't re-export clippy_utils::*
2021-03-17 09:13:52 -05:00
Cameron Steffen
1c3a3e7dc6
Don't re-export clippy_utils::diagnostics::*
2021-03-15 20:06:01 -05:00
Cameron Steffen
6fc52a63d1
Move some utils to clippy_utils::source module
2021-03-15 15:34:15 -05:00
Cameron Steffen
eb7f8d6089
Move some utils to ty_utils
2021-03-15 13:44:09 -05:00
Yoshitomo Nakanishi
93ee80ac3e
Use sym::Iterator instead of paths::ITERATOR
2021-03-13 02:10:54 +09:00
flip1995
78c740e2f3
Merge remote-tracking branch 'upstream/master' into rustup
2021-03-11 10:37:58 +01:00
Camille GILLOT
04496071e4
Remove hir::Arm::attrs.
2021-03-09 19:23:05 +01:00
Matthias Krüger
8eb2bd13d0
update the lint messages and tests
2021-02-28 02:22:05 +01:00
flip1995
f64149dd04
Merge commit '928e72dd10749875cbd412f74bfbfd7765dbcd8a' into clippyup
2021-02-25 11:25:22 +01:00
Cameron Steffen
9ad6e263c9
Fix match_same_arms with SpanlessEq changes
2021-02-17 10:47:26 -06:00
flip1995
8b9f4a0d34
Merge commit '70c0f90453701e7d6d9b99aaa1fc6a765937b736' into clippyup
2021-02-11 15:04:38 +01:00
Cameron Steffen
1d30422945
Enhance LocalUsedVisitor to check closure bodies
2021-02-08 08:56:33 -06:00
Cameron Steffen
56f7fbb4ae
Cleanup path to local checks
2021-02-05 10:24:32 -06:00
Manish Goregaokar
c8cb90abbd
Merge commit '3e4179766bcecd712824da04356621b8df012ea4' into sync-from-clippy
2021-02-02 20:43:30 -08:00
bors
c5f3f9df3b
Auto merge of #6603 - ThibsG:MatchOverlappingArm5986, r=flip1995
...
Do not lint when range is completely included into another one
This fix has been developed following this [comment](https://github.com/rust-lang/rust-clippy/issues/5986#issuecomment-703313548 ).
So this will be linted:
```
|----------|
|-----------|
```
Now this won't be linted:
```
|---|
|--------------------|
```
and this will still lint:
```
|--------|
|--------------|
```
Fixes : #5986
changelog: Fix FPs in match_overlapping_arm, when first arm is completely included in second arm
2021-01-31 15:09:55 +00:00
flip1995
ac912be984
Merge commit '95c0459217d1661edfa794c8bb122452b92fb485' into clippyup
2021-01-30 18:06:34 +01:00
bors
a982ab4cee
Auto merge of #6532 - matthiaskrgr:mlmm, r=llogiq
...
match_like_matches_macro: strip refs in suggestion
fixes #6503
changelog: match_like_matches_macro: strip refs in suggestion (#6503 )
2021-01-21 18:34:55 +00:00
ThibsG
70704db36f
Do not lint when range is completely included into another one
2021-01-17 21:07:01 +01:00
Jason Newcomb
36ff2f739c
Rename function
2021-01-14 22:02:04 -05:00
Jason Newcomb
85edd65bf6
Address review comments
...
Add: attempt to remove address of expressions from the scrutinee expression before adding references to the pattern
2021-01-14 14:26:26 -05:00
Jason Newcomb
8d7417d807
Add: single_match will suggest using if .. == .. instead of if let when applicable
2021-01-10 23:32:23 -05:00
Matthias Krüger
39f39d5405
match_like_matches_macro: strip refs in suggestion
...
fixes #6503
changelog: match_like_matches_macro: strip refs in suggestion (#6503 )
2021-01-03 20:28:46 +01:00
flip1995
f03edfd7a1
Merge commit '4911ab124c481430672a3833b37075e6435ec34d' into clippyup
2020-12-20 17:19:49 +01:00
xFrednet
a37af06fea
Removing false positive for the match_single_binding lint
...
* Applying suggested changes from the PR
2020-12-13 20:49:39 +00:00
bors
50bca8af1d
Auto merge of #6330 - camsteffen:redundant-else, r=ebroto
...
Add Redundant else lint
changelog: Add redundant_else lint
It seemed appropriate for "pedantic".
Closes #112 \*blows off dust*
2020-12-08 00:51:51 +00:00
flip1995
8eca423ea1
Merge commit 'c1664c50b27a51f7a78c93ba65558e7c33eabee6' into clippyup
2020-12-06 15:01:03 +01:00
Philipp Krones
e2ecc4ad6e
Rollup merge of #6402 - camsteffen:collapsible-match, r=llogiq
...
Add Collapsible match lint
changelog: Add collapsible_match lint
Closes #1252
Closes #2521
This lint finds nested `match` or `if let` patterns that can be squashed together. It is designed to be very conservative to only find cases where merging the patterns would most likely reduce cognitive complexity.
Example:
```rust
match result {
Ok(opt) => match opt {
Some(x) => x,
_ => return,
}
_ => return,
}
```
to
```rust
match result {
Ok(Some(x)) => x,
_ => return,
}
```
These criteria must be met for the lint to fire:
* The inner match has exactly 2 branches.
* Both the outer and inner match have a "wild" branch like `_ => ..`. There is a special case for `None => ..` to also be considered "wild-like".
* The contents of the wild branches are identical.
* The binding which "links" the matches is never used elsewhere.
Thanks to the hir, `if let`'s are easily included with this lint since they are desugared into equivalent `match`'es.
I think this would fit into the style category, but I would also understand changing it to pedantic.
2020-12-03 10:21:33 +01:00
Cameron Steffen
70f6a2cae2
Eat redundant else dogfood
2020-11-29 17:55:42 -06:00
Cameron Steffen
fff5fa6581
Eat collapsible_match dogfood
2020-11-29 15:34:11 -06:00
Suyash458
cd087e5c5e
add rustc-semver to dependencies
...
switch Version/VersionReq usages to RustcVersion
2020-11-28 21:21:04 -08:00
bors
68cf94f6a6
Auto merge of #6377 - CDirkx:redundant-pattern-match-ipaddr, r=ebroto
...
Enhance `redundant_pattern_matching` to also lint on `std::net::IpAddr`
Follow-up to #6339
r? `@ebroto`
(note: also contains a small cleanup of the other ui tests)
changelog: Enhance [`redundant_pattern_matching`] to also lint on `std::net::IpAddr`
2020-11-28 23:02:47 +00:00
Philipp Krones
84cdb0a939
Fix formatting
2020-11-28 22:40:46 +01:00
Philipp Krones
22e7775aa7
Change formulation of known problems section
2020-11-28 18:58:53 +01:00
Aleksei Latyshev
e266708c42
do not trigger MATCH_LIKE_MATCHES_MACRO lint with attrs
...
- it can't be solved completely for attrs evaluated into `false`
- change applicability to MaybeIncorrect and mention it in docs
2020-11-28 20:28:07 +03:00
flip1995
b2e2c0806e
Improve extract_msrv_attr! situation
2020-11-25 12:22:58 +01:00
Suyash458
aaa4325045
add support for minimum supported rust version.
...
add configuration option for minimum supported rust version
add msrv attribute to some lints listed in #6097
add tests
2020-11-25 12:22:47 +01:00
Christiaan Dirkx
dc075b4266
Change redundant_pattern_matching
to also lint std::net::IpAddr
...
Suggest using utility methods `is_ipv4` and `is_ipv6`.
2020-11-25 02:01:05 +01:00
Christiaan Dirkx
5a83968877
Change redundant_pattern_matching
to also lint std::task::Poll
...
Suggest using utility methods `is_pending` and `is_ready`.
2020-11-17 23:40:31 +01:00
flip1995
34244190d4
Merge commit 'b20d4c155d2fe3a8391f86dcf9a8c49e17188703' into clippyup
2020-11-05 14:29:48 +01:00
Cameron Steffen
22cc77a232
Use const rustc sym where possible
2020-11-02 11:46:37 -06:00
Eduardo Broto
50419118b4
Merge commit '645ef505da378b6f810b1567806d1bcc2856395f' into clippyup
2020-10-28 23:36:07 +01:00
Aleksei Latyshev
2b7dd31368
improve MATCH_LIKE_MATCHES_MACRO lint
...
- add tests
- refactor match_same_arms lint
- prioritize match_expr_like_matches_macro over match_same_arms
2020-10-27 23:45:58 +03:00
Takayuki Nakata
114cb218f3
Remove an extra blank line in doc examples
2020-10-19 10:34:01 +09:00
flip1995
d1f9cad102
Merge commit 'e636b88aa180e8cab9e28802aac90adbc984234d' into clippyup
2020-09-24 14:49:22 +02:00
Aleksei Latyshev
d4f158fa5c
Forbid redundant_pattern_matching triggering in macros
...
- remove ice-2636 test
2020-09-21 20:49:42 +03:00
Eduardo Broto
6e07247578
Merge remote-tracking branch 'upstream/master' into rustup
2020-09-21 15:11:24 +02:00
Christiaan Dirkx
141b9c2890
Remove can_suggest
from Clippy.
...
Removes `can_suggest` from as it is no longer used.
Reverts rust-clippy#5724.
2020-09-21 00:00:33 +02:00