[ 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.