diff options
-rw-r--r-- | typing/includecore.ml | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/typing/includecore.ml b/typing/includecore.ml index a91621fb0..a59272587 100644 --- a/typing/includecore.ml +++ b/typing/includecore.ml @@ -37,14 +37,14 @@ let value_descriptions env vd1 vd2 = (* Inclusion between type declarations *) let type_declarations env id decl1 decl2 = - decl1.type_arity = decl2.type_arity & + decl1.type_arity = decl2.type_arity && begin match (decl1.type_kind, decl2.type_kind) with (_, Type_abstract) -> true | (Type_variant cstrs1, Type_variant cstrs2) -> - for_all2 + Misc.for_all2 (fun (cstr1, arg1) (cstr2, arg2) -> - cstr1 = cstr2 & - for_all2 + cstr1 = cstr2 && + Misc.for_all2 (fun ty1 ty2 -> Ctype.equal env true (ty1::decl1.type_params) (ty2::decl2.type_params)) @@ -52,9 +52,9 @@ let type_declarations env id decl1 decl2 = cstrs1 cstrs2 | (Type_record(labels1, rep1), Type_record(labels2, rep2)) -> rep1 = rep2 && - for_all2 + Misc.for_all2 (fun (lbl1, mut1, ty1) (lbl2, mut2, ty2) -> - lbl1 = lbl2 & mut1 = mut2 & + lbl1 = lbl2 && mut1 = mut2 && Ctype.equal env true (ty1::decl1.type_params) (ty2::decl2.type_params)) labels1 labels2 @@ -70,8 +70,7 @@ let type_declarations env id decl1 decl2 = let ty1 = Btype.newgenty (Tconstr(Pident id, decl2.type_params, ref Mnil)) in - Ctype.equal env true decl1.type_params decl2.type_params - & + Ctype.equal env true decl1.type_params decl2.type_params && Ctype.equal env false [ty1] [ty2] end && List.for_all2 @@ -81,7 +80,7 @@ let type_declarations env id decl1 decl2 = (* Inclusion between exception declarations *) let exception_declarations env ed1 ed2 = - for_all2 (fun ty1 ty2 -> Ctype.equal env false [ty1] [ty2]) ed1 ed2 + Misc.for_all2 (fun ty1 ty2 -> Ctype.equal env false [ty1] [ty2]) ed1 ed2 (* Inclusion between class types *) let encode_val (mut, ty) rem = |