about summary refs log tree commit diff
path: root/src/commands/eval.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/commands/eval.rs')
-rw-r--r--src/commands/eval.rs6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/commands/eval.rs b/src/commands/eval.rs
index 112bee64625b..61a712c08a8e 100644
--- a/src/commands/eval.rs
+++ b/src/commands/eval.rs
@@ -3,6 +3,7 @@ use clap::Clap;
 use crate::codegen;
 use crate::interpreter;
 use crate::parser;
+use crate::tc;
 use crate::Result;
 
 /// Evaluate an expression and print its result
@@ -19,10 +20,11 @@ pub struct Eval {
 impl Eval {
     pub fn run(self) -> Result<()> {
         let (_, parsed) = parser::expr(&self.expr)?;
+        let hir = tc::typecheck_expr(parsed)?;
         let result = if self.jit {
-            codegen::jit_eval::<i64>(&parsed)?.into()
+            codegen::jit_eval::<i64>(&hir)?.into()
         } else {
-            interpreter::eval(&parsed)?
+            interpreter::eval(&hir)?
         };
         println!("{}", result);
         Ok(())