[
https://issues.apache.org/jira/browse/THRIFT-2945?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15793553#comment-15793553
]
ASF GitHub Bot commented on THRIFT-2945:
----------------------------------------
Github user jsgf commented on the issue:
https://github.com/apache/thrift/pull/1147
Awesome! The thing that I got stalled on was non-support for other
protocols/framing, which meant it wasn't really useful for real use. The other
blocker was support for async, which is pretty much a must-have for practical
uses, and the Rust async story is in flux right now with Tokio, etc.
> Not implemented:
> - Struct/union constants: Honestly, this looks like it's "not possible"
(tm)
> - Multiplexed processor
Have a look at [my repo](https://github.com/jsgf/thrift/tree/rust). I
implemented these with `lazy_static`. I didn't find anything that couldn't be
implemented; in general Rust and Thrift seem like a good match.
The main complexity I found was that you have to use `BTreeMap`/`BTreeSet`
if you want to use maps/sets as keys for other maps/sets, but otherwise
`HashMap`/`HashSet` are preferred.
The other tricky part was using `Result` to represent exceptions and
handling some edge cases around void functions which are extended to throw
extensions.
I'll review in detail.
> Implement support for Rust language
> -----------------------------------
>
> Key: THRIFT-2945
> URL: https://issues.apache.org/jira/browse/THRIFT-2945
> Project: Thrift
> Issue Type: New Feature
> Components: Wish List
> Reporter: Maksim Golov
> Assignee: Jeremy Fitzhardinge
>
> Work on implementing support for Rust is in progress:
> https://github.com/maximg/thrift by Simon Génier and myself.
> It will probably take quite some time to complete. Please keep us updated if
> there are changes related to our work.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)