-
Notifications
You must be signed in to change notification settings - Fork 147
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Correct logic when to orphan Hashable ByteArray #2460
Conversation
I will add Fixes #2453 to the commit msg when I squash merge. Forgot that. |
LGTM, I'm running the script I posted earlier to verify that this works. |
If it gives a different result on |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
OK: ghc-9.2.7, hashable-1.4.2.0, primitive-0.7.4.0
OK: ghc-9.2.7, hashable-1.4.0.2, primitive-0.8.0.0
OK: ghc-9.2.7, hashable-1.4.1.0, primitive-0.8.0.0
OK: ghc-9.2.7, hashable-1.4.0.2, primitive-0.7.4.0
OK: ghc-9.2.7, hashable-1.4.2.0, primitive-0.8.0.0
OK: ghc-9.2.7, hashable-1.4.1.0, primitive-0.7.4.0
OK: ghc-9.0.2, hashable-1.4.1.0, primitive-0.8.0.0
OK: ghc-9.0.2, hashable-1.4.1.0, primitive-0.7.4.0
OK: ghc-9.0.2, hashable-1.4.2.0, primitive-0.7.4.0
OK: ghc-9.0.2, hashable-1.4.0.2, primitive-0.8.0.0
OK: ghc-9.0.2, hashable-1.4.0.2, primitive-0.7.4.0
OK: ghc-9.0.2, hashable-1.4.2.0, primitive-0.8.0.0
OK: ghc-8.10.7, hashable-1.4.2.0, primitive-0.8.0.0
OK: ghc-8.10.7, hashable-1.4.2.0, primitive-0.7.4.0
OK: ghc-8.10.7, hashable-1.4.1.0, primitive-0.8.0.0
OK: ghc-8.10.7, hashable-1.4.1.0, primitive-0.7.4.0
OK: ghc-8.10.7, hashable-1.4.0.2, primitive-0.8.0.0
OK: ghc-8.10.7, hashable-1.4.0.2, primitive-0.7.4.0
OK: ghc-8.8.4, hashable-1.4.2.0, primitive-0.8.0.0
OK: ghc-8.8.4, hashable-1.4.2.0, primitive-0.7.4.0
OK: ghc-8.8.4, hashable-1.4.1.0, primitive-0.7.4.0
OK: ghc-8.8.4, hashable-1.4.1.0, primitive-0.8.0.0
OK: ghc-8.8.4, hashable-1.4.0.2, primitive-0.7.4.0
OK: ghc-8.8.4, hashable-1.4.0.2, primitive-0.8.0.0
OK: ghc-8.6.5, hashable-1.4.1.0, primitive-0.8.0.0
OK: ghc-8.6.5, hashable-1.4.1.0, primitive-0.7.4.0
OK: ghc-8.6.5, hashable-1.4.2.0, primitive-0.7.4.0
OK: ghc-8.6.5, hashable-1.4.2.0, primitive-0.8.0.0
OK: ghc-8.6.5, hashable-1.4.0.2, primitive-0.8.0.0
OK: ghc-8.6.5, hashable-1.4.0.2, primitive-0.7.4.0
PR #2448 and #2449 were incomplete, missing some cases where we still needed to create an orphan instance for
Hashable ByteArray
ourselves. This should get it right, including for when we will support GHC 9.4 (which is guarded by the expressionMIN_VERSION_base(4,17,0)
).Note that the Package Versioning Policy has something to say about defining orphan instances like this:
I think we used to violate this rule, but not any longer :-). Because we now switch off the orphan instance generation starting at a certain version of the dependencies, so we can freely depend in the usual only-major fashion on them again.
Why to be backwards compatible though? The problem here was forwards compatibility, it seems to go both ways. Maybe a simple case of phrasing, or you're supposed to switch your view point, it's always backwards from one side ;-).
Fixes #2453
Still TODO:
Write a changelog entry (see changelog/README.md)