hydroflow 0.10.0

Hydro's low-level dataflow runtime and IR
Documentation
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`