derive_setters

Build Status Latest Version Requires rustc 1.56+

Rust macro to automatically generates setter methods for a struct's fields. This can be used to add setters to a plain data struct, or to help in implementing builders.

For a related library that creates separate builder types, see rust-derive-builder.

Basic usage example

```rust use derive_setters::*;

[derive(Default, Setters, Debug, PartialEq, Eq)]

struct BasicStruct { #[setters(rename = "test")] a: u32, b: u32, c: u32, }

assert_eq!( BasicStruct::default().test(30).b(10).c(20), BasicStruct { a: 30, b: 10, c: 20 }, ); ```

Additional options

The following options can be set on the entire struct.

The following options can be set on a fields.

The following options can be set on either the entire struct, or on an individual field. You can disable the features for a particular field with #[setters(option = false)]

License

This project is licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in enumset by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.