From fca50268754174283ecd564977d1b56e289fe567 Mon Sep 17 00:00:00 2001 From: Jeremy Wall Date: Sun, 8 Oct 2023 19:18:24 -0400 Subject: [PATCH] feat: module type inference --- src/ast/mod.rs | 4 ++++ src/ast/typecheck/mod.rs | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/ast/mod.rs b/src/ast/mod.rs index 4d8847c..c9a94eb 100644 --- a/src/ast/mod.rs +++ b/src/ast/mod.rs @@ -926,6 +926,10 @@ impl ModuleDef { pub fn set_out_expr(&mut self, expr: Expression) { self.out_expr = Some(Box::new(expr)); } + + pub fn derive_shape(&mut self, expr: Expression) { + todo!() + } } /// RangeDef defines a range with optional step. diff --git a/src/ast/typecheck/mod.rs b/src/ast/typecheck/mod.rs index 13555dc..11ecbb6 100644 --- a/src/ast/typecheck/mod.rs +++ b/src/ast/typecheck/mod.rs @@ -245,7 +245,7 @@ impl DeriveShape for Expression { Expression::Func(def) => def.derive_shape(symbol_table), Expression::Select(def) => def.derive_shape(symbol_table), Expression::FuncOp(_) => todo!(), - Expression::Module(_) => todo!(), + Expression::Module(def) => def.derive_shape(symbol_table), Expression::Fail(_) => todo!(), Expression::Debug(_) => todo!(), }