gccrs: Implement rest pattern support for slice patterns #4062
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.
My meatiest PR to this repo so far. I'm ready to be grilled for my code style (especially in
rust-compile-pattern.cc
).Similar to my changes made to the AST for rest-pattern-in-slice-pattern support, the main change is adding
SlicePatternItemsNoRest
andSlicePatternItemsHasRest
classes which hold patterns forHIR::SlicePattern
. The changes made torust-compile-pattern.cc
is also quite significant due to having 4 different cases to handle (array parent + no rest, array parent + has rest, slice parent + no rest, slice parent + has rest) - reviewers should focus more on that file, since other changes are mainly cascading changes stemmed from the introduction of new classes.