table of contents
- trixie 5.3.0-3
 - testing 5.3.0-3
 - unstable 5.3.0-3
 - experimental 5.4.0-1~exp1
 
| Warnings(3o) | OCaml library | Warnings(3o) | 
NAME¶
Warnings - Warning definitions
Module¶
Module Warnings
Documentation¶
Module Warnings
  
   : sig end
Warning definitions
Warning: this module is unstable and part of Compiler_libs .
type loc = {
  
   loc_start : Lexing.position ;
  
   loc_end : Lexing.position ;
  
   loc_ghost : bool ;
  
   }
val ghost_loc_in_file : string -> loc
Return an empty ghost range located in a given file
type field_usage_warning =
  
   | Unused
  
   | Not_read
  
   | Not_mutated
type constructor_usage_warning =
  
   | Unused
  
   | Not_constructed
  
   | Only_exported_private
type type_declaration_usage_warning =
  
   | Declaration
  
   | Alias
type t =
  
   | Comment_start
  
   | Comment_not_end
  
   | Fragile_match of string
  
   | Ignored_partial_application
  
   | Labels_omitted of string list
  
   | Method_override of string list
  
   | Partial_match of Format_doc.t
  
   | Missing_record_field_pattern of string
  
   | Non_unit_statement
  
   | Redundant_case
  
   | Redundant_subpat
  
   | Instance_variable_override of string list
  
   | Illegal_backslash
  
   | Implicit_public_methods of string list
  
   | Unerasable_optional_argument
  
   | Undeclared_virtual_method of string
  
   | Not_principal of Format_doc.t
  
   | Non_principal_labels of string
  
   | Ignored_extra_argument
  
   | Nonreturning_statement
  
   | Preprocessor of string
  
   | Useless_record_with
  
   | Bad_module_name of string
  
   | All_clauses_guarded
  
   | Unused_var of string
  
   | Unused_var_strict of string
  
   | Wildcard_arg_to_constant_constr
  
   | Eol_in_string
  
   | Duplicate_definitions of string * string * string * string
  
   | Unused_value_declaration of string
  
   | Unused_open of string
  
   | Unused_type_declaration of string *
    type_declaration_usage_warning
  
   | Unused_for_index of string
  
   | Unused_ancestor of string
  
   | Unused_constructor of string * constructor_usage_warning
  
   | Unused_extension of string * bool * constructor_usage_warning
  
   | Unused_rec_flag
  
   | Name_out_of_scope of string * string list * bool
  
   | Ambiguous_name of string list * string list * bool * string
  
   | Disambiguated_name of string
  
   | Nonoptional_label of string
  
   | Open_shadow_identifier of string * string
  
   | Open_shadow_label_constructor of string * string
  
   | Bad_env_variable of string * string
  
   | Attribute_payload of string * string
  
   | Eliminated_optional_arguments of string list
  
   | No_cmi_file of string * string option
  
   | Unexpected_docstring of bool
  
   | Wrong_tailcall_expectation of bool
  
   | Fragile_literal_pattern
  
   | Misplaced_attribute of string
  
   | Duplicated_attribute of string
  
   | Inlining_impossible of string
  
   | Unreachable_case
  
   | Ambiguous_var_in_pattern_guard of string list
  
   | No_cmx_file of string
  
   | Flambda_assignment_to_non_mutable_value
  
   | Unused_module of string
  
   | Unboxable_type_in_prim_decl of string
  
   | Constraint_on_gadt
  
   | Erroneous_printed_signature of string
  
   | Unsafe_array_syntax_without_parsing
  
   | Redefining_unit of string
  
   | Unused_open_bang of string
  
   | Unused_functor_parameter of string
  
   | Match_on_mutable_state_prevent_uncurry
  
   | Unused_field of string * field_usage_warning
  
   | Missing_mli
  
   | Unused_tmc_attribute
  
   | Tmc_breaks_tailcall
  
   | Generative_application_expects_unit
  
   | Degraded_to_partial_match
  
   | Unnecessarily_partial_tuple_pattern
type alert = {
  
   kind : string ;
  
   message : string ;
  
   def : loc ;
  
   use : loc ;
  
   }
val parse_options : bool -> string -> alert option
val parse_alert_option : string -> unit
Disable/enable alerts based on the parameter to the -alert command-line option. Raises Arg.Bad if the string is not a valid specification.
val without_warnings : (unit -> 'a) -> 'a
Run the thunk with all warnings and alerts disabled.
val is_active : t -> bool
val is_error : t -> bool
val defaults_w : string
val defaults_warn_error : string
type reporting_information = {
  
   id : string ;
  
   message : Format_doc.t ;
  
   is_error : bool ;
  
   sub_locs : (loc * Format_doc.t) list ;
  
   }
val report : t -> [ `Active of reporting_information | `Inactive ]
val report_alert : alert -> [ `Active of reporting_information | `Inactive ]
exception Errors
val check_fatal : unit -> unit
val reset_fatal : unit -> unit
val help_warnings : unit -> unit
type state
val backup : unit -> state
val restore : state -> unit
val with_state : state -> (unit -> 'a) -> 'a
val mk_lazy : (unit -> 'a) -> 'a Lazy.t
Like Lazy.of_fun , but the function is applied with the warning/alert settings at the time mk_lazy is called.
type description = {
  
   number : int ;
  
   names : string list ;
  
   description : string ;
  
   since : Sys.ocaml_release_info option ;
  
   }
val descriptions : description list
| 2025-10-12 | OCamldoc |