Module Includecore

type position = Errortrace.position =
  1. | First
  2. | Second
type primitive_mismatch =
  1. | Name
  2. | Arity
  3. | No_alloc of position
  4. | Native_name
  5. | Result_repr
  6. | Argument_repr of int
type value_mismatch =
  1. | Primitive_mismatch of primitive_mismatch
  2. | Not_a_primitive
  3. | Type of Errortrace.moregen_error
exception Dont_match of value_mismatch
type privacy_mismatch =
  1. | Private_type_abbreviation
  2. | Private_variant_type
  3. | Private_record_type
  4. | Private_extensible_variant
  5. | Private_row_type
type type_kind =
  1. | Kind_abstract
  2. | Kind_record
  3. | Kind_variant
  4. | Kind_open
type kind_mismatch = type_kind * type_kind
type label_mismatch =
  1. | Type of Errortrace.equality_error
  2. | Mutability of position
type record_mismatch =
  1. | Label_mismatch of record_change list
  2. | Unboxed_float_representation of position
type constructor_mismatch =
  1. | Type of Errortrace.equality_error
  2. | Arity
  3. | Inline_record of record_change list
  4. | Kind of position
  5. | Explicit_return_type of position
type extension_constructor_mismatch =
  1. | Constructor_privacy
  2. | Constructor_mismatch of Ident.t * Types.extension_constructor * Types.extension_constructor * constructor_mismatch
type private_variant_mismatch =
  1. | Only_outer_closed
  2. | Missing of position * string
  3. | Presence of string
  4. | Incompatible_types_for of string
  5. | Types of Errortrace.equality_error
type private_object_mismatch =
  1. | Missing of string
  2. | Types of Errortrace.equality_error
type type_mismatch =
  1. | Arity
  2. | Privacy of privacy_mismatch
  3. | Kind of kind_mismatch
  4. | Constraint of Errortrace.equality_error
  5. | Manifest of Errortrace.equality_error
  6. | Private_variant of Types.type_expr * Types.type_expr * private_variant_mismatch
  7. | Private_object of Types.type_expr * Types.type_expr * private_object_mismatch
  8. | Variance
  9. | Record_mismatch of record_mismatch
  10. | Variant_mismatch of variant_change list
  11. | Unboxed_representation of position
  12. | Immediate of Type_immediacy.Violation.t
val type_declarations : ?equality:bool -> loc:Location.t -> Env.t -> mark:bool -> string -> Types.type_declaration -> Path.t -> Types.type_declaration -> type_mismatch option
val extension_constructors : loc:Location.t -> Env.t -> mark:bool -> Ident.t -> Types.extension_constructor -> Types.extension_constructor -> extension_constructor_mismatch option
val report_value_mismatch : string -> string -> Env.t -> Format.formatter -> value_mismatch -> unit
val report_type_mismatch : string -> string -> string -> Env.t -> Format.formatter -> type_mismatch -> unit
val report_extension_constructor_mismatch : string -> string -> string -> Env.t -> Format.formatter -> extension_constructor_mismatch -> unit