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

Apache-2.0 OR MIT

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:

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