Module Ocaml_typing.Typeclass
type 'a class_info = {cls_id : Ocaml_typing.Ident.t;cls_id_loc : string Ocaml_parsing.Asttypes.loc;cls_decl : Ocaml_typing.Types.class_declaration;cls_ty_id : Ocaml_typing.Ident.t;cls_ty_decl : Ocaml_typing.Types.class_type_declaration;cls_obj_id : Ocaml_typing.Ident.t;cls_obj_abbr : Ocaml_typing.Types.type_declaration;cls_abbr : Ocaml_typing.Types.type_declaration;cls_arity : int;cls_pub_methods : string list;cls_info : 'a;
}type class_type_info = {clsty_ty_id : Ocaml_typing.Ident.t;clsty_id_loc : string Ocaml_parsing.Asttypes.loc;clsty_ty_decl : Ocaml_typing.Types.class_type_declaration;clsty_obj_id : Ocaml_typing.Ident.t;clsty_obj_abbr : Ocaml_typing.Types.type_declaration;clsty_abbr : Ocaml_typing.Types.type_declaration;clsty_info : Ocaml_typing.Typedtree.class_type_declaration;
}val class_declarations :
Ocaml_typing.Env.t ->
Ocaml_parsing.Parsetree.class_declaration list ->
Ocaml_typing.Typedtree.class_declaration Ocaml_typing.Typeclass.class_info
list
* Ocaml_typing.Env.tval class_descriptions :
Ocaml_typing.Env.t ->
Ocaml_parsing.Parsetree.class_description list ->
Ocaml_typing.Typedtree.class_description Ocaml_typing.Typeclass.class_info
list
* Ocaml_typing.Env.tval class_type_declarations :
Ocaml_typing.Env.t ->
Ocaml_parsing.Parsetree.class_description list ->
Ocaml_typing.Typeclass.class_type_info list * Ocaml_typing.Env.tval approx_class_declarations :
Ocaml_typing.Env.t ->
Ocaml_parsing.Parsetree.class_description list ->
Ocaml_typing.Typeclass.class_type_info list * Ocaml_typing.Env.ttype error = | Unconsistent_constraint of Ocaml_typing.Errortrace.unification_error| Field_type_mismatch of string * string * Ocaml_typing.Errortrace.unification_error| Unexpected_field of Ocaml_typing.Types.type_expr * string| Structure_expected of Ocaml_typing.Types.class_type| Cannot_apply of Ocaml_typing.Types.class_type| Apply_wrong_label of Ocaml_typing.Types.arg_label| Pattern_type_clash of Ocaml_typing.Types.type_expr| Repeated_parameter| Unbound_class_2 of Ocaml_parsing.Longident.t| Unbound_class_type_2 of Ocaml_parsing.Longident.t| Abbrev_type_clash of Ocaml_typing.Types.type_expr * Ocaml_typing.Types.type_expr * Ocaml_typing.Types.type_expr| Constructor_type_mismatch of string * Ocaml_typing.Errortrace.unification_error| Virtual_class of Ocaml_typing.Typeclass.kind * string list * string list| Undeclared_methods of Ocaml_typing.Typeclass.kind * string list| Parameter_arity_mismatch of Ocaml_parsing.Longident.t * int * int| Parameter_mismatch of Ocaml_typing.Errortrace.unification_error| Bad_parameters of Ocaml_typing.Ident.t * Ocaml_typing.Types.type_expr list * Ocaml_typing.Types.type_expr list| Bad_class_type_parameters of Ocaml_typing.Ident.t * Ocaml_typing.Types.type_expr list * Ocaml_typing.Types.type_expr list| Class_match_failure of Ocaml_typing.Ctype.class_match_failure list| Unbound_val of string| Unbound_type_var of Stdlib.Format.formatter -> unit * Ocaml_typing.Ctype.closed_class_failure| Non_generalizable_class of {id : Ocaml_typing.Ident.t;clty : Ocaml_typing.Types.class_declaration;nongen_vars : Ocaml_typing.Types.type_expr list;
}| Cannot_coerce_self of Ocaml_typing.Types.type_expr| Non_collapsable_conjunction of Ocaml_typing.Ident.t * Ocaml_typing.Types.class_declaration * Ocaml_typing.Errortrace.unification_error| Self_clash of Ocaml_typing.Errortrace.unification_error| Mutability_mismatch of string * Ocaml_parsing.Asttypes.mutable_flag| No_overriding of string * string| Duplicate of string * string| Closing_self_type of Ocaml_typing.Types.class_signature| Polymorphic_class_parameter| Non_value_binding of string * Ocaml_typing.Jkind.Violation.t| Non_value_let_binding of string * Ocaml_typing.Jkind.sort| Nonoptional_call_pos_label of string
exception Error of Ocaml_parsing.Location.t
* Ocaml_typing.Env.t
* Ocaml_typing.Typeclass.errorexception Error_forward of Ocaml_parsing.Location.errorval report_error :
Ocaml_typing.Env.t ->
Stdlib.Format.formatter ->
Ocaml_typing.Typeclass.error ->
unitval type_open_descr :
(?used_slot:bool Stdlib.ref ->
Ocaml_typing.Env.t ->
Ocaml_parsing.Parsetree.open_description ->
Ocaml_typing.Typedtree.open_description * Ocaml_typing.Env.t)
Stdlib.ref