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 2575/week @ 2024-07-23 1607/week @ 2024-07-30 1961/week @ 2024-08-06 2029/week @ 2024-08-13 2378/week @ 2024-08-20 2358/week @ 2024-08-27 2336/week @ 2024-09-03 1390/week @ 2024-09-10 2113/week @ 2024-09-17 1340/week @ 2024-09-24 1689/week @ 2024-10-01 1512/week @ 2024-10-08 2956/week @ 2024-10-15 1500/week @ 2024-10-22 1922/week @ 2024-10-29 1121/week @ 2024-11-05

7,817 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
~55K SLoC