diff options
Diffstat (limited to 'tvix/eval/src/chunk.rs')
-rw-r--r-- | tvix/eval/src/chunk.rs | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/tvix/eval/src/chunk.rs b/tvix/eval/src/chunk.rs index 5026cdb73651..9f2fdf54dc82 100644 --- a/tvix/eval/src/chunk.rs +++ b/tvix/eval/src/chunk.rs @@ -1,5 +1,5 @@ use std::io::Write; -use std::ops::Index; +use std::ops::{Index, IndexMut}; use crate::opcode::{CodeIdx, ConstantIdx, OpCode}; use crate::value::Value; @@ -51,6 +51,12 @@ impl Index<CodeIdx> for Chunk { } } +impl IndexMut<CodeIdx> for Chunk { + fn index_mut(&mut self, index: CodeIdx) -> &mut Self::Output { + &mut self.code[index.0] + } +} + impl Chunk { pub fn push_op(&mut self, data: OpCode, span: codemap::Span) -> CodeIdx { let idx = self.code.len(); |