Module Typecore
val type_self_pattern : string -> Types.type_expr -> Env.t -> Env.t -> Env.t -> Parsetree.pattern -> (Typedtree.pattern * (Ident.t * Types.type_expr) Types.Meths.t Pervasives.ref * (Ident.t * Asttypes.mutable_flag * Asttypes.virtual_flag * Types.type_expr) Types.Vars.t Pervasives.ref * Env.t * Env.t * Env.t)
val reset_delayed_checks : unit -> unit
val force_delayed_checks : unit -> unit
type error =
| Multiply_bound_variable of string
| Label_multiply_defined of string
| Invalid_format of string
| Undefined_inherited_method of string
| Unbound_instance_variable of string
| Instance_variable_not_mutable of bool * string
| Not_subtype of (Types.type_expr * Types.type_expr) list * (Types.type_expr * Types.type_expr) list
| Outside_class
| Value_multiply_overridden of string
| Coercion_failure of Types.type_expr * Types.type_expr * (Types.type_expr * Types.type_expr) list * bool
| Incoherent_label_order
| Modules_not_allowed
| Cannot_infer_signature
| Unexpected_existential
| Invalid_interval
| Invalid_for_loop_index
| No_value_clauses
| Exception_pattern_below_toplevel
val type_object : Env.t -> Location.t -> Parsetree.class_structure -> (Typedtree.class_structure * Types.class_signature * string list) Pervasives.ref