Typecoretype pattern_variable = {pv_id : Ident.t;pv_type : Types.type_expr;pv_loc : Location.t;pv_kind : pattern_variable_kind;pv_attributes : Typedtree.attributes;pv_uid : Types.Uid.t;}val mk_expected :
?explanation:type_forcing_context ->
Types.type_expr ->
type_expectedval is_nonexpansive : Typedtree.expression -> boolmodule Datatype_kind : sig ... endtype wrong_name = {type_path : Path.t;kind : Datatype_kind.t;name : string Asttypes.loc;valid_names : string list;}type existential_restriction = | At_toplevelno existential types at the toplevel
*)| In_groupnor with let ... and ...
| In_recor recursive definition
*)| With_attributesor let[@any_attribute] = ...
| In_class_argsor in class arguments class c (...) = ...
| In_class_defor in class c = let ... in ...
| In_self_patternor in self pattern
*)val type_binding :
Env.t ->
Asttypes.rec_flag ->
Parsetree.value_binding list ->
Typedtree.value_binding list * Env.tval type_let :
existential_restriction ->
Env.t ->
Asttypes.rec_flag ->
Parsetree.value_binding list ->
Typedtree.value_binding list * Env.tval type_expression : Env.t -> Parsetree.expression -> Typedtree.expressionval type_class_arg_pattern :
string ->
Env.t ->
Env.t ->
Asttypes.arg_label ->
Parsetree.pattern ->
Typedtree.pattern
* (Ident.t * Ident.t * Types.type_expr) list
* Env.t
* Env.tval type_self_pattern :
Env.t ->
Parsetree.pattern ->
Typedtree.pattern * pattern_variable listval check_partial :
?lev:int ->
Env.t ->
Types.type_expr ->
Location.t ->
Typedtree.value Typedtree.case list ->
Typedtree.partialval type_expect :
Env.t ->
Parsetree.expression ->
type_expected ->
Typedtree.expressionval type_exp : Env.t -> Parsetree.expression -> Typedtree.expressionval type_approx : Env.t -> Parsetree.expression -> Types.type_exprval type_argument :
Env.t ->
Parsetree.expression ->
Types.type_expr ->
Types.type_expr ->
Typedtree.expressionval option_some : Env.t -> Typedtree.expression -> Typedtree.expressionval option_none :
Env.t ->
Types.type_expr ->
Location.t ->
Typedtree.expressionval extract_option_type : Env.t -> Types.type_expr -> Types.type_exprval generalizable : int -> Types.type_expr -> boolval name_pattern : string -> Typedtree.pattern list -> Ident.tval name_cases : string -> Typedtree.value Typedtree.case list -> Ident.tval self_coercion : (Path.t * Location.t list ref) list reftype error = | Constructor_arity_mismatch of Longident.t * int * int| Label_mismatch of Longident.t * Errortrace.unification_error| Pattern_type_clash : Errortrace.unification_error
* Parsetree.pattern_desc option -> error| Or_pattern_type_clash of Ident.t * Errortrace.unification_error| Multiply_bound_variable of string| Orpat_vars of Ident.t * Ident.t list| Expr_type_clash of Errortrace.unification_error
* type_forcing_context option
* Parsetree.expression option| Function_arity_type_clash of {syntactic_arity : int;type_constraint : Types.type_expr;trace : Errortrace.unification_error;}| Apply_non_function of {funct : Typedtree.expression;func_ty : Types.type_expr;res_ty : Types.type_expr;previous_arg_loc : Location.t;extra_arg_loc : Location.t;}| Apply_wrong_label of Asttypes.arg_label * Types.type_expr * bool| Label_multiply_defined of string| Label_missing of Ident.t list| Label_not_mutable of Longident.t| Wrong_name of string * type_expected * wrong_name| Name_type_mismatch of Datatype_kind.t
* Longident.t
* Path.t * Path.t
* (Path.t * Path.t) list| Invalid_format of string| Not_an_object of Types.type_expr * type_forcing_context option| Undefined_method of Types.type_expr * string * string list option| Undefined_self_method of string * string list| Virtual_class of Longident.t| Private_type of Types.type_expr| Private_label of Longident.t * Types.type_expr| Private_constructor of Types.constructor_description * Types.type_expr| Unbound_instance_variable of string * string list| Instance_variable_not_mutable of string| Not_subtype of Errortrace.Subtype.error| Outside_class| Value_multiply_overridden of string| Coercion_failure of Errortrace.expanded_type
* Errortrace.unification_error
* bool| Not_a_function of Types.type_expr * type_forcing_context option| Too_many_arguments of Types.type_expr * type_forcing_context option| Abstract_wrong_label of {got : Asttypes.arg_label;expected : Asttypes.arg_label;expected_type : Types.type_expr;explanation : type_forcing_context option;}| Scoping_let_module of string * Types.type_expr| Not_a_polymorphic_variant_type of Longident.t| Incoherent_label_order| Less_general of string * Errortrace.unification_error| Modules_not_allowed| Cannot_infer_signature| Not_a_packed_module of Types.type_expr| Unexpected_existential of existential_restriction * string| Invalid_interval| Invalid_for_loop_index| No_value_clauses| Exception_pattern_disallowed| Mixed_value_and_exception_patterns_under_guard| Effect_pattern_below_toplevel| Invalid_continuation_pattern| Inlined_record_escape| Inlined_record_expected| Unrefuted_pattern of Typedtree.pattern| Invalid_extension_constructor_payload| Not_an_extension_constructor| Literal_overflow of string| Unknown_literal of string * char| Illegal_letrec_pat| Illegal_letrec_expr| Illegal_class_expr| Letop_type_clash of string * Errortrace.unification_error| Andop_type_clash of string * Errortrace.unification_error| Bindings_type_clash of Errortrace.unification_error| Unbound_existential of Ident.t list * Types.type_expr| Bind_existential of existential_binding * Ident.t * Types.type_expr| Missing_type_constraint| Wrong_expected_kind of wrong_kind_sort * wrong_kind_context * Types.type_expr| Expr_not_a_record_type of Types.type_exprexception Error of Location.t * Env.t * errorexception Error_forward of Location.errorval report_error : loc:Location.t -> Env.t -> error -> Location.errorval type_module :
(Env.t -> Parsetree.module_expr -> Typedtree.module_expr * Shape.t) refval type_open :
(?used_slot:bool ref ->
Asttypes.override_flag ->
Env.t ->
Location.t ->
Longident.t Asttypes.loc ->
Path.t * Env.t)
refval type_open_decl :
(?used_slot:bool ref ->
Env.t ->
Parsetree.open_declaration ->
Typedtree.open_declaration * Types.signature * Env.t)
refval type_object :
(Env.t ->
Location.t ->
Parsetree.class_structure ->
Typedtree.class_structure * string list)
refval type_package :
(Env.t ->
Parsetree.module_expr ->
Path.t ->
(Longident.t * Types.type_expr) list ->
Typedtree.module_expr * (Longident.t * Types.type_expr) list)
refval constant : Parsetree.constant -> (Asttypes.constant, error) resultval annotate_recursive_bindings :
Env.t ->
Typedtree.value_binding list ->
Typedtree.value_binding listval check_recursive_class_bindings :
Env.t ->
Ident.t list ->
Typedtree.class_expr list ->
unit