ref: 1a1892e5a47ac3c1ab1b1944ee1ee11fc3d1e3c8
parent: 41f58088d668a208e560de1eecdc7c69582862ca
author: Ori Bernstein <ori@eigenstate.org>
date: Mon Feb 1 18:23:23 EST 2016
Don't duplicate type variables. These should unify across generics.
--- a/parse/specialize.c
+++ b/parse/specialize.c
@@ -151,13 +151,11 @@
}
break;
case Tyvar:
+ ret = t;
if (delayed && hthas(delayed, t)) {
- ret = tydup(t);
tmp = htget(delayed, t);
htput(delayed, ret, tyspecialize(tmp, tsmap, delayed));
- } else {
- ret = t;
- }
+ }
break;
default:
if (t->nsub > 0) {