derive_convert 0.7.0

Derives 'impl (Try)From for Self' and 'impl (Try)From<Self>'
Documentation
use derive_convert::Convert;

#[derive(Convert)]
#[from(V1 = "Color1")]
enum Color {
    Red,
    #[from(V1(rename("Blues")))]
    Blue,
    #[from(V1(skip))]
    Green,
}

#[allow(dead_code)]
enum Color1 {
    Red,
    Blues,
}

#[derive(Convert)]
#[from_self(COMMON = "Color")]
#[allow(dead_code)]
enum Color2 {
    Red,
    Blue,
    Green,
}

#[derive(Convert)]
#[from(V1("Foo1", ignore("_c")))]
#[from_self(V3("Foo3", default("e")))]
#[allow(dead_code)]
struct Foo {
    a: i32,
    b: String,
    #[from(V1(default))]
    d: f64,
}

struct Foo1 {
    a: i32,
    b: String,
    _c: (),
}

#[derive(Convert)]
#[from_self(COMMON = "Foo")]
struct Foo2 {
    a: i32,
    b: String,
    d: f64,
}

#[allow(dead_code)]
struct Foo3 {
    a: i32,
    b: String,
    d: f64,
    e: Vec<u8>,
}

#[allow(dead_code)]
#[derive(Convert)]
#[from(V1 = "FooColor1")]
enum FooColor {
    Foo(Foo),
    Color(Color),
}

#[allow(dead_code)]
enum FooColor1 {
    Foo(Foo1),
    Color(Color1),
}

#[allow(dead_code)]
#[derive(Convert)]
#[from_self(COMMON = "FooColor")]
enum FooColor2 {
    Foo(Foo2),
    Color(Color2),
}