[ 
https://issues.apache.org/jira/browse/THRIFT-2628?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Anthony Molinaro reopened THRIFT-2628:
--------------------------------------


Breaking backwards compatibility in this way is unacceptable.  I have tons of 
production erlang code which would have to be changed if this remains as is.  
Why didn't this happen the way I suggested with an option for mixed_case.  I 
think I might have mostly made it through that change.  I'll dig around and see 
what I have, but breaking backwards compatibility is really bad.

> erlang: struct member name conflicts due to lowercased names
> ------------------------------------------------------------
>
>                 Key: THRIFT-2628
>                 URL: https://issues.apache.org/jira/browse/THRIFT-2628
>             Project: Thrift
>          Issue Type: Bug
>          Components: Erlang - Compiler, Erlang - Library
>            Reporter: alisdair sullivan
>            Assignee: Roger Meier
>              Labels: erlang
>             Fix For: 0.9.2
>
>
> the erlang backend generates records to represent structs. instead of the 
> unique sequential id they use the struct field name as the record keys. 
> records in erlang do not support repeated keys so generated erlang modules do 
> not compile
> the most obvious fix is to refuse to generate code from structs with repeated 
> keys but this means the erlang backend is not capable of handling all valid 
> structs
> the easiest fix is to switch structs to use the unique sequential ids as the 
> keys of the record but this breaks backwards compatibility and probably 
> necessitates generating helper functions to retrieve fields by name
> also possible is switching to an erlang data structure that supports repeated 
> keys but this would also require breaking backwards compatibility



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to