diff --git a/reid/src/codegen.rs b/reid/src/codegen.rs index be75935..33af878 100644 --- a/reid/src/codegen.rs +++ b/reid/src/codegen.rs @@ -265,7 +265,7 @@ impl mir::Statement { ) -> Option { match &self.0 { mir::StmtKind::Let(NamedVariableRef(ty, name, _), mutable, expression) => { - let value = expression.codegen(scope, state).unwrap(); + let value = expression.codegen(scope, &state.load(true)).unwrap(); scope.stack_values.insert( name.clone(), StackValue( diff --git a/reid_src/array_structs.reid b/reid_src/array_structs.reid index 89c001b..17b6861 100644 --- a/reid_src/array_structs.reid +++ b/reid_src/array_structs.reid @@ -14,7 +14,10 @@ fn main() -> u32 { let val1 = 0; let val2 = 1; - value[val1].second[val2 + 1] = 99; + // value[val1].second[val2 + 1] = 99; + + let mut b = value[val1]; + b.second[2] = 99; return value[0].second[2]; }