Got it. Thanks.
On Mon, Jan 26, 2015 at 7:24 PM, Henrique Mendonça <[email protected]> wrote: > Sorry for not being clear. > As Jens said, it should be all good even on C++, if you use the reference > keyword "&" like in: > https://github.com/apache/thrift/blob/master/test/Recursive.thrift#L26 > > - Henrique > > On 27 January 2015 at 13:58, Stuart Reynolds <[email protected]> wrote: > >> 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 >> >> >>
