Skip to content

Commit 0a70e15

Browse files
authored
Merge pull request #177 from amaanq/fix-array-constraint
Fix array constraint
2 parents fbf9e50 + 66262e8 commit 0a70e15

File tree

5 files changed

+17844
-17686
lines changed

5 files changed

+17844
-17686
lines changed

corpus/declarations.txt

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2137,3 +2137,36 @@ struct A {
21372137
(scoped_type_identifier
21382138
(identifier)
21392139
(type_identifier))))))
2140+
2141+
================================================================================
2142+
Array Constraint in Where Clause
2143+
================================================================================
2144+
2145+
fn foo<D>(val: D)
2146+
where
2147+
[u8; 32]: From<D>,
2148+
2149+
{}
2150+
2151+
--------------------------------------------------------------------------------
2152+
2153+
(source_file
2154+
(function_item
2155+
(identifier)
2156+
(type_parameters
2157+
(type_identifier))
2158+
(parameters
2159+
(parameter
2160+
(identifier)
2161+
(type_identifier)))
2162+
(where_clause
2163+
(where_predicate
2164+
(array_type
2165+
(primitive_type)
2166+
(integer_literal))
2167+
(trait_bounds
2168+
(generic_type
2169+
(type_identifier)
2170+
(type_arguments
2171+
(type_identifier))))))
2172+
(block)))

grammar.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -440,6 +440,7 @@ module.exports = grammar({
440440
$.reference_type,
441441
$.pointer_type,
442442
$.tuple_type,
443+
$.array_type,
443444
$.higher_ranked_trait_bound,
444445
alias(choice(...primitive_types), $.primitive_type)
445446
)),

src/grammar.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2346,6 +2346,10 @@
23462346
"type": "SYMBOL",
23472347
"name": "tuple_type"
23482348
},
2349+
{
2350+
"type": "SYMBOL",
2351+
"name": "array_type"
2352+
},
23492353
{
23502354
"type": "SYMBOL",
23512355
"name": "higher_ranked_trait_bound"

src/node-types.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4571,6 +4571,10 @@
45714571
"multiple": false,
45724572
"required": true,
45734573
"types": [
4574+
{
4575+
"type": "array_type",
4576+
"named": true
4577+
},
45744578
{
45754579
"type": "generic_type",
45764580
"named": true

0 commit comments

Comments
 (0)