Igor Kostenko created THRIFT-2642: ------------------------------------- Summary: Recursive structs don't work in python Key: THRIFT-2642 URL: https://issues.apache.org/jira/browse/THRIFT-2642 Project: Thrift Issue Type: Bug Components: Python - Compiler, Python - Library Affects Versions: 0.9.2 Reporter: Igor Kostenko
Recursive structs in 0.9.2 work fine in c++ & c#, but not in python, because generated code trying to use objects which not constructed yet. Struct: {quote}struct Recursive { 1: list<Recursive> Children } {quote} Python code: {quote}class Recursive: thrift_spec = ( None, # 0 (1, TType.LIST, 'Children', (TType.STRUCT,(Recursive, Recursive.thrift_spec)), None, ), # 1 ) {quote} An error: {quote}Traceback (most recent call last): File "ttypes.py", line 20, in <module> class Recursive: File "ttypes.py", line 28, in Recursive (1, TType.LIST, 'Children', (TType.STRUCT,(Recursive, Recursive.thrift_spec)), None, ), # 1 NameError: name 'Recursive' is not defined {quote} -- This message was sent by Atlassian JIRA (v6.2#6252)