[
https://issues.apache.org/jira/browse/THRIFT-2945?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15865159#comment-15865159
]
Tony Przygienda commented on THRIFT-2945:
-----------------------------------------
1. OK, I named it serializable since that's what the functions do. TThriftType
may imply many other things ... I have already my own traits called TThriftXXX
... Observe that Rust lives off traits, it's very common to add them to structs
...
2. worked all fine with all the tests so please give me a min test you think
may break on the hash. Otherwise maybe a knob under rust code generation ...
3. well, a method values() is a runtime thing which won't help. A simple
example of trivial defaults one can generate under https://is.gd/bvkaey
You can only generate it via macros, nothing else. And people do NOT have to
use the macros, they just compile away ... I find it extremely helpful for my
work here, the special enum treatement is necessary due to Rust macro
restrictions ...
4. concrete example is that I have a module and within it the mod models where
I want my thrift files to. I just run a small makefile in the models directory
> all: encoding.rs routingtable.rs common.rs
> *.rs: common.rs Makefile
> %.rs: %.thrift
> $(THRIFT_COMPILER) -I $(CURDIR)/common --gen rs --out $(CURDIR) $<
this needs namespace * models on top so all the imports are correctly
generated, otherwise the assumption is that models are in the top which is
unscalable. Works a charm
OK, will fix the `rust_safe_case` ...
Formatting is the XCode setup, don't know where to twiddle it ... :-/ Any
idea? Otherwise need surf web ...
5. The implementation of the transport/protocol is now very convoluted. The
TTransport embedded in Rc<RefCell<Box<MyTransport.. is heavy and hell on wheels
to make it work. I write my own transports and it's basically impossible to
hold on to the transport in any way after it's put into the InputProtocol(...)
part. Passing the whole thing through functions or trying to match it on any
kind of generics leads Rust to refuse the downcast. I see the need for the
refcell but why is the Rc not taken _inside_ the protocol ?
> Implement support for Rust language
> -----------------------------------
>
> Key: THRIFT-2945
> URL: https://issues.apache.org/jira/browse/THRIFT-2945
> Project: Thrift
> Issue Type: New Feature
> Components: Rust - Compiler, Rust - Library
> Reporter: Maksim Golov
> Assignee: Allen George
> Fix For: 0.11.0
>
>
> 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.15#6346)