`include Ocaml_common.Location`
`type t``= Warnings.loc``=` `{`

`loc_start : Lexing.position;`
`loc_end : Lexing.position;`
`loc_ghost : bool;`

`}```
`val none : t`
`val in_file : string ‑> t`
`val init : Lexing.lexbuf ‑> string ‑> unit`
`val curr : Lexing.lexbuf ‑> t`
`val symbol_rloc : unit ‑> t`
`val symbol_gloc : unit ‑> t`
`val rhs_loc : int ‑> t`
`val input_name : string Pervasives.ref`
`val input_lexbuf : Lexing.lexbuf option Pervasives.ref`
`val get_pos_info : Lexing.position ‑> string * int * int`
`val print_loc : Format.formatter ‑> t ‑> unit`
`val print_error : Format.formatter ‑> t ‑> unit`
`val print_error_cur_file : Format.formatter ‑> unit ‑> unit`
`val print_warning : t ‑> Format.formatter ‑> Warnings.t ‑> unit`
`val formatter_for_warnings : Format.formatter Pervasives.ref`
`val prerr_warning : t ‑> Warnings.t ‑> unit`
`val echo_eof : unit ‑> unit`
`val reset : unit ‑> unit`
`val default_printer : Format.formatter ‑> t ‑> unit`
`val printer : (Format.formatter ‑> t ‑> unit) Pervasives.ref`
`val warning_printer : (t ‑> Format.formatter ‑> Warnings.t ‑> unit) Pervasives.ref`
`val default_warning_printer : t ‑> Format.formatter ‑> Warnings.t ‑> unit`
`val highlight_locations : Format.formatter ‑> t list ‑> bool`
`type 'a loc``= 'a Location.loc``=` `{`

`txt : 'a;`
`loc : t;`

`}```
`val mknoloc : 'a ‑> 'a loc`
`val mkloc : 'a ‑> t ‑> 'a loc`
`val print : Format.formatter ‑> t ‑> unit`
`val print_compact : Format.formatter ‑> t ‑> unit`
`val print_filename : Format.formatter ‑> string ‑> unit`
`val absolute_path : string ‑> string`
`val show_filename : string ‑> string`
`val absname : bool Pervasives.ref`
`type error``= Location.error``=` `{`

`loc : t;`
`msg : string;`
`sub : error list;`
`if_highlight : string;`

`}```
`exception` `Already_displayed_error`
`exception` `Error of error`
`val error : ?⁠loc:t ‑> ?⁠sub:error list ‑> ?⁠if_highlight:string ‑> string ‑> error`
`val errorf : ?⁠loc:t ‑> ?⁠sub:error list ‑> ?⁠if_highlight:string ‑> ('a, Format.formatter, unit, error) Pervasives.format4 ‑> 'a`
`val raise_errorf : ?⁠loc:t ‑> ?⁠sub:error list ‑> ?⁠if_highlight:string ‑> ('a, Format.formatter, unit, 'b) Pervasives.format4 ‑> 'a`
`val error_of_printer : t ‑> (Format.formatter ‑> 'a ‑> unit) ‑> 'a ‑> error`
`val error_of_printer_file : (Format.formatter ‑> 'a ‑> unit) ‑> 'a ‑> error`
`val error_of_exn : exn ‑> [ `Already_displayed | `Ok of error ] option`
`val register_error_of_exn : (exn ‑> error option) ‑> unit`
`val report_error : Format.formatter ‑> error ‑> unit`
`val error_reporter : (Format.formatter ‑> error ‑> unit) Pervasives.ref`
`val default_error_reporter : Format.formatter ‑> error ‑> unit`
`val report_exception : Format.formatter ‑> exn ‑> unit`
`val deprecated : ?⁠def:t ‑> ?⁠use:t ‑> t ‑> string ‑> unit`
`include Ppxlib_ast__.Location_helper`
`module O = Ocaml_common`