By introducing __eq__, naturally Role became unhashable, because equality was calculated based on a property of Role (role.key == another_role.key), and no longer structurally ("1" == "1").
This changeset removes __eq__, as Role is being used downstream as a hasheable object, and adds a test to ensure Role's hasheability
coverage: 74.114% (+0.008%) from 74.106% when pulling df283ed038c6411a72680c48f9d01d4449664a1d on make-role-hashable into 8994f8c6a30a60fd7c63071fb8e50a5dcff85a6c on master.
Technical changes
Role
hashable__eq__
, naturallyRole
became unhashable, because equality was calculated based on a property ofRole
(role.key == another_role.key
), and no longer structurally ("1" == "1"
).__eq__
, asRole
is being used downstream as a hasheable object, and adds a test to ensureRole
's hasheability