macro metastruct_macro

Abstractions for iterating and mapping over struct fields (proc macro crate)

3 releases

0.1.2 Jul 18, 2024
0.1.1 Jun 19, 2023
0.1.0 Dec 8, 2022
Download history 1731/week @ 2024-07-04 2083/week @ 2024-07-11 2731/week @ 2024-07-18 2236/week @ 2024-07-25 1625/week @ 2024-08-01 1990/week @ 2024-08-08 2205/week @ 2024-08-15 2569/week @ 2024-08-22 2110/week @ 2024-08-29 2086/week @ 2024-09-05 1504/week @ 2024-09-12 1892/week @ 2024-09-19 1304/week @ 2024-09-26 1732/week @ 2024-10-03 2114/week @ 2024-10-10 2221/week @ 2024-10-17

7,538 downloads per month
Used in metastruct

Apache-2.0

18KB
409 lines

metastruct

Metastruct is Rust library for metaprogramming with struct fields.

Some of the things you can do with metastruct include:

  • Iterate over a struct's fields.
  • Map a closure over all or some of a struct's fields.
  • Access the number of fields in a struct at compile-time via a const.

This is achieved by a procedural macro, which generates macro_rules! macros.

One way of understanding metastruct is as a shortcut to writing your own derive macros. If you have a trait that you'd like to implement on a one-off basis, metastruct can help you write that implementation without a derive macro.

🚧 Under Construction 🚧

This library is currently under construction and should not be considered stable.

There's currently no documentation aside from a few scant code comments and examples/tests.

License

Apache 2.0

Dependencies

~2.5MB
~54K SLoC