Intern captures layouts

This commit is contained in:
Ayaz Hafiz 2022-12-28 17:05:04 -06:00
parent 2f7c4b4083
commit 7045001f64
No known key found for this signature in database
GPG key ID: 0E2A37416A25EF58
6 changed files with 90 additions and 48 deletions

View file

@ -3028,14 +3028,14 @@ fn update<'a>(
std::mem::swap(&mut state.layout_interner, &mut taken);
taken
};
let layout_interner = layout_interner
let mut layout_interner = layout_interner
.unwrap()
.expect("outstanding references to global layout interener, but we just drained all layout caches");
log!("specializations complete from {:?}", module_id);
debug_print_ir!(state, &layout_interner, ROC_PRINT_IR_AFTER_SPECIALIZATION);
debug_check_ir!(state, arena, &layout_interner, ROC_CHECK_MONO_IR);
debug_check_ir!(state, arena, &mut layout_interner, ROC_CHECK_MONO_IR);
let ident_ids = state.constrained_ident_ids.get_mut(&module_id).unwrap();