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

Reply via email to