feat: add display UI with splash screen, dashboard, and RSSI sparkline
Implement full SSD1306 OLED display support: - Splash screen on boot (1.5s) with project name, version, board - Dashboard showing radio state, config, counters, RSSI/SNR - RSSI history sparkline (64-sample ring buffer, 2px-wide bars) - DisplayOn/DisplayOff host commands routed via dedicated channel - Pure render functions against generic DrawTarget (no hardware coupling) - Display on/off control bypasses radio task entirely Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
17624 files changed
+4564928
-38
No files matched your search
+549
@@ -0,0 +1,549 @@
|
||||
error: unrecognized representation hint
|
||||
--> $DIR/enum.rs:20:8
|
||||
|
|
||||
20 | #[repr("foo")]
|
||||
| ^^^^^
|
||||
|
||||
error: unrecognized representation hint
|
||||
--> $DIR/enum.rs:29:8
|
||||
|
|
||||
29 | #[repr(foo)]
|
||||
| ^^^
|
||||
|
||||
error: must have #[repr(C)] or #[repr(Int)] attribute in order to guarantee this type's memory layout
|
||||
--> $DIR/enum.rs:36:10
|
||||
|
|
||||
36 | #[derive(FromBytes)]
|
||||
| ^^^^^^^^^
|
||||
|
|
||||
= note: this error originates in the derive macro `FromBytes` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error: this conflicts with another representation hint
|
||||
--> $DIR/enum.rs:46:12
|
||||
|
|
||||
46 | #[repr(u8, u16)]
|
||||
| ^^^
|
||||
|
||||
error: must have #[repr(C)] or #[repr(Int)] attribute in order to guarantee this type's memory layout
|
||||
--> $DIR/enum.rs:53:10
|
||||
|
|
||||
53 | #[derive(FromBytes)]
|
||||
| ^^^^^^^^^
|
||||
|
|
||||
= note: this error originates in the derive macro `FromBytes` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error: must have #[repr(C)] or #[repr(Int)] attribute in order to guarantee this type's memory layout
|
||||
--> $DIR/enum.rs:88:1
|
||||
|
|
||||
88 | #[zerocopy(crate = "zerocopy_renamed")]
|
||||
| ^
|
||||
|
||||
error: must have #[repr(C)] or #[repr(Int)] attribute in order to guarantee this type's memory layout
|
||||
--> $DIR/enum.rs:95:1
|
||||
|
|
||||
95 | #[zerocopy(crate = "zerocopy_renamed")]
|
||||
| ^
|
||||
|
||||
error: must have #[repr(C)] or #[repr(Int)] attribute in order to guarantee this type's memory layout
|
||||
--> $DIR/enum.rs:117:1
|
||||
|
|
||||
117 | #[zerocopy(crate = "zerocopy_renamed")]
|
||||
| ^
|
||||
|
||||
error: must have #[repr(C)] or #[repr(Int)] attribute in order to guarantee this type's memory layout
|
||||
--> $DIR/enum.rs:124:1
|
||||
|
|
||||
124 | #[zerocopy(crate = "zerocopy_renamed")]
|
||||
| ^
|
||||
|
||||
error: must have #[repr(C)] or #[repr(Int)] attribute in order to guarantee this type's memory layout
|
||||
--> $DIR/enum.rs:132:1
|
||||
|
|
||||
132 | #[zerocopy(crate = "zerocopy_renamed")]
|
||||
| ^
|
||||
|
||||
error: FromZeros only supported on enums with a variant that has a discriminant of `0`
|
||||
--> $DIR/enum.rs:140:1
|
||||
|
|
||||
140 | / #[zerocopy(crate = "zerocopy_renamed")]
|
||||
141 | |
|
||||
142 | | #[repr(u8)]
|
||||
143 | | enum FromZeros4 {
|
||||
144 | | A = 1,
|
||||
145 | | B = 2,
|
||||
146 | | }
|
||||
| |_^
|
||||
|
||||
error: FromZeros only supported on enums with a variant that has a discriminant of `0`
|
||||
help: This enum has discriminants which are not literal integers. One of those may define or imply which variant has a discriminant of zero. Use a literal integer to define or imply the variant with a discriminant of zero.
|
||||
--> $DIR/enum.rs:151:1
|
||||
|
|
||||
151 | / #[zerocopy(crate = "zerocopy_renamed")]
|
||||
152 | |
|
||||
153 | | #[repr(i8)]
|
||||
154 | | enum FromZeros5 {
|
||||
155 | | A = NEGATIVE_ONE,
|
||||
156 | | B,
|
||||
157 | | }
|
||||
| |_^
|
||||
|
||||
error: FromZeros only supported on enums with a variant that has a discriminant of `0`
|
||||
--> $DIR/enum.rs:171:1
|
||||
|
|
||||
171 | / #[zerocopy(crate = "zerocopy_renamed")]
|
||||
172 | |
|
||||
173 | | #[repr(u8)]
|
||||
174 | | enum FromZeros7 {
|
||||
... |
|
||||
177 | | B(NotFromZeros),
|
||||
178 | | }
|
||||
| |_^
|
||||
|
||||
error: must have #[repr(C)] or #[repr(Int)] attribute in order to guarantee this type's memory layout
|
||||
--> $DIR/enum.rs:184:10
|
||||
|
|
||||
184 | #[derive(FromBytes)]
|
||||
| ^^^^^^^^^
|
||||
|
|
||||
= note: this error originates in the derive macro `FromBytes` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error: `FromBytes` only supported on enums with `#[repr(...)]` attributes `u8`, `i8`, `u16`, or `i16`
|
||||
--> $DIR/enum.rs:193:8
|
||||
|
|
||||
193 | #[repr(C)]
|
||||
| ^
|
||||
|
||||
error: `FromBytes` only supported on enums with `#[repr(...)]` attributes `u8`, `i8`, `u16`, or `i16`
|
||||
--> $DIR/enum.rs:201:8
|
||||
|
|
||||
201 | #[repr(usize)]
|
||||
| ^^^^^
|
||||
|
||||
error: `FromBytes` only supported on enums with `#[repr(...)]` attributes `u8`, `i8`, `u16`, or `i16`
|
||||
--> $DIR/enum.rs:209:8
|
||||
|
|
||||
209 | #[repr(isize)]
|
||||
| ^^^^^
|
||||
|
||||
error: `FromBytes` only supported on enums with `#[repr(...)]` attributes `u8`, `i8`, `u16`, or `i16`
|
||||
--> $DIR/enum.rs:217:8
|
||||
|
|
||||
217 | #[repr(u32)]
|
||||
| ^^^
|
||||
|
||||
error: `FromBytes` only supported on enums with `#[repr(...)]` attributes `u8`, `i8`, `u16`, or `i16`
|
||||
--> $DIR/enum.rs:225:8
|
||||
|
|
||||
225 | #[repr(i32)]
|
||||
| ^^^
|
||||
|
||||
error: `FromBytes` only supported on enums with `#[repr(...)]` attributes `u8`, `i8`, `u16`, or `i16`
|
||||
--> $DIR/enum.rs:233:8
|
||||
|
|
||||
233 | #[repr(u64)]
|
||||
| ^^^
|
||||
|
||||
error: `FromBytes` only supported on enums with `#[repr(...)]` attributes `u8`, `i8`, `u16`, or `i16`
|
||||
--> $DIR/enum.rs:241:8
|
||||
|
|
||||
241 | #[repr(i64)]
|
||||
| ^^^
|
||||
|
||||
error: must have #[repr(u8)] or #[repr(i8)] attribute in order to guarantee this type's alignment
|
||||
--> $DIR/enum.rs:515:10
|
||||
|
|
||||
515 | #[derive(Unaligned)]
|
||||
| ^^^^^^^^^
|
||||
|
|
||||
= note: this error originates in the derive macro `Unaligned` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error: must have #[repr(u8)] or #[repr(i8)] attribute in order to guarantee this type's alignment
|
||||
--> $DIR/enum.rs:523:10
|
||||
|
|
||||
523 | #[derive(Unaligned)]
|
||||
| ^^^^^^^^^
|
||||
|
|
||||
= note: this error originates in the derive macro `Unaligned` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error: must have #[repr(u8)] or #[repr(i8)] attribute in order to guarantee this type's alignment
|
||||
--> $DIR/enum.rs:531:10
|
||||
|
|
||||
531 | #[derive(Unaligned)]
|
||||
| ^^^^^^^^^
|
||||
|
|
||||
= note: this error originates in the derive macro `Unaligned` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error: must have #[repr(u8)] or #[repr(i8)] attribute in order to guarantee this type's alignment
|
||||
--> $DIR/enum.rs:539:10
|
||||
|
|
||||
539 | #[derive(Unaligned)]
|
||||
| ^^^^^^^^^
|
||||
|
|
||||
= note: this error originates in the derive macro `Unaligned` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error: must have #[repr(u8)] or #[repr(i8)] attribute in order to guarantee this type's alignment
|
||||
--> $DIR/enum.rs:547:10
|
||||
|
|
||||
547 | #[derive(Unaligned)]
|
||||
| ^^^^^^^^^
|
||||
|
|
||||
= note: this error originates in the derive macro `Unaligned` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error: must have #[repr(u8)] or #[repr(i8)] attribute in order to guarantee this type's alignment
|
||||
--> $DIR/enum.rs:555:10
|
||||
|
|
||||
555 | #[derive(Unaligned)]
|
||||
| ^^^^^^^^^
|
||||
|
|
||||
= note: this error originates in the derive macro `Unaligned` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error: must have #[repr(u8)] or #[repr(i8)] attribute in order to guarantee this type's alignment
|
||||
--> $DIR/enum.rs:563:10
|
||||
|
|
||||
563 | #[derive(Unaligned)]
|
||||
| ^^^^^^^^^
|
||||
|
|
||||
= note: this error originates in the derive macro `Unaligned` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error: must have #[repr(u8)] or #[repr(i8)] attribute in order to guarantee this type's alignment
|
||||
--> $DIR/enum.rs:571:10
|
||||
|
|
||||
571 | #[derive(Unaligned)]
|
||||
| ^^^^^^^^^
|
||||
|
|
||||
= note: this error originates in the derive macro `Unaligned` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error: must have #[repr(u8)] or #[repr(i8)] attribute in order to guarantee this type's alignment
|
||||
--> $DIR/enum.rs:579:10
|
||||
|
|
||||
579 | #[derive(Unaligned)]
|
||||
| ^^^^^^^^^
|
||||
|
|
||||
= note: this error originates in the derive macro `Unaligned` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error: cannot derive `Unaligned` on type with alignment greater than 1
|
||||
--> $DIR/enum.rs:589:12
|
||||
|
|
||||
589 | #[repr(u8, align(2))]
|
||||
| ^^^^^
|
||||
|
||||
error: cannot derive `Unaligned` on type with alignment greater than 1
|
||||
--> $DIR/enum.rs:597:12
|
||||
|
|
||||
597 | #[repr(i8, align(2))]
|
||||
| ^^^^^
|
||||
|
||||
error: this conflicts with another representation hint
|
||||
--> $DIR/enum.rs:605:18
|
||||
|
|
||||
605 | #[repr(align(1), align(2))]
|
||||
| ^^^^^
|
||||
|
||||
error: this conflicts with another representation hint
|
||||
--> $DIR/enum.rs:613:18
|
||||
|
|
||||
613 | #[repr(align(2), align(4))]
|
||||
| ^^^^^
|
||||
|
||||
error: must have #[repr(C)] or #[repr(Int)] attribute in order to guarantee this type's memory layout
|
||||
--> $DIR/enum.rs:657:10
|
||||
|
|
||||
657 | #[derive(IntoBytes)]
|
||||
| ^^^^^^^^^
|
||||
|
|
||||
= note: this error originates in the derive macro `IntoBytes` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error: must have #[repr(C)] or #[repr(Int)] attribute in order to guarantee this type's memory layout
|
||||
--> $DIR/enum.rs:665:10
|
||||
|
|
||||
665 | #[derive(IntoBytes)]
|
||||
| ^^^^^^^^^
|
||||
|
|
||||
= note: this error originates in the derive macro `IntoBytes` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error: generic parameters may not be used in const operations
|
||||
--> $DIR/enum.rs:677:7
|
||||
|
|
||||
677 | A(T),
|
||||
| ^ cannot perform const operation using `T`
|
||||
|
|
||||
= note: type parameters may not be used in const expressions
|
||||
|
||||
error[E0565]: meta item in `repr` must be an identifier
|
||||
--> $DIR/enum.rs:20:1
|
||||
|
|
||||
20 | #[repr("foo")]
|
||||
| ^^^^^^^^^^^^^^
|
||||
|
||||
error[E0552]: unrecognized representation hint
|
||||
--> $DIR/enum.rs:29:8
|
||||
|
|
||||
29 | #[repr(foo)]
|
||||
| ^^^
|
||||
|
|
||||
= help: valid reprs are `Rust` (default), `C`, `align`, `packed`, `transparent`, `simd`, `i8`, `u8`, `i16`, `u16`, `i32`, `u32`, `i64`, `u64`, `i128`, `u128`, `isize`, `usize`
|
||||
= note: for more information, visit <https://doc.rust-lang.org/reference/type-layout.html?highlight=repr#representations>
|
||||
|
||||
error[E0566]: conflicting representation hints
|
||||
--> $DIR/enum.rs:46:8
|
||||
|
|
||||
46 | #[repr(u8, u16)]
|
||||
| ^^ ^^^
|
||||
|
|
||||
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
|
||||
= note: for more information, see issue #68585 <https://github.com/rust-lang/rust/issues/68585>
|
||||
= note: `#[deny(conflicting_repr_hints)]` (part of `#[deny(future_incompatible)]`) on by default
|
||||
|
||||
error[E0277]: the trait bound `UnsafeCell<()>: Immutable` is not satisfied
|
||||
--> $DIR/enum.rs:64:10
|
||||
|
|
||||
64 | #[derive(Immutable)]
|
||||
| ^^^^^^^^^ the trait `Immutable` is not implemented for `UnsafeCell<()>`
|
||||
|
|
||||
= note: Consider adding `#[derive(Immutable)]` to `UnsafeCell<()>`
|
||||
= help: the following other types implement trait `Immutable`:
|
||||
&T
|
||||
&mut T
|
||||
()
|
||||
(A, B)
|
||||
(A, B, C)
|
||||
(A, B, C, D)
|
||||
(A, B, C, D, E)
|
||||
(A, B, C, D, E, F)
|
||||
and 137 others
|
||||
= help: see issue #48214
|
||||
= note: this error originates in the derive macro `Immutable` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error[E0277]: the trait bound `UnsafeCell<u8>: Immutable` is not satisfied
|
||||
--> $DIR/enum.rs:75:10
|
||||
|
|
||||
75 | #[derive(Immutable)]
|
||||
| ^^^^^^^^^ the trait `Immutable` is not implemented for `UnsafeCell<u8>`
|
||||
|
|
||||
= note: Consider adding `#[derive(Immutable)]` to `UnsafeCell<u8>`
|
||||
= help: the following other types implement trait `Immutable`:
|
||||
&T
|
||||
&mut T
|
||||
()
|
||||
(A, B)
|
||||
(A, B, C)
|
||||
(A, B, C, D)
|
||||
(A, B, C, D, E)
|
||||
(A, B, C, D, E, F)
|
||||
and 137 others
|
||||
= help: see issue #48214
|
||||
= note: this error originates in the derive macro `Immutable` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error[E0277]: the trait bound `NotTryFromBytes: TryFromBytes` is not satisfied
|
||||
--> $DIR/enum.rs:104:10
|
||||
|
|
||||
104 | #[derive(TryFromBytes)]
|
||||
| ^^^^^^^^^^^^ unsatisfied trait bound
|
||||
|
|
||||
help: the trait `TryFromBytes` is not implemented for `NotTryFromBytes`
|
||||
--> $DIR/enum.rs:102:1
|
||||
|
|
||||
102 | struct NotTryFromBytes;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^
|
||||
= note: Consider adding `#[derive(TryFromBytes)]` to `NotTryFromBytes`
|
||||
= help: the following other types implement trait `TryFromBytes`:
|
||||
()
|
||||
(A, B)
|
||||
(A, B, C)
|
||||
(A, B, C, D)
|
||||
(A, B, C, D, E)
|
||||
(A, B, C, D, E, F)
|
||||
(A, B, C, D, E, F, G)
|
||||
(A, B, C, D, E, F, G, H)
|
||||
and 157 others
|
||||
= help: see issue #48214
|
||||
= note: this error originates in the derive macro `TryFromBytes` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error[E0277]: the trait bound `NotFromZeros: TryFromBytes` is not satisfied
|
||||
--> $DIR/enum.rs:161:10
|
||||
|
|
||||
161 | #[derive(FromZeros)]
|
||||
| ^^^^^^^^^ unsatisfied trait bound
|
||||
|
|
||||
help: the trait `TryFromBytes` is not implemented for `NotFromZeros`
|
||||
--> $DIR/enum.rs:159:1
|
||||
|
|
||||
159 | struct NotFromZeros;
|
||||
| ^^^^^^^^^^^^^^^^^^^
|
||||
= note: Consider adding `#[derive(TryFromBytes)]` to `NotFromZeros`
|
||||
= help: the following other types implement trait `TryFromBytes`:
|
||||
()
|
||||
(A, B)
|
||||
(A, B, C)
|
||||
(A, B, C, D)
|
||||
(A, B, C, D, E)
|
||||
(A, B, C, D, E, F)
|
||||
(A, B, C, D, E, F, G)
|
||||
(A, B, C, D, E, F, G, H)
|
||||
and 157 others
|
||||
= help: see issue #48214
|
||||
= note: this error originates in the derive macro `FromZeros` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error[E0277]: the trait bound `NotFromZeros: FromZeros` is not satisfied
|
||||
--> $DIR/enum.rs:161:10
|
||||
|
|
||||
161 | #[derive(FromZeros)]
|
||||
| ^^^^^^^^^ unsatisfied trait bound
|
||||
|
|
||||
help: the trait `FromZeros` is not implemented for `NotFromZeros`
|
||||
--> $DIR/enum.rs:159:1
|
||||
|
|
||||
159 | struct NotFromZeros;
|
||||
| ^^^^^^^^^^^^^^^^^^^
|
||||
= note: Consider adding `#[derive(FromZeros)]` to `NotFromZeros`
|
||||
= help: the following other types implement trait `FromZeros`:
|
||||
()
|
||||
(A, B)
|
||||
(A, B, C)
|
||||
(A, B, C, D)
|
||||
(A, B, C, D, E)
|
||||
(A, B, C, D, E, F)
|
||||
(A, B, C, D, E, F, G)
|
||||
(A, B, C, D, E, F, G, H)
|
||||
and 142 others
|
||||
= help: see issue #48214
|
||||
= note: this error originates in the derive macro `FromZeros` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error[E0277]: the trait bound `bool: FromBytes` is not satisfied
|
||||
--> $DIR/enum.rs:247:10
|
||||
|
|
||||
247 | #[derive(FromBytes)]
|
||||
| ^^^^^^^^^ the trait `FromBytes` is not implemented for `bool`
|
||||
|
|
||||
= note: Consider adding `#[derive(FromBytes)]` to `bool`
|
||||
= help: the following other types implement trait `FromBytes`:
|
||||
()
|
||||
(A, B)
|
||||
(A, B, C)
|
||||
(A, B, C, D)
|
||||
(A, B, C, D, E)
|
||||
(A, B, C, D, E, F)
|
||||
(A, B, C, D, E, F, G)
|
||||
(A, B, C, D, E, F, G, H)
|
||||
and 79 others
|
||||
= help: see issue #48214
|
||||
= note: this error originates in the derive macro `FromBytes` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error[E0277]: `IntoBytes1` has 1 total byte(s) of padding
|
||||
--> $DIR/enum.rs:623:10
|
||||
|
|
||||
623 | #[derive(IntoBytes)]
|
||||
| ^^^^^^^^^ types with padding cannot implement `IntoBytes`
|
||||
|
|
||||
= note: consider using `zerocopy::Unalign` to lower the alignment of individual fields
|
||||
= note: consider adding explicit fields where padding would be
|
||||
= note: consider using `#[repr(packed)]` to remove padding
|
||||
help: the trait `PaddingFree<IntoBytes1, 1>` is not implemented for `()`
|
||||
but trait `PaddingFree<IntoBytes1, 0>` is implemented for it
|
||||
--> $WORKSPACE/src/util/macro_util.rs:62:1
|
||||
|
|
||||
62 | impl<T: ?Sized> PaddingFree<T, 0> for () {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
= help: see issue #48214
|
||||
= note: this error originates in the derive macro `IntoBytes` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error[E0277]: `IntoBytes2` has 3 total byte(s) of padding
|
||||
--> $DIR/enum.rs:638:10
|
||||
|
|
||||
638 | #[derive(IntoBytes)]
|
||||
| ^^^^^^^^^ types with padding cannot implement `IntoBytes`
|
||||
|
|
||||
= note: consider using `zerocopy::Unalign` to lower the alignment of individual fields
|
||||
= note: consider adding explicit fields where padding would be
|
||||
= note: consider using `#[repr(packed)]` to remove padding
|
||||
help: the trait `PaddingFree<IntoBytes2, 3>` is not implemented for `()`
|
||||
but trait `PaddingFree<IntoBytes2, 0>` is implemented for it
|
||||
--> $WORKSPACE/src/util/macro_util.rs:62:1
|
||||
|
|
||||
62 | impl<T: ?Sized> PaddingFree<T, 0> for () {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
= help: see issue #48214
|
||||
= note: this error originates in the derive macro `IntoBytes` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error[E0277]: `IntoBytes3` has 2 total byte(s) of padding
|
||||
--> $DIR/enum.rs:647:10
|
||||
|
|
||||
647 | #[derive(IntoBytes)]
|
||||
| ^^^^^^^^^ types with padding cannot implement `IntoBytes`
|
||||
|
|
||||
= note: consider using `zerocopy::Unalign` to lower the alignment of individual fields
|
||||
= note: consider adding explicit fields where padding would be
|
||||
= note: consider using `#[repr(packed)]` to remove padding
|
||||
help: the trait `PaddingFree<IntoBytes3, 2>` is not implemented for `()`
|
||||
but trait `PaddingFree<IntoBytes3, 0>` is implemented for it
|
||||
--> $WORKSPACE/src/util/macro_util.rs:62:1
|
||||
|
|
||||
62 | impl<T: ?Sized> PaddingFree<T, 0> for () {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
= help: see issue #48214
|
||||
= note: this error originates in the derive macro `IntoBytes` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error: generic `Self` types are currently not permitted in anonymous constants
|
||||
--> $DIR/enum.rs:672:10
|
||||
|
|
||||
672 | #[derive(IntoBytes)]
|
||||
| ^^^^^^^^^
|
||||
|
|
||||
note: not a concrete type
|
||||
--> $DIR/enum.rs:672:10
|
||||
|
|
||||
672 | #[derive(IntoBytes)]
|
||||
| ^^^^^^^^^
|
||||
= note: this error originates in the derive macro `IntoBytes` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error[E0277]: `IntoBytes7` has 1 total byte(s) of padding
|
||||
--> $DIR/enum.rs:681:10
|
||||
|
|
||||
681 | #[derive(IntoBytes)]
|
||||
| ^^^^^^^^^ types with padding cannot implement `IntoBytes`
|
||||
|
|
||||
= note: consider using `zerocopy::Unalign` to lower the alignment of individual fields
|
||||
= note: consider adding explicit fields where padding would be
|
||||
= note: consider using `#[repr(packed)]` to remove padding
|
||||
help: the trait `PaddingFree<IntoBytes7, 1>` is not implemented for `()`
|
||||
but trait `PaddingFree<IntoBytes7, 0>` is implemented for it
|
||||
--> $WORKSPACE/src/util/macro_util.rs:62:1
|
||||
|
|
||||
62 | impl<T: ?Sized> PaddingFree<T, 0> for () {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
= help: see issue #48214
|
||||
= note: this error originates in the derive macro `IntoBytes` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error[E0277]: the trait bound `bool: FromBytes` is not satisfied
|
||||
--> $DIR/enum.rs:247:10
|
||||
|
|
||||
247 | #[derive(FromBytes)]
|
||||
| ^^^^^^^^^ the trait `FromBytes` is not implemented for `bool`
|
||||
|
|
||||
= note: Consider adding `#[derive(FromBytes)]` to `bool`
|
||||
= help: the following other types implement trait `FromBytes`:
|
||||
()
|
||||
(A, B)
|
||||
(A, B, C)
|
||||
(A, B, C, D)
|
||||
(A, B, C, D, E)
|
||||
(A, B, C, D, E, F)
|
||||
(A, B, C, D, E, F, G)
|
||||
(A, B, C, D, E, F, G, H)
|
||||
and 79 others
|
||||
note: required for `FooU8` to implement `FromBytes`
|
||||
--> $DIR/enum.rs:247:10
|
||||
|
|
||||
247 | #[derive(FromBytes)]
|
||||
| ^^^^^^^^^ unsatisfied trait bound introduced in this `derive` macro
|
||||
note: required by a bound in `assert_is_from_bytes`
|
||||
--> $DIR/enum.rs:247:10
|
||||
|
|
||||
247 | #[derive(FromBytes)]
|
||||
| ^^^^^^^^^ required by this bound in `assert_is_from_bytes`
|
||||
= note: this error originates in the derive macro `FromBytes` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error: aborting due to 52 previous errors
|
||||
|
||||
Some errors have detailed explanations: E0277, E0552, E0565, E0566.
|
||||
For more information about an error, try `rustc --explain E0277`.
|
||||
Reference in new issue
Block a user