Module U.Place

type t = {
  1. place : place';
  2. span : Ast.span;
  3. typ : AST.ty;
}
and place' =
  1. | LocalVar of Local_ident.t
  2. | Deref of AST.expr
  3. | IndexProjection of {
    1. place : t;
    2. index : AST.expr;
    }
  4. | FieldProjection of {
    1. place : t;
    2. projector : Ast.global_ident;
    }
val pp : Ppx_deriving_runtime.Format.formatter -> t -> Ppx_deriving_runtime.unit
val show : t -> Ppx_deriving_runtime.string
val pp_place' : Ppx_deriving_runtime.Format.formatter -> place' -> Ppx_deriving_runtime.unit
val show_place' : place' -> Ppx_deriving_runtime.string
val deref_mut_allowed : AST.ty -> Prelude.bool
val of_expr : AST.expr -> t Prelude.option
val to_expr : t -> AST.expr
val expect_deref_mut : t -> t Prelude.option
val expect_allowed_deref_mut : t -> t Prelude.option
val skip_allowed_deref_mut : t -> t