Clone the persistent data structure

This commit is contained in:
Richard Feldman 2019-12-31 22:43:00 -05:00
parent efa912d52b
commit 13cedfa178

View file

@ -374,14 +374,14 @@ pub fn solve_loaded(
let mut dep_constraints = Vec::with_capacity(loaded_deps.len()); let mut dep_constraints = Vec::with_capacity(loaded_deps.len());
// All the exposed imports should be available in the solver's vars_by_symbol // All the exposed imports should be available in the solver's vars_by_symbol
for (symbol, expr_var) in module.exposed_imports.iter() { for (symbol, expr_var) in im::HashMap::clone(&module.exposed_imports) {
vars_by_symbol.insert(symbol.clone(), expr_var.clone()); vars_by_symbol.insert(symbol, expr_var);
} }
// All the top-level defs should also be available in vars_by_symbol // All the top-level defs should also be available in vars_by_symbol
for def in module.defs.iter() { for def in module.defs.iter() {
for (symbol, var) in def.pattern_vars.iter() { for (symbol, var) in im::HashMap::clone(&def.pattern_vars) {
vars_by_symbol.insert(symbol.clone(), var.clone()); vars_by_symbol.insert(symbol, var);
} }
} }