dfir_rs 0.16.0

DFIR runtime for Rust, used by Hydro.
Documentation
error[E0277]: the trait bound `std::option::Option<()>: DemuxEnumBase` is not satisfied
  --> tests/compile-fail-stable/surface_demuxenum_wrongenum.rs:17:28
   |
17 |         ]) -> demux_enum::<Option<()>>();
   |                            ^^^^^^ the trait `DemuxEnumBase` is not implemented for `std::option::Option<()>`
   |
   = note: use `#[derive(dfir_rs::DemuxEnum)]`
help: the trait `DemuxEnumBase` is implemented for `Shape`
  --> tests/compile-fail-stable/surface_demuxenum_wrongenum.rs:5:14
   |
 5 |     #[derive(DemuxEnum)]
   |              ^^^^^^^^^
note: required by a bound in `check_impl_demux_enum`
  --> tests/compile-fail-stable/surface_demuxenum_wrongenum.rs:17:28
   |
17 |         ]) -> demux_enum::<Option<()>>();
   |                            ^^^^^^ required by this bound in `check_impl_demux_enum`
   = note: this error originates in the derive macro `DemuxEnum` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0599]: no variant named `Circle` found for enum `std::option::Option<()>`
  --> tests/compile-fail-stable/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-stable/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-stable/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<()>: DemuxEnumPush<_, ()>` is not satisfied
  --> tests/compile-fail-stable/surface_demuxenum_wrongenum.rs:17:28
   |
17 |         ]) -> demux_enum::<Option<()>>();
   |                            ^^^^^^^^^^ the trait `DemuxEnumPush<_, ()>` 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 `DemuxEnumPush<(Pin<&mut __PushCircle>, Pin<&mut __PushRectangle>, Pin<&mut __PushSquare>), ()>` is implemented for `Shape`
  --> tests/compile-fail-stable/surface_demuxenum_wrongenum.rs:5:14
   |
 5 |     #[derive(DemuxEnum)]
   |              ^^^^^^^^^
note: required by a bound in `demux_enum_guard`
  --> tests/compile-fail-stable/surface_demuxenum_wrongenum.rs:17:15
   |
17 |         ]) -> demux_enum::<Option<()>>();
   |               ^^^^^^^^^^ required by this bound in `demux_enum_guard`
   = note: this error originates in the derive macro `DemuxEnum` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: the trait bound `std::option::Option<()>: DemuxEnumPush<(Pin<&mut impl dfir_rs::dfir_pipes::push::Push<_, (), CanPend = <dfir_rs::dfir_pipes::push::ForEach<fn(_) {std::mem::drop::<_>}> as dfir_rs::dfir_pipes::push::Push<_, ()>>::CanPend>>, Pin<&mut impl dfir_rs::dfir_pipes::push::Push<_, (), CanPend = <dfir_rs::dfir_pipes::push::ForEach<fn(_) {std::mem::drop::<_>}> as dfir_rs::dfir_pipes::push::Push<_, ()>>::CanPend>>, Pin<&mut impl dfir_rs::dfir_pipes::push::Push<_, (), CanPend = <dfir_rs::dfir_pipes::push::ForEach<fn(_) {std::mem::drop::<_>}> as dfir_rs::dfir_pipes::push::Push<_, ()>>::CanPend>>), ()>` is not satisfied
  --> tests/compile-fail-stable/surface_demuxenum_wrongenum.rs:17:15
   |
17 |         ]) -> demux_enum::<Option<()>>();
   |               ^^^^^^^^^^ unsatisfied trait bound
   |
   = help: the trait `DemuxEnumPush<(Pin<&mut impl dfir_rs::dfir_pipes::push::Push<_, (), CanPend = <dfir_rs::dfir_pipes::push::ForEach<fn(_) {std::mem::drop::<_>}> as dfir_rs::dfir_pipes::push::Push<_, ()>>::CanPend>>, Pin<&mut impl dfir_rs::dfir_pipes::push::Push<_, (), CanPend = <dfir_rs::dfir_pipes::push::ForEach<fn(_) {std::mem::drop::<_>}> as dfir_rs::dfir_pipes::push::Push<_, ()>>::CanPend>>, Pin<&mut impl dfir_rs::dfir_pipes::push::Push<_, (), CanPend = <dfir_rs::dfir_pipes::push::ForEach<fn(_) {std::mem::drop::<_>}> as dfir_rs::dfir_pipes::push::Push<_, ()>>::CanPend>>), ()>` 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 `DemuxEnumPush<(Pin<&mut __PushCircle>, Pin<&mut __PushRectangle>, Pin<&mut __PushSquare>), ()>` is implemented for `Shape`
  --> tests/compile-fail-stable/surface_demuxenum_wrongenum.rs:5:14
   |
 5 |     #[derive(DemuxEnum)]
   |              ^^^^^^^^^
note: required by a bound in `demux_enum_guard`
  --> tests/compile-fail-stable/surface_demuxenum_wrongenum.rs:17:15
   |
17 |         ]) -> demux_enum::<Option<()>>();
   |               ^^^^^^^^^^ required by this bound in `demux_enum_guard`
   = note: this error originates in the derive macro `DemuxEnum` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: the trait bound `impl dfir_rs::dfir_pipes::push::Push<std::option::Option<()>, (), CanPend = <impl dfir_rs::dfir_pipes::push::Push<std::option::Option<()>, ()> as dfir_rs::dfir_pipes::push::Push<std::option::Option<()>, ()>>::CanPend>: dfir_rs::dfir_pipes::push::Push<Shape, ()>` is not satisfied
  --> tests/compile-fail-stable/surface_demuxenum_wrongenum.rs:17:15
   |
17 |         ]) -> demux_enum::<Option<()>>();
   |               ^^^^^^^^^^ unsatisfied trait bound
   |
   = help: the trait `dfir_rs::dfir_pipes::push::Push<Shape, ()>` is not implemented for `impl dfir_rs::dfir_pipes::push::Push<std::option::Option<()>, (), CanPend = <impl dfir_rs::dfir_pipes::push::Push<std::option::Option<()>, ()> as dfir_rs::dfir_pipes::push::Push<std::option::Option<()>, ()>>::CanPend>`
   = help: the following other types implement trait `dfir_rs::dfir_pipes::push::Push<Item, Meta>`:
             `&mut P` implements `dfir_rs::dfir_pipes::push::Push<Item, Meta>`
             `DemuxEnum<Outputs>` implements `dfir_rs::dfir_pipes::push::Push<Item, Meta>`
             `ResolveFutures<Psh, Queue, QueueInner>` implements `dfir_rs::dfir_pipes::push::Push<Fut, ()>`
             `VecPush<Buf>` implements `dfir_rs::dfir_pipes::push::Push<Item, Meta>`
             `dfir_rs::dfir_pipes::push::DemuxVar<Pushes>` implements `dfir_rs::dfir_pipes::push::Push<(usize, Item), Meta>`
             `dfir_rs::dfir_pipes::push::Fanout<P0, P1>` implements `dfir_rs::dfir_pipes::push::Push<Item, Meta>`
             `dfir_rs::dfir_pipes::push::Filter<Next, Func>` implements `dfir_rs::dfir_pipes::push::Push<Item, Meta>`
             `dfir_rs::dfir_pipes::push::FilterMap<Next, Func>` implements `dfir_rs::dfir_pipes::push::Push<In, Meta>`
           and $N others
note: required by a bound in `pivot_run_sg_1v1`
  --> tests/compile-fail-stable/surface_demuxenum_wrongenum.rs:17:15
   |
17 |         ]) -> demux_enum::<Option<()>>();
   |               ^^^^^^^^^^ required by this bound in `pivot_run_sg_1v1`