@@ -518,17 +518,8 @@ let rec read_type_expr env typ =
518518 | Tpackage (p , frags , tyl ) ->
519519 let eqs = List. combine frags tyl in
520520#endif
521- let open TypeExpr.Package in
522- let path = Env.Path. read_module_type env.ident_env p in
523- let substitutions =
524- List. map
525- (fun (frag ,typ ) ->
526- let frag = Env.Fragment. read_type frag in
527- let typ = read_type_expr env typ in
528- (frag, typ))
529- eqs
530- in
531- Package {path; substitutions}
521+ let package = read_package env eqs p in
522+ Package package
532523#if OCAML_VERSION < (4 ,13 ,0 )
533524 | Tsubst typ -> read_type_expr env typ
534525#else
@@ -545,7 +536,10 @@ let rec read_type_expr env typ =
545536 in
546537 let env = {env with ident_env = e'} in
547538 let ret = read_type_expr env ret_type in
548- let package = read_package env pkg in
539+ let eqs =
540+ List. filter_map (fun (l ,ty ) -> Option. map (fun x -> x, ty) (Longident. unflatten l)) pkg.pack_constraints
541+ in
542+ let package = read_package env eqs pkg.pack_path in
549543 Arrow_functor (lbl, {id ; package}, ret)
550544
551545#endif
@@ -556,14 +550,7 @@ let rec read_type_expr env typ =
556550 | Some name -> Alias (typ, name)
557551 end
558552
559- and read_package env pkg =
560- let pack_constraints = pkg.pack_constraints in
561- let p = pkg.pack_path in
562- let eqs =
563- List. filter_map
564- (fun (l ,ty ) -> Option. map (fun x -> x, ty) (Longident. unflatten l))
565- pack_constraints
566- in
553+ and read_package env eqs p =
567554 let open TypeExpr in
568555 let open TypeExpr.Package in
569556 let path = Env.Path. read_module_type env.ident_env p in
0 commit comments