mirror of
https://github.com/roc-lang/roc.git
synced 2024-09-20 23:37:56 +03:00
updated VarStore without cloning
This commit is contained in:
parent
2aa412f836
commit
38db75614e
@ -52,7 +52,7 @@ impl fmt::Debug for Subs {
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug, Copy, Clone)]
|
||||
#[derive(Debug)]
|
||||
pub struct VarStore {
|
||||
next: u32,
|
||||
}
|
||||
|
@ -242,18 +242,21 @@ impl<'a> EdModel<'a> {
|
||||
Region::zero(),
|
||||
);
|
||||
|
||||
// extract the var_store out of the env again
|
||||
//let mut var_store = VarStore::default();
|
||||
//std::mem::swap(self.module.env.var_store, &mut var_store);
|
||||
// extract the var_store out of the env
|
||||
let mut var_store = VarStore::default();
|
||||
std::mem::swap(self.module.env.var_store, &mut var_store);
|
||||
|
||||
let (mut solved, _, _) = EdModel::run_solve(
|
||||
self.module.env.pool,
|
||||
Default::default(),
|
||||
Default::default(),
|
||||
constrained,
|
||||
*self.module.env.var_store,
|
||||
var_store,
|
||||
);
|
||||
|
||||
// put the updated var_store back in env
|
||||
std::mem::swap( &mut VarStore::new_from_subs(solved.inner()), self.module.env.var_store);
|
||||
|
||||
let subs = solved.inner_mut();
|
||||
|
||||
let content = subs.get(var).content;
|
||||
|
Loading…
Reference in New Issue
Block a user