Macro called in pattern-without-range expand to a _single_ pattern #494
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.
The current specification says that a macro called in pattern context can expand to zero or more patterns.
I believe this is incorrect, as e.g.
0 1 _
is effectively 0 or more patterns, but is not a valid expansion (playground link). Similarly, expanding to 0 patterns is invalid (playground link).As I understand it, the intent was to state that e.g.
0 | 1 | _
is a valid expansion for a pattern called in pattern context. As such, I changed the wording so that macro calls in pattern context must expand to a pattern, which matches0 | 1 | _
and makes "expanding to zero patterns" invalid.