Perfom derives from global derives module, not just symbol table

This commit is contained in:
Ayaz Hafiz 2022-06-22 16:41:43 -04:00
parent 61db0b6260
commit d8bee6cd18
No known key found for this signature in database
GPG key ID: 0E2A37416A25EF58
15 changed files with 221 additions and 179 deletions

View file

@ -6,7 +6,7 @@ use std::sync::{Arc, RwLock};
use bumpalo::Bump;
use roc_can::abilities::AbilitiesStore;
use roc_collections::MutMap;
use roc_derive_key::GlobalDerivedSymbols;
use roc_derive::SharedDerivedModule;
use roc_error_macros::internal_error;
use roc_module::symbol::ModuleId;
use roc_solve::solve::{compact_lambda_sets_of_vars, Phase, Pools};
@ -168,7 +168,7 @@ pub fn unify(
arena: &Bump,
subs: &mut Subs,
abilities: &AbilitiesView,
derived_symbols: &GlobalDerivedSymbols,
derived_module: &SharedDerivedModule,
left: Variable,
right: Variable,
) -> Result<(), UnificationFailed> {
@ -190,7 +190,7 @@ pub fn unify(
&mut pools,
lambda_sets_to_specialize,
&late_phase,
derived_symbols,
derived_module,
);
// At this point we can't do anything with must-implement constraints, since we're no
// longer solving. We must assume that they were totally caught during solving.