Don't require Eq + Hash
for NSSet
values / NSDictionary
keys
#641
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
These are implied by
Message
, since (basically) all objects implementNSObjectProtocol
- and if theisEqual:
/hash
methods aren't implemented, they'll simply throw an error or abort (so it's still sound).Additionally, we remove the previous
NSSet
methodscontains
,is_subset
,is_superset
andis_disjoint
, since they don't match the Objective-C naming scheme, and the underlying methods are now marked as safe.Finally, note that this makes it possible to use
AnyObject
andNSValue
inNSSet
and asNSDictionary
keys (this is likely already done in existing Objective-C code, so is likely the desired behaviour). Since the absence of theEq
implementation forNSValue
is no longer valuable, this PR also implementsEq
forNSValue
.TODO: