4 releases (2 breaking)
0.3.0 | Jun 17, 2022 |
---|---|
0.2.0 | May 30, 2022 |
0.1.1 | Apr 5, 2022 |
0.1.0 | Apr 4, 2022 |
#2823 in Rust patterns
Used in 2 crates
78KB
1.5K
SLoC
boulder - like a builder but heavier
This provides two main traits and associated derive macros:
Buildable
, which lets you set complex default values, and then customise only the fields of interest for a given instance.Generatable
which lets you set default sequences for each field, and then override only the particular sequences of interest.
These traits pass-through
Option<T>
,
Cell<T>
,
RefCell<T>
,
Rc<T>
,
Arc<T>
and
Mutex<T>
in
the sense deriving
Generatable
or
Buildable
for T
automatically gives you default generators and builders for
all of these simple wrappers.
If you enable the persian-rug
feature, you get two new traits:
BuildableWithPersianRug
, which lets you build instances which belong to apersian_rug::Context
.GeneratableWithPersianRug
, which lets you generate instances which belong to apersian_rug::Context
.
These traits pass-through all the same all the same wrappers as the
base traits, but additionally
Proxy<T>
.
License
This crate is made available under either an Apache-2.0 or an MIT license.
Dependencies
~3MB
~60K SLoC