Fix equals methods when comparing primitive range with ComparableRange #5475
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.
In my codebase I added a helper method for working with Comparable that creates a range using T..T and I was surprised to see that my tests failed when I was asserting the values against a literal 1L..2L.
This PR fixes that behavior by checking if the other object is of type ClosedRange and then compares the interface fields directly. I couldn't get this to work for Short/Byte because the operator functions for those types return an IntRange (which cannot easily be coerced to/from a ComparableRange, etc). Open to suggestions on how/whether this can be fixed!
Also added a ReadMe to the generators/builtins folder because I couldn't figure out how to run those generators from the other ReadMe files.
Fixes KT-79598