aboutsummaryrefslogtreecommitdiff
path: root/src/type.cff
diff options
context:
space:
mode:
Diffstat (limited to 'src/type.cff')
-rw-r--r--src/type.cff6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/type.cff b/src/type.cff
index b18c5c4..1d224cc 100644
--- a/src/type.cff
+++ b/src/type.cff
@@ -93,6 +93,12 @@ struct TypeTraits {
static id int = 0;
*p = *ty;
p.id = id++;
+ switch p.u {
+ case Fn *f;
+ let params = f.params;
+ f.params = (as(**const Type)xmalloc(params.#len * sizeof *Type))[0::params.#len];
+ memcpy(f.params.#ptr, params.#ptr, params.#len * sizeof *Type);
+ }
return p;
}
}