Project structure
Astray has a front facing crate which combines its two main crates
- Astray Macro provides a proc-macro that auto generates parsing functions from Rust type definitions.
- Astray Core holds all other functionality besides the proc-macro itself.
This division happen because a proc-macro crate may only export proc-macros, and Astray requires additional resources besides the proc-macro itself in order to work.
Let's go over the directory structure for each of these sub-crates
Astray Macro
src/ - lib.rs: exposes relevant macro functionality - node.rs: