]>
git.lizzy.rs Git - rust.git/log
bors [Sat, 16 Apr 2022 10:22:08 +0000 (10:22 +0000)]
Auto merge of #8709 - matthiaskrgr:lintcheckfix, r=llogiq
lintcheck: fix --fix
looks like --allow-no-vcs does no longer exist(?)
changelog: none
bors [Sat, 16 Apr 2022 09:12:15 +0000 (09:12 +0000)]
Auto merge of #8706 - lupd:cast-abs-to-unsigned, r=xFrednet
Fix formatting of `cast_abs_to_unsigned` docs
The "use instead" section of the example was not being formatted as Rust code, and the "configuration" documentation was being formatted as Rust code.
changelog: `[cast_abs_to_unsigned]` Fix example/configuration formatting
bors [Sat, 16 Apr 2022 08:26:27 +0000 (08:26 +0000)]
Auto merge of #8698 - xFrednet:0000-changelog-1-61, r=flip1995
Changelog for Rust 1.61 :octopus:
roses are red,
violets are blue,
this changelog,
is no longer a todo!
---
changelog: none
xFrednet [Wed, 13 Apr 2022 21:14:35 +0000 (23:14 +0200)]
Changelog for Rust 1.61 :octopus:
Matthias Krüger [Fri, 15 Apr 2022 22:56:28 +0000 (00:56 +0200)]
lintcheck: fix --fix
looks like --allow-no-vcs does no longer exist(?)
bors [Fri, 15 Apr 2022 21:20:02 +0000 (21:20 +0000)]
Auto merge of #8705 - cpw2n5:spellcheck, r=Manishearth
Spellcheck
I'm brand new to this so any feedback will be helpful. I set the project up locally and ran a spellcheck on it. The code changes should only be spelling corrections. I ran the build and tests and they came back successful locally.
changelog: Various spelling corrections in comments and code.
whodi [Fri, 15 Apr 2022 19:28:48 +0000 (15:28 -0400)]
collapsible <> collspible
whodi [Fri, 15 Apr 2022 19:20:54 +0000 (15:20 -0400)]
shound -> should
whodi [Fri, 15 Apr 2022 19:00:44 +0000 (15:00 -0400)]
initialization misspell
whodi [Fri, 15 Apr 2022 18:33:53 +0000 (14:33 -0400)]
infallible <> infalliable in filename
whodi [Fri, 15 Apr 2022 18:25:55 +0000 (14:25 -0400)]
adding spell checking
dlup [Fri, 15 Apr 2022 20:34:44 +0000 (16:34 -0400)]
Fix formatting of `cast_abs_to_unsigned` docs
bors [Fri, 15 Apr 2022 10:38:47 +0000 (10:38 +0000)]
Auto merge of #8702 - youknowone:fix-typo, r=xFrednet
Fix typo in comment
*Please write a short comment explaining your change (or "none" for internal only changes)*
changelog: none
Jeong YunWon [Fri, 15 Apr 2022 10:33:16 +0000 (19:33 +0900)]
Fix typo in comment
bors [Fri, 15 Apr 2022 01:57:52 +0000 (01:57 +0000)]
Auto merge of #8563 - Jarcho:let_unit_1502, r=Jarcho
Don't lint `let_unit_value` when needed for type inferenece
fixes: #1502
Pinging `@dtolnay.` I think this is enough to fix the issue. Do you have a good list crates to test this on?
changelog: Don't lint `let_unit_value` when needed for type inference
Jason Newcomb [Tue, 5 Apr 2022 01:54:34 +0000 (21:54 -0400)]
Allow more complex expressions in `let_unit_value`
Jason Newcomb [Thu, 17 Mar 2022 23:53:28 +0000 (19:53 -0400)]
Move `let_unit_value` back into `style`
Jason Newcomb [Thu, 17 Mar 2022 23:44:12 +0000 (19:44 -0400)]
Don't lint `let_unit_value` when needed for type inferenece
bors [Thu, 14 Apr 2022 23:58:51 +0000 (23:58 +0000)]
Auto merge of #8614 - pitaj:fix-7597, r=giraffate
assertions_on_constants: ignore indirect `cfg!`
Fixes #7597
changelog: [`assertions_on_constants`] ignore constants indirectly based on `cfg!`
bors [Thu, 14 Apr 2022 14:29:22 +0000 (14:29 +0000)]
Auto merge of #8626 - pitaj:format_add_string, r=llogiq
New lint `format_add_strings`
Closes #6261
changelog: Added [`format_add_string`]: recommend using `write!` instead of appending the result of `format!`
bors [Thu, 14 Apr 2022 12:59:23 +0000 (12:59 +0000)]
Auto merge of #8677 - xFrednet:8213-manual-bits-suggestion, r=giraffate
Add `usize` cast to `clippy::manual_bits` suggestion
A fix for the suggestion from https://github.com/rust-lang/rust-clippy/pull/8213
changelog: [`manual_bits`]: The suggestion now includes a cast for proper type conversion
Fridtjof Stoldt [Thu, 14 Apr 2022 05:02:59 +0000 (07:02 +0200)]
Update lint description of `clippy::manual_bits` to include the `as usize` cast
Peter Jaszkowiak [Mon, 4 Apr 2022 03:40:58 +0000 (21:40 -0600)]
New lint `format_add_strings`
Peter Jaszkowiak [Fri, 1 Apr 2022 04:28:59 +0000 (22:28 -0600)]
assertions_on_constants: ignore indirect `cfg!`
bors [Thu, 14 Apr 2022 04:44:33 +0000 (04:44 +0000)]
Auto merge of #8676 - Alexendoo:local-used-across-loop, r=xFrednet
Check for loops/closures in `local_used_after_expr`
Follow up to #8646, catches when a local is used multiple times because it's in a loop or a closure
changelog: none
xFrednet [Sun, 10 Apr 2022 17:03:16 +0000 (19:03 +0200)]
Add `usize` cast to `clippy::manual_bits` suggestion
bors [Wed, 13 Apr 2022 13:03:51 +0000 (13:03 +0000)]
Auto merge of #8670 - yoav-lavi:main, r=giraffate
`pub_use` restriction
[`pub_use`]
Fixes https://github.com/rust-lang/rust-clippy/issues/8545
- \[x] Followed [lint naming conventions][lint_naming]
- \[x] Added passing UI tests (including committed `.stderr` file)
- \[x] `cargo test` passes locally
- \[x] Executed `cargo dev update_lints`
- \[x] Added lint documentation
- \[x] Run `cargo dev fmt`
[lint_naming]: https://rust-lang.github.io/rfcs/0344-conventions-galore.html#lints
changelog: Adds a lint called `pub_use` that restricts the usage of `pub use ...`
Yoav Lavi [Tue, 12 Apr 2022 09:09:34 +0000 (11:09 +0200)]
pub_use
bors [Wed, 13 Apr 2022 00:57:08 +0000 (00:57 +0000)]
Auto merge of #8692 - kyoto7250:fixing_unnecessary_to_owned, r=giraffate
fix unnecessary_to_owned about msrv
This PR fixes ``[`unnecessary_owned`]``.
## What
```rust
# sample code
fn _msrv_1_35() {
#![clippy::msrv = "1.35"]
let _ = &["x"][..].to_vec().into_iter();
}
fn _msrv_1_36() {
#![clippy::msrv = "1.36"]
let _ = &["x"][..].to_vec().into_iter();
}
```
If we will check this code using clippy, ``[`unnecessary_owned`]`` will modify the code as follows.
```rust
error: unnecessary use of `to_vec`
--> $DIR/unnecessary_to_owned.rs:219:14
|
LL | let _ = &["x"][..].to_vec().into_iter();
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `["x"][..].iter().copied()`
error: unnecessary use of `to_vec`
--> $DIR/unnecessary_to_owned.rs:224:14
|
LL | let _ = &["x"][..].to_vec().into_iter();
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `["x"][..].iter().copied()`
```
This is incorrect. Because `Iterator::copied` was estabilished in 1.36.
## Why
This bug was caused by not separating "copied" and "clone" by reference to msrv.
https://github.com/rust-lang/rust-clippy/blob/
89ee6aa6e32df974ef9dbb3c825afbdce441e856 /clippy_lints/src/methods/unnecessary_to_owned.rs#L195
So, I added a conditional branch and described the corresponding test.
Thank you in advance.
changelog: fix wrong suggestions about msrv in [`unnecessary_to_owned`]
r! `@giraffate`
bors [Wed, 13 Apr 2022 00:38:54 +0000 (00:38 +0000)]
Auto merge of #8647 - Jarcho:mut_from_ref_6326, r=giraffate
Only lint `mut_from_ref` when unsafe code is used
fixes #6326
changelog: Only lint `mut_from_ref` when unsafe code is used.
bors [Tue, 12 Apr 2022 18:38:45 +0000 (18:38 +0000)]
Auto merge of #8645 - Jarcho:manual_non_exhaustive_5714, r=Jarcho
Don't lint `manual_non_exhaustive` when the enum variant is used
fixes #5714
changelog: Don't lint `manual_non_exhaustive` when the enum variant is used
bors [Tue, 12 Apr 2022 16:14:13 +0000 (16:14 +0000)]
Auto merge of #8690 - mucinoab:DoNot-rest_pat_in_fully_bound_structs-OnNonExhaustive, r=Manishearth
Do not trigger ``[`rest_pat_in_fully_bound_structs`]`` on `#[non_exhaustive]` structs
fixes #8029
Just adds an additional check to ensure that the`ty::VariantDef` is not marked as `#[non_exhaustive]`.
changelog: Do not apply ``[`rest_pat_in_fully_bound_structs`]`` on structs marked as non exhaustive.
kyoto7250 [Tue, 12 Apr 2022 13:55:48 +0000 (22:55 +0900)]
fix unnecessary_to_owned about msrv
bors [Tue, 12 Apr 2022 13:33:54 +0000 (13:33 +0000)]
Auto merge of #8691 - flip1995:infinite_recursion_only_in_recursion, r=llogiq
Prevent infinite (exponential) recursion in only_used_in_recursion
This simplifies the visitor code a bit and prevents checking expressions
multiple times. I still think this lint should be removed for now,
because its code isn't really tested.
Fixes #8689
**NOTE:** Before merging this, we should talk about removing and revisiting this lint. See my comment in #8689
changelog: prevent infinite recursion in [`only_used_in_recursion`]
flip1995 [Tue, 12 Apr 2022 13:27:28 +0000 (15:27 +0200)]
Prevent infinite (exponential) recursion in only_used_in_recursion
This simplifies the visitor code a bit and prevents checking expressions
multiple times. I still think this lint should be removed for now,
because its code isn't really tested.
bors [Tue, 12 Apr 2022 07:17:57 +0000 (07:17 +0000)]
Auto merge of #8686 - Jarcho:undocumented_unsafe_blocks_8681, r=flip1995
Fix ICE in `undocumented_unsafe_blocks`
fixes #8681
changelog: Fix ICE in `undocumented_unsafe_blocks`
Bruno A. Muciño [Tue, 12 Apr 2022 03:47:04 +0000 (22:47 -0500)]
Do not apply `rest_pat_in_fully_bound_structs` on `#[non_exhaustive]` structs
bors [Tue, 12 Apr 2022 01:11:54 +0000 (01:11 +0000)]
Auto merge of #8688 - kyoto7250:adding_condition_for_map_clone, r=giraffate
adding condition for map_clone message
This PR fixes the message about `map_clone`.
if msrv >= 1.36, the message is correct.
```bash
$ cat main.rs
fn main() {
let x: Vec<&i32> = vec![&1, &2];
let y: Vec<_> = x.iter().map(|i| *i).collect();
println!("{:?}", y);
}
$ cargo clippy
warning: you are using an explicit closure for copying elements
--> main.rs:3:20
|
3 | let y: Vec<_> = x.iter().map(|i| *i).collect();
| ^^^^^^^^^^^^^^^^^^^^ help: consider calling the dedicated `copied` method: `x.iter().copied()`
|
= note: `#[warn(clippy::map_clone)]` on by default
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone
warning: `test` (build script) generated 1 warning
warning: `test` (bin "test") generated 1 warning (1 duplicate)
Finished dev [unoptimized + debuginfo] target(s) in 0.00s
```
but, if msrv < 1.36, the suggestion is `cloned`, but the message is `copying`.
```bash
$ cat clippy.toml
msrv = "1.35"
$ cargo clippy
warning: you are using an explicit closure for copying elements
--> main.rs:3:20
|
3 | let y: Vec<_> = x.iter().map(|i| *i).collect();
| ^^^^^^^^^^^^^^^^^^^^ help: consider calling the dedicated `cloned` method: `x.iter().cloned()`
```
I think the separation of messages will make it more user-friendly.
thank you in advance.
changelog: Fixed a message in map_clone.
kyoto7250 [Tue, 12 Apr 2022 00:49:00 +0000 (09:49 +0900)]
refactor: Put together an if statement
kyoto7250 [Mon, 11 Apr 2022 19:03:48 +0000 (04:03 +0900)]
adding condition for map_clone message
if msrv < 1.36, the message tells , but the suggestion is
bors [Mon, 11 Apr 2022 18:56:21 +0000 (18:56 +0000)]
Auto merge of #8624 - pitaj:is_digit_ascii_radix, r=xFrednet
New lint `is_digit_ascii_radix`
Closes #6399
changelog: Added [`is_digit_ascii_radix`]: recommend `is_ascii_digit()` or `is_ascii_hexdigit()` in place of `is_digit(10)` and `is_digit(16)`
bors [Mon, 11 Apr 2022 18:40:14 +0000 (18:40 +0000)]
Auto merge of #8687 - Alexendoo:cast-possible-truncation-overflow, r=xFrednet
Fix subtraction overflow in `cast_possible_truncation`
changelog: Fix false negative due to subtraction overflow in `cast_possible_truncation`
I *think* a false negative is the worst that can happen from this
Alex Macleod [Mon, 11 Apr 2022 17:54:44 +0000 (18:54 +0100)]
Fix subtraction overflow in `cast_possible_truncation`
Jason Newcomb [Mon, 11 Apr 2022 17:18:27 +0000 (13:18 -0400)]
Fix ICE in `undocumented_unsafe_blocks`
bors [Mon, 11 Apr 2022 16:41:51 +0000 (16:41 +0000)]
Auto merge of #8667 - Jarcho:proc_macro_check, r=flip1995
Don't lint various match lints when expanded by a proc-macro
fixes #4952
As always for proc-macro output this is a hack-job of a fix. It would be really nice if more proc-macro authors would set spans correctly.
changelog: Don't lint various lints on proc-macro output.
bors [Mon, 11 Apr 2022 15:36:55 +0000 (15:36 +0000)]
Auto merge of #8673 - Jarcho:same_functions_8139, r=Manishearth
Fix `same_functions_in_if_condition` FP
fixes #8139
changelog: Don't consider `Foo<{ SomeConstant }>` and `Foo<{ SomeOtherConstant }>` to be the same, even if the constants have the same value.
bors [Mon, 11 Apr 2022 15:20:01 +0000 (15:20 +0000)]
Auto merge of #8668 - Jarcho:iter_with_drain_8538, r=Manishearth
Don't lint `iter_with_drain` on references
fixes #8538
changelog: Don't lint `iter_with_drain` on references
bors [Mon, 11 Apr 2022 11:12:33 +0000 (11:12 +0000)]
Auto merge of #8660 - yoav-lavi:squashed-master, r=flip1995
`unnecessary_owned_empty_strings`
[`unnecessary_owned_empty_strings`]
Fixes https://github.com/rust-lang/rust-clippy/issues/8650
- \[x] Followed [lint naming conventions][lint_naming]
- \[x] Added passing UI tests (including committed `.stderr` file)
- \[x] `cargo test` passes locally
- \[x] Executed `cargo dev update_lints`
- \[x] Added lint documentation
- \[x] Run `cargo dev fmt`
[lint_naming]: https://rust-lang.github.io/rfcs/0344-conventions-galore.html#lints
changelog: Adds `unnecessary_owned_empty_strings`, a lint that detects passing owned empty strings to a function expecting `&str`
Yoav Lavi [Mon, 11 Apr 2022 11:05:42 +0000 (13:05 +0200)]
unnecessary_owned_empty_string -> unnecessary_owned_empty_strings
Yoav Lavi [Thu, 7 Apr 2022 18:21:47 +0000 (20:21 +0200)]
unnecessary_string_new
bors [Mon, 11 Apr 2022 09:22:37 +0000 (09:22 +0000)]
Auto merge of #8671 - andy-k:fix-typo, r=flip1995
fix typo
fix typo in #8630
changelog: none
bors [Sun, 10 Apr 2022 17:45:19 +0000 (17:45 +0000)]
Auto merge of #8631 - Alexendoo:splitn-overlap, r=xFrednet
Remove overlap between `manual_split_once` and `needless_splitn`
changelog: Remove overlap between [`manual_split_once`] and [`needless_splitn`]. Fixes some incorrect `rsplitn` suggestions for [`manual_split_once`]
Things that can trigger `needless_splitn` no longer trigger `manual_split_once`, e.g.
```rust
s.[r]splitn(2, '=').next();
s.[r]splitn(2, '=').nth(0);
s.[r]splitn(3, '=').next_tuple();
```
Fixes some suggestions:
```rust
let s = "should not match";
s.rsplitn(2, '.').nth(1);
// old -> Some("should not match")
Some(s.rsplit_once('.').map_or(s, |x| x.0));
// new -> None
s.rsplit_once('.').map(|x| x.0);
s.rsplitn(2, '.').nth(1)?;
// old -> "should not match"
s.rsplit_once('.').map_or(s, |x| x.0);
// new -> early returns
s.rsplit_once('.')?.0;
```
Alex Macleod [Mon, 4 Apr 2022 15:30:38 +0000 (16:30 +0100)]
Remove overlap between `manual_split_once` and `needless_splitn`
Also fixes some incorrect suggestions for rsplitn
Alex Macleod [Sun, 10 Apr 2022 13:02:58 +0000 (14:02 +0100)]
Check for loops/closures in `local_used_after_expr`
Jason Newcomb [Sun, 10 Apr 2022 04:54:41 +0000 (00:54 -0400)]
Compare inline constants by their bodies rather than value in `SpanlessEq`
Andy Kurnia [Sat, 9 Apr 2022 17:07:01 +0000 (01:07 +0800)]
fix typo
bors [Sat, 9 Apr 2022 14:57:06 +0000 (14:57 +0000)]
Auto merge of #8664 - yoav-lavi:main, r=xFrednet
Allow passing `--remove` to `cargo dev setup <SUBCOMMAND>`
changelog: none
Allows passing `--remove` to `cargo dev setup <SUBCOMMAND>` as an alternative to `cargo dev remove ...`
Fixes https://github.com/rust-lang/rust-clippy/issues/8663
Yoav Lavi [Fri, 8 Apr 2022 13:02:49 +0000 (15:02 +0200)]
Allow passing --remove to `cargo dev setup <SUBCOMMAND>`
add missing args
unque name not needed
more descriptive help
formatting fixes
missing quote
bors [Sat, 9 Apr 2022 11:58:18 +0000 (11:58 +0000)]
Auto merge of #8669 - kyoto7250:fix_comments_in_test_split_once, r=xFrednet
fix comments in test for split_once
This PR fixed comments in test.
`split_once` was stabilized in 1.52, so I think the comments maybe be wrong.
ref:
https://doc.rust-lang.org/std/string/struct.String.html#method.split_once
thank you in advance.
changelog: none
kyoto7250 [Sat, 9 Apr 2022 11:34:43 +0000 (20:34 +0900)]
fix comments in test for split_once
split_once was stabilized in 1.52
Jason Newcomb [Sat, 9 Apr 2022 03:15:18 +0000 (23:15 -0400)]
Don't lint `iter_with_drain` on references
bors [Fri, 8 Apr 2022 21:43:26 +0000 (21:43 +0000)]
Auto merge of #8648 - Jarcho:transmute_collection_7706, r=xFrednet
Fix `unsound_collection_transmute`
fixes #7706
changelog: Better check size and alignment requirements in `unsound_collection_transmute`
Jason Newcomb [Fri, 8 Apr 2022 20:51:40 +0000 (16:51 -0400)]
Don't lint various match lints when expanded by a proc-macro
Jason Newcomb [Fri, 8 Apr 2022 04:36:09 +0000 (00:36 -0400)]
Update documentation for `mut_from_ref`
bors [Fri, 8 Apr 2022 00:37:56 +0000 (00:37 +0000)]
Auto merge of #8619 - pitaj:fix-6973, r=giraffate
ignore `&x | &y` in unnested_or_patterns
replacing it with `&(x | y)` is actually more characters
Fixes #6973
changelog: [`unnested_or_patterns`] ignore `&x | &y`, nesting would result in more characters
Peter Jaszkowiak [Sat, 2 Apr 2022 21:01:07 +0000 (15:01 -0600)]
New lint `is_digit_ascii_radix`
bors [Thu, 7 Apr 2022 17:11:26 +0000 (17:11 +0000)]
Auto merge of #8657 - flip1995:raw_lint_desc, r=flip1995
Allow raw lint descriptions
update_lints now understands raw strings in declare_clippy_lint descriptions.
Supersedes #8655
cc `@Alexendoo` thanks for addressing this so quickly. I build a little bit simpler version of your patch. I don't think it really matters what `Literal` we're trying to tokenize, since we assume later, that it is some sort of `str`.
changelog: none
flip1995 [Thu, 7 Apr 2022 17:05:20 +0000 (18:05 +0100)]
Allow raw lint descriptions
update_lints now understands raw strings in declare_clippy_lint
descriptions.
Co-authored-by: Alex Macleod <alex@macleod.io>
bors [Thu, 7 Apr 2022 15:30:27 +0000 (15:30 +0000)]
Auto merge of #8656 - flip1995:rustup, r=flip1995
Rustup
r? `@ghost`
changelog: none
flip1995 [Thu, 7 Apr 2022 15:26:43 +0000 (16:26 +0100)]
Bump changelog stable version -> 1.60
flip1995 [Thu, 7 Apr 2022 15:24:55 +0000 (16:24 +0100)]
Bump nightly version -> 2022-04-07
flip1995 [Thu, 7 Apr 2022 15:24:33 +0000 (16:24 +0100)]
Bump Clippy Version -> 0.1.62
flip1995 [Thu, 7 Apr 2022 15:24:10 +0000 (16:24 +0100)]
Fix internal::INVALID_PATHS lint
flip1995 [Thu, 7 Apr 2022 14:44:37 +0000 (15:44 +0100)]
Merge remote-tracking branch 'upstream/master' into rustup
bors [Thu, 7 Apr 2022 13:17:28 +0000 (13:17 +0000)]
Auto merge of #8635 - pbor:unsigned-abs, r=giraffate
Add a lint to detect cast to unsigned for abs() and suggest unsigned_…
…abs()
changelog: Add a [`cast_abs_to_unsigned`] that checks for uses of `abs()` that are cast to the corresponding unsigned integer type and suggest to replace them with `unsigned_abs()`.
bors [Thu, 7 Apr 2022 13:00:15 +0000 (13:00 +0000)]
Auto merge of #8646 - Alexendoo:option-as-deref-mut, r=giraffate
Fix `as_deref_mut` false positives in `needless_option_as_deref`
Also moves it into `methods/`
Fixes #7846
Fixes #8047
changelog: [`needless_option_as_deref`]: No longer lints for `as_deref_mut` on Options that cannot be moved
supersedes #8064
Alex Macleod [Wed, 6 Apr 2022 14:35:49 +0000 (15:35 +0100)]
Fix `as_deref_mut` false positives in `needless_option_as_deref`
Also moves the lint to the methods directory
Paolo Borelli [Thu, 7 Apr 2022 09:29:02 +0000 (11:29 +0200)]
conf: fix lint name in comment
The lint name is ERR_EXPECT, not EXPECT_ERR
Paolo Borelli [Mon, 4 Apr 2022 16:38:38 +0000 (18:38 +0200)]
new lint cast_abs_to_unsigned
Add a lint to detect cast to unsigned for abs() and suggest
unsigned_abs() to avoid panic when called on MIN.
bors [Wed, 6 Apr 2022 23:04:20 +0000 (23:04 +0000)]
Auto merge of #8630 - Jarcho:forget_non_drop, r=Manishearth
Add lints `drop_non_drop` and `forget_non_drop`
fixes #1897
changelog: Add lints `drop_non_drop` and `forget_non_drop`
bors [Wed, 6 Apr 2022 18:07:56 +0000 (18:07 +0000)]
Auto merge of #8606 - InfRandomness:err()-expect()-lint, r=xFrednet
Add [`err_expect`] lint
[`expect_err`] lint
- \[ ] Followed [lint naming conventions][lint_naming]
- \[x] Added passing UI tests (including committed `.stderr` file)
- \[x] `cargo test` passes locally
- \[x] Executed `cargo dev update_lints`
- \[x] Added lint documentation
- \[x] Run `cargo dev fmt`
Fixes https://github.com/rust-lang/rust-clippy/issues/1435
changelog: Added a lint to detect usage of .err().expect()
infrandomness [Wed, 6 Apr 2022 17:24:49 +0000 (19:24 +0200)]
Fix mistakes in documentation :
- err() was meant to be employed instead of ok()
- wraps comment
InfRandomness [Tue, 29 Mar 2022 17:19:16 +0000 (19:19 +0200)]
Add .err().expect() lint
bors [Wed, 6 Apr 2022 17:23:14 +0000 (17:23 +0000)]
Auto merge of #8549 - J-ZhengLi:issue8542, r=llogiq
fix FP in lint `[needless_match]`
fixes: #8542
fixes: #8551
fixes: #8595
fixes: #8599
---
changelog: check for more complex custom type, and ignore type coercion in [`needless_match`]
Jason Newcomb [Wed, 6 Apr 2022 15:57:55 +0000 (11:57 -0400)]
Better check size and alignment requirements in `unsound_collection_transmute`
bors [Wed, 6 Apr 2022 15:13:43 +0000 (15:13 +0000)]
Auto merge of #8644 - yoav-lavi:squashed-master, r=flip1995
update unnecessary_join documentation
changelog: none
Updates the description of `unnecessary_join` in accordance with https://github.com/rust-lang/rust-clippy/pull/8579#issuecomment-
1089969859 . I've also added a line regarding differences in assembly output, please let me know if it should also make it in.
Jason Newcomb [Wed, 6 Apr 2022 14:56:06 +0000 (10:56 -0400)]
Only lint `mut_from_ref` when unsafe code is used
Jason Newcomb [Wed, 6 Apr 2022 13:53:20 +0000 (09:53 -0400)]
Cleanup `manual_non_exhaustive`
Jason Newcomb [Wed, 6 Apr 2022 13:26:59 +0000 (09:26 -0400)]
Don't lint `manual_non_exhaustive` when the enum variant is used
Yoav Lavi [Wed, 6 Apr 2022 13:59:38 +0000 (15:59 +0200)]
update unnecessary_join documentation
J-ZhengLi [Wed, 6 Apr 2022 12:44:54 +0000 (20:44 +0800)]
code refractor for `[needless_match]`
bors [Wed, 6 Apr 2022 09:32:51 +0000 (09:32 +0000)]
Auto merge of #8612 - SabrinaJewson:suggest-from-utf8-unchecked-in-const, r=flip1995
Suggest from_utf8_unchecked in const contexts
Unfortunately I couldn't figure out how to check whether a given expression is in an `unsafe` context or not, so I just unconditionally emit the wrapping `unsafe {}` block in the suggestion. If there is an easy way to get it to work better then I would love to hear it.
changelog: Suggest `from_utf8_unchecked` instead of `from_utf8` in const contexts for ``[`transmute_bytes_to_str`]``
refs: #8379
Sabrina Jewson [Wed, 6 Apr 2022 09:14:20 +0000 (10:14 +0100)]
Report `from_utf8` suggestion as maybe incorrect
Co-authored-by: Philipp Krones <hello@philkrones.com>
bors [Wed, 6 Apr 2022 08:27:03 +0000 (08:27 +0000)]
Auto merge of #8596 - Jaic1:unnecessary_cast, r=flip1995
Fix unnecessary_cast suggestion for type aliasses
Fix #6923. The [`unnecessary_cast`] lint now will skip casting to non-primitive type.
changelog: fix lint [`unnecessary_cast `]
bors [Wed, 6 Apr 2022 08:13:26 +0000 (08:13 +0000)]
Auto merge of #8588 - pitaj:fix-8348, r=flip1995
`indexing_slicing` should not fire if a valid array index comes from a constant function that is evaluated at compile-time
fix #8348
changelog: [`indexing_slicing`] fewer false positives in `const` contexts and with `const` indices
bors [Tue, 5 Apr 2022 13:03:16 +0000 (13:03 +0000)]
Auto merge of #8636 - flip1995:release_changelog_quick_update, r=xFrednet
Add documentation on how to do a minimal changelog update
This ensures that the link to the Clippy version in the Rust release
blog post works correctly. The additional `(beta)` behind the previous
beta version breaks that link otherwise.
[Rendered](https://github.com/flip1995/rust-clippy/blob/release_changelog_quick_update/doc/release.md)
changelog: none
bors [Tue, 5 Apr 2022 10:07:13 +0000 (10:07 +0000)]
Auto merge of #8403 - nerdypepper:fix/diagnostic-message-mispelling, r=flip1995,Manishearth
fix misspelling in diagnostic message of `bytes_nth`
*Please write a short comment explaining your change (or "none" for internal only changes)*
changelog: fix misspelling in diagnostic message in ``[`bytes_nth`]``
Akshay [Tue, 8 Feb 2022 11:21:02 +0000 (16:51 +0530)]
fix mispelling in diagnostic message of bytes_nth
bors [Tue, 5 Apr 2022 09:50:53 +0000 (09:50 +0000)]
Auto merge of #8620 - Alexendoo:test-fmt-first, r=flip1995
Run fmt test before compile-test/dogfood
I seem to always forget to run `cargo dev fmt` before doing a test. This lets it fail fast rather than going through the much longer compile-test/dogfood tests first
changelog: none
bors [Tue, 5 Apr 2022 09:33:38 +0000 (09:33 +0000)]
Auto merge of #8607 - Alexendoo:cargo-dev-lint-dir, r=flip1995,giraffate
Allow running `cargo dev lint` on a package directory
Allows you run the local clippy in a specified directory, e.g. allowing
```sh
# Lint a ui-cargo test
cargo dev lint tests/ui-cargo/wildcard_dependencies/fail
# Lint some other project
cargo dev lint ~/my-project
```
The `target` directory is set to a tempdir which isn't ideal for medium/large projects as it would be compiled from scratch. This is to avoid cached clippy messages where you `cargo dev lint dir`, change something in clippy, and run `cargo dev lint dir` again
changelog: Dev: `cargo dev lint` can now be run on a package directory