Wingman: Don't clobber where clauses #2184
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.
Wingman generates lambdas and case expressions by default. When it thinks it's operating over a top-level hole, it will instead replace the entire match group, by desugaring the lambdas and cases into explicit matches. This works fine unless there's a
where
attached to the original match group --- in which case it gets clobbered.This PR prevents the match-group splicing behavior if there's a
where
attached to the hole. It's not the world's best fix, but it's a quick fix. The bug is pretty destructive so I'd rather get it fixed quickly than perfectly. And it's not clear what a perfect solution would look like here.Fixes #2183