Module Includemod.Error

type ('elt, 'explanation) mdiff = {
  1. got : 'elt;
  2. expected : 'elt;
  3. modes : Includecore.mmodes;
  4. symptom : 'explanation;
}
type ('elt, 'explanation) diff = {
  1. got : 'elt;
  2. expected : 'elt;
  3. symptom : 'explanation;
}
type 'elt core_diff = ('elt, unit) diff
type 'elt core_mdiff = ('elt, unit) mdiff
type functor_arg_descr =
  1. | Anonymous
  2. | Named of Path.t
  3. | Unit
  4. | Empty_struct
    (*

    For backward compatibility's sake, an empty struct can be implicitly converted to an unit module.

    *)
type class_declaration_symptom =
  1. | Class_type of Ctype.class_match_failure list
  2. | Class_mode of Mode.Value.error
type core_module_type_symptom =
  1. | Not_an_alias
  2. | Not_an_identifier
  3. | Incompatible_aliases
  4. | Abstract_module_type
  5. | Unbound_module_path of Path.t
type module_type_symptom =
  1. | Mt_core of core_module_type_symptom
  2. | Signature of signature_symptom
  3. | Functor of functor_symptom
  4. | Invalid_module_alias of Path.t
  5. | After_alias_expansion of module_type_diff
  6. | Mode of Mode.Value.error
and module_type_diff = (Types.module_type, module_type_symptom) mdiff
and functor_symptom =
  1. | Params of functor_params_diff
  2. | Result of module_type_diff
and ('arg, 'path) functor_param_symptom =
  1. | Incompatible_params of 'arg * Types.functor_parameter
  2. | Mismatch of module_type_diff
and arg_functor_param_symptom = (Types.functor_parameter, Ident.t) functor_param_symptom
and functor_params_diff = (Types.functor_parameter list * Types.module_type) core_diff
and signature_symptom = {
  1. env : Env.t;
  2. missings : Types.signature_item list;
  3. incompatibles : (Ident.t * sigitem_symptom) list;
    (*

    signature items that could not be compared due to type divergence

    *)
}
and sigitem_symptom =
  1. | Core of core_sigitem_symptom
  2. | Module_type_declaration of (Types.modtype_declaration, module_type_declaration_symptom) diff
  3. | Module_type of module_type_diff
and module_type_declaration_symptom =
  1. | Illegal_permutation of Typedtree.module_coercion
  2. | Not_greater_than of module_type_diff
  3. | Not_less_than of module_type_diff
  4. | Incomparable of {
    1. less_than : module_type_diff;
    2. greater_than : module_type_diff;
    }
type compilation_unit_comparison =
  1. | Implementation_vs_interface
  2. | Argument_vs_parameter
type all =
  1. | In_Compilation_unit of compilation_unit_comparison * (string, signature_symptom) diff
  2. | In_Signature of signature_symptom
  3. | In_Include_functor_signature of signature_symptom
  4. | In_Module_type of module_type_diff
  5. | In_Module_type_substitution of Ident.t * (Types.module_type, module_type_declaration_symptom) diff
  6. | In_Type_declaration of Ident.t * core_sigitem_symptom
  7. | In_Expansion of core_module_type_symptom