sig
type warn_source =
Warn_source_exp of Typed_ast.exp
| Warn_source_def of Typed_ast.def
| Warn_source_unkown
val warn_source_to_locn : Reporting.warn_source -> Ast.l
type warning =
Warn_general of bool * Ast.l * string
| Warn_rename of Ast.l * string * (string * Ast.l) option * string *
Target.target
| Warn_pattern_compilation_failed of Ast.l * Typed_ast.pat list *
Reporting.warn_source
| Warn_pattern_not_exhaustive of Ast.l * Typed_ast.pat list list
| Warn_def_not_exhaustive of Ast.l * string * Typed_ast.pat list list
| Warn_pattern_redundant of Ast.l * (int * Typed_ast.pat) list *
Typed_ast.exp
| Warn_def_redundant of Ast.l * string * (int * Typed_ast.pat) list *
Typed_ast.def
| Warn_pattern_needs_compilation of Ast.l * Target.target *
Typed_ast.exp * Typed_ast.exp
| Warn_unused_vars of Ast.l * string list * Reporting.warn_source
| Warn_fun_clauses_resorted of Ast.l * Target.target * string list *
Typed_ast.def
| Warn_record_resorted of Ast.l * Typed_ast.exp
| Warn_no_decidable_equality of Ast.l * string
| Warn_compile_message of Ast.l * Target.target * Path.t * string
| Warn_import of Ast.l * string * string
| Warn_overriden_instance of Ast.l * Types.src_t * Types.instance
| Warn_ambiguous_code of Ast.l * string
val warnings_active : bool Pervasives.ref
val report_warning : Typed_ast.env -> Reporting.warning -> unit
val report_warning_no_env : Reporting.warning -> unit
val warn_opts : (string * Arg.spec * string) list
val ignore_pat_compile_warnings : unit -> unit
val print_debug_exp : Typed_ast.env -> string -> Typed_ast.exp list -> unit
val print_debug_def : Typed_ast.env -> string -> Typed_ast.def list -> unit
val print_debug_pat : Typed_ast.env -> string -> Typed_ast.pat list -> unit
val print_debug_typ : Typed_ast.env -> string -> Types.t list -> unit
val print_debug_src_t : Typed_ast.env -> string -> Types.src_t list -> unit
end