Commit Graph

16129 Commits

Author SHA1 Message Date
Samuel Tardieu
657ee48bec Ignore instructions following a break from block in never_loop lint
It is not sufficient to ignore break from a block inside the loop.
Instructions after the break must be ignored, as they are unreachable.
This is also true for all instructions in outer blocks and loops
until the right block is reached.
2023-02-14 09:55:44 +01:00
Samuel Tardieu
e9dffa3910 Fix a bug in never_loop when anonymous blocks are nested in named blocks
The following code

```
loop {
    'a: {
        { }
        break 'a;
    }
}
```

was detected as a never-looping loop.
2023-02-14 09:23:04 +01:00
Samuel Tardieu
1fec2927c5 Replace combine_both by combine_seq
All evaluations now happen in order.
2023-02-13 22:34:05 +01:00
Samuel Tardieu
c231b41887 Remove useless call to combine_seq
`combine_seq(x, NeverLoopResult::Otherwise)`  always returns `x`
2023-02-13 22:34:05 +01:00
bors
63562a6854 Auto merge of #10334 - samueltardieu:book-warning-text, r=Manishearth
book: move warning to the right place

changelog: none
2023-02-13 17:41:38 +00:00
bors
ac60dcaa25 Auto merge of #10177 - chansuke:almost_swapped, r=Alexendoo
Almost swapped

Take over from https://github.com/rust-lang/rust-clippy/pull/8945

Fix https://github.com/rust-lang/rust-clippy/issues/8151

---

