#iterator #macro #field #metastruct

metastruct

Abstractions for iterating and mapping over struct fields

4 releases

0.1.3 Nov 22, 2024
0.1.2 Jul 18, 2024
0.1.1 Jun 19, 2023
0.1.0 Dec 8, 2022

#276 in Rust patterns

Download history 301/week @ 2024-12-25 1640/week @ 2025-01-01 2938/week @ 2025-01-08 2387/week @ 2025-01-15 2457/week @ 2025-01-22 2761/week @ 2025-01-29 3328/week @ 2025-02-05 2366/week @ 2025-02-12 2428/week @ 2025-02-19 2407/week @ 2025-02-26 2524/week @ 2025-03-05 3025/week @ 2025-03-12 2514/week @ 2025-03-19 2512/week @ 2025-03-26 3075/week @ 2025-04-02 2615/week @ 2025-04-09

11,298 downloads per month

Apache-2.0

4KB

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

~0–370KB