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


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.

Reply via email to