error[E0599]: no variant named `Ellipse` found for enum `Shape` --> tests/compile-fail/surface_demuxenum_port_extra.rs:21:18 | 6 | enum Shape { | ---------- variant `Ellipse` not found here ... 21 | my_demux[Ellipse] -> for_each(std::mem::drop); | ^^^^^^^ variant not found in `Shape` error[E0308]: mismatched types --> tests/compile-fail/surface_demuxenum_port_extra.rs:17:15 | 17 | ]) -> demux_enum::(); | ^^^^^^^^^^^^^^^^^^^^^ | | | expected a tuple with 3 elements, found one with 4 elements | arguments to this function are incorrect 18 | my_demux[Rectangle] -> for_each(std::mem::drop); | ------------------------ one of the found opaque types 19 | my_demux[Circle] -> for_each(std::mem::drop); | ------------------------ one of the found opaque types 20 | my_demux[Square] -> for_each(std::mem::drop); | ------------------------ one of the found opaque types 21 | my_demux[Ellipse] -> for_each(std::mem::drop); | ------------------------ one of the found opaque types | = note: expected mutable reference `&mut (_, _, _)` found mutable reference `&mut (impl Pusherator, impl Pusherator, impl Pusherator, impl Pusherator)` note: method defined here --> src/util/demux_enum.rs | | fn demux_enum(self, outputs: &mut Outputs); | ^^^^^^^^^^