error[E0277]: the trait bound `std::option::Option<()>: DemuxEnumBase` is not satisfied
--> tests/compile-fail/surface_demuxenum_wrongenum.rs:17:28
|
17 | ]) -> demux_enum::<Option<()>>();
| ^^^^^^^^^^ the trait `DemuxEnumBase` is not implemented for `std::option::Option<()>`
|
= note: use `#[derive(hydroflow::DemuxEnum)]`
= help: the trait `DemuxEnumBase` is implemented for `Shape`
note: required by a bound in `check_impl_demux_enum`
--> tests/compile-fail/surface_demuxenum_wrongenum.rs:17:28
|
17 | ]) -> demux_enum::<Option<()>>();
| ^^^^^^^^^^ required by this bound in `check_impl_demux_enum`
error[E0599]: no variant named `Circle` found for enum `std::option::Option<()>`
--> tests/compile-fail/surface_demuxenum_wrongenum.rs:19:18
|
19 | my_demux[Circle] -> for_each(std::mem::drop);
| ^^^^^^ variant not found in `std::option::Option<()>`
error[E0599]: no variant named `Rectangle` found for enum `std::option::Option<()>`
--> tests/compile-fail/surface_demuxenum_wrongenum.rs:18:18
|
18 | my_demux[Rectangle] -> for_each(std::mem::drop);
| ^^^^^^^^^ variant not found in `std::option::Option<()>`
error[E0599]: no variant named `Square` found for enum `std::option::Option<()>`
--> tests/compile-fail/surface_demuxenum_wrongenum.rs:20:18
|
20 | my_demux[Square] -> for_each(std::mem::drop);
| ^^^^^^ variant not found in `std::option::Option<()>`
error[E0277]: the trait bound `std::option::Option<()>: DemuxEnum<_>` is not satisfied
--> tests/compile-fail/surface_demuxenum_wrongenum.rs:17:15
|
17 | ]) -> demux_enum::<Option<()>>();
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `DemuxEnum<_>` is not implemented for `std::option::Option<()>`
|
= note: ensure there is exactly one output for each enum variant.
= note: ensure that the type for each output is a tuple of the field for the variant: `()`, `(a,)`, or `(a, b, ...)`.
= help: the trait `DemuxEnum<(__PusheratorCircle, __PusheratorRectangle, __PusheratorSquare)>` is implemented for `Shape`
error[E0271]: type mismatch resolving `<impl Pusherator<Item = Option<()>> as Pusherator>::Item == Shape`
--> tests/compile-fail/surface_demuxenum_wrongenum.rs:17:15
|
13 | my_demux = source_iter([
| ____________________-
14 | | Shape::Rectangle { w: 10.0, h: 8.0 },
15 | | Shape::Square(9.0),
16 | | Shape::Circle { r: 5.0 },
17 | | ]) -> demux_enum::<Option<()>>();
| | ^^^^^^^^^^^^^^^^^^^^^^^^^-
| |_______________|________________________|
| | required by a bound introduced by this call
| expected `Shape`, found `Option<()>`
|
= note: expected enum `Shape`
found enum `std::option::Option<()>`
note: required by a bound in `pivot_run_sg_1v1`
--> tests/compile-fail/surface_demuxenum_wrongenum.rs:13:20
|
13 | my_demux = source_iter([
| ____________________^
14 | | Shape::Rectangle { w: 10.0, h: 8.0 },
15 | | Shape::Square(9.0),
16 | | Shape::Circle { r: 5.0 },
17 | | ]) -> demux_enum::<Option<()>>();
| |________________________________________^ required by this bound in `pivot_run_sg_1v1`