summaryrefslogtreecommitdiff
path: root/parse/infer.c
diff options
context:
space:
mode:
authorOri Bernstein <ori@eigenstate.org>2018-01-14 19:21:58 -0800
committerOri Bernstein <ori@eigenstate.org>2018-01-14 19:21:58 -0800
commitac6c06f906d356b0004ed450558dd890c7057fbf (patch)
tree5a1c7f9569246835f820fded51a10be917a2943f /parse/infer.c
parent9d5831fb236f42fe126160c339a70452ef0fa460 (diff)
downloadmc-ac6c06f906d356b0004ed450558dd890c7057fbf.tar.gz
Fix binding of type env in traits.
Diffstat (limited to 'parse/infer.c')
-rw-r--r--parse/infer.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/parse/infer.c b/parse/infer.c
index 4298eed..daa071e 100644
--- a/parse/infer.c
+++ b/parse/infer.c
@@ -1930,7 +1930,7 @@ specializeimpl(Node *n)
fatal(n, "%s incompatibly specialized with %zd types instead of %zd types",
namestr(n->impl.traitname), n->impl.naux, tr->naux);
n->impl.type = tf(n->impl.type);
- pushenv(n->impl.type->env);
+ pushenv(n->impl.env);
for (i = 0; i < n->impl.naux; i++)
n->impl.aux[i] = tf(n->impl.aux[i]);
for (i = 0; i < n->impl.ndecls; i++) {
@@ -1997,7 +1997,7 @@ specializeimpl(Node *n)
if (generic)
ingeneric--;
}
- popenv(n->impl.type->env);
+ popenv(n->impl.env);
}
static void