diff --git a/compiler/compiler/src/compiler.rs b/compiler/compiler/src/compiler.rs index 3cca1596c3..5ffd81eae4 100644 --- a/compiler/compiler/src/compiler.rs +++ b/compiler/compiler/src/compiler.rs @@ -146,30 +146,30 @@ impl<'a> Compiler<'a> { /// /// Runs the symbol table pass. /// - pub fn symbol_table_pass(&self) -> Result> { + pub fn symbol_table_pass(&self) -> Result { CreateSymbolTable::do_pass((&self.ast, self.handler)) } /// /// Runs the type checker pass. /// - pub fn type_checker_pass(&'a self, symbol_table: &mut SymbolTable<'_>) -> Result<()> { - TypeChecker::do_pass((&self.ast, &mut symbol_table.clone(), self.handler)) + pub fn type_checker_pass(&'a self, symbol_table: SymbolTable) -> Result { + TypeChecker::do_pass((&self.ast, self.handler, symbol_table)) } /// /// Runs the compiler stages. /// - pub fn compiler_stages(&self) -> Result> { - let mut st = self.symbol_table_pass()?; - self.type_checker_pass(&mut st)?; + pub fn compiler_stages(&self) -> Result { + let st = self.symbol_table_pass()?; + let st = self.type_checker_pass(st)?; Ok(st) } /// /// Returns a compiled Leo program. /// - pub fn compile(&mut self) -> Result> { + pub fn compile(&mut self) -> Result { self.parse_program()?; self.compiler_stages() }