quick_from 0.2.0

A derive macro for quickly implementing From on on enum variants that wrap other types.
Documentation
#![allow(dead_code)]

#[macro_use]
extern crate quick_from;

enum Enum1 {
    A,
    B,
    C,
}

#[derive(QuickFrom)]
enum Enum2 {
    X,
    Y,
    Z,
    #[quick_from]
    E1(Enum1),
}

#[test]
fn local() {
    let _x : Enum2 = From::from(Enum1::A);
}


#[derive(QuickFrom)]
enum Error {
    InvalidInput,
    #[quick_from]
    Io(std::io::Error),
}

#[test]
fn import() {
    fn my_read(s : &str) -> Result<Vec<u8>, Error> {
        if s.len() == 0 {
            return Err(Error::InvalidInput)
        }

        Ok(std::fs::read("hello.txt")?)
    }

    let _x = my_read("");
    let _x = my_read("hello.txt");

}

#[derive(QuickFrom)]
enum Enum3<'a, 'b, T> {
    #[quick_from]
    A(&'a [u32]),

    #[quick_from]
    B(&'b bool),

    C(T)
}

#[test]
fn lifetime() {
    let s : &[u32] = &[1, 2, 3];
    let _ : Enum3<i32> = s.into();
}