constructor-lite
This crate provides the ConstructorLite derive macro for generating
minimal constructors for a struct from its fields.
It is primarily designed for structs where deriving [Default] is not
possible because some fields don't implement it.
By default, an associated function new() is generated, which expects every
field that is not Option<T> as an argument.
- To add an optional field to expected arguments of the constructor function,
it can be marked with
#[constructor(required)]. - To remove a non-optional field that implements
Defaultfrom the constructor function, it can be marked with#[constructor(default)]. - To change the name of the generated function, the struct can be marked with e. g.
#[constructor(name = "function_name")]. - By default, the generated function has the same visibility as the struct.
To override this behaviour, the struct can be marked with e. g.
#[constructor(visibility = "pub(super)")].
For more advanced uses you might prefer using
derive-new or
derive_builder instead.
Example
use ConstructorLite;
assert_eq!
License
This project is licensed under the MIT License.
See LICENSE for more information.