mirror of
https://github.com/roc-lang/roc.git
synced 2025-09-29 14:54:47 +00:00
get rid of inefficient conversion from mutmap to uniontags
This commit is contained in:
parent
4cbb1c9b25
commit
3e448c1b74
3 changed files with 112 additions and 83 deletions
|
@ -1240,36 +1240,6 @@ fn is_recursion_var(subs: &Subs, var: Variable) -> bool {
|
|||
)
|
||||
}
|
||||
|
||||
// TODO remove when all tags use SOA
|
||||
pub fn from_mutmap(
|
||||
subs: &mut Subs,
|
||||
tags: MutMap<TagName, Vec<Variable>>,
|
||||
ext: Variable,
|
||||
) -> FlatType {
|
||||
let mut vec: Vec<_> = tags.into_iter().collect();
|
||||
|
||||
vec.sort();
|
||||
|
||||
let union_tags = UnionTags::insert_into_subs(subs, vec);
|
||||
|
||||
FlatType::TagUnion(union_tags, ext)
|
||||
}
|
||||
|
||||
pub fn from_mutmap_rec(
|
||||
subs: &mut Subs,
|
||||
rec: Variable,
|
||||
tags: MutMap<TagName, Vec<Variable>>,
|
||||
ext: Variable,
|
||||
) -> FlatType {
|
||||
let mut vec: Vec<_> = tags.into_iter().collect();
|
||||
|
||||
vec.sort();
|
||||
|
||||
let union_tags = UnionTags::insert_into_subs(subs, vec);
|
||||
|
||||
FlatType::RecursiveTagUnion(rec, union_tags, ext)
|
||||
}
|
||||
|
||||
#[allow(clippy::too_many_arguments)]
|
||||
fn unify_function_or_tag_union_and_func(
|
||||
subs: &mut Subs,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue