@@ -1628,7 +1628,7 @@ let AdjustAndForgetUsesOfRecValue cenv (vrefTgt: ValRef) (valScheme: ValScheme)
16281628 errorR(Error(FSComp.SR.tcUnexpectedExprAtRecInfPoint(), m))
16291629 NormalValUse, []
16301630
1631- let ityargs = generalizeTypars (List.drop (List.length tyargs0) generalizedTypars)
1631+ let ityargs = generalizeTypars (List.skip (List.length tyargs0) generalizedTypars)
16321632 primMkApp (Expr.Val (vrefTgt, vrefFlags, m), fty) (tyargs0 @ ityargs) [] m
16331633 fixupPoint.Value <- fixedUpExpr)
16341634
@@ -5070,12 +5070,14 @@ and TcTypeApp cenv newOk checkCxs occ env tpenv m tcref pathTypeArgs (synArgTys:
50705070 // If we're not checking constraints, i.e. when we first assert the super/interfaces of a type definition, then just
50715071 // clear the constraint lists of the freshly generated type variables. A little ugly but fairly localized.
50725072 if checkCxs = NoCheckCxs then tps |> List.iter (fun tp -> tp.SetConstraints [])
5073- if tinst.Length <> pathTypeArgs.Length + synArgTys.Length then
5074- error (TyconBadArgs(env.DisplayEnv, tcref, pathTypeArgs.Length + synArgTys.Length, m))
5073+ let synArgTysLength = synArgTys.Length
5074+ let pathTypeArgsLength = pathTypeArgs.Length
5075+ if tinst.Length <> pathTypeArgsLength + synArgTysLength then
5076+ error (TyconBadArgs(env.DisplayEnv, tcref, pathTypeArgsLength + synArgTysLength, m))
50755077
50765078 let argTys, tpenv =
50775079 // Get the suffix of typars
5078- let tpsForArgs = List.drop (tps.Length - synArgTys.Length ) tps
5080+ let tpsForArgs = List.skip (tps.Length - synArgTysLength ) tps
50795081 let kindsForArgs = tpsForArgs |> List.map (fun tp -> tp.Kind)
50805082 TcTypesOrMeasures (Some kindsForArgs) cenv newOk checkCxs occ env tpenv synArgTys m
50815083
0 commit comments