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.
Depends on #1817.
Patterns were annotated with a span, which must always be a well-defined location in the source file. The implementation of full pattern matching - i.e. allowing match expression to have arbirary patterns on the left hand side of "=>" - showed that this is an issue, because enum contracts is implemented by generating a match expression, which doesn't have a proper position.
This commit switches to optional positions instead, as is customary for other subterms, delaying the fearful
pos.unwrap()
to the latest moment possible, when we need to generate a contract and build aLabel
during a pattern destructuring which shouldn't affect the contract-generated match expressions.