mirror of
https://github.com/roc-lang/roc.git
synced 2025-09-27 05:49:08 +00:00
Compact lambda sets with structural derived ability impls
This commit is contained in:
parent
9caa09b2c0
commit
445d922f3b
6 changed files with 94 additions and 11 deletions
|
@ -5,6 +5,7 @@ use std::sync::{Arc, RwLock};
|
|||
|
||||
use bumpalo::Bump;
|
||||
use roc_can::abilities::AbilitiesStore;
|
||||
use roc_can::module::ExposedByModule;
|
||||
use roc_collections::MutMap;
|
||||
use roc_derive::SharedDerivedModule;
|
||||
use roc_error_macros::internal_error;
|
||||
|
@ -169,6 +170,7 @@ pub fn unify(
|
|||
subs: &mut Subs,
|
||||
abilities: &AbilitiesView,
|
||||
derived_module: &SharedDerivedModule,
|
||||
exposed_by_module: &ExposedByModule,
|
||||
left: Variable,
|
||||
right: Variable,
|
||||
) -> Result<(), UnificationFailed> {
|
||||
|
@ -190,6 +192,7 @@ pub fn unify(
|
|||
&mut pools,
|
||||
lambda_sets_to_specialize,
|
||||
&late_phase,
|
||||
exposed_by_module,
|
||||
derived_module,
|
||||
);
|
||||
// At this point we can't do anything with must-implement constraints, since we're no
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue