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