rust/tests/ui/derives
bors cb93c24bf3 Auto merge of #124157 - wutchzone:partial_eq, r=estebank
Do not add leading asterisk in the `PartialEq`

I think we should address this issue, however I am not exactly sure, if this is the right way to do it. It is related to the #123056.

Imagine the simplified code:

```rust
trait MyTrait {}

impl PartialEq for dyn MyTrait {
    fn eq(&self, _other: &Self) -> bool {
        true
    }
}

#[derive(PartialEq)]
enum Bar {
    Foo(Box<dyn MyTrait>),
}
```

On the nightly compiler, the `derive` produces invalid code with the weird error message:
```
error[E0507]: cannot move out of `*__arg1_0` which is behind a shared reference
  --> src/main.rs:11:9
   |
9  | #[derive(PartialEq)]
   |          --------- in this derive macro expansion
10 | enum Things {
11 |     Foo(Box<dyn MyTrait>),
   |         ^^^^^^^^^^^^^^^^ move occurs because `*__arg1_0` has type `Box<dyn MyTrait>`, which does not implement the `Copy` trait
   |
   = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)
```

It may be related to the perfect derive problem, although requiring the _type_ to be `Copy` seems unfortunate because it is not necessary. Besides, we are adding the extra dereference only for the diagnostics?
2024-05-09 08:34:14 +00:00
..
auxiliary Avoid expanding to unstable internal method 2024-04-02 22:21:16 +00:00
clone-debug-dead-code-in-the-same-struct.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
clone-debug-dead-code-in-the-same-struct.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
clone-debug-dead-code.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
clone-debug-dead-code.stderr Move /src/test to /tests 2023-01-11 09:32:08 +00:00
derive-Debug-use-ufcs-struct.rs [AUTO-GENERATED] Migrate ui tests from `//` to `//@` directives 2024-02-16 20:02:50 +00:00
derive-Debug-use-ufcs-tuple.rs [AUTO-GENERATED] Migrate ui tests from `//` to `//@` directives 2024-02-16 20:02:50 +00:00
derive-assoc-type-not-impl.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
derive-assoc-type-not-impl.stderr Account for non-overlapping unmet trait bounds in suggestion 2024-01-30 19:26:13 +00:00
derive-deadlock.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
derive-deadlock.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
derive-hygiene.rs [AUTO-GENERATED] Migrate ui tests from `//` to `//@` directives 2024-02-16 20:02:50 +00:00
derive-macro-const-default.rs [AUTO-GENERATED] Migrate ui tests from `//` to `//@` directives 2024-02-16 20:02:50 +00:00
derive-marker-tricky.rs [AUTO-GENERATED] Migrate ui tests from `//` to `//@` directives 2024-02-16 20:02:50 +00:00
derive-multiple-with-packed.rs [AUTO-GENERATED] Migrate ui tests from `//` to `//@` directives 2024-02-16 20:02:50 +00:00
derive-on-trait-item-or-impl-item.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
derive-on-trait-item-or-impl-item.stderr Move /src/test to /tests 2023-01-11 09:32:08 +00:00
derive-partial-ord.rs [AUTO-GENERATED] Migrate ui tests from `//` to `//@` directives 2024-02-16 20:02:50 +00:00
derive-renamed.rs [AUTO-GENERATED] Migrate ui tests from `//` to `//@` directives 2024-02-16 20:02:50 +00:00
derives-span-Clone-enum-struct-variant.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
derives-span-Clone-enum-struct-variant.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
derives-span-Clone-enum.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
derives-span-Clone-enum.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
derives-span-Clone-struct.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
derives-span-Clone-struct.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
derives-span-Clone-tuple-struct.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
derives-span-Clone-tuple-struct.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
derives-span-Debug-enum-struct-variant.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
derives-span-Debug-enum-struct-variant.stderr Provide more context on derived obligation error primary label 2024-01-30 21:28:18 +00:00
derives-span-Debug-enum.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
derives-span-Debug-enum.stderr Provide more context on derived obligation error primary label 2024-01-30 21:28:18 +00:00
derives-span-Debug-struct.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
derives-span-Debug-struct.stderr Provide more context on derived obligation error primary label 2024-01-30 21:28:18 +00:00
derives-span-Debug-tuple-struct.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
derives-span-Debug-tuple-struct.stderr Provide more context on derived obligation error primary label 2024-01-30 21:28:18 +00:00
derives-span-Default-struct.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
derives-span-Default-struct.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
derives-span-Default-tuple-struct.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
derives-span-Default-tuple-struct.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
derives-span-Eq-enum-struct-variant.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
derives-span-Eq-enum-struct-variant.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
derives-span-Eq-enum.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
derives-span-Eq-enum.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
derives-span-Eq-struct.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
derives-span-Eq-struct.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
derives-span-Eq-tuple-struct.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
derives-span-Eq-tuple-struct.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
derives-span-Hash-enum-struct-variant.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
derives-span-Hash-enum-struct-variant.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
derives-span-Hash-enum.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
derives-span-Hash-enum.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
derives-span-Hash-struct.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
derives-span-Hash-struct.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
derives-span-Hash-tuple-struct.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
derives-span-Hash-tuple-struct.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
derives-span-Ord-enum-struct-variant.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
derives-span-Ord-enum-struct-variant.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
derives-span-Ord-enum.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
derives-span-Ord-enum.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
derives-span-Ord-struct.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
derives-span-Ord-struct.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
derives-span-Ord-tuple-struct.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
derives-span-Ord-tuple-struct.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
derives-span-PartialEq-enum-struct-variant.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
derives-span-PartialEq-enum-struct-variant.stderr Do not add leading asterisk in the `PartialEq` 2024-04-23 20:56:52 +02:00
derives-span-PartialEq-enum.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
derives-span-PartialEq-enum.stderr Do not add leading asterisk in the `PartialEq` 2024-04-23 20:56:52 +02:00
derives-span-PartialEq-struct.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
derives-span-PartialEq-struct.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
derives-span-PartialEq-tuple-struct.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
derives-span-PartialEq-tuple-struct.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
derives-span-PartialOrd-enum-struct-variant.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
derives-span-PartialOrd-enum-struct-variant.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
derives-span-PartialOrd-enum.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
derives-span-PartialOrd-enum.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
derives-span-PartialOrd-struct.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
derives-span-PartialOrd-struct.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
derives-span-PartialOrd-tuple-struct.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
derives-span-PartialOrd-tuple-struct.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
deriving-bounds.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
deriving-bounds.stderr Add a note to duplicate diagnostics 2023-10-05 01:04:41 +00:00
deriving-copyclone.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
deriving-copyclone.stderr Point at specific field in struct literal when trait fulfillment fails 2023-01-23 13:37:58 -08:00
deriving-meta-empty-trait-list.rs [AUTO-GENERATED] Migrate ui tests from `//` to `//@` directives 2024-02-16 20:02:50 +00:00
deriving-meta-unknown-trait.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
deriving-meta-unknown-trait.stderr Add a note to duplicate diagnostics 2023-10-05 01:04:41 +00:00
deriving-no-inner-impl-error-message.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
deriving-no-inner-impl-error-message.stderr Provide RHS type hint when reporting operator error 2023-04-27 01:34:03 +00:00
deriving-non-type.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
deriving-non-type.stderr Move /src/test to /tests 2023-01-11 09:32:08 +00:00
deriving-primitive.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
deriving-primitive.stderr Add a note to duplicate diagnostics 2023-10-05 01:04:41 +00:00
deriving-with-repr-packed-2.rs make unaligned_reference a hard error 2023-01-31 20:28:11 +01:00
deriving-with-repr-packed-2.stderr Use single label for method not found due to unmet bound 2024-01-26 20:47:19 +00:00
deriving-with-repr-packed-move-errors.rs Emit explanatory note for move errors in packed struct derives 2023-11-03 07:32:10 +05:30
deriving-with-repr-packed-move-errors.stderr Suggest `.clone()` in some move errors 2024-04-11 16:41:41 +00:00
deriving-with-repr-packed.rs Extend `BYTE_SLICE_IN_PACKED_STRUCT_WITH_DERIVE`. 2023-02-09 11:47:12 +11:00
deriving-with-repr-packed.stderr Mention when type parameter could be `Clone` 2024-04-24 22:21:15 +00:00
issue-36617.rs Supress unhelpful diagnostics for unresolved top level attributes 2024-01-29 17:43:07 +08:00
issue-36617.stderr Supress unhelpful diagnostics for unresolved top level attributes 2024-01-29 17:43:07 +08:00
issue-43023.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-43023.stderr Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-91492.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-91492.stderr Tweak output for 'add line' suggestion 2023-04-12 22:50:10 +00:00
issue-91550.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-91550.stderr Use fulfillment, not evaluate, during method probe 2024-04-21 20:10:12 -04:00
issue-97343.rs Taint more aggressively in astconv 2024-01-11 09:03:26 +00:00
issue-97343.stderr Taint more aggressively in astconv 2024-01-11 09:03:26 +00:00
rustc-decodable-issue-123156.rs Avoid expanding to unstable internal method 2024-04-02 22:21:16 +00:00
rustc-decodable-issue-123156.stderr Avoid expanding to unstable internal method 2024-04-02 22:21:16 +00:00