mirror of
https://github.com/roc-lang/roc.git
synced 2024-09-21 07:49:17 +03:00
Don't mark dominated derives anymore
This commit is contained in:
parent
04ee74542d
commit
ad3eb959e9
@ -1,6 +1,6 @@
|
||||
use crate::ability::{
|
||||
resolve_ability_specialization, type_implementing_specialization, AbilityImplError,
|
||||
DeferredObligations, PendingDerivesTable, RequestedDeriveKey, Resolved, Unfulfilled,
|
||||
DeferredObligations, PendingDerivesTable, Resolved, Unfulfilled,
|
||||
};
|
||||
use crate::module::Solved;
|
||||
use bumpalo::Bump;
|
||||
@ -832,7 +832,6 @@ fn solve(
|
||||
rank,
|
||||
abilities_store,
|
||||
problems,
|
||||
deferred_obligations,
|
||||
deferred_uls_to_resolve,
|
||||
*symbol,
|
||||
*loc_var,
|
||||
@ -940,7 +939,6 @@ fn solve(
|
||||
rank,
|
||||
abilities_store,
|
||||
problems,
|
||||
deferred_obligations,
|
||||
deferred_uls_to_resolve,
|
||||
*symbol,
|
||||
*loc_var,
|
||||
@ -1703,7 +1701,6 @@ fn check_ability_specialization(
|
||||
rank: Rank,
|
||||
abilities_store: &mut AbilitiesStore,
|
||||
problems: &mut Vec<TypeError>,
|
||||
deferred_obligations: &mut DeferredObligations,
|
||||
deferred_uls_to_resolve: &mut UlsOfVar,
|
||||
symbol: Symbol,
|
||||
symbol_loc_var: Loc<Variable>,
|
||||
@ -1763,19 +1760,9 @@ fn check_ability_specialization(
|
||||
|
||||
deferred_uls_to_resolve.union(other_lambda_sets_to_specialize);
|
||||
|
||||
let specialization_region = symbol_loc_var.region;
|
||||
let specialization =
|
||||
MemberSpecializationInfo::new(symbol, specialization_lambda_sets);
|
||||
|
||||
// This specialization dominates any derives that might be present.
|
||||
deferred_obligations.dominate(
|
||||
RequestedDeriveKey {
|
||||
opaque,
|
||||
ability: parent_ability,
|
||||
},
|
||||
specialization_region,
|
||||
);
|
||||
|
||||
Ok(specialization)
|
||||
} else {
|
||||
// This def is not specialized for the claimed opaque type, that's an
|
||||
|
Loading…
Reference in New Issue
Block a user