better-default-derive 0.1.1

A better Default macro
Documentation
# better-default-derive [![crates.io]https://img.shields.io/crates/v/better-default-derive.svg]https://crates.io/crates/better-default-derive [![github actions badge]https://github.com/monadplus/better-default-derive/actions/workflows/ci.yml/badge.svg]https://github.com/monadplus/better-default-derive/actions/workflows/ci.yml

A better [std::default::Default](https://doc.rust-lang.org/nightly/std/default/macro.Default.html) macro.

Supports:
- Struct
  - Unit
  - Named
  - Unnamed
  - Generic
- Enum
  - Unit
  - Named
  - Unnamed
  - Generic

## Usage

```toml
[dependencies]
better-default-derive = "0.1.0"
```

```rust 
use better_default_derive::Default;

#[derive(Debug, PartialEq, Eq, Default)]
enum Either<L, R> {
    Left(L),
    #[default]
    Right(R),
}

fn main() {
    let either: Either<String, u8> = Either::default();
    assert_eq!(either, Either::Right(u8::default()));
}
```

## Roadmap

- [ ] Better error message when a field is missing the `Default` instance.
- [ ] Support union types
- [ ] Support associated types

  ```rust
  use better_default_derive::Default;

  pub trait Trait {
      type Value;
  }

  #[derive(Default)]
  pub struct Field<T: Trait> {
      values: Vec<T::Value>,
  }
  ```