diff --git a/mers_lib/src/info/mod.rs b/mers_lib/src/info/mod.rs index 85b6573..0c71971 100755 --- a/mers_lib/src/info/mod.rs +++ b/mers_lib/src/info/mod.rs @@ -52,7 +52,7 @@ impl Local for Info { } fn duplicate(&self) -> Self { Self { - scopes: self.scopes.iter().map(|v| v.duplicate()).collect(), + scopes: vec![self.scopes[0].duplicate()], global: self.global.clone(), } } diff --git a/mers_lib/src/program/parsed/include_mers.rs b/mers_lib/src/program/parsed/include_mers.rs index 16dca44..70c3315 100644 --- a/mers_lib/src/program/parsed/include_mers.rs +++ b/mers_lib/src/program/parsed/include_mers.rs @@ -28,7 +28,7 @@ impl MersStatement for IncludeMers { comp: CompInfo, ) -> Result, CheckError> { let compiled: Arc> = - match self.include.compile(info, comp) { + match self.include.compile(&mut info.duplicate(), comp) { Ok(v) => Arc::new(v), Err(e) => { return Err(CheckError::new()