summaryrefslogtreecommitdiff
path: root/types.c
diff options
context:
space:
mode:
Diffstat (limited to 'types.c')
-rw-r--r--types.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/types.c b/types.c
index eb4de49..0148ec2 100644
--- a/types.c
+++ b/types.c
@@ -1747,6 +1747,7 @@ static bool types_expr(Typer *tr, Expression *e) {
param->val = param_val;
param->flags |= DECL_FOUND_VAL;
}
+ free(order);
args_val.tuple = arg_vals;
args_type.tuple = arg_types;
args_type.kind = TYPE_TUPLE;
@@ -1896,12 +1897,8 @@ static bool types_expr(Typer *tr, Expression *e) {
size_t ninferred_idents = arr_len(inferred_idents);
if (ninferred_idents) {
- Value *inferred_vals;
- Type *inferred_types;
- size_t inferred_vals_size = ninferred_idents * sizeof *inferred_vals;
- inferred_vals = typer_malloc(tr, inferred_vals_size);
- size_t inferred_types_size = ninferred_idents * sizeof *inferred_types;
- inferred_types = typer_malloc(tr, inferred_types_size);
+ Value *inferred_vals = err_malloc(ninferred_idents * sizeof *inferred_vals);
+ Type *inferred_types = err_malloc(ninferred_idents * sizeof *inferred_types);
if (!infer_ident_vals(tr, decl_types, arg_types, inferred_idents, inferred_vals, inferred_types))
return false;
@@ -1940,8 +1937,8 @@ static bool types_expr(Typer *tr, Expression *e) {
++i;
}
}
- allocr_free(tr->allocr, inferred_vals, inferred_vals_size);
- allocr_free(tr->allocr, inferred_types, inferred_types_size);
+ free(inferred_vals);
+ free(inferred_types);
}