fix: Prism preview/preuse infinite loop, _Nothing match - #1632
Merged
Conversation
preview/preuse in Miso.Lens were self-referential (asks . preview / gets . preview) instead of calling the Prism's _down field, causing a <<loop>> the moment either was invoked; (^?) inherited the same bug. _Nothing's match function was copy-pasted from _Just (id), so it behaved identically to _Just instead of matching the Nothing case. Retyped to Prism (Maybe a) () to match conventional prism-library semantics. Added tests alongside the existing Miso.Lens tests covering review, (^?), preview, preuse, and _Nothing.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
preview/preuseinMiso.Lenswere self-referential (asks.preview/gets.preview) instead of calling the Prism's_downfield, causing a<<loop>>the moment either was invoked;(^?)inherited the same bug._Nothing's match function was copy-pasted from _Just (id), so it behaved identically to_Justinstead of matching theNothingcase. Retyped toPrism (Maybe a) ()to match conventional prism-library semantics.Added tests alongside the existing
Miso.Lenstests covering review,(^?),preview,preuse, and_Nothing.