diff --git a/RELEASES.md b/RELEASES.md index c64e95a7..a8ef31e0 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -4,6 +4,11 @@ Rhai Release Notes Version 0.15.2 ============== +Breaking changes +---------------- + +* The trait function `ModuleResolver::resolve` no longer takes a `Scope` as argument. + Version 0.15.1 ============== diff --git a/src/engine.rs b/src/engine.rs index 625fb338..f1260824 100644 --- a/src/engine.rs +++ b/src/engine.rs @@ -2081,10 +2081,7 @@ impl Engine { #[cfg(not(feature = "no_module"))] { if let Some(resolver) = &self.module_resolver { - // Use an empty scope to create a module - let module = - resolver.resolve(self, Scope::new(), &path, expr.position())?; - + let module = resolver.resolve(self, &path, expr.position())?; let mod_name = unsafe_cast_var_name_to_lifetime(name, &state); scope.push_module_internal(mod_name, module); diff --git a/src/module.rs b/src/module.rs index 8a96a1f8..24e51f68 100644 --- a/src/module.rs +++ b/src/module.rs @@ -1031,13 +1031,7 @@ impl ModuleRef { /// Trait that encapsulates a module resolution service. pub trait ModuleResolver: SendSync { /// Resolve a module based on a path string. - fn resolve( - &self, - _: &Engine, - scope: Scope, - path: &str, - pos: Position, - ) -> Result>; + fn resolve(&self, _: &Engine, path: &str, pos: Position) -> Result>; } /// Re-export module resolvers. @@ -1161,10 +1155,9 @@ mod file { pub fn create_module>( &self, engine: &Engine, - scope: Scope, path: &str, ) -> Result> { - self.resolve(engine, scope, path, Default::default()) + self.resolve(engine, path, Default::default()) } } @@ -1172,7 +1165,6 @@ mod file { fn resolve( &self, engine: &Engine, - scope: Scope, path: &str, pos: Position, ) -> Result> { @@ -1186,7 +1178,7 @@ mod file { .compile_file(file_path) .map_err(|err| err.new_position(pos))?; - Module::eval_ast_as_new(scope, &ast, engine).map_err(|err| err.new_position(pos)) + Module::eval_ast_as_new(Scope::new(), &ast, engine).map_err(|err| err.new_position(pos)) } } } @@ -1258,7 +1250,6 @@ mod stat { fn resolve( &self, _: &Engine, - _: Scope, path: &str, pos: Position, ) -> Result> {