Hello Avro Devs, My name is Jack and I used Java Avro a lot in my career and really enjoyed the "Avro way". I started to program in rust and started to use the Avro library for rust as well. I have been working on a feature for myself that I believe has reached the POC/beta stage. I would love to get it into the open source but it will need more polishing and documentation, and want to make sure I propose it here to get alignment/have discussions for certain aspects.
The proposal: - Have another rust crate that is importable as a feature on the main crate (in the same manner as serde derive), that will provide a derive proc_macro that implements a simple trait that returns the schema for the implementing type. Right now, schemas must be parsed from strings ( or read from files first), and closely coordinated with the associated struct. This makes sense for workflows that need to associate the same type across languages. For programs that are all within Rust, there are usability advantages of the proc_macro. To see the POC in action please review: https://github.com/jklamer/avro/blob/feature/DeriveSchema/lang/rust/avro_derive/tests/derive.rs And for slightly more details on thoughts: https://github.com/jklamer/avro/blob/feature/DeriveSchema/lang/rust/avro_derive/proposal_supporting_docs.md Best, Jack
