default-constructor 0.1.0

Macros for creating pseudo-dsls that constructs structs through default construction and field conversion.
Documentation
# default-constructor

Macros for creating pseudo-dsls that constructs structs through
default construction and field conversion.

## Motivation

This crates is primary designed for `bevy` where constructing large bundles
with `..Default::default()` is common.

## Syntax

Take `construct!` that uses `Into`.

```rust
construct! {
    Student {
        name: "Timmy",
        age: 10,
    }
}
```

This converts to

```rust
Student {
    name: Into::into("Timmy"),
    age: Into::into(10.into()),
    ..Default::default()
}
```

## Meta Constructor

The meta constructor macro allows you to define your own macro with
custom configurations.
See documentation on `meta_default_constructor!` for detail.

## `InferInto`

InferInto allows the user to bypass the orphan rule to create conversions.

By default we provide `i32` -> `f32` and `i64` -> `f64` conversions
in addition to the standard `From` and `Into`.

If multiple conversion paths are found, the conversion will fail,
thus failing the `infer_construct` macro.

## Missing Features

[ ] Allow paths as type name.
[ ] Tuple structs support.

## Possible Features

[ ] Generics parsing.