diff --git a/src/protocol/parser.rs b/src/protocol/parser.rs index c1fc2d7946e1821a4871a8094483d2f01fd11c40..da7f78c16934df9f13e2bce24528a3e1459a8502 100644 --- a/src/protocol/parser.rs +++ b/src/protocol/parser.rs @@ -1626,14 +1626,11 @@ impl Visitor for IndexableExpressions { h: &mut Heap, expr: IndexingExpressionId, ) -> VisitorResult { - if self.indexable { - self.error(h[expr].position) - } else { - self.indexable = true; - self.visit_expression(h, h[expr].subject)?; - self.indexable = false; - self.visit_expression(h, h[expr].index) - } + let old = self.indexable; + self.indexable = false; + self.visit_expression(h, h[expr].subject)?; + self.indexable = old; + self.visit_expression(h, h[expr].index) } fn visit_slicing_expression( &mut self,