| Crates.io | data_record |
| lib.rs | data_record |
| version | 0.0.0 |
| created_at | 2025-02-01 15:09:26.540349+00 |
| updated_at | 2025-02-01 15:09:26.540349+00 |
| description | A procedural macro that generates a trait from a struct, exporting the struct's fields as trait methods and providing a constructor method. |
| homepage | |
| repository | |
| max_upload_size | |
| id | 1538500 |
| size | 25,474 |
A procedural macro that auto-generates traits and implementations for your structs, enabling Java record–like behavior in Rust. It creates:
new).This allows you to keep struct fields private while providing read-only access and a standardized way to construct instances.
Getter Trait Generation:
For each named field in your struct, a corresponding method is added to the generated getter trait.
Constructor Trait Generation:
A constructor trait is generated with a method (default: new, customizable) that takes each field as an argument and returns an instance of the struct.
Custom Attributes:
Fine-tune the generated code by applying custom attributes to:
The getter trait definition (datarecord_getter_attr)
The getter trait implementation (datarecord_getter_impl_attr)
The constructor trait definition (datarecord_const_attr)
The constructor trait implementation (datarecordgit_const_impl_attr)
The constructor method (datarecord_const_impl_method_attr)
Add the following to your Cargo.toml:
[dependencies]
data_record = "0.1.0"