Chet Murthy created THRIFT-4399:
-----------------------------------

             Summary: plugin.thrift t_const_value is not used as a union in C++ 
code -- fix this
                 Key: THRIFT-4399
                 URL: https://issues.apache.org/jira/browse/THRIFT-4399
             Project: Thrift
          Issue Type: Bug
          Components: Compiler (General)
    Affects Versions: 0.10.0
         Environment: Ubuntu 16.04 amd64
            Reporter: Chet Murthy
            Priority: Minor


plugin.thrift defines t_const_value as a union.  But in plugin_output.cc and 
plugin.cc, the converters clearly either (a) SET NEITHER of identifier_val & 
enum_val, or (b) SET BOTH.  But these are two different fields in the union.  
So clearly, the type t_const_value isn't being treated as a union.

I think we need to fix Thrift's treatment of unions, but independently, the 
plugin should use Thrift's type system in a correct manner.  This is 
easy-to-fix, but since the current plugin relies on a bug, the fix will be a 
breaking change.




--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to