Margar Simonyan created THRIFT-4531:
---------------------------------------

             Summary: Thrift generates wrong Python code for immutable 
structures with optional members
                 Key: THRIFT-4531
                 URL: https://issues.apache.org/jira/browse/THRIFT-4531
             Project: Thrift
          Issue Type: Bug
          Components: Compiler (General)
    Affects Versions: 0.11.0
            Reporter: Margar Simonyan


In order to make generated Python structs hashable one needs to add 

( python.immutable; )

annotation. This is true for Python 3, in Python 2 technically the annotation 
is not mandatory, however leads to undesirable situation, when equal objects 
have different hash values.

If the struct has optional members, then the generated code for read(...) 
method is wrong and results into undefined local variable error. To fix the 
issue these variables need to be added to beginning of read(...) method and 
initialized to None or default values if available. 

I have a patch for generate\t_py_generator.cc to fix the issue, but I am not 
familiar with your procedures for contributors.

 

 

 



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

Reply via email to