1 unstable release

0.4.0 Sep 14, 2024

#650 in Procedural macros

MIT/Apache

21KB
495 lines

Lombok Rust

Lombok port for Rust.

Why?

Just because I can!

This crate is not actually a must-have one for development in Rust (unlike Java world), but if you find it useful - it would be great. Anyway - boilerplate sucks, so get some proc macros stuff to decrease it.

Any feedback is appreciated.

Implementation list so far

  • @Getter - #[derive(Getter)]/#[derive(GetterMut)]
  • @Setter - #[derive(Setter)]
  • @EqualsAndHashCode - #[derive(EqualsAndHashCode)]
  • @ToString - #[derive(ToString)]
  • @Data - #[derive(Data)]
  • @Value - #[derive(Value)]
  • @NoArgsConstructor - #[derive(NoArgsConstructor)]
  • @AllArgsConstructor - #[derive(AllArgsConstructor)]
  • @Builder - #[derive(Builder)]

Usage

Update Cargo.toml

[dependencies]
lombok = "0.4"

Source code usage examples you can see in tests.

Thanks

Thanks to sokomishalov for the idea and inspiration.

License

Licensed under either of Apache License, Version 2.0 or MIT license at your option.

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

Dependencies

~1.5MB
~37K SLoC