summary refs log tree commit diff stats
path: root/src/vm
diff options
context:
space:
mode:
Diffstat (limited to 'src/vm')
-rw-r--r--src/vm/de.rs11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/vm/de.rs b/src/vm/de.rs
index a4efad5..985b1b2 100644
--- a/src/vm/de.rs
+++ b/src/vm/de.rs
@@ -527,7 +527,7 @@ where
         let old_collecting = self.collecting;
         let pat = self.interp.pat;
         let mut collecting = old_collecting;
-        self.frames_mut().iter_active_mut().try_for_each(|frame| {
+        let typeck = self.frames_mut().iter_active_mut().try_for_each(|frame| {
             let ty = frame.get_type();
             match ty {
                 | Some((Type::Map, _))
@@ -547,7 +547,14 @@ where
                 collecting = true;
             }
             Ok(())
-        })?;
+        });
+        match typeck {
+            Err(e) => {
+                self.interp.error.insert(e);
+                return Err(todo!());
+            },
+            _ => (),
+        }
         if let Err(e) = self.step_in() { return Err(e); }
         self.collecting = collecting;
         let mut subframes = Vec::new();