shithub: mc

Download patch

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);