diff --git a/src/arc/compiler.cpp b/src/arc/compiler.cpp index ef4e2e11..14b726b5 100644 --- a/src/arc/compiler.cpp +++ b/src/arc/compiler.cpp @@ -1521,6 +1521,7 @@ auto compiler::emit_expr_field_ref(expr_field const& exp, bool set) -> void break; case node::expr_identifier: emit_opcode(opcode::OP_EvalLocalVariableCached, fmt::format("{}", variable_access(exp.obj->as()))); + emit_opcode(opcode::OP_CastFieldObject); emit_opcode(opcode::OP_EvalFieldVariableRef, field); if (set) emit_opcode(opcode::OP_SetVariableField); break;