easy-conv 0.1.2

Cut down on trivial `impl From<A> for B` boilerplate code
Documentation
# easy-conv

Cut down on trivial `impl From<A> for B` boilerplate code.

[crates.io](https://crates.io/crates/easy-conv)

## Quick start

Ever tired of code that looks like this?

```rust
enum Choices {
    Alpha(TypeA),
    Bravo(TypeB),
    Charlie(TypeC),
}
impl From<TypeA> for Choices {
    fn from(val: TypeA) -> Self {
        Choices::Alpha(val)
    }
}
impl From<TypeB> for Choices {
    fn from(val: TypeB) -> Self {
        Choices::Bravo(val)
    }
}
impl From<TypeC> for Choices {
    fn from(val: TypeC) -> Self {
        Choices::Charlie(val)
    }
}
```

How about this?

```rust
enum Choices {
    Alpha(TypeA),
    Bravo(TypeB),
    Charlie(TypeC),
}
newtype_wrap!(Choices, Alpha, TypeA);
newtype_wrap!(Choices, Bravo, TypeB);
newtype_wrap!(Choices, Charlie, TypeC);
```

Better? I certainly think so.

There are also `newtype_wrap_from_any` and `chained_into` macros, which each does
their quirky little thing. See [documentation](https://docs.rs/easy-conv/latest/).

## Contributing

If you have any other type conversion needs that involve a lot of boilerplate code,
please feel free to raise an issue (or better yet, a PR). Maybe we can add a macro
to make life easier for you and everyone else.