remove module from toplevel in unqualified use_module

This commit is contained in:
Mark Thom
2019-10-26 12:39:42 -06:00
parent 2eea0528b1
commit ccfcc654a5

View File

@@ -443,10 +443,13 @@ impl Machine {
let load_result = match to_src(name) { let load_result = match to_src(name) {
ModuleSource::Library(name) => ModuleSource::Library(name) =>
if !self.indices.modules.contains_key(&name) { if let Some(module) = self.indices.take_module(name.clone()) {
load_library(self, name, false) self.indices.remove_module(clause_name!("user"), &module);
} else { self.indices.modules.insert(name.clone(), module);
Ok(name) Ok(name)
} else {
load_library(self, name, false)
}, },
ModuleSource::File(name) => ModuleSource::File(name) =>
load_module_from_file(self, name.as_str(), false) load_module_from_file(self, name.as_str(), false)
@@ -489,7 +492,7 @@ impl Machine {
self.indices.modules.insert(name.clone(), module); self.indices.modules.insert(name.clone(), module);
Ok(name) Ok(name)
} else { } else {
load_library(self, name, false) load_library(self, name, false)
}, },
ModuleSource::File(name) => ModuleSource::File(name) =>