diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/parser/event_parser/grammar/items.rs | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/parser/event_parser/grammar/items.rs b/src/parser/event_parser/grammar/items.rs index 12b6d06c7..d341dce38 100644 --- a/src/parser/event_parser/grammar/items.rs +++ b/src/parser/event_parser/grammar/items.rs | |||
@@ -127,18 +127,21 @@ fn pos_fields(p: &mut Parser) { | |||
127 | if !p.expect(L_PAREN) { | 127 | if !p.expect(L_PAREN) { |
128 | return; | 128 | return; |
129 | } | 129 | } |
130 | comma_list(p, R_PAREN, |p| { | 130 | loop { |
131 | pos_field(p); | 131 | if p.at(R_PAREN) || p.at(EOF) { |
132 | true | 132 | break; |
133 | }); | 133 | } |
134 | p.expect(R_PAREN); | ||
135 | 134 | ||
136 | fn pos_field(p: &mut Parser) { | ||
137 | let pos_field = p.start(); | 135 | let pos_field = p.start(); |
138 | visibility(p); | 136 | visibility(p); |
139 | types::type_ref(p); | 137 | types::type_ref(p); |
140 | pos_field.complete(p, POS_FIELD); | 138 | pos_field.complete(p, POS_FIELD); |
139 | |||
140 | if !p.at(R_PAREN) { | ||
141 | p.expect(COMMA); | ||
142 | } | ||
141 | } | 143 | } |
144 | p.expect(R_PAREN); | ||
142 | } | 145 | } |
143 | 146 | ||
144 | fn generic_parameters(_: &mut Parser) {} | 147 | fn generic_parameters(_: &mut Parser) {} |