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