diff --git a/src/ast/compiler/specializer.rs b/src/ast/compiler/specializer.rs index 994001c..82ae0d2 100644 --- a/src/ast/compiler/specializer.rs +++ b/src/ast/compiler/specializer.rs @@ -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 { - match node.kind { - BoundKind::Tuple { elements } => elements, - _ => vec![node], - } - } }