diff --git a/compiler/erg_compiler/build_hir.rs b/compiler/erg_compiler/build_hir.rs index 483037a4..9fd70929 100644 --- a/compiler/erg_compiler/build_hir.rs +++ b/compiler/erg_compiler/build_hir.rs @@ -51,7 +51,7 @@ impl Runnable for HIRBuilder { fn clear(&mut self) { self.lowerer.clear(); - self.ownership_checker = OwnershipChecker::new(self.cfg().copy()); + // don't initialize the ownership checker } fn exec(&mut self) -> Result { diff --git a/compiler/erg_compiler/ownercheck.rs b/compiler/erg_compiler/ownercheck.rs index 2b10822c..872bfb60 100644 --- a/compiler/erg_compiler/ownercheck.rs +++ b/compiler/erg_compiler/ownercheck.rs @@ -3,11 +3,11 @@ use std::mem; use erg_common::config::ErgConfig; use erg_common::dict::Dict; use erg_common::error::Location; -use erg_common::log; use erg_common::set::Set; use erg_common::traits::{Locational, Stream}; use erg_common::vis::Visibility; use erg_common::Str; +use erg_common::{impl_display_from_debug, log}; use erg_parser::ast::{ParamPattern, VarName}; use Visibility::*; @@ -29,6 +29,8 @@ struct LocalVars { dropped_vars: Dict, } +impl_display_from_debug!(LocalVars); + /// Check code ownership. /// for example: /// * Check if moved variables are not used again.