Commit Graph

17219 Commits

Author SHA1 Message Date
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
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
Centri3 2cd4a9182a Ignore functions annotated with #[test] 2023-06-18 19:32:38 -05: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
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
bors ffe95252bd Auto merge of #10954 - y21:issue10158, r=llogiq
[`derivable_impls`]: don't lint if `default()` call expr unsize-coerces to trait object

Fixes #10158.

This fixes a FP where the derive-generated Default impl would have different behavior because of unsize coercion from `Box<T>` to `Box<dyn Trait>`:
```rs
struct S {
  x: Box<dyn std::fmt::Debug>
}
impl Default for S {
  fn default() -> Self {
    Self {
      x: Box::<()>::default()
     // ^~ Box<()> coerces to Box<dyn Debug>
     // #[derive(Default)] would call Box::<dyn Debug>::default()
    }
  }
}
```
(this intentionally only looks for trait objects `dyn` specifically, and not any unsize coercion, e.g. `&[i32; 5]` to `&[i32]`, because that breaks existing tests and isn't actually problematic, as far as I can tell)

changelog: [`derivable_impls`]: don't lint if `default()` call expression unsize-coerces to trait object
2023-06-14 16:59:26 +00:00
y21 4795c91939 fix internal lints 2023-06-14 17:15:57 +02:00
y21 fcb9a382f7 dogfood 2023-06-14 17:10:26 +02:00
y21 5b6ba204a7 fmt 2023-06-14 17:01:57 +02:00
y21 2ba1926955 [derivable_impls]: don't lint if expr unsize-coerces 2023-06-14 16:52:02 +02:00
Centri3 830d307d0a refactor a bit 2023-06-14 08:41:20 -05:00
Centri3 27a701a670 [match_same_arms]: don't lint if non_exhaustive_omitted_patterns
formatting :/
2023-06-14 08:36:09 -05:00