about summary refs log tree commit diff
path: root/src/parser.zig
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/parser.zig8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/parser.zig b/src/parser.zig
index 9d40c65..d7c54f8 100644
--- a/src/parser.zig
+++ b/src/parser.zig
@@ -556,13 +556,15 @@ pub const Parser = struct {
 
         var parameters = std.ArrayList(*Node).init(self.arena);
         var first = true;
-        while (self.accept_parse(parse_type)) |type_annotation| {
+        while (true) {
             if (!first) {
-                _ = try self.parse_token(tokenizer.TokenType.COMMA);
+                _ = self.accept_token(tokenizer.TokenType.COMMA);
             }
-            try parameters.append(type_annotation);
             first = false;
+            const type_annotation = self.accept_parse(parse_type) orelse break;
+            try parameters.append(type_annotation);
         }
+
         _ = try self.parse_token(tokenizer.TokenType.RPAREN);
 
         _ = try self.parse_token(tokenizer.TokenType.ARROW);