Module Soteria_rust_lib.Layout_common

module Tag_layout : sig ... end

Layout of enum tags in memory. Note tags are distinct from discriminants: a discriminant is user specified and is what Rvalue.Discriminant returns, whereas a tag is specific to variant layouts, and may be of smaller size than the discriminant, or not be encoded at all if it is the untagged variant of a niche-optimised enum.

module Fields_shape : sig ... end

We use a custom type for the member offsets for layouts; this allows us to use a more efficient representation for arrays T; N, that doesn't require N offsets.

val pp : Ppx_deriving_runtime.Format.formatter -> t -> Ppx_deriving_runtime.unit
val show : t -> Ppx_deriving_runtime.string
val iter_vars : t -> ((Soteria.Bv_values.Svalue.Var.t * 'a Typed.ty) -> unit) -> unit