Procs now store pending specializations by default

This commit is contained in:
Richard Feldman 2020-08-10 23:00:54 -04:00
parent 497a5af72d
commit 49a6bd86b4

View file

@ -73,7 +73,7 @@ impl<'a> Proc<'a> {
} }
} }
#[derive(Clone, Debug, PartialEq, Default)] #[derive(Clone, Debug, PartialEq)]
pub struct Procs<'a> { pub struct Procs<'a> {
pub partial_procs: MutMap<Symbol, PartialProc<'a>>, pub partial_procs: MutMap<Symbol, PartialProc<'a>>,
pub module_thunks: MutSet<Symbol>, pub module_thunks: MutSet<Symbol>,
@ -83,6 +83,18 @@ pub struct Procs<'a> {
pub runtime_errors: MutMap<Symbol, &'a str>, pub runtime_errors: MutMap<Symbol, &'a str>,
} }
impl<'a> Default for Procs<'a> {
fn default() -> Self {
Self {
partial_procs: MutMap::default(),
module_thunks: MutSet::default(),
pending_specializations: Some(MutMap::default()),
specialized: MutMap::default(),
runtime_errors: MutMap::default(),
}
}
}
#[derive(Clone, Debug, PartialEq)] #[derive(Clone, Debug, PartialEq)]
pub enum InProgressProc<'a> { pub enum InProgressProc<'a> {
InProgress, InProgress,