[
https://issues.apache.org/jira/browse/THRIFT-231?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12711683#action_12711683
]
Bryan Duxbury commented on THRIFT-231:
--------------------------------------
Hey Dan, what do you think about handling the performance improvements for this
issue on THRIFT-511? I'd prefer to keep this issue closed and not add any new
patches.
> Ruby generated structs lack a hash method, and thus cannot be used as map
> keys or set members
> ---------------------------------------------------------------------------------------------
>
> Key: THRIFT-231
> URL: https://issues.apache.org/jira/browse/THRIFT-231
> Project: Thrift
> Issue Type: Bug
> Components: Compiler (Ruby), Library (Ruby)
> Reporter: Bryan Duxbury
> Assignee: Bryan Duxbury
> Attachments: thrift-231.patch, thrift231.patch
>
>
> Since generated structs don't define a hash method in Ruby, it defaults to a
> unique number every time. This means that even if two objects have equal
> values, they will not have equal hashcodes. As a result, if you try to create
> a set of these structs and subsequently attempt to test membership on an
> equal struct, it'll always return false. The same problem prevents structs
> from being used as map keys.
> At the very least, we should define a hash method that always returns 0 and
> leave it up to the chaining to resolve the problem. A slightly more
> appropriate move would be to have the hashcode of a struct be the composition
> of its member values.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.