Skip to content

Commit 19cb501

Browse files
timfennisclaude
andcommitted
Convert ListPush and MapInsert panics to VmErrors
Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
1 parent 7884cc0 commit 19cb501

1 file changed

Lines changed: 4 additions & 4 deletions

File tree

ndc_vm/src/vm.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -393,10 +393,10 @@ impl Vm {
393393
let frame = self.frames.last().expect("no frame");
394394
let list_val = &self.stack[frame.slot(slot)];
395395
let Value::Object(obj) = list_val else {
396-
panic!("ListPush expects a list")
396+
return Err(VmError::new("ListPush expects a list", span));
397397
};
398398
let Object::List(rc) = &**obj else {
399-
panic!("ListPush expects a list")
399+
return Err(VmError::new("ListPush expects a list", span));
400400
};
401401
rc.borrow_mut().push(value);
402402
}
@@ -407,10 +407,10 @@ impl Vm {
407407
let frame = self.frames.last().expect("no frame");
408408
let map_val = &self.stack[frame.slot(slot)];
409409
let Value::Object(obj) = map_val else {
410-
panic!("MapInsert expects a map")
410+
return Err(VmError::new("MapInsert expects a map", span));
411411
};
412412
let Object::Map { entries, .. } = &**obj else {
413-
panic!("MapInsert expects a map")
413+
return Err(VmError::new("MapInsert expects a map", span));
414414
};
415415
entries.borrow_mut().insert(key, value);
416416
}

0 commit comments

Comments
 (0)