add generics

This commit is contained in:
paul committed 2026-10-23 02:13:30 -04:00
1 parent 79533e9537
commit 2204d58102
22 files changed
+47358 -37579

No files matched your search

+718 -205
View File
File diff suppressed because it is too large. Load diff
+361 -108
View File
@@ -65,10 +65,6 @@
"type": "character_literal",
"named": true
},
{
"type": "nil_literal",
"named": true
},
{
"type": "signed_numeric_literal",
"named": true
@@ -129,10 +125,6 @@
"type": "identifier",
"named": true
},
{
"type": "nil_literal",
"named": true
},
{
"type": "product_pattern",
"named": true
@@ -156,10 +148,6 @@
{
"type": "unit_pattern",
"named": true
},
{
"type": "wrapper_pattern",
"named": true
}
]
},
@@ -263,6 +251,10 @@
"type": "optional_type",
"named": true
},
{
"type": "output_type",
"named": true
},
{
"type": "primitive_type",
"named": true
@@ -494,6 +486,10 @@
"type": "map_type",
"named": true
},
{
"type": "output_type",
"named": true
},
{
"type": "primitive_type",
"named": true
@@ -538,6 +534,10 @@
"type": "binary_expression",
"named": true
},
{
"type": "pipeline_expression",
"named": true
},
{
"type": "postfix_expression",
"named": true
@@ -654,6 +654,10 @@
"type": "binary_expression",
"named": true
},
{
"type": "pipeline_expression",
"named": true
},
{
"type": "postfix_expression",
"named": true
@@ -742,6 +746,10 @@
"type": "binary_expression",
"named": true
},
{
"type": "pipeline_expression",
"named": true
},
{
"type": "postfix_expression",
"named": true
@@ -759,15 +767,71 @@
}
},
{
"type": "bits_constructor",
"type": "binder",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "binder_entry",
"named": true
}
]
}
},
{
"type": "binder_entry",
"named": true,
"fields": {
"constraint": {
"multiple": false,
"required": false,
"types": [
{
"type": "constraint_body",
"named": true
},
{
"type": "type_name",
"named": true
}
]
},
"type": {
"multiple": false,
"required": true,
"types": [
{
"type": "type_expression",
"named": true
}
]
}
}
},
{
"type": "bits_constructor",
"named": true,
"fields": {
"type": {
"multiple": false,
"required": false,
"types": [
{
"type": "type_name",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "type_name",
"type": "identifier",
"named": true
}
]
@@ -795,13 +859,24 @@
{
"type": "bits_pattern",
"named": true,
"fields": {},
"fields": {
"type": {
"multiple": false,
"required": false,
"types": [
{
"type": "type_name",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "type_name",
"type": "identifier",
"named": true
}
]
@@ -895,6 +970,67 @@
]
}
},
{
"type": "constraint_body",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "constraint_entry",
"named": true
},
{
"type": "constraint_spread",
"named": true
}
]
}
},
{
"type": "constraint_entry",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"output": {
"multiple": false,
"required": true,
"types": [
{
"type": "type_expression",
"named": true
}
]
}
}
},
{
"type": "constraint_spread",
"named": true,
"fields": {
"constraint": {
"multiple": false,
"required": true,
"types": [
{
"type": "type_name",
"named": true
}
]
}
}
},
{
"type": "continuation_pipeline_stage",
"named": true,
@@ -944,6 +1080,16 @@
"type": "declaration",
"named": true,
"fields": {
"binder": {
"multiple": false,
"required": false,
"types": [
{
"type": "binder",
"named": true
}
]
},
"name": {
"multiple": false,
"required": false,
@@ -1152,6 +1298,10 @@
"type": "optional_type",
"named": true
},
{
"type": "output_type",
"named": true
},
{
"type": "primitive_type",
"named": true
@@ -1254,6 +1404,22 @@
}
}
},
{
"type": "import_filter",
"named": true,
"fields": {
"type": {
"multiple": false,
"required": true,
"types": [
{
"type": "type_expression",
"named": true
}
]
}
}
},
{
"type": "import_member",
"named": true,
@@ -1278,6 +1444,16 @@
}
]
}
},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "import_filter",
"named": true
}
]
}
},
{
@@ -1353,6 +1529,10 @@
"type": "map_type",
"named": true
},
{
"type": "output_type",
"named": true
},
{
"type": "primitive_type",
"named": true
@@ -1486,6 +1666,10 @@
"type": "map_type",
"named": true
},
{
"type": "output_type",
"named": true
},
{
"type": "primitive_type",
"named": true
@@ -1518,6 +1702,42 @@
}
}
},
{
"type": "output_type",
"named": true,
"fields": {
"constructor": {
"multiple": false,
"required": true,
"types": [
{
"type": "type_name",
"named": true
}
]
},
"function": {
"multiple": false,
"required": true,
"types": [
{
"type": "type_name",
"named": true
}
]
},
"output": {
"multiple": false,
"required": true,
"types": [
{
"type": "type_expression",
"named": true
}
]
}
}
},
{
"type": "pattern",
"named": true,
@@ -1564,6 +1784,14 @@
"type": "binary_expression",
"named": true
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "character_literal",
"named": true
},
{
"type": "function_literal",
"named": true
@@ -1580,9 +1808,21 @@
"type": "range_expression",
"named": true
},
{
"type": "signed_numeric_literal",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unit_literal",
"named": true
}
]
}
@@ -1789,7 +2029,33 @@
"required": false,
"types": [
{
"type": "identifier",
"type": "pub_entry",
"named": true
}
]
}
},
{
"type": "pub_entry",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "import_filter",
"named": true
}
]
@@ -1822,6 +2088,10 @@
"type": "binary_expression",
"named": true
},
{
"type": "pipeline_expression",
"named": true
},
{
"type": "postfix_expression",
"named": true
@@ -1858,6 +2128,10 @@
"type": "binary_expression",
"named": true
},
{
"type": "pipeline_expression",
"named": true
},
{
"type": "postfix_expression",
"named": true
@@ -1898,6 +2172,10 @@
"type": "map_type",
"named": true
},
{
"type": "output_type",
"named": true
},
{
"type": "primitive_type",
"named": true
@@ -1948,6 +2226,10 @@
"type": "map_type",
"named": true
},
{
"type": "output_type",
"named": true
},
{
"type": "primitive_type",
"named": true
@@ -2048,22 +2330,53 @@
{
"type": "sum_constructor",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "type_name",
"named": true
}
]
}
},
{
"type": "sum_pattern",
"named": true,
"fields": {
"type": {
"multiple": false,
"required": false,
"types": [
{
"type": "type_name",
"named": true
}
]
},
"variant": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
}
},
{
"type": "sum_pattern",
"named": true,
"fields": {
"payload": {
"multiple": false,
"required": false,
"types": [
{
"type": "pattern_atom",
"named": true
}
]
},
"type": {
"multiple": false,
"required": false,
"types": [
{
"type": "type_name",
"named": true
}
]
},
"variant": {
"multiple": false,
"required": true,
@@ -2074,20 +2387,6 @@
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "pattern_atom",
"named": true
},
{
"type": "type_name",
"named": true
}
]
}
},
{
@@ -2224,6 +2523,10 @@
"multiple": false,
"required": true,
"types": [
{
"type": "constraint_body",
"named": true
},
{
"type": "type_expression",
"named": true
@@ -2269,6 +2572,10 @@
"type": "optional_type",
"named": true
},
{
"type": "output_type",
"named": true
},
{
"type": "primitive_type",
"named": true
@@ -2354,6 +2661,10 @@
"multiple": false,
"required": true,
"types": [
{
"type": "pipeline_expression",
"named": true
},
{
"type": "postfix_expression",
"named": true
@@ -2376,22 +2687,10 @@
"type": "-",
"named": false
},
{
"type": "err",
"named": false
},
{
"type": "not",
"named": false
},
{
"type": "ok",
"named": false
},
{
"type": "some",
"named": false
},
{
"type": "~",
"named": false
@@ -2439,6 +2738,10 @@
"multiple": true,
"required": true,
"types": [
{
"type": "import_filter",
"named": true
},
{
"type": "import_member",
"named": true
@@ -2450,40 +2753,6 @@
]
}
},
{
"type": "wrapper_pattern",
"named": true,
"fields": {
"value": {
"multiple": false,
"required": true,
"types": [
{
"type": "pattern_atom",
"named": true
}
]
},
"wrapper": {
"multiple": false,
"required": true,
"types": [
{
"type": "err",
"named": false
},
{
"type": "ok",
"named": false
},
{
"type": "some",
"named": false
}
]
}
}
},
{
"type": "!",
"named": false
@@ -2697,10 +2966,6 @@
"type": "else",
"named": false
},
{
"type": "err",
"named": false
},
{
"type": "f32",
"named": false
@@ -2761,10 +3026,6 @@
"type": "match",
"named": false
},
{
"type": "nil_literal",
"named": true
},
{
"type": "not",
"named": false
@@ -2773,10 +3034,6 @@
"type": "nvr",
"named": false
},
{
"type": "ok",
"named": false
},
{
"type": "or",
"named": false
@@ -2789,10 +3046,6 @@
"type": "return",
"named": false
},
{
"type": "some",
"named": false
},
{
"type": "str",
"named": false
+45540 -37130
View File
File diff suppressed because it is too large. Load diff