Merge pull request #2750 from rtfeldman/delay-instantiating-aliases-fix-limitations

Delay instantiating aliases fix limitations
This commit is contained in:
hafiz 2022-03-19 20:41:14 -04:00 committed by GitHub
commit 3f07afe3b5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 291 additions and 102 deletions

View file

@ -25,7 +25,8 @@ pub struct Module {
pub exposed_symbols: MutSet<Symbol>,
pub referenced_values: MutSet<Symbol>,
pub referenced_types: MutSet<Symbol>,
pub aliases: MutMap<Symbol, Alias>,
/// all aliases. `bool` indicates whether it is exposed
pub aliases: MutMap<Symbol, (bool, Alias)>,
pub rigid_variables: RigidVariables,
}
@ -500,7 +501,7 @@ pub fn canonicalize_module_defs<'a>(
}
}
Ok(ModuleOutput {
let output = ModuleOutput {
scope,
aliases,
rigid_variables,
@ -511,7 +512,9 @@ pub fn canonicalize_module_defs<'a>(
problems: env.problems,
lookups,
ident_ids: env.ident_ids,
})
};
Ok(output)
}
(Err(runtime_error), _) => Err(runtime_error),
}