Melange_compiler_libs.Includecore
type primitive_mismatch =
| Name
| Arity
| No_alloc of position
| Native_name
| Result_repr
| Argument_repr of int
type value_mismatch =
| Primitive_mismatch of primitive_mismatch
| Not_a_primitive
| Type of Errortrace.moregen_error
exception Dont_match of value_mismatch
type record_change =
(Types.label_declaration as 'ld, 'ld, label_mismatch)
Diffing_with_keys.change
type record_mismatch =
| Label_mismatch of record_change list
| Unboxed_float_representation of position
type constructor_mismatch =
| Type of Errortrace.equality_error
| Arity
| Inline_record of record_change list
| Kind of position
| Explicit_return_type of position
type extension_constructor_mismatch =
| Constructor_privacy
| Constructor_mismatch of Ident.t
* Types.extension_constructor
* Types.extension_constructor
* constructor_mismatch
type variant_change =
(Types.constructor_declaration as 'cd, 'cd, constructor_mismatch)
Diffing_with_keys.change
type private_variant_mismatch =
| Only_outer_closed
| Missing of position * string
| Presence of string
| Incompatible_types_for of string
| Types of Errortrace.equality_error
type type_mismatch =
| Arity
| Privacy of privacy_mismatch
| Kind of kind_mismatch
| Constraint of Errortrace.equality_error
| Manifest of Errortrace.equality_error
| Private_variant of Types.type_expr * Types.type_expr * private_variant_mismatch
| Private_object of Types.type_expr * Types.type_expr * private_object_mismatch
| Variance
| Record_mismatch of record_mismatch
| Variant_mismatch of variant_change list
| Unboxed_representation of position
| Immediate of Type_immediacy.Violation.t
val value_descriptions :
loc:Location.t ->
Env.t ->
Ident.t ->
Types.value_description ->
Types.value_description ->
Typedtree.module_coercion
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 ->
Stdlib.Format.formatter ->
value_mismatch ->
unit
val report_type_mismatch :
string ->
string ->
string ->
Env.t ->
Stdlib.Format.formatter ->
type_mismatch ->
unit
val report_extension_constructor_mismatch :
string ->
string ->
string ->
Env.t ->
Stdlib.Format.formatter ->
extension_constructor_mismatch ->
unit