Up

module Typeclass

: sig
#
val virtual_methods : Types.class_signature -> Asttypes.label list
#
type error =
# | Unconsistent_constraint of (Types.type_expr * Types.type_expr) list
# | Field_type_mismatch of string * string * (Types.type_expr * Types.type_expr) list
# | Structure_expected of Types.class_type
# | Cannot_apply of Types.class_type
# | Apply_wrong_label of Asttypes.label
# | Pattern_type_clash of Types.type_expr
# | Repeated_parameter
# | Unbound_class_2 of Longident.t
# | Unbound_class_type_2 of Longident.t
# | Abbrev_type_clash of Types.type_expr * Types.type_expr * Types.type_expr
# | Constructor_type_mismatch of string * (Types.type_expr * Types.type_expr) list
# | Virtual_class of bool * bool * string list * string list
# | Parameter_arity_mismatch of Longident.t * int * int
# | Parameter_mismatch of (Types.type_expr * Types.type_expr) list
# | Bad_parameters of Ident.t * Types.type_expr * Types.type_expr
# | Class_match_failure of Ctype.class_match_failure list
# | Unbound_val of string
# | Unbound_type_var of (Format.formatter -> unit) * Ctype.closed_class_failure
# | Make_nongen_seltype of Types.type_expr
# | Non_generalizable_class of Ident.t * Types.class_declaration
# | Cannot_coerce_self of Types.type_expr
# | Non_collapsable_conjunction of Ident.t * Types.class_declaration * (Types.type_expr * Types.type_expr) list
# | Final_self_clash of (Types.type_expr * Types.type_expr) list
# | Mutability_mismatch of string * Asttypes.mutable_flag
# | No_overriding of string * string
# | Duplicate of string * string
#
exception Error of Location.t * Env.t * error
#
exception Error_forward of Location.error
#
val report_error : Env.t -> Format.formatter -> error -> unit
end