File tree Expand file tree Collapse file tree 2 files changed +19
-1
lines changed Expand file tree Collapse file tree 2 files changed +19
-1
lines changed Original file line number Diff line number Diff line change @@ -18,6 +18,10 @@ function foo<T, U>(this: T[]): U[] {
18
18
return []
19
19
}
20
20
21
+ function foo<const T, const U extends string>(x: T, y: U) {
22
+
23
+ }
24
+
21
25
---
22
26
23
27
(program
@@ -57,7 +61,20 @@ function foo<T, U>(this: T[]): U[] {
57
61
pattern: (this)
58
62
type: (type_annotation (array_type (type_identifier)))))
59
63
return_type: (type_annotation (array_type (type_identifier)))
60
- body: (statement_block (return_statement (array)))))
64
+ body: (statement_block (return_statement (array))))
65
+ (function_declaration
66
+ name: (identifier)
67
+ type_parameters: (type_parameters
68
+ (type_parameter name: (type_identifier))
69
+ (type_parameter name: (type_identifier) constraint: (constraint (predefined_type))))
70
+ parameters: (formal_parameters
71
+ (required_parameter
72
+ pattern: (identifier)
73
+ type: (type_annotation (type_identifier)))
74
+ (required_parameter
75
+ pattern: (identifier)
76
+ type: (type_annotation (type_identifier))))
77
+ body: (statement_block)))
61
78
62
79
==================================
63
80
New object with type arguments
Original file line number Diff line number Diff line change @@ -894,6 +894,7 @@ module.exports = function defineGrammar(dialect) {
894
894
) ,
895
895
896
896
type_parameter : $ => seq (
897
+ optional ( 'const' ) ,
897
898
field ( 'name' , $ . _type_identifier ) ,
898
899
field ( 'constraint' , optional ( $ . constraint ) ) ,
899
900
field ( 'value' , optional ( $ . default_type ) )
You can’t perform that action at this time.
0 commit comments