Covariant return types for intersect methods #107
Merged
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.
The
minusAll
method is overridden in subtypes ofPSet
so that it returns those particular subtypes.This PR does the same for
intersect
.Implementation notes
The DRY principle would suggest that the subtypes should call the
super
version of the method. However, this would require a downcast. I opted instead to just duplicate the one-liner method implementation, but perhaps the downcast would be cleaner?