diff --git a/src/ast.rs b/src/ast.rs index 87aeaeb5..72eedf1e 100644 --- a/src/ast.rs +++ b/src/ast.rs @@ -280,8 +280,9 @@ impl AST { } /// Get the embedded [module resolver][`ModuleResolver`]. #[cfg(not(feature = "no_module"))] + #[cfg(not(feature = "internals"))] #[inline(always)] - pub(crate) fn shared_resolver( + pub(crate) fn resolver( &self, ) -> Option> { self.resolver.clone() @@ -291,8 +292,8 @@ impl AST { #[cfg(not(feature = "no_module"))] #[cfg(feature = "internals")] #[inline(always)] - pub fn resolver(&self) -> Option<&dyn crate::ModuleResolver> { - self.resolver.map(|r| &*r) + pub fn resolver(&self) -> Option> { + self.resolver.clone() } /// Set the embedded [module resolver][`ModuleResolver`]. #[cfg(not(feature = "no_module"))] diff --git a/src/engine_api.rs b/src/engine_api.rs index 02775b00..d2af0960 100644 --- a/src/engine_api.rs +++ b/src/engine_api.rs @@ -1520,7 +1520,7 @@ impl Engine { let state = &mut State { source: ast.clone_source(), #[cfg(not(feature = "no_module"))] - resolver: ast.shared_resolver(), + resolver: ast.resolver(), ..Default::default() }; self.eval_statements_raw(scope, mods, state, ast.statements(), &[ast.lib()], level) @@ -1589,7 +1589,7 @@ impl Engine { let state = &mut State { source: ast.clone_source(), #[cfg(not(feature = "no_module"))] - resolver: ast.shared_resolver(), + resolver: ast.resolver(), ..Default::default() }; self.eval_statements_raw(scope, mods, state, ast.statements(), &[ast.lib()], 0)?;