From 94c895db4f6c695eb5ffcf9bd1e00af6830caf22 Mon Sep 17 00:00:00 2001 From: v2m Date: Wed, 22 Oct 2014 13:47:27 -0700 Subject: [PATCH] cut erased type parameters when determining structure of the closure --- src/fsharp/ilxgen.fs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/fsharp/ilxgen.fs b/src/fsharp/ilxgen.fs index b7b016a7b..a14f39593 100644 --- a/src/fsharp/ilxgen.fs +++ b/src/fsharp/ilxgen.fs @@ -3956,7 +3956,7 @@ and GetIlxClosureInfo cenv m isLocalTypeFunc selfv eenvouter expr = let rec getCallStructure tvacc vacc (e,ety) = match e with | 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 -> // Transform a lambda taking untupled arguments into one // taking only a single tupled argument if necessary. REVIEW: do this earlier -- GitLab