same_enum 0.1.1

Generates `From` trait implementations for enums with the same unit variants.
Documentation
# same_enum
Generates `From` trait implementations for enums with the same unit variants.

# Get Started

Place a `#[from(path::to::TargetEnum)]` or `#[to(path::to::TargetEnum)]`
attribute above the source enum definition to generate `From` trait implementations.  

Generates an implementation of the From trait to convert from a target enum to the annotated enum.

# Examples

```
use same_enum::from;
#[from(TargetEnum)]
#[derive(PartialEq, Debug)]
enum SourceEnum {
    One,
    Two,
}
#[derive(PartialEq, Debug)]
enum TargetEnum {
    One,
    Two,
}

let target_one = TargetEnum::One;
let source_one: SourceEnum = target_one.into(); // from implementation gives us into() as well

assert_eq!(source_one, SourceEnum::One);
```

# Panics

`same_enum` panics if the annotated_item is not an enum with Unit variants.

An example of an enum **with** Unit variants would be:
```
enum BinaryNumbers {
    Zero,
    One,
}
```


Generates an implementation of the From trait to convert from the annotated enum to a target enum.

# Examples

```
use same_enum::to;
#[to(TargetEnum)]
#[derive(PartialEq, Debug)]
enum SourceEnum {
    One,
    Two,
}
#[derive(PartialEq, Debug)]
enum TargetEnum {
    One,
    Two,
}

let source_one = SourceEnum::One;
let target_one = TargetEnum::from(source_one);

assert_eq!(target_one, TargetEnum::One);
```
# Panics

`same_enum` panics if the annotated_item is not an enum with Unit variants.

An example of an enum **with** Unit variants would be:
```
enum BinaryNumbers {
    Zero,
    One,
}
```