From 017b474f0c226027e75832aa749dadb68bc863bf Mon Sep 17 00:00:00 2001 From: sofia Date: Wed, 16 Jul 2025 19:02:23 +0300 Subject: [PATCH] Fix StructValueIndex never constructed --- reid/src/ast/parse.rs | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/reid/src/ast/parse.rs b/reid/src/ast/parse.rs index d1713b3..40d58ce 100644 --- a/reid/src/ast/parse.rs +++ b/reid/src/ast/parse.rs @@ -425,11 +425,21 @@ impl Parse for VariableReference { stream.get_range().unwrap(), ); - while let Ok(ArrayValueIndex(idx)) = stream.parse() { - var_ref = VariableReference( - VariableReferenceKind::ArrayIndex(Box::new(var_ref), idx), - stream.get_range().unwrap(), - ); + while let Ok(val) = stream.parse::() { + match val { + ValueIndex::Array(ArrayValueIndex(idx)) => { + var_ref = VariableReference( + VariableReferenceKind::ArrayIndex(Box::new(var_ref), idx), + stream.get_range().unwrap(), + ); + } + ValueIndex::Struct(StructValueIndex(name)) => { + var_ref = VariableReference( + VariableReferenceKind::StructIndex(Box::new(var_ref), name), + stream.get_range().unwrap(), + ); + } + } } Ok(var_ref)