File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff 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 }
You can’t perform that action at this time.
0 commit comments