diff options
| author | Jubilee <workingjubilee@gmail.com> | 2024-11-04 20:40:44 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-11-04 20:40:44 -0800 |
| commit | 972fef232ec0dd7a3f42091aa6f36cd68aeb3eef (patch) | |
| tree | 32e75a5e5cca2ebb5e9bc13fadf0f1aa7ac5ecb4 /tests | |
| parent | fbab78289dd8c6e8860034e0048cfb538f217700 (diff) | |
| parent | e3029abfaec4252ab0ae7010780be0094d8870e0 (diff) | |
| download | rust-972fef232ec0dd7a3f42091aa6f36cd68aeb3eef.tar.gz rust-972fef232ec0dd7a3f42091aa6f36cd68aeb3eef.zip | |
Rollup merge of #131153 - VulnBandit:copy_impl_vuln, r=compiler-errors
Improve duplicate derive Copy/Clone diagnostics Improve duplicate derive Copy/Clone diagnostics. Closes #131083
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/ui/derives/duplicate-derive-copy-clone-diagnostics.rs | 11 | ||||
| -rw-r--r-- | tests/ui/derives/duplicate-derive-copy-clone-diagnostics.stderr | 23 |
2 files changed, 34 insertions, 0 deletions
diff --git a/tests/ui/derives/duplicate-derive-copy-clone-diagnostics.rs b/tests/ui/derives/duplicate-derive-copy-clone-diagnostics.rs new file mode 100644 index 00000000000..c4fb620fea4 --- /dev/null +++ b/tests/ui/derives/duplicate-derive-copy-clone-diagnostics.rs @@ -0,0 +1,11 @@ +// Duplicate implementations of Copy/Clone should not trigger +// borrow check warnings +// See #131083 + +#[derive(Copy, Clone)] +#[derive(Copy, Clone)] +//~^ ERROR conflicting implementations of trait `Clone` for type `E` +//~| ERROR conflicting implementations of trait `Copy` for type `E` +enum E {} + +fn main() {} diff --git a/tests/ui/derives/duplicate-derive-copy-clone-diagnostics.stderr b/tests/ui/derives/duplicate-derive-copy-clone-diagnostics.stderr new file mode 100644 index 00000000000..f8e1db33f53 --- /dev/null +++ b/tests/ui/derives/duplicate-derive-copy-clone-diagnostics.stderr @@ -0,0 +1,23 @@ +error[E0119]: conflicting implementations of trait `Copy` for type `E` + --> $DIR/duplicate-derive-copy-clone-diagnostics.rs:6:10 + | +LL | #[derive(Copy, Clone)] + | ---- first implementation here +LL | #[derive(Copy, Clone)] + | ^^^^ conflicting implementation for `E` + | + = note: this error originates in the derive macro `Copy` (in Nightly builds, run with -Z macro-backtrace for more info) + +error[E0119]: conflicting implementations of trait `Clone` for type `E` + --> $DIR/duplicate-derive-copy-clone-diagnostics.rs:6:16 + | +LL | #[derive(Copy, Clone)] + | ----- first implementation here +LL | #[derive(Copy, Clone)] + | ^^^^^ conflicting implementation for `E` + | + = note: this error originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) + +error: aborting due to 2 previous errors + +For more information about this error, try `rustc --explain E0119`. |