changelog: enhancement: [`almost_swapped`]: Now detects almost swaps using `let` statements
[#10177](https://github.com/rust-lang/rust-clippy/pull/10177)
<!-- changelog_checked -->
2023-02-13 13:20:18 +00:00
chansuke
ebca1b5d00 Refactor almost_swapped to lint with let statement correctly 2023-02-13 16:16:31 +09:00
bors
298f139798 Auto merge of #10317 - m-ou-se:suspicious-command-arg-space, r=Manishearth
Add `suspicious_command_arg_space` lint

Fixes #10316

---

changelog: New lint: [`suspicious_command_arg_space`]
[#10317](https://github.com/rust-lang/rust-clippy/pull/10317)
<!-- changelog_checked -->
2023-02-12 21:57:49 +00:00
Mara Bos
1f77866991 Add SUSPICIOUS_COMMAND_ARG_SPACE to lint pass. 2023-02-12 22:00:13 +01:00
bors
6f353fdf0a Auto merge of #10310 - c410-f3r:arith-2, r=Alexendoo
[arithmetic_side_effects] Fix #10209

Fix #10209

---

changelog: Enhancement: [`arithmetic_side_effects`]: No longer lints, if safe constant values are used.
[#10310](https://github.com/rust-lang/rust-clippy/pull/10310)
<!-- changelog_checked -->
2023-02-12 19:34:15 +00:00
Caio
1ed8ed3435 Address comment 2023-02-12 16:27:30 -03:00
Caio
e70a7a68bd [arithmetic_side_effects] Evaluate integers originated from constant declarations 2023-02-12 16:19:51 -03:00
bors
ad2135e5a1 Auto merge of #10333 - samueltardieu:lintcheck-clap-panic, r=flip1995
lintcheck: fix clap panic

clap 4.1.4 panics if `-` is used at the start of an argument:

```
$ cargo lintcheck
[…]
thread 'main' panicked at 'Argument recursive: long "--recursive" must not start with a `-`, that will be handled by the parser', /home/sam/.cargo/registry/src/github.com-1ecc6299db9ec823/clap-4.1.4/src/builder/debug_asserts.rs:82:13
```

changelog: none
<!-- changelog_checked -->
2023-02-12 18:52:47 +00:00
Samuel Tardieu
21433abcea book: move warning to the right place 2023-02-12 15:29:13 +01:00
bors
d880cae0b5 Auto merge of #10330 - samueltardieu:10325, r=xFrednet
cast_possible_truncation: issue proper help message

Fixes #10325

---

changelog: Sugg: [`cast_possible_truncation`]: Corrected the lint name in help message
[#10330](https://github.com/rust-lang/rust-clippy/pull/10330)
<!-- changelog_checked-->
2023-02-12 14:18:21 +00:00
Samuel Tardieu
aeaa1cc342 lintcheck: fix clap panic 2023-02-12 14:54:14 +01:00
Samuel Tardieu
d9dc1679f5 cast_possible_truncation: issue proper help message 2023-02-12 08:56:21 +01:00
Mara Bos
805a0ae2df Add more test cases for suspicious_command_arg_space. 2023-02-10 22:35:23 +01:00
Mara Bos
8f56767c94 Update lints. 2023-02-10 19:03:20 +01:00
Mara Bos
984c47b9f4 Clarify description of suspicious_command_arg_space.
Co-authored-by: Manish Goregaokar <manishsmail@gmail.com>
2023-02-10 19:02:39 +01:00
Mara Bos
5fefe8b317 Add test. 2023-02-10 19:02:39 +01:00
Mara Bos
145e6a94d6 Add suspicious_command_arg_space lint. 2023-02-10 19:02:39 +01:00
bors
0f7558148c Auto merge of #10314 - flip1995:clippy_dev-cli-fix, r=xFrednet
Fix CLI of clippy_dev

Clap was updated in rust-lang/rust-clippy#10270, which broke the command line of clippy_dev. This swaps out contains_id, which now returns always true in the places it was used with get_flag.

r? `@xFrednet`

This should also fix https://rust-lang.zulipchat.com/#narrow/stream/257328-clippy/topic/.60cargo.20dev.20setup.20intellij.60.20is.20degraded/near/325770850

changelog: none
2023-02-10 10:58:06 +00:00
Philipp Krones
fabada0c81
Fix CLI of clippy_dev
Clap was updated in rust-lang/rust-clippy#10270, which broke the command
line of clippy_dev. This swaps out contains_id, which now returns always
true in the places it was used with get_flag.
2023-02-10 11:47:35 +01:00
bors
a7fecd6911 Auto merge of #10313 - flip1995:rustup, r=flip1995
Rustup

r? `@ghost`

changelog: none
2023-02-10 10:38:32 +00:00
Philipp Krones
19c07f88ee
Bump nightly version -> 2023-02-10 2023-02-10 11:34:02 +01:00
Philipp Krones
7c61b4ed89
Merge remote-tracking branch 'upstream/master' into rustup 2023-02-10 11:33:45 +01:00
DevAccentor
179c037643 improve almost swap to look for let statement 2023-02-10 18:00:46 +09:00
bors
5adeebf92f Auto merge of #10292 - xFrednet:0000-support-trait-item-in-dump, r=flip1995
Make `[clippy::dump]` support trait items

Roses are red,
violets are blue,
trait items are rare,
`[clippy::dump]` is too

---

Let's just ignore the horrible poem... anyways. While working on Marker I noticed, that `[clippy::dump]` doesn't work on trait item (See [Playground](https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=e2d9791ffa2872e7c09a9dfbd470350c)). This simply adds support for that. `[clippy::dump]` doesn't have UI tests, to make it more resistant to changes in the AST. I tested it locally and the dump works after these changes.

---

changelog: none
2023-02-09 13:22:00 +00:00
bors
fd2d8beaf8 Auto merge of #10293 - Alexendoo:bool-assert-comparison-negation, r=dswij
Negate suggestions when needed in `bool_assert_comparison`

changelog: none assuming this gets into the same release as #10218

Fixes #10291

r? `@dswij`

Thanks to `@black-puppydog` for spotting it early
2023-02-08 23:03:32 +00:00
bors
3bb6ee5dce Auto merge of #10295 - DesmondWillowbrook:diff-format-suspicious-to-owned, r=Jarcho
fix(suspicious_to_owned): use span_suggestions to suggest both intents

fixes #10294

changelog: [`suspicious_to_owned`]: suggestions now produce valid Rust code
2023-02-08 07:50:43 +00:00
Kartavya Vashishtha
b7c38981ff
bless new output 2023-02-07 15:39:19 +05:30
Kartavya Vashishtha
2fc1693cd5
split suggestions into two separate suggestions 2023-02-06 21:34:35 +05:30
Kartavya Vashishtha
63a57ee1c3
retain applicability 2023-02-05 01:50:44 +05:30
Kartavya Vashishtha
46edafe8c1
blessed stderr output 2023-02-05 01:18:29 +05:30
Kartavya Vashishtha
1fb42daf11
use span_suggestions to suggest both intents 2023-02-05 01:05:31 +05:30
Alex Macleod
5546c82051 Negate suggestions when needed in bool_assert_comparison 2023-02-04 19:28:11 +00:00
xFrednet
c642cfe3bf
Make [clippy::dump] support trait items 2023-02-04 19:34:31 +01:00
bors
8a9860901f Auto merge of #10028 - mkrasnitski:extra_unused_type_parameters, r=flip1995
Add `extra_unused_type_parameters` lint

Closes #9240. ~~Keeping this as draft for now, because of a bug that I don't know how to fix.~~ It seems that opaque return types are not walked properly, for some unknown reason. As in, the following:

```rust
fn used_ret_opaque<A>() -> impl Iterator<Item = A> {
    std::iter::empty()
}
```
This triggers the lint even though it shouldn't. Discussion on Zulip didn't illuminate any possible reasons why, so PR-ing this now to increase visibility.

---

changelog: new lint: [`extra_unused_type_parameters`]
[#10028](https://github.com/rust-lang/rust-clippy/pull/10028)
<!-- changelog_checked -->
2023-02-03 11:18:48 +00:00
Michael Krasnitski
fba16e2e3a Add extra_unused_type_parameters lint 2023-02-02 19:37:34 -05:00
bors
006a4cc767 Auto merge of #10276 - m-ou-se:manual-assert, r=Alexendoo
Don't depend on FormatArgsExpn in ManualAssert.

Part of https://github.com/rust-lang/rust-clippy/issues/10233

changelog: none
2023-02-02 14:47:43 +00:00
Mara Bos
ecd98bad45 Bless tests. 2023-02-01 22:51:02 +01:00
Mara Bos
f7d59b2e57 Don't depend on FormatArgsExpn in ManualAssert. 2023-02-01 22:50:43 +01:00
bors
a2f85deba3 Auto merge of #10250 - tylerjw:issue_7419, r=xFrednet
wildcard_enum_match_arm lint takes the enum origin into account

fixes #7419

---

changelog: Enhancement: [`wildcard_enum_match_arm`]: Now lints missing private variants, for local enums
[#10250](https://github.com/rust-lang/rust-clippy/pull/10250)
<!-- changelog_checked -->
2023-02-01 20:01:56 +00:00
bors
588c1ba3ff Auto merge of #10270 - kadiwa4:update_some_deps, r=flip1995
Update dependencies `cargo_metadata` and `clap`

changelog: none

Allows removing some duplicate dependencies in rust-lang/rust's `Cargo.lock`.
2023-02-01 16:34:05 +00:00
bors
75d76806c1 Auto merge of #10256 - SylvainDe:master, r=giraffate
Fix version declared for semicolon_inside_block and semicolon_outside…

As per Issue #10244, the lint were documentated
as being part of 1.66.0 but will actually be
released 1.68.0 .

changelog: [`semicolon_inside_block`]: Documentation fix
Fixes #10244
2023-02-01 00:24:04 +00:00
KaDiWa
ef2596155d
update some dependencies 2023-01-31 23:31:12 +01:00
bors
2880dccabb Auto merge of #10265 - Manishearth:uninlined-fmt-pedantic, r=Alexendoo
Mark uninlined_format_args as pedantic

Fixes https://github.com/rust-lang/rust-clippy/issues/10087

We should restore this when rust-analyzer support gets better. Worth filing an issue to track.

changelog: Mark [`uninlined_format_args`] as `pedantic`
2023-01-31 19:21:44 +00:00
bors
b5a4fa1322 Auto merge of #10222 - Alexendoo:needless-lifetime-suggestion, r=flip1995
Add machine applicable suggestion for `needless_lifetimes`

changelog: [`needless_lifetimes`]: Add machine applicable suggestion

Fixes #9360

It doesn't make suggestions for async functions as the input lifetime spans are funky there

The examples in #5787 and #7271 no longer seem to FP this PR aside, I added tests for them rather than disabling the lint entirely for async functions, I don't know if there are further FPs there though

Closes #5787
Closes #7271
2023-01-31 14:20:17 +00:00
Alex Macleod
6a8b20230b Add machine applicable suggestion for needless_lifetimes
Also adds a test for #5787
2023-01-31 14:12:03 +00:00