aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/lift.cpp7
1 files changed, 2 insertions, 5 deletions
diff --git a/src/lift.cpp b/src/lift.cpp
index 0792333..039eea4 100644
--- a/src/lift.cpp
+++ b/src/lift.cpp
@@ -150,7 +150,6 @@ lift_fn(CEnv& cenv, Code& code, const ATuple* fn) throw()
ATuple* def = tup(fn->loc, cenv.penv.sym("def"), implName, impl.head, NULL);
code.push_back(def);
- List implT; // Type of the implementation function
List tupT(fn->loc, cenv.tenv.Tup, cenv.tenv.var(), NULL);
List consT;
List cons(fn->loc, cenv.penv.sym("Closure"), implName, NULL);
@@ -165,11 +164,9 @@ lift_fn(CEnv& cenv, Code& code, const ATuple* fn) throw()
implProtT.push_front(tupT);
- implT.push_back(type->fst());
- implT.push_back(implProtT.head);
- implT.push_back(implRetT);
+ const ATuple* implT = tup(Cursor(), type->fst(), implProtT.head, implRetT, 0);
- consT.push_front(implT.head);
+ consT.push_front(implT);
consT.push_front(cenv.tenv.Tup);
cenv.setType(impl, implT);