]> Nishi Git Mirror - gwion.git/commitdiff
:art: Clear `func_type`
authorJérémie Astor <astor.jeremie@wanadoo.fr>
Thu, 10 Sep 2020 21:09:54 +0000 (23:09 +0200)
committerJérémie Astor <astor.jeremie@wanadoo.fr>
Thu, 10 Sep 2020 21:09:54 +0000 (23:09 +0200)
src/parse/scan2.c

index 5e2cf91f5f0cd16c141b96955272df3489f2bdb2..de07d55bf74e019dea419f265f3290ee7e583cee 100644 (file)
@@ -318,9 +318,10 @@ ANN static Func scan_new_func(const Env env, const Func_Def f, const m_str name)
 }
 
 ANN static Type func_type(const Env env, const Func func) {
-  const Type t = type_copy(env->gwion->mp, env->gwion->type[func->def->base->td ? et_function : et_lambda]);
+  const Type base = env->gwion->type[func->def->base->td ? et_function : et_lambda];
+  const Type t = type_copy(env->gwion->mp, base);
   t->xid = ++env->scope->type_xid;
-  t->e->parent = env->gwion->type[func->def->base->td ? et_function : et_lambda];
+  t->e->parent = base;
   t->name = func->name;
   t->e->owner = env->curr;
   t->e->owner_class = env->class_def;