Yan Zhulanow created THRIFT-4521:
------------------------------------

             Summary: Cocoa compiler produces invalid code for recursive structs
                 Key: THRIFT-4521
                 URL: https://issues.apache.org/jira/browse/THRIFT-4521
             Project: Thrift
          Issue Type: Bug
          Components: Cocoa - Compiler
    Affects Versions: 0.11.0
            Reporter: Yan Zhulanow


+Source:+

{{struct Node {}}
{{    1: string name;}}
{{    2: list<Node> children;}}
{{ }}}

+Generated code (partially, used Thrift 0.11.0):+

{{@interface Node : NSObject <TBase, NSCoding, NSCopying>}}{{@property (strong, 
nonatomic) NSString * name;}}
{{ @property (assign, nonatomic) BOOL nameIsSet;}}

{{- (void) unsetName;}}

{{@property (strong, nonatomic) NSMutableArray<Node> * children;}}
{{ @property (assign, nonatomic) BOOL childrenIsSet;}}

{{- (void) unsetChildren;}}

As you can see, NSMutableArray<Node> is not a valid type (_NSMutableArray<Node 
*> *_ expected), and the code doesn't compile.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to