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

Bruce Lowekamp commented on THRIFT-895:
---------------------------------------

For Erlang, again, it could be fixed, but the code right now generates:

-define{<service>_<key>,1}

for each key.  so it would be simple to change it to

-define{<service>_<enum_name>_<key>, 1}

to get rid of the conflict, but all referencing code would have to change.


> Thrift compiler does not allow two different enumerations to have the same 
> key name for one of the enum values
> --------------------------------------------------------------------------------------------------------------
>
>                 Key: THRIFT-895
>                 URL: https://issues.apache.org/jira/browse/THRIFT-895
>             Project: Thrift
>          Issue Type: Bug
>          Components: Compiler (General)
>    Affects Versions: 0.4
>            Reporter: Tony Kinnis
>            Assignee: Bryan Duxbury
>            Priority: Critical
>             Fix For: 0.5
>
>         Attachments: test.thrift
>
>
> As of version 0.4.0 the Thrift compiler no longer allows two different enums 
> to have a key with the same name. It seems that this change was introduced by 
> the patch for THRIFT-544. Particularly the patch labeled: 
> thrift-544_prevent_redefining_consts.patch.
> The problem with this patch is that it now blocks this seemingly valid 
> definition.
> enum Foo {
>     A=1,
>     B=2
> }
> enum Bar {
>     A=1,
>     B=2
> }
> If I then run the thrift compiler as follows....
> thrift --gen java test.thrift 
> It will tell me that: test.thrift:7] Enum A is already defined!
> However, this should be valid and has worked in previous versions of Thrift. 
> I believe this patch (thrift-544_prevent_redefining_consts.patch) should be 
> rolled back.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to