Matthias Kaak
7c82e78f30
improved help message for suspicious_map
2021-10-05 19:09:08 +00:00
bors
abe551ecb7
Auto merge of #7762 - HKalbasi:master, r=Manishearth
...
Add lint `equatable_if_let`
This is my attempt for #1716 . There is a major false positive, which is people may implement `PartialEq` in a different way. It is unactionable at the moment so I put it into `nursery`.
There is a trait `StructuralPartialEq` for solving this problem which is promising but it has several problems currently:
* Integers and tuples doesn't implement it.
* Some types wrongly implement it, like `Option<T>` when `T` doesn't implement it.
I consider them bugs and against the propose of `StructuralPartialEq`. When they become fixed, this lint can become a useful lint with a single line change.
changelog: New lint: [`equatable_if_let`]
2021-10-04 19:38:04 +00:00
hkalbasi
388a3d0983
Implement equatable if let lint
2021-10-04 22:16:42 +03:30
bors
3311b366e9
Auto merge of #7761 - giraffate:fix_ice_in_inplicit_hasher, r=Manishearth
...
Fix ICE in `implicit_hasher`
close #7712
changelog: Fix ICE in [`implicit_hasher`]
2021-10-04 17:07:00 +00:00
Takayuki Nakata
72f0180f7b
Fix ICE in implicit_hasher
2021-10-04 23:31:40 +09:00
bors
63b04f7d7f
Auto merge of #7755 - HKalbasi:master, r=xFrednet
...
exclude enum from derivable impls
fix #7753
changelog: Exclude enum from ``[`derivable_impls`]``
2021-10-03 10:30:16 +00:00
HKalbasi
0ebc656a9a
Change not enum to is struct
2021-10-03 13:01:57 +03:30
bors
33c34fb2d7
Auto merge of #7709 - Qwaz:drop_non_send, r=xFrednet
...
Implement `non_send_field_in_send_ty` lint
changelog: Implement [`non_send_fields_in_send_ty`] lint
Fixes #7703
2021-10-03 08:43:32 +00:00
hkalbasi
ea8e65f0da
exclude enum from derivable impls
2021-10-03 11:58:27 +03:30
Yechan Bae
fb0353b28d
Update documentation and name for non_send_fields_in_send_ty lint
2021-10-02 19:22:37 -04:00
bors
da3b4b4594
Auto merge of #7747 - Manishearth:excessive-precision, r=xFrednet
...
Correctly handle signs in exponents in numeric_literal::format()
Fixes #7744
changelog: Correctly handle signs in exponents in `numeric_literal::format()`
2021-10-02 16:12:30 +00:00
Manish Goregaokar
6bf5c0b185
Correctly handle signs in exponents in numeric_literal::format()
2021-10-01 17:27:47 -07:00
Manish Goregaokar
51160808b8
Add regression test
2021-10-01 16:14:35 -07:00
Yechan Bae
ef8df9df68
Forgot to bless ui-toml test
2021-10-01 14:26:04 -04:00
Yechan Bae
dfed2e31d5
Do not use full type path in help message
2021-10-01 14:04:20 -04:00
Yechan Bae
4f01656a7d
Add ui-test for enable-raw-pointer-heuristic-for-send config
2021-10-01 14:04:20 -04:00
Yechan Bae
08f0aecffd
Minor changes from PR feedback
2021-10-01 14:04:20 -04:00
Yechan Bae
427a09ba7b
Add configuration for raw pointer heuristic
2021-10-01 14:04:20 -04:00
Yechan Bae
d413e157a5
Look into tuple, array, ADT args in raw pointer heuristic
2021-10-01 14:04:20 -04:00
Yechan Bae
ee74574876
Emit one report for all fields in the same ADT
2021-10-01 14:04:20 -04:00
Yechan Bae
a81a5ad1a8
Update documentation
2021-10-01 14:04:20 -04:00
Yechan Bae
6458630e1a
typo
2021-10-01 14:04:20 -04:00
Yechan Bae
d7a9ec2c50
Fix attribute handling
2021-10-01 14:04:20 -04:00
Yechan Bae
e4c3000e5b
Initial implementation
2021-10-01 14:04:20 -04:00
bors
fe999e88ed
Auto merge of #7741 - surechen:fix_if_then_panic, r=flip1995
...
Make if_then_panic handle situation of BinOpKind::And || BinOpKind::Or
fixes #7731
Make if_then_panic handle situation of cond.kind = ExprKind::DropTemps(ExprKind::Binary(BinOpKind::And || BinOpKind::Or, left, right), ..) =
changelog: [`if_then_panic`] Fix suggestion for more complex conditions
2021-10-01 10:04:19 +00:00
surechen
41e2c68a6e
use sugg::Sugg::maybe_par
2021-10-01 13:13:09 +08:00
bors
f8303ada90
Auto merge of #7338 - camsteffen:shadow, r=llogic
...
Re-write shadow lints
changelog: Move shadow_unrelated to restriction
changelog: The shadow lints find a lot more shadows and are not limited to certain patterns
Drastically simplifies the implementation. Catches a lot more cases.
I removed the "initialization happens here" note. It is not helpful IMO.
Closes #318
Fixes #2890
Fixes #6563
Fixes #7588
Fixes #7620
2021-09-30 19:08:22 +00:00
Cameron Steffen
a17359c696
Remove shadow allows
2021-09-30 14:07:58 -05:00
Cameron Steffen
8c0e4d5ccf
Rewrite shadow lint
2021-09-30 14:07:58 -05:00
Cameron Steffen
99861c0e88
Remove initialization note from shadow lint
2021-09-30 13:54:30 -05:00
Cameron Steffen
89f77f3512
Move shadow_unrelated to restriction
2021-09-30 13:54:28 -05:00
bors
a893eb993b
Auto merge of #7677 - surechen:edit_large_enum_variant, r=camsteffen
...
fix bug for large_enum_variants
Fix the discussion problem in the issue of https://github.com/rust-lang/rust-clippy/issues/7666#issuecomment-919654291
About the false positive problem of case:
```rust
enum LargeEnum6 {
A,
B([u8;255]),
C([u8;200]),
}
```
changelog: Fix largest_enum_variant wrongly identifying the second largest variant.
2021-09-30 12:45:17 +00:00
surechen
4babfae9cb
fix issue #7731
...
Make if_then_else handle situation of cond.kind = ExprKind::DropTemps(ExprKind::Binary(BinOpKind::And || BinOpKind::Or, left, right), ..) =
2021-09-30 19:06:42 +08:00
bors
ab99eec15f
Auto merge of #7684 - surechen:solve_derivable_impls, r=flip1995
...
fix for issue #7683
Fixes #7683 .
For Repeat [x; y] (x is the type and y is the times to repeat) . When y > 32, the compiler will report an error:
https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=7148558162685e91056e0550797ea74c
Because 6cdd42f9f8/library/std/src/primitive_docs.rs (L538)
/// Arrays of sizes from 0 to 32 (inclusive) implement [`Default`] trait
/// if the element type allows it. As a stopgap, trait implementations are
/// statically generated up to size 32.
So here to detect this situation.
changelog: [`derivable_impls`]: No longer lints when arrays bigger than 32 elements are involved
2021-09-30 08:19:58 +00:00
bors
984d4661c7
Auto merge of #7673 - mikerite:include-generated-code, r=giraffate
...
Move code generated by `update_lints` to includes
Move code generated by `update_lints` to includes
changelog: none
2021-09-30 03:58:47 +00:00
mikerite
debb1f0274
Fix comment in update_lints
...
Co-authored-by: Takayuki Nakata <f.seasons017@gmail.com>
2021-09-30 05:11:39 +02:00
surechen
a3d3735515
Arrays of sizes from 0 to 32 (inclusive) implement [Default] trait, edit method is_default_equivalent() to satisfy with this.
2021-09-30 10:41:36 +08:00
surechen
56f0c9afdd
fix bug for large_enum_variants
2021-09-30 10:07:57 +08:00
Michael Wright
6035e050e8
Add includes to pre-commit hook
2021-09-29 05:46:43 +02:00
Michael Wright
20abbd93f9
Add test module for update_lints
2021-09-29 05:46:43 +02:00
Michael Wright
3f804ca6d3
Move update_lints
specific code out of lib
2021-09-29 05:46:43 +02:00
Michael Wright
e6747df5cd
Fix lint register code format
...
Also change the generation functions to return `String` instead of
`Vec<String>`. This makes sense now as the updates aren't line oriented
anymore.
2021-09-29 05:46:39 +02:00
Michael Wright
50ea370619
Move code generated by update_lints
to includes
2021-09-29 05:43:25 +02:00
bors
685b77316f
Auto merge of #7736 - vxpm:master, r=giraffate
...
Fix typo ("asynx" corrected to "async")
changelog: Fixed small typo in [`await_holding_lock`]'s documentation - "asynx" was corrected to "async"
2021-09-29 00:10:49 +00:00
vxpm
30ea0a5ebb
Fix typo ("asynx" corrected to "async")
2021-09-28 17:53:12 -03:00
bors
fb17671eb0
Auto merge of #7734 - Manishearth:doc-unsafe-trait, r=camsteffen
...
Make `doc_unsafe` warn on unsafe traits as well
Fixes #7732
changelog: Make [`doc_unsafe`] warn on unsafe traits as well
2021-09-28 17:09:34 +00:00
bors
9fc4b92eb2
Auto merge of #7711 - camsteffen:depinfo-error, r=flip1995
...
Improve depinfo error
changelog: none
r? `@flip1995`
2021-09-28 16:56:02 +00:00
bors
cb7915b00c
Auto merge of #7733 - flip1995:rustup, r=flip1995
...
Rustup
This needs a review this time. Especially 521bf8f0fa
cc `@camsteffen` I think this is necessary now, because `itertools` is no longer a dependency of `clippy_utils` and therefore this path can't be found 🤔
( I forgot about the sync last week. I should get to document this process better, so other people can do it when I'm not around )
changelog: none
2021-09-28 16:42:31 +00:00
flip1995
c2b8882cef
Cleanup of rustup changes
2021-09-28 17:40:06 +01:00
flip1995
d8f453d021
Bump nightly version -> 2021-09-28
2021-09-28 17:39:16 +01:00