diff options
-rw-r--r-- | src/lift.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/lift.cpp b/src/lift.cpp index e55bdfe..2d26ace 100644 --- a/src/lift.cpp +++ b/src/lift.cpp @@ -46,10 +46,12 @@ lift_symbol(CEnv& cenv, Code& code, const ASymbol* sym) throw() * to the closure (the calling lift_fn will use cenv.liftStack.top() * to construct the closure after the fn body has been lifted). */ - return tup(sym->loc, cenv.penv.sym("."), + const AST* dot = tup(sym->loc, cenv.penv.sym("."), cenv.penv.sym("_me"), new ALiteral<int32_t>(T_INT32, vars.index(sym) + 1, Cursor()), NULL); + cenv.setType(dot, cenv.type(sym)); + return dot; } } return sym; |