mirror of
https://github.com/roc-lang/roc.git
synced 2025-09-28 22:34: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 struct Module {
|
||||||
pub module_id: ModuleId,
|
pub module_id: ModuleId,
|
||||||
pub exposed_imports: MutMap<Symbol, Variable>,
|
pub exposed_imports: MutMap<Symbol, Variable>,
|
||||||
pub exposed_vars_by_symbol: Vec<(Symbol, Variable)>,
|
pub exposed_symbols: MutSet<Symbol>,
|
||||||
pub references: MutSet<Symbol>,
|
pub references: MutSet<Symbol>,
|
||||||
pub aliases: MutMap<Symbol, Alias>,
|
pub aliases: MutMap<Symbol, Alias>,
|
||||||
pub rigid_variables: MutMap<Variable, Lowercase>,
|
pub rigid_variables: MutMap<Variable, Lowercase>,
|
||||||
|
|
|
@ -2791,14 +2791,12 @@ fn run_solve<'a>(
|
||||||
let module_id = module.module_id;
|
let module_id = module.module_id;
|
||||||
|
|
||||||
let Module {
|
let Module {
|
||||||
exposed_vars_by_symbol,
|
exposed_symbols,
|
||||||
aliases,
|
aliases,
|
||||||
rigid_variables,
|
rigid_variables,
|
||||||
..
|
..
|
||||||
} = module;
|
} = module;
|
||||||
|
|
||||||
let exposed_symbols: MutSet<Symbol> = exposed_vars_by_symbol.iter().map(|(s, _)| *s).collect();
|
|
||||||
|
|
||||||
let (solved_subs, solved_env, problems) =
|
let (solved_subs, solved_env, problems) =
|
||||||
roc_solve::module::run_solve(aliases, rigid_variables, constraint, var_store);
|
roc_solve::module::run_solve(aliases, rigid_variables, constraint, var_store);
|
||||||
|
|
||||||
|
@ -3079,7 +3077,11 @@ fn fabricate_effects_module<'a>(
|
||||||
let module = Module {
|
let module = Module {
|
||||||
module_id,
|
module_id,
|
||||||
exposed_imports: module_output.exposed_imports,
|
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,
|
references: module_output.references,
|
||||||
aliases: module_output.aliases,
|
aliases: module_output.aliases,
|
||||||
rigid_variables: module_output.rigid_variables,
|
rigid_variables: module_output.rigid_variables,
|
||||||
|
@ -3203,7 +3205,11 @@ fn canonicalize_and_constrain<'a>(
|
||||||
let module = Module {
|
let module = Module {
|
||||||
module_id,
|
module_id,
|
||||||
exposed_imports: module_output.exposed_imports,
|
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,
|
references: module_output.references,
|
||||||
aliases: module_output.aliases,
|
aliases: module_output.aliases,
|
||||||
rigid_variables: module_output.rigid_variables,
|
rigid_variables: module_output.rigid_variables,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue