Refactor tuple flattening in Specializer
This commit is contained in:
@@ -236,7 +236,10 @@ impl Specializer {
|
||||
self.cache
|
||||
.borrow_mut()
|
||||
.insert(key, (compiled_val.clone(), ret_ty.clone()));
|
||||
let flat_elements = self.flatten_tuple(new_args.clone());
|
||||
let flat_elements = match new_args.kind {
|
||||
BoundKind::Tuple { elements } => elements,
|
||||
_ => vec![new_args.clone()],
|
||||
};
|
||||
let flat_types = flat_elements
|
||||
.iter()
|
||||
.map(|e| e.ty.original.ty.clone())
|
||||
@@ -292,11 +295,4 @@ impl Specializer {
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
fn flatten_tuple(&self, node: AnalyzedNode) -> Vec<AnalyzedNode> {
|
||||
match node.kind {
|
||||
BoundKind::Tuple { elements } => elements,
|
||||
_ => vec![node],
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user