Module Hax_engine.Local_ident

module T : sig ... end
include sig ... end
include sig ... end
type comparator_witness = Base__Comparator.Make(T).comparator_witness
val comparator : (T.t, comparator_witness) Base__Comparator.comparator
include module type of struct include T end
type kind = T.kind =
  1. | Typ
    (*

    type namespace

    *)
  2. | Cnst
    (*

    Generic constant namespace

    *)
  3. | Expr
    (*

    Expression namespace

    *)
  4. | LILifetime
    (*

    Lifetime namespace

    *)
  5. | Final
    (*

    Frozen identifier: such an identifier will *not* be rewritten by the name policy

    *)
  6. | SideEffectHoistVar
    (*

    A variable generated by `Side_effect_utils`

    *)
val pp_kind : Ppx_deriving_runtime.Format.formatter -> kind -> Ppx_deriving_runtime.unit
val show_kind : kind -> Ppx_deriving_runtime.string
val equal_kind : kind -> kind -> Ppx_deriving_runtime.bool
val yojson_of_kind : kind -> Ppx_yojson_conv_lib.Yojson.Safe.t
val kind_of_yojson : Ppx_yojson_conv_lib.Yojson.Safe.t -> kind
val hash_fold_kind : Ppx_hash_lib.Std.Hash.state -> kind -> Ppx_hash_lib.Std.Hash.state
val hash_kind : kind -> Ppx_hash_lib.Std.Hash.hash_value
val compare_kind : kind -> kind -> int
val sexp_of_kind : kind -> Sexplib0.Sexp.t
val kind_of_sexp : Sexplib0.Sexp.t -> kind
type id = kind * int
val pp_id : Ppx_deriving_runtime.Format.formatter -> id -> Ppx_deriving_runtime.unit
val show_id : id -> Ppx_deriving_runtime.string
val equal_id : id -> id -> Ppx_deriving_runtime.bool
val yojson_of_id : id -> Ppx_yojson_conv_lib.Yojson.Safe.t
val id_of_yojson : Ppx_yojson_conv_lib.Yojson.Safe.t -> id
val hash_fold_id : Ppx_hash_lib.Std.Hash.state -> id -> Ppx_hash_lib.Std.Hash.state
val hash_id : id -> Ppx_hash_lib.Std.Hash.hash_value
val compare_id : id -> id -> int
val sexp_of_id : id -> Sexplib0.Sexp.t
val id_of_sexp : Sexplib0.Sexp.t -> id
val mk_id : kind -> int -> id
type t = T.t = {
  1. name : string;
  2. id : id;
}
val pp : Ppx_deriving_runtime.Format.formatter -> t -> Ppx_deriving_runtime.unit
val show : t -> Ppx_deriving_runtime.string
val equal : t -> t -> Ppx_deriving_runtime.bool
include Ppx_yojson_conv_lib.Yojsonable.S with type t := t
val t_of_yojson : Yojson.Safe.t -> t
val yojson_of_t : t -> Yojson.Safe.t
include Ppx_hash_lib.Hashable.S with type t := t
val hash_fold_t : t Base__Ppx_hash_lib.hash_fold
val hash : t -> Base__Ppx_hash_lib.Std.Hash.hash_value
include Ppx_compare_lib.Comparable.S with type t := t
val compare : t Base__Ppx_compare_lib.compare
include Sexplib0.Sexpable.S with type t := t
val t_of_sexp : Sexplib0__.Sexp.t -> t
val sexp_of_t : t -> Sexplib0__.Sexp.t
val make_final : string -> t

Creates a frozen final local identifier: such an indentifier won't be rewritten by a name policy

val is_final : t -> bool
val is_side_effect_hoist_var : t -> bool