Hi everyone -

Just wanted to send a quick update on the progress of the Rust Thrift
code generation. I've been working on it for the last couple of months
and have implemented most of it. What remains:

- derived services
- struct constants
- docstring generation
- compact protocol

Of the above, "derived services" are the biggest worry. Rust is not an
object-oriented language so implementing this could be...quite
involved and require some rework of the generated code. Other than
that, there's a lot to do to clean up the code, add comments,
documentation and unit tests to the underlying rust library. Finally,
the only thing that I would really like to see change on the
thrift-compiler side is that "type" be considered a reserved word.

Here's the auto-gen code for ThriftTest.thrift:
https://gist.github.com/allengeorge/5e602bf40ba68ebe0eb2d3117b5d943d

All my work is against thrift-0.10.0, and I've verified that
framed/buffered/binary works with TestThrift.thrift against all the
clients I'm able to compile on my local machine (only D and Lua are
missing). I'm happy to work with everyone to get the code up to snuff
and - ideally! - merged into Thrift proper when missing pieces are
completed.

Cheers,
Allen

Terminal Musings: http://www.allengeorge.com/
Raft in Java: https://github.com/allengeorge/libraft/
Twitter: https://twitter.com/allenageorge/

Reply via email to