trait-enumizer 0.1.1

Proc macro to automatically generate enum based on method signatures (with appropriate helpers)
Documentation
#[trait_enumizer::enumizer(name=MyIfaceEnum,call_fn(name=call_mut,ref_mut),proxy(FnMut,name=MyIfaceProxyMut,resultified_trait=MyIfaceResultified,infallible_impl))]
trait MyIface {
    fn foo(&mut self);
    fn bar(&mut self, x: i32);
    fn baz(&mut self, y: String, z: Vec<u8>);
}

struct Implementor {}

impl MyIface for Implementor {
    fn foo(&mut self) {
        dbg!("foo");
    }

    fn bar(&mut self, x: i32) {
        dbg!("bar", x);
    }

    fn baz(&mut self, y: String, z: Vec<u8>) {
        dbg!("baz", y, z);
    }
}

#[test]
fn test() {
    let mut o = Implementor {};
    let mut p = MyIfaceProxyMut::<std::convert::Infallible,_>(|c| Ok(c.call_mut(&mut o)));
    p.foo();
    p.bar(4);
}