[ 
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)

Reply via email to