Hi Henrique, Thanks,
Just to be super-clear, in 0.9.2 and above, its OK in thrift to have: (1) structs that have fields of its own type (fine for most languages, but you'll be sorry if you C++) (2) structs that have fields that are containers of its own type (i.e. is allowed in all target languages) ? I'm working on a scala plugin extensions in the swift2thift project and want to nail down what *should* be allowed. Thanks, - Stu On Mon, Jan 26, 2015 at 2:49 PM, Henrique Mendonça <[email protected]> wrote: > Hi Stuart, > > That should work, are you having any problems? Please have a look on: > https://issues.apache.org/jira/browse/THRIFT-2421 > and: > https://issues.apache.org/jira/browse/THRIFT-2471 > > both already on 0.9.2 > > Cheers, > Henrique > > > On 27 January 2015 at 02:05, Stuart Reynolds <[email protected]> wrote: > >> Looking at the archives: >> >> http://mail-archives.apache.org/mod_mbox/thrift-user/201011.mbox/%[email protected]%3E >> >> I understand that the following causes problems for C++: >> >> struct A { >> 1: A a; >> } >> >> because sizeof(A)==infinity. >> >> >> 1-- the above .thrift compiles for in thrift 0.9.2. Are there guards >> against it in later versions of thrift? If so, can there any >> configuration possible surround this? (for example, ignoring the error >> because C++ it not a target, or changing the C++ output to use aptr >> for field members). >> >> 2 -- Are self referencing collections generally allowed? (Can't test >> locally -- for now stuck with 0.9.2) e.g. : >> >> struct A { >> 1: list<A> children; >> } >> >> >> Thanks, >> - Stuart >>
