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`