mirror of
https://github.com/roc-lang/roc.git
synced 2024-09-21 15:59:20 +03:00
Extend ability symbol slice when merging in subs
This commit is contained in:
parent
4befccc6b4
commit
6adcaa2cbd
@ -4339,8 +4339,12 @@ impl StorageSubs {
|
||||
match content {
|
||||
FlexVar(opt_name) => FlexVar(*opt_name),
|
||||
RigidVar(name) => RigidVar(*name),
|
||||
FlexAbleVar(opt_name, ability) => FlexAbleVar(*opt_name, *ability),
|
||||
RigidAbleVar(name, ability) => RigidAbleVar(*name, *ability),
|
||||
FlexAbleVar(opt_name, abilities) => {
|
||||
FlexAbleVar(*opt_name, Self::offset_ability_slice(offsets, *abilities))
|
||||
}
|
||||
RigidAbleVar(name, abilities) => {
|
||||
RigidAbleVar(*name, Self::offset_ability_slice(offsets, *abilities))
|
||||
}
|
||||
RecursionVar {
|
||||
structure,
|
||||
opt_name,
|
||||
@ -4387,6 +4391,15 @@ impl StorageSubs {
|
||||
union_tags
|
||||
}
|
||||
|
||||
fn offset_ability_slice(
|
||||
offsets: &StorageSubsOffsets,
|
||||
mut ability_names: SubsSlice<Symbol>,
|
||||
) -> SubsSlice<Symbol> {
|
||||
ability_names.start += offsets.symbol_names;
|
||||
|
||||
ability_names
|
||||
}
|
||||
|
||||
fn offset_lambda_set(
|
||||
offsets: &StorageSubsOffsets,
|
||||
mut union_lambdas: UnionLambdas,
|
||||
|
Loading…
Reference in New Issue
Block a user