ref: fd84fa03901b4b8a72a54552f302755d6c84aeba
parent: a555f36aad5963dc600bc0af9433c39ced49b476
author: Ori Bernstein <ori@eigenstate.org>
date: Sat Jan 23 20:39:15 EST 2016
Just fully replace the type in the specialization. Nothing is going to care, and this fixes the problem of handlign more specialization post unification.
--- a/parse/specialize.c
+++ b/parse/specialize.c
@@ -57,7 +57,7 @@
ret->issynth = 1;
ret->arg = arg;
ret->narg = narg;
- tytab[var->tid] = ret;
+ *var = *ret;
break;
case Tyname:
if (!hasparams(t))
@@ -69,7 +69,7 @@
ret = mktyname(t->loc, t->name, tyspecialize(t->sub[0], tsmap, delayed));
ret->arg = arg;
ret->narg = narg;
- tytab[var->tid] = ret;
+ *var = *ret;
break;
case Tystruct:
ret = tydup(t);