Module Includemod.Error
type ('elt, 'explanation) mdiff = {got : 'elt;expected : 'elt;modes : Includecore.mmodes;symptom : 'explanation;
}type 'elt core_diff = ('elt, unit) difftype 'elt core_mdiff = ('elt, unit) mdifftype functor_arg_descr = | Anonymous| Named of Path.t| Unit| Empty_struct(*For backward compatibility's sake, an empty struct can be implicitly converted to an unit module.
*)
type class_declaration_symptom = | Class_type of Ctype.class_match_failure list| Class_mode of Mode.Value.error
type core_sigitem_symptom = | Value_descriptions of (Types.value_description, Includecore.value_mismatch) mdiff| Type_declarations of (Types.type_declaration, Includecore.type_mismatch) diff| Extension_constructors of (Types.extension_constructor, Includecore.extension_constructor_mismatch) diff| Class_type_declarations of (Types.class_type_declaration, Ctype.class_match_failure list) diff| Class_declarations of (Types.class_declaration, class_declaration_symptom) mdiff| Modalities of Mode.Modality.error| Jkind_declarations of (Types.jkind_declaration, Includecore.jkind_mismatch) diff
type core_module_type_symptom = | Not_an_alias| Not_an_identifier| Incompatible_aliases| Abstract_module_type| Unbound_module_path of Path.t
type module_type_symptom = | Mt_core of core_module_type_symptom| Signature of signature_symptom| Functor of functor_symptom| Invalid_module_alias of Path.t| After_alias_expansion of module_type_diff| Mode of Mode.Value.error
and module_type_diff = (Types.module_type, module_type_symptom) mdiffand ('arg, 'path) functor_param_symptom = | Incompatible_params of 'arg * Types.functor_parameter| Mismatch of module_type_diff
and arg_functor_param_symptom =
(Types.functor_parameter, Ident.t) functor_param_symptomand functor_params_symptom = | Param of (Types.functor_parameter, unit) functor_param_symptom(*One of the parameters is mismatched
*)| Incompatible(*One side is a functor but the other side is not
*)
and functor_params_diff =
(Types.functor_parameter list * Types.module_type, functor_params_symptom)
diffthe return mode of the functor is intentionally omitted, since the diff is only about parameters.
and signature_symptom = {env : Env.t;missings : Types.signature_item list;incompatibles : (Ident.t * sigitem_symptom) list;
}and sigitem_symptom = | Core of core_sigitem_symptom| Module_type_declaration of (Types.modtype_declaration, module_type_declaration_symptom) diff| Module_type of module_type_diff
and module_type_declaration_symptom = | Illegal_permutation of Typedtree.module_coercion| Not_greater_than of module_type_diff| Not_less_than of module_type_diff| Incomparable of {less_than : module_type_diff;greater_than : module_type_diff;
}
type all = | In_Compilation_unit of compilation_unit_comparison * (string, signature_symptom) diff| In_Signature of signature_symptom| In_Include_functor_signature of signature_symptom| In_Module_type of module_type_diff| In_Module_type_substitution of Ident.t * (Types.module_type, module_type_declaration_symptom) diff| In_Type_declaration of Ident.t * core_sigitem_symptom| In_Jkind_declaration of Ident.t * core_sigitem_symptom| In_Expansion of core_module_type_symptom