error: `id_type` or `id` must be specified on enum
--> tests/test_compile/cases/enum_validation.rs:5:6
|
5 | enum Test1 {}
| ^^^^^
error: conflicting: both `id_type` and `id` specified on enum
--> tests/test_compile/cases/enum_validation.rs:10:6
|
10 | enum Test2 {}
| ^^^^^
error: conflicting: both `id` and `id_pat` specified on variant
--> tests/test_compile/cases/enum_validation.rs:16:17
|
16 | #[deku(id = "1", id_pat = "2..=3")]
| ^^^
error: `id_type` only supported on enum
--> tests/test_compile/cases/enum_validation.rs:22:18
|
22 | #[deku(id_type = "u8")]
| ^^^^
error: `bits` only supported on enum
--> tests/test_compile/cases/enum_validation.rs:29:15
|
29 | #[deku(bits = 1)]
| ^
error: `bits` only supported on enum
--> tests/test_compile/cases/enum_validation.rs:36:15
|
36 | #[deku(bits = 1)]
| ^
error: `id_type` only supported on enum
--> tests/test_compile/cases/enum_validation.rs:43:18
|
43 | #[deku(id_type = "test")]
| ^^^^^^
error: DekuRead: `id` must be specified on non-unit variants
--> tests/test_compile/cases/enum_validation.rs:52:5
|
52 | A,
| ^
error: DekuRead: `id` must be specified on non-unit variants
--> tests/test_compile/cases/enum_validation.rs:59:5
|
59 | A,
| ^
error: error: `id_pat` should be used for `_`
--> tests/test_compile/cases/enum_validation.rs:67:5
|
67 | A,
| ^
error: DekuRead: `id` must be specified on non-unit variants
--> tests/test_compile/cases/enum_validation.rs:76:5
|
76 | B(u8),
| ^
error: DekuRead: id_pat id storage cannot have attributes
--> tests/test_compile/cases/enum_validation.rs:82:10
|
82 | pub enum Test12 {
| ^^^^^^
error: DekuRead: id_pat id storage cannot have attributes
--> tests/test_compile/cases/enum_validation.rs:90:10
|
90 | pub enum Test13 {
| ^^^^^^
error: DekuRead: id_pat id storage cannot have attributes
--> tests/test_compile/cases/enum_validation.rs:98:10
|
98 | pub enum Test14 {
| ^^^^^^
error: DekuWrite: cannot determine write `id`. must provide storage for the id or discriminant
--> tests/test_compile/cases/enum_validation.rs:132:5
|
132 | B,
| ^
error: DekuWrite: `id_type` with non-unit variants requires primitive representation i.e. `repr(inttype)`
--> tests/test_compile/cases/enum_validation.rs:139:5
|
139 | A = 0,
| ^
error: DekuRead: `id_type` with non-unit variants requires primitive representation i.e. `repr(inttype)`
--> tests/test_compile/cases/enum_validation.rs:148:5
|
148 | Base = 0x00,
| ^^^^
error: DekuRead: `repr` must match `id_type`
--> tests/test_compile/cases/enum_validation.rs:156:5
|
156 | Base = 0x00,
| ^^^^
error: DekuRead: `id_type` with non-unit variants requires primitive representation i.e. `repr(inttype)`
--> tests/test_compile/cases/enum_validation.rs:163:5
|
163 | Base = 0x00,
| ^^^^
error: DekuRead: `id_type` with non-unit variants requires primitive representation i.e. `repr(inttype)`
--> tests/test_compile/cases/enum_validation.rs:170:5
|
170 | Base = 0x00,
| ^^^^
error: DekuRead: `id_type` with non-unit variants requires primitive representation i.e. `repr(inttype)`
--> tests/test_compile/cases/enum_validation.rs:177:5
|
177 | Base = 0x00,
| ^^^^
error: DekuWrite: `id_type` with non-unit variants requires primitive representation i.e. `repr(inttype)`
--> tests/test_compile/cases/enum_validation.rs:184:5
|
184 | Base = 0x00,
| ^^^^
error: DekuWrite: `repr` must match `id_type`
--> tests/test_compile/cases/enum_validation.rs:192:5
|
192 | Base = 0x00,
| ^^^^
error: DekuWrite: `id_type` with non-unit variants requires primitive representation i.e. `repr(inttype)`
--> tests/test_compile/cases/enum_validation.rs:199:5
|
199 | Base = 0x00,
| ^^^^
error: DekuWrite: `id_type` with non-unit variants requires primitive representation i.e. `repr(inttype)`
--> tests/test_compile/cases/enum_validation.rs:206:5
|
206 | Base = 0x00,
| ^^^^
error: DekuWrite: `id_type` with non-unit variants requires primitive representation i.e. `repr(inttype)`
--> tests/test_compile/cases/enum_validation.rs:213:5
|
213 | Base = 0x00,
| ^^^^
error[E0732]: `#[repr(inttype)]` must be specified for enums with explicit discriminants and non-unit variants
--> tests/test_compile/cases/enum_validation.rs:138:1
|
138 | pub enum Test19 {
| ^^^^^^^^^^^^^^^
139 | A = 0,
| - explicit discriminant specified here
140 | #[deku(id_pat = "_")]
141 | B(u8),
| - non-unit discriminant declared here
error[E0308]: `?` operator has incompatible types
--> tests/test_compile/cases/enum_validation.rs:104:28
|
104 | #[derive(PartialEq, Debug, DekuRead, DekuWrite)]
| ^^^^^^^^ expected `u8`, found `u32`
|
= note: `?` operator cannot convert from `u32` to `u8`
= note: this error originates in the derive macro `DekuRead` (in Nightly builds, run with -Z macro-backtrace for more info)
error[E0308]: `?` operator has incompatible types
--> tests/test_compile/cases/enum_validation.rs:112:28
|
112 | #[derive(PartialEq, Debug, DekuRead, DekuWrite)]
| ^^^^^^^^ expected `u16`, found `[u8; 32]`
|
= note: `?` operator cannot convert from `[u8; 32]` to `u16`
= note: this error originates in the derive macro `DekuRead` (in Nightly builds, run with -Z macro-backtrace for more info)