提交 94c895db 编写于 作者: V v2m

cut erased type parameters when determining structure of the closure

上级 69808954
...@@ -3956,7 +3956,7 @@ and GetIlxClosureInfo cenv m isLocalTypeFunc selfv eenvouter expr = ...@@ -3956,7 +3956,7 @@ and GetIlxClosureInfo cenv m isLocalTypeFunc selfv eenvouter expr =
let rec getCallStructure tvacc vacc (e,ety) = let rec getCallStructure tvacc vacc (e,ety) =
match e with match e with
| Expr.TyLambda(_,tvs,body,_m,bty) -> | Expr.TyLambda(_,tvs,body,_m,bty) ->
getCallStructure (tvs :: tvacc) vacc (body,bty) getCallStructure ((DropErasedTypars tvs) :: tvacc) vacc (body,bty)
| Expr.Lambda (_,_,_,vs,body,_,bty) when not isLocalTypeFunc -> | Expr.Lambda (_,_,_,vs,body,_,bty) when not isLocalTypeFunc ->
// Transform a lambda taking untupled arguments into one // Transform a lambda taking untupled arguments into one
// taking only a single tupled argument if necessary. REVIEW: do this earlier // taking only a single tupled argument if necessary. REVIEW: do this earlier
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册