Module Interp.StateM

type syn = State.syn
type st = State.t option
type ('a, 'env) t
val ok : 'a -> ('a, 'env) t
val error : Error.t -> ('a, 'env) t
val error_raw : Error.with_trace -> ('a, 'env) t
val assert_ : [< Soteria_rust_lib.Typed.T.sbool ] Typed.t -> Error.t -> (unit, 'env) t
val assert_not : [< Soteria_rust_lib.Typed.T.sbool ] Typed.t -> Error.t -> (unit, 'env) t
val miss : syn list list -> ('a, 'env) t
val vanish : unit -> ('a, 'env) t
val not_impl : string -> ('a, 'env) t
val bind : ('a, 'env) t -> ('a -> ('b, 'env) t) -> ('b, 'env) t
val map : ('a, 'env) t -> ('a -> 'b) -> ('b, 'env) t
val fold_list : 'a list -> init:'b -> f:('b -> 'a -> ('b, 'env) t) -> ('b, 'env) t
val fold_iter : 'a Soteria.Soteria_std.Foldable.Iter.t -> init:'b -> f:('b -> 'a -> ('b, 'env) t) -> ('b, 'env) t
val iter_list : 'a list -> f:('a -> (unit, 'env) t) -> (unit, 'env) t
val iter_iter : 'a Soteria.Soteria_std.Foldable.Iter.t -> f:('a -> (unit, 'env) t) -> (unit, 'env) t
val map_list : 'a list -> f:('a -> ('b, 'env) t) -> ('b list, 'env) t
val get_state : unit -> (st, 'env) t
val get_env : unit -> ('env, 'env) t
val map_env : ('env -> 'env) -> (unit, 'env) t
val with_env : env:'env1 -> ('a, 'env1) t -> ('a, 'env) t
val of_opt_not_impl : string -> 'a option -> ('a, 'env) t
val assume : Soteria_rust_lib.Typed.T.sbool Typed.t list -> (unit, 'env) t
val with_loc : loc:Charon.Meta.span_data -> (unit -> ('a, 'env) t) -> ('a, 'env) t
val get_trace : unit -> (Trace.t, 'env) t
val with_extra_call_trace : loc:Charon.Meta.span_data -> msg:string -> ('a, 'env) t -> ('a, 'env) t
val unwind_with : f:('a -> ('b, 'env) t) -> fe:(Error.with_trace -> ('b, 'env) t) -> ('a, 'env) t -> ('b, 'env) t
val run : env:'env -> state:st -> (unit -> ('a, 'env) t) -> ('a * st, Error.with_trace * st, syn list) Soteria.Symex.Compo_res.t Rustsymex.t
val lift_symex : 'a Rustsymex.t -> ('a, 'env) t
module Poly : sig ... end
module Sptr : sig ... end
type full_ptr = Sptr.t Rust_val.full_ptr
type rust_val = Sptr.t Rust_val.t
val pp_rust_val : Stdlib.Format.formatter -> rust_val -> unit
val pp_full_ptr : Stdlib.Format.formatter -> full_ptr -> unit
module Layout : sig ... end
module Encoder : sig ... end
module State : sig ... end
module Syntax : sig ... end