1- warning: byte slice in a packed struct that derives a built-in trait
2- --> $DIR/deriving-with-repr-packed.rs:31:5
3- |
4- LL | #[derive(Debug)]
5- | ----- in this derive macro expansion
6- ...
7- LL | data: [u8],
8- | ^^^^^^^^^^
9- |
10- = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
11- = note: for more information, see issue #107457 <https://github.com/rust-lang/rust/issues/107457>
12- = help: consider implementing the trait by hand, or remove the `packed` attribute
13- = note: `#[warn(byte_slice_in_packed_struct_with_derive)]` on by default
14- = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info)
15-
16- warning: string slice in a packed struct that derives a built-in trait
17- --> $DIR/deriving-with-repr-packed.rs:41:5
18- |
19- LL | #[derive(Debug)]
20- | ----- in this derive macro expansion
21- ...
22- LL | data: str,
23- | ^^^^^^^^^
24- |
25- = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
26- = note: for more information, see issue #107457 <https://github.com/rust-lang/rust/issues/107457>
27- = help: consider implementing the trait by hand, or remove the `packed` attribute
28- = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info)
29-
301error[E0507]: cannot move out of `self` which is behind a shared reference
312 --> $DIR/deriving-with-repr-packed.rs:22:10
323 |
@@ -47,38 +18,43 @@ LL | struct X(Y);
4718 = note: `#[derive(Debug)]` triggers a move because taking references to the fields of a packed struct is undefined behaviour
4819 = note: this error originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info)
4920
50- error: aborting due to 1 previous error; 2 warnings emitted
21+ error[E0161]: cannot move a value of type `[u8]`
22+ --> $DIR/deriving-with-repr-packed.rs:29:5
23+ |
24+ LL | data: [u8],
25+ | ^^^^^^^^^^ the size of `[u8]` cannot be statically determined
5126
52- For more information about this error, try `rustc --explain E0507`.
53- Future incompatibility report: Future breakage diagnostic:
54- warning: byte slice in a packed struct that derives a built-in trait
55- --> $DIR/deriving-with-repr-packed.rs:31:5
27+ error[E0507]: cannot move out of `self.data` which is behind a shared reference
28+ --> $DIR/deriving-with-repr-packed.rs:29:5
5629 |
5730LL | #[derive(Debug)]
5831 | ----- in this derive macro expansion
5932...
6033LL | data: [u8],
61- | ^^^^^^^^^^
34+ | ^^^^^^^^^^ move occurs because `self.data` has type `[u8]`, which does not implement the `Copy` trait
35+ |
36+ = note: `#[derive(Debug)]` triggers a move because taking references to the fields of a packed struct is undefined behaviour
37+ = note: this error originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info)
38+
39+ error[E0161]: cannot move a value of type `str`
40+ --> $DIR/deriving-with-repr-packed.rs:38:5
6241 |
63- = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
64- = note: for more information, see issue #107457 <https://github.com/rust-lang/rust/issues/107457>
65- = help: consider implementing the trait by hand, or remove the `packed` attribute
66- = note: `#[warn(byte_slice_in_packed_struct_with_derive)]` on by default
67- = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info)
42+ LL | data: str,
43+ | ^^^^^^^^^ the size of `str` cannot be statically determined
6844
69- Future breakage diagnostic:
70- warning: string slice in a packed struct that derives a built-in trait
71- --> $DIR/deriving-with-repr-packed.rs:41:5
45+ error[E0507]: cannot move out of `self.data` which is behind a shared reference
46+ --> $DIR/deriving-with-repr-packed.rs:38:5
7247 |
7348LL | #[derive(Debug)]
7449 | ----- in this derive macro expansion
7550...
7651LL | data: str,
77- | ^^^^^^^^^
52+ | ^^^^^^^^^ move occurs because `self.data` has type `str`, which does not implement the `Copy` trait
7853 |
79- = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
80- = note: for more information, see issue #107457 <https://github.com/rust-lang/rust/issues/107457>
81- = help: consider implementing the trait by hand, or remove the `packed` attribute
82- = note: `#[warn(byte_slice_in_packed_struct_with_derive)]` on by default
83- = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info)
54+ = note: `#[derive(Debug)]` triggers a move because taking references to the fields of a packed struct is undefined behaviour
55+ = note: this error originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info)
56+
57+ error: aborting due to 5 previous errors
8458
59+ Some errors have detailed explanations: E0161, E0507.
60+ For more information about an error, try `rustc --explain E0161`.
0 commit comments