[ 
https://issues.apache.org/jira/browse/THRIFT-4399?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16275397#comment-16275397
 ] 

ASF GitHub Bot commented on THRIFT-4399:
----------------------------------------

Github user chetmurthy commented on the issue:

    https://github.com/apache/thrift/pull/1435
  
    BTW, this fix is necessary if I'm going to fix unions so they transport 
exactly one of their fields.  B/c (of course) right now, the plugin code 
depends on that not being the case.
    
    I have the C++ code (compiler + lib) ready-to-go-and-tested, but (obv) 
can't submit a PR until this code goes thru, b/c it would break the build.


> 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