[ https://issues.apache.org/jira/browse/THRIFT-895?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12907894#action_12907894 ]
Tony Kinnis commented on THRIFT-895: ------------------------------------ I can see from the comments in the referenced bug that this was an attempt to fix an Erlang issue. In this case I think it would have been better to change those code generators that were misbehaving rather than disabling the feature. The IDL does not specify that this is not allowed. Additionally, this was allowed in previous versions of Thrift and works without issue in other languages. I would consider this to be a fairly serious regression as it would surely break anyone who tried to upgrade to 0.4 that was making use of enumerations that had the same key names. I believe requiring an enum value to be globally unique is less than ideal and I hope others agree. >From the looks of things it appears that Bryan is targeting this fix for 0.5. >Does anyone have an estimate as to when 0.5 will ship, or could the fix be put >into a patch release (0.4.x)? > 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.