Module Ocaml_typing.Zero_alloc

type check = Ocaml_parsing.Builtin_attributes.zero_alloc_check = {
  1. strict : bool;
  2. opt : bool;
  3. arity : int;
  4. loc : Ocaml_parsing.Location.t;
  5. custom_error_msg : string option;
}
type assume = Ocaml_parsing.Builtin_attributes.zero_alloc_assume = {
  1. strict : bool;
  2. never_returns_normally : bool;
  3. never_raises : bool;
  4. arity : int;
  5. loc : Ocaml_parsing.Location.t;
}
type const = Ocaml_parsing.Builtin_attributes.zero_alloc_attribute =
  1. | Default_zero_alloc
  2. | Ignore_assert_all
  3. | Check of check
  4. | Assume of assume
type t
val default : t
val ignore_assert_all : t
val create_const : const -> t
val create_var : Ocaml_parsing.Location.t -> int -> t
val get : t -> const
type change
val set_change_log : (change -> unit) -> unit
val undo_change : change -> unit
type error
val print_error : Format.formatter -> error -> unit
val sub : t -> t -> (unit, error) Result.t
val debug_printer : Format.formatter -> t -> unit