@@ -10,7 +10,7 @@ let debugLogTypeArgContext {env; typeArgs; typeParams} =
1010let rec hasTvar (ty : Types.type_expr ) : bool =
1111 match ty.desc with
1212 | Tvar _ -> true
13- | Tarrow (_ , ty1 , ty2 , _ ) -> hasTvar ty1 || hasTvar ty2
13+ | Tarrow (_ , ty1 , ty2 , _ , _ ) -> hasTvar ty1 || hasTvar ty2
1414 | Ttuple tyl -> List. exists hasTvar tyl
1515 | Tconstr (_ , tyl , _ ) -> List. exists hasTvar tyl
1616 | Tobject (ty , _ ) -> hasTvar ty
@@ -116,8 +116,8 @@ let instantiateType ~typeParams ~typeArgs (t : Types.type_expr) =
116116 | Tsubst t -> loop t
117117 | Tvariant rd -> {t with desc = Tvariant (rowDesc rd)}
118118 | Tnil -> t
119- | Tarrow (lbl , t1 , t2 , c ) ->
120- {t with desc = Tarrow (lbl, loop t1, loop t2, c)}
119+ | Tarrow (lbl , t1 , t2 , c , arity ) ->
120+ {t with desc = Tarrow (lbl, loop t1, loop t2, c, arity )}
121121 | Ttuple tl -> {t with desc = Ttuple (tl |> List. map loop)}
122122 | Tobject (t , r ) -> {t with desc = Tobject (loop t, r)}
123123 | Tfield (n , k , t1 , t2 ) -> {t with desc = Tfield (n, k, loop t1, loop t2)}
@@ -169,8 +169,8 @@ let instantiateType2 ?(typeArgContext : typeArgContext option)
169169 | Tsubst t -> loop t
170170 | Tvariant rd -> {t with desc = Tvariant (rowDesc rd)}
171171 | Tnil -> t
172- | Tarrow (lbl , t1 , t2 , c ) ->
173- {t with desc = Tarrow (lbl, loop t1, loop t2, c)}
172+ | Tarrow (lbl , t1 , t2 , c , arity ) ->
173+ {t with desc = Tarrow (lbl, loop t1, loop t2, c, arity )}
174174 | Ttuple tl -> {t with desc = Ttuple (tl |> List. map loop)}
175175 | Tobject (t , r ) -> {t with desc = Tobject (loop t, r)}
176176 | Tfield (n , k , t1 , t2 ) -> {t with desc = Tfield (n, k, loop t1, loop t2)}
@@ -242,7 +242,7 @@ let rec extractFunctionType ~env ~package typ =
242242 let rec loop ~env acc (t : Types.type_expr ) =
243243 match t.desc with
244244 | Tlink t1 | Tsubst t1 | Tpoly (t1 , [] ) -> loop ~env acc t1
245- | Tarrow (label , tArg , tRet , _ ) -> loop ~env ((label, tArg) :: acc) tRet
245+ | Tarrow (label , tArg , tRet , _ , _ ) -> loop ~env ((label, tArg) :: acc) tRet
246246 | Tconstr (Pident {name = "function$" } , [t ; _ ], _ ) ->
247247 extractFunctionType ~env ~package t
248248 | Tconstr (path , typeArgs , _ ) -> (
@@ -281,7 +281,7 @@ let rec extractFunctionType2 ?typeArgContext ~env ~package typ =
281281 let rec loop ?typeArgContext ~env acc (t : Types.type_expr ) =
282282 match t.desc with
283283 | Tlink t1 | Tsubst t1 | Tpoly (t1 , [] ) -> loop ?typeArgContext ~env acc t1
284- | Tarrow (label , tArg , tRet , _ ) ->
284+ | Tarrow (label , tArg , tRet , _ , _ ) ->
285285 loop ?typeArgContext ~env ((label, tArg) :: acc) tRet
286286 | Tconstr (Pident {name = "function$" } , [t ; _ ], _ ) ->
287287 extractFunctionType2 ?typeArgContext ~env ~package t
@@ -912,12 +912,12 @@ let getArgs ~env (t : Types.type_expr) ~full =
912912 | Tpoly (t1, [] )
913913 | Tconstr (Pident {name = "function$" } , [t1 ; _ ], _ ) ->
914914 getArgsLoop ~full ~env ~current ArgumentPosition t1
915- | Tarrow (Labelled l , tArg , tRet , _ ) ->
915+ | Tarrow (Labelled l , tArg , tRet , _ , _ ) ->
916916 (SharedTypes.Completable. Labelled l, tArg)
917917 :: getArgsLoop ~full ~env ~current ArgumentPosition tRet
918- | Tarrow (Optional l , tArg , tRet , _ ) ->
918+ | Tarrow (Optional l , tArg , tRet , _ , _ ) ->
919919 (Optional l, tArg) :: getArgsLoop ~full ~env ~current ArgumentPosition tRet
920- | Tarrow (Nolabel, tArg , tRet , _ ) ->
920+ | Tarrow (Nolabel, tArg , tRet , _ , _ ) ->
921921 (Unlabelled {argumentPosition = currentArgumentPosition}, tArg)
922922 :: getArgsLoop ~full ~env
923923 ~current ArgumentPosition:(currentArgumentPosition + 1 )
0 commit comments