mirror of
https://github.com/roc-lang/roc.git
synced 2025-09-28 14:24:45 +00:00
only store exposed symbols in Module
This commit is contained in:
parent
58507fa7d9
commit
0d17e9a879
2 changed files with 12 additions and 6 deletions
|
@ -21,7 +21,7 @@ use roc_types::types::Alias;
|
|||
pub struct Module {
|
||||
pub module_id: ModuleId,
|
||||
pub exposed_imports: MutMap<Symbol, Variable>,
|
||||
pub exposed_vars_by_symbol: Vec<(Symbol, Variable)>,
|
||||
pub exposed_symbols: MutSet<Symbol>,
|
||||
pub references: MutSet<Symbol>,
|
||||
pub aliases: MutMap<Symbol, Alias>,
|
||||
pub rigid_variables: MutMap<Variable, Lowercase>,
|
||||
|
|
|
@ -2791,14 +2791,12 @@ fn run_solve<'a>(
|
|||
let module_id = module.module_id;
|
||||
|
||||
let Module {
|
||||
exposed_vars_by_symbol,
|
||||
exposed_symbols,
|
||||
aliases,
|
||||
rigid_variables,
|
||||
..
|
||||
} = module;
|
||||
|
||||
let exposed_symbols: MutSet<Symbol> = exposed_vars_by_symbol.iter().map(|(s, _)| *s).collect();
|
||||
|
||||
let (solved_subs, solved_env, problems) =
|
||||
roc_solve::module::run_solve(aliases, rigid_variables, constraint, var_store);
|
||||
|
||||
|
@ -3079,7 +3077,11 @@ fn fabricate_effects_module<'a>(
|
|||
let module = Module {
|
||||
module_id,
|
||||
exposed_imports: module_output.exposed_imports,
|
||||
exposed_vars_by_symbol: module_output.exposed_vars_by_symbol,
|
||||
exposed_symbols: module_output
|
||||
.exposed_vars_by_symbol
|
||||
.iter()
|
||||
.map(|t| t.0)
|
||||
.collect(),
|
||||
references: module_output.references,
|
||||
aliases: module_output.aliases,
|
||||
rigid_variables: module_output.rigid_variables,
|
||||
|
@ -3203,7 +3205,11 @@ fn canonicalize_and_constrain<'a>(
|
|||
let module = Module {
|
||||
module_id,
|
||||
exposed_imports: module_output.exposed_imports,
|
||||
exposed_vars_by_symbol: module_output.exposed_vars_by_symbol,
|
||||
exposed_symbols: module_output
|
||||
.exposed_vars_by_symbol
|
||||
.iter()
|
||||
.map(|t| t.0)
|
||||
.collect(),
|
||||
references: module_output.references,
|
||||
aliases: module_output.aliases,
|
||||
rigid_variables: module_output.rigid_variables,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue