aboutsummaryrefslogtreecommitdiff
path: root/src/type.cff
diff options
context:
space:
mode:
authorlemon <lsof@mailbox.org>2022-08-17 12:21:57 +0200
committerlemon <lsof@mailbox.org>2022-08-17 12:24:19 +0200
commit37cd29c0299dc3a726c7f8273cf203a868133f57 (patch)
treefca34a77b01fbc922f66ca2e99041b2222e603b3 /src/type.cff
parentffc52a0ecb61d0f7488f91d9b124344e50f7855f (diff)
struct,union
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;
}
}