add another test, add unwind_protect!

This commit is contained in:
Mark Thom
2019-03-04 22:34:17 -07:00
parent 11026e2741
commit e4cc54104e
3 changed files with 31 additions and 4 deletions

View File

@@ -219,11 +219,13 @@ impl ListingCompiler {
let mod_name = self.get_module_name();
if let Some(mut submodule) = wam_indices.take_module(submodule) {
indices.use_module(code_repo, flags, &submodule)?;
unwind_protect!(indices.use_module(code_repo, flags, &submodule),
wam_indices.insert_module(submodule));
if let &mut Some(ref mut module) = &mut self.module {
module.remove_module(mod_name, &submodule);
module.use_module(code_repo, flags, &submodule)?;
unwind_protect!(module.use_module(code_repo, flags, &submodule),
wam_indices.insert_module(submodule));
} else {
submodule.inserted_expansions = true;
wam_indices.remove_module(clause_name!("user"), &submodule);
@@ -243,11 +245,13 @@ impl ListingCompiler {
let mod_name = self.get_module_name();
if let Some(mut submodule) = wam_indices.take_module(submodule) {
indices.use_qualified_module(code_repo, flags, &submodule, exports)?;
unwind_protect!(indices.use_qualified_module(code_repo, flags, &submodule, exports),
wam_indices.insert_module(submodule));
if let &mut Some(ref mut module) = &mut self.module {
module.remove_module(mod_name, &submodule);
module.use_qualified_module(code_repo, flags, &submodule, exports)?;
unwind_protect!(module.use_qualified_module(code_repo, flags, &submodule, exports),
wam_indices.insert_module(submodule));
} else {
submodule.inserted_expansions = true;
wam_indices.remove_module(clause_name!("user"), &submodule);