diff options
-rw-r--r-- | src/lift.cpp | 7 |
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); |