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(ref,name=call),proxy(name=MyIfaceProxy,Fn, resultified_trait=MyIfaceResultified, infallible_impl))]
trait MyIface {
    fn primitive(&self, x: i32);
    fn by_value(&self, x: String);
    fn by_ref(&self, #[enumizer_to_owned] y: &str);
    fn by_ref2(&self, #[enumizer_to_owned] y: &[u8]);
}

struct Implementor {}

impl MyIface for Implementor {
    fn primitive(&self, x: i32) {
        dbg!(x);
    }

    fn by_value(&self, x: String) {
        dbg!(x);
    }

    fn by_ref(&self, y: &str) {
        dbg!(y);
    }
    fn by_ref2(&self, y: &[u8]) {
        dbg!(y);
    }
}

#[test]
fn test() {
    let o = Implementor {};
    let p = MyIfaceProxy::<std::convert::Infallible,_>(|c| Ok(c.call(&o)));
    p.primitive(3);
    p.by_value("owned".to_owned());
    p.by_ref("by_ref");
    p.by_ref2(b"by_ref2");
}