> By the way, we have what we believe to be the most correct and complete Rust
> implementation of Avro here:
>   https://github.com/MaterializeInc/materialize/tree/main/src/avro
Hi. I spent a lot of time searching for perfect Avro implementation for Rust. 
And indeed Materialize implementation turned to be the best as I think.
Still, I rejected it because "avro_derive" doesn't work for Rust enums (with 
data). I. e. I wanted Rust enums to be converted to Avro
unions. I rejected other Rust implementations for various reasons, too. So I 
wrote my own. (I can show code, but note that my implementation is
incomplete.) Now (because of various Avro problems) I think I will throw away 
this code and simply will create my own binary format instead.

I indeed suggest Avro project to base its Rust implementation on Materialize's 
code, not on "avro-rs" from   https://crates.io/crates/avro-rs   .
"avro-rs" doesn't even support recursive types. And adding recursive types 
support will require major rewrite. There is pull request on
their github for recursive types, but it's still unmerged

==
Askar Safin
http://safinaskar.com
https://sr.ht/~safinaskar
https://github.com/safinaskar

Reply via email to