fix: properly capture Rust array expressions #610
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.
Issue
Contents of Rust
array_expressions is ignored. E.g. the following pattern:Matches every line of the following snippet:
Cause
It seems that the cause is that the
array_expressionrule captures only thelengthfield (e.g.,32in[0u8; 32]), but not anything else.https://github.com/getgrit/gritql/blob/5af841f57592f287bdd736a87ec4008c77d88603/resources/node-types/rust-node-types.json#L522-L536
Fix in this PR
This PR adds fields
repeat(e.g.,0u8in[0u8; 32]) andelements(e.g.a,b,cin[a,b,c]).Related Rust reference page: https://doc.rust-lang.org/reference/expressions/array-expr.html