Commit Graph

17228 Commits

Author SHA1 Message Date
bors 89294e1756 Auto merge of #10992 - blyxyas:fix-test_case_lib, r=Manishearth
`items_after_test_module`: Ignore in-proc-macros items

The library `test-case` is having some problems with this lint, ignoring proc macros should fix it.
Related to #10713 and frondeus/test-case#122

(Couldn't add test cases for this exact situation without importing the library, but I think the fix is simple enough that we can be pretty sure there won't be any problems :) )

changelog:[`items_after_test_module`]: Ignore items in procedural macros
2023-06-20 04:14:20 +00:00
bors 5b60388e5a Auto merge of #10930 - y21:issue9956, r=blyxyas,xFrednet
[`redundant_closure_call`]: handle nested closures

Fixes #9956.

This ended up being a much larger change than I'd thought, and I ended up having to pretty much rewrite it as a late lint pass, because it needs access to certain things that I don't think are available in early lint passes (e.g. getting the parent expr). I think this'll be required to fi-x #10922 anyway, so this is probably fine.
(edit: had to write "fi-x" because "fix" makes github think that this PR fixes it, which it doesn't 😅 )

Previously, it would suggest changing `(|| || 42)()()` to `|| 42()`, which is a type error (it needs parens: `(|| 42)()`). In my opinion, though, the suggested fix should have really been `42`, so that's what this PR changes.

changelog: [`redundant_closure_call`]: handle nested closures and rewrite as a late lint pass
2023-06-19 20:30:35 +00:00
bors f396004b25 Auto merge of #10975 - hehaoqian:fix_self_named_module_files, r=Centri3,xFrednet
Fix false positive of [self_named_module_files] and [mod_module_files]

changelog: [self_named_module_files] [mod_module_files]: No longer lints dependencies located in subdirectory of workspace

fixes #8887

---

First time contributor here, just read contribution guide today.

I have several questions:

1. ~Is it the correct way to use environment variable `CARGO_HOME` to get the location of cargo home directory?~
(Edit: Code no longer uses CARGO_HOME)
2. How to setup test for this PR? This involves multiple files and `CARGO_HOME` setup. ~Not sure how to do this.~
~Edit: Working on tests right now~ A workspace_test has been added
2023-06-19 20:14:21 +00:00
bors c8c03ea606 Auto merge of #10793 - c410-f3r:bbbbbbbbbbb, r=xFrednet
[`arithmetic_side_effects`] Fix #10792

Fix #10792

```
changelog: [`arithmetic_side_effects`]: Retrieve field values of structures that are in constant environments
```
2023-06-19 19:51:49 +00:00
blyxyas 62c9e0b87d
Ignore in-proc-macros items 2023-06-19 20:50:24 +02:00
bors ebcbba93ad Auto merge of #10980 - Alexendoo:format-args-incremental-spans, r=dswij
Fix `find_format_arg_expr` when incremental compilation is enabled

Fixes #10969

[`lower_span`](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_ast_lowering/struct.LoweringContext.html#method.lower_span) gives AST spans a [parent](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_span/struct.SpanData.html#structfield.parent) when lowering to the HIR. That meant the `==` span comparison would return false even though the spans are pointing to the same thing. We now ignore the parent when comparing the spans

Debugging this was quite the puzzle, because the parent is not included in the debug output of `Span`s or `SpanData` 😬

changelog: none
2023-06-19 17:54:57 +00:00
bors 06b444b2d1 Auto merge of #10951 - Centri3:single_call_fn, r=giraffate
new lint [`single_call_fn`]

Closes #10861

changelog: New lint [`single_call_fn`]
2023-06-19 02:37:26 +00:00
hehaoqian e11ebbd5e7 Move continue into if statement
Co-authored-by: Catherine <114838443+Centri3@users.noreply.github.com>
2023-06-19 08:36:27 +08:00
Centri3 2cd4a9182a Ignore functions annotated with `#[test]` 2023-06-18 19:32:38 -05:00
hehaoqian 65b93a5b43 Fix false positive of [self_named_module_files] and [mod_module_files] 2023-06-18 09:04:59 +08:00
Centri3 a8605269bd add test for closures 2023-06-17 20:01:15 -05:00
Centri3 07dbcbda12 new lint `single_call_fn` 2023-06-17 20:01:06 -05:00
Alex Macleod 26e78e72bc Fix `find_format_arg_expr` when incremental compilation is enabled 2023-06-17 20:55:30 +00:00
Caio dbe4057237 Dogfood 2023-06-17 17:16:01 -03:00
Caio 0e1caa765e Fix #10792 2023-06-17 17:03:31 -03:00
bors 8c8ff5f31d Auto merge of #10976 - dswij:issue-10966, r=Alexendoo
Make [`missing_panics_doc`]  not lint for `todo!()`

closes #10966

changelog: [`missing_panics_doc`] now does not lint for `todo!()`
2023-06-17 16:40:39 +00:00
dswij a6346d7c9d `missing_panics_in_doc` bless test and add additional macro testcase 2023-06-17 23:21:09 +08:00
dswij 1f621af28c Exlude `todo!()` from `missing_panics_in_doc` 2023-06-17 23:20:33 +08:00
bors bb78d76d48 Auto merge of #10886 - lochetti:fix_10832, r=Centri3,xFrednet
Adding configuration to allow safety comment above stmt containing unsafe block

Adding a new configuration, `accept-comment-above-statement`, to allow a safety comment to be placed before the statement that has the `unsafe` block. It affects the `undocumented_unsafe_blocks` lint.

The default value for this configuration will be `false`. So the user has to opt-in for the change.

This PR fixes https://github.com/rust-lang/rust-clippy/issues/10832

---

changelog: Enhancement [`undocumented_unsafe_blocks`]: Added `accept-comment-above-statement` configuration.
[#10886](https://github.com/rust-lang/rust-clippy/pull/10886)
2023-06-17 13:25:03 +00:00
Renato Lochetti d6102018bf
Collecting metadata 2023-06-17 09:40:51 -03:00
Renato Lochetti 8625a849d1
adding all ui tests to the configuration test as well 2023-06-17 09:36:38 -03:00
Renato Lochetti e2e6a02445
Addressing reviewer comments 2023-06-17 09:36:38 -03:00
Renato Lochetti 520228b377
Adding configuration to allow safety comment above stmt containing unsafe block 2023-06-17 09:36:36 -03:00
bors 965f4a8492 Auto merge of #10973 - flip1995:fix-version-py-script, r=flip1995
Fix version.py after deleting v* dirs

I missed updating this file.

I also ran black and isort over it.

Fixes the [deployment failure](https://github.com/rust-lang/rust-clippy/actions/runs/5297071588/jobs/9588599397)

r? `@ghost`

changelog: none
2023-06-17 08:07:53 +00:00
Philipp Krones 445f428a65
Fix version.py after deleting v* dirs
I missed updating this file.

I also ran black and isort over it.
2023-06-17 10:05:06 +02:00
bors baf3680d1b Auto merge of #10876 - flip1995:gh-pages-cleanup-repo, r=flip1995
Adapt versions.html file to cleaned up gh-pages

Companion PR to #10875

changelog: Remove legacy v0.0.* versions from Clippy repository and documentation.

Must be merged together with #10875 (best with a closed tree)

r? `@Alexendoo` (because you were randomly selected on the other PR :P)
2023-06-17 07:37:21 +00:00
Philipp Krones 60b7fde4ad
Adapt versions.html file to cleaned up gh-pages 2023-06-17 09:24:06 +02:00
bors 3217f8aeaa Auto merge of #10942 - Centri3:unnecessary_cast, r=llogiq
Ignore more type aliases in `unnecessary_cast`

This is potentially the worst code I've ever written, and even if not, it's very close to being on par with starb. This will ignore `call() as i32` and `local_obtained_from_call as i32` now.

This should fix every reasonable way to reproduce #10555, but likely not entirely.

changelog: Ignore more type aliases in `unnecessary_cast`
2023-06-16 19:24:11 +00:00
bors e11f36cc67 Auto merge of #10965 - not-my-profile:explain-status, r=Alexendoo
Make `--explain` subcommand return 1 for missing lints

changelog: The `--explain` subcommand now exits with the 1 exit code for missing lints
2023-06-16 11:28:51 +00:00
Martin Fischer 894d5dafac Make `--explain` subcommand return 1 for missing lints 2023-06-16 11:53:25 +02:00
Martin Fischer a94aac607c Refactor to make following commit pass single_match_else lint 2023-06-16 11:53:24 +02:00
bors 43ecf8ea7d Auto merge of #10953 - KisaragiEffective:missing_panics_doc_trigger_on_expect, r=dswij
[`missing_panics_doc`]: pickup expect method

close #10240

*Please write a short comment explaining your change (or "none" for internal only changes)*

changelog: [`missing_panics_doc`]: pickup expect method
2023-06-16 09:12:46 +00:00
bors 87b5f89497 Auto merge of #10925 - Centri3:needless_clone_impl2, r=xFrednet
add lint [`incorrect_clone_impl_on_copy_type`]

Split off from #10788.

Closes #10700

----

changelog: new lint [`incorrect_clone_impl_on_copy_type`]
[#10925](https://github.com/rust-lang/rust-clippy/pull/10925)
2023-06-16 08:09:18 +00:00
Kisaragi 73c0c14526
improve grammer in comment sentence
Co-authored-by: dswij <dharmasw@outlook.com>
2023-06-16 16:39:09 +09:00
Kisaragi Marine 73cd2cde8b
merge test 2023-06-16 16:37:19 +09:00
bors ee67c79598 Auto merge of #10835 - y21:drain-collect, r=dswij
new lint: `drain_collect`

Closes #10818.

This adds a new lint that looks for `.drain(..).collect()` and suggests replacing it with `mem::take`.

changelog: [`drain_collect`]: new lint
2023-06-16 04:53:35 +00:00
y21 3fe2478ecf don't unnecessarily walk more in visitor and add more tests 2023-06-15 22:04:25 +02:00
bors cda13a8b26 Auto merge of #10946 - Centri3:match_same_arms, r=blyxyas,xFrednet
[`match_same_arms`]: don't lint if `non_exhaustive_omitted_patterns`

Fixes #10327

changelog: [`match_same_arms`]: Don't lint if `non_exhaustive_omitted_patterns` is `warn` or `deny`
2023-06-15 18:40:49 +00:00
y21 5821fbbc30 add test case for not whole length, move sugg into variable 2023-06-15 20:23:12 +02:00
y21 20ae597ec4 add a description 2023-06-15 20:23:12 +02:00
y21 3f3657a3e4 make clippy happy 2023-06-15 20:23:12 +02:00
y21 d2a6ec2d4d take into account reborrowing when inserting `&mut` in sugg 2023-06-15 20:23:12 +02:00
y21 2748ab9565 new lint: `drain_collect` 2023-06-15 20:23:11 +02:00
Centri3 10cc1684ce rename lint and disallow `clone_from` 2023-06-15 07:04:47 -05:00
Centri3 67d5e6ec39 add lint [`needless_clone_impl`]
Update needless_impls.rs
2023-06-15 07:04:36 -05:00
bors eee3112dc3 Auto merge of #10840 - Alexendoo:from-over-into-expanded-path, r=dswij
from_over_into: Show suggestions for non-Self expanded paths

changelog: [`from_over_into`]: Show suggestions when the body contains macros not expanding to `Self`

Currently any path in a macro expansion causes the suggestion to be hidden, meaning most macro calls cause it to be hidden

Now it's only hidden if the expansion contains `Self`
2023-06-15 07:14:40 +00:00
bors 2dd452f51b Auto merge of #10931 - y21:issue10000, r=Jarcho
[`unnecessary_fold`]: suggest turbofish if necessary

Fixes #10000

This adds turbofish `::<T>` to the suggestion in `unnecessary_fold`. This is necessary because the `Sum` trait is generic, which breaks inference when changing `fold()` to `sum()`.

changelog: [`unnecessary_fold`]: suggest turbofish if necessary
2023-06-15 05:45:41 +00:00
bors 823d9dd503 Auto merge of #10934 - Centri3:single_range_in_vec_init, r=giraffate
new lint [`single_range_in_vec_init`]

Lints on `vec![0..200]` (or `[0..200]`), suggesting either `(0..200).collect::<Vec<i32>>()` or `[0; 200]`.

Haven't tested it with anything that isn't primitive. Probably should!

Closes #10932

changelog: new lint [`single_range_in_vec_init`]
2023-06-14 23:57:03 +00:00
y21 d102e2296c move check_fold_with_op function out 2023-06-14 22:38:06 +02:00
y21 69e892e3a1 get rid of unnecessary function pointer 2023-06-14 22:29:57 +02:00