From 07ed9aad2973e2902a415fccef90de579c74c216 Mon Sep 17 00:00:00 2001 From: Manyfestation <240733973+Manyfestation@users.noreply.github.com> Date: Sun, 26 Apr 2026 21:02:05 +0900 Subject: [PATCH] Fix State[] field access for array fields --- debugger/session/src/session.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/debugger/session/src/session.rs b/debugger/session/src/session.rs index 13b5026..7dae3db 100644 --- a/debugger/session/src/session.rs +++ b/debugger/session/src/session.rs @@ -2040,12 +2040,13 @@ fn flatten_contract_type_leaves<'i>(contract: &ContractAst<'i>, type_ref: &TypeR let Some(element_type) = type_ref.element_type() else { return Ok(Vec::new()); }; + let outer_dim = type_ref.array_size().cloned().ok_or_else(|| "array type missing outer dimension".to_string())?; let nested = flatten_contract_type_leaves(contract, &element_type)?; return Ok(nested .into_iter() .map(|(path, leaf_type)| { let mut array_leaf = leaf_type; - array_leaf.array_dims.insert(0, type_ref.array_dims[0].clone()); + array_leaf.array_dims.push(outer_dim.clone()); (path, array_leaf) }) .collect());