pub trait EnvBase: Sized + Clone {
    fn as_mut_any(&mut self) -> &mut (dyn Any + 'static);
    fn check_same_env(&self, other: &Self);
    fn deep_clone(&self) -> Self;
    fn bytes_copy_from_slice(
        &self,
        b: Object,
        b_pos: RawVal,
        mem: &[u8]
    ) -> Result<Object, Status>; fn bytes_copy_to_slice(
        &self,
        b: Object,
        b_pos: RawVal,
        mem: &mut [u8]
    ) -> Result<(), Status>; fn bytes_new_from_slice(&self, mem: &[u8]) -> Result<Object, Status>; fn log_static_fmt_val(
        &self,
        fmt: &'static str,
        v: RawVal
    ) -> Result<(), Status>; fn log_static_fmt_static_str(
        &self,
        fmt: &'static str,
        s: &'static str
    ) -> Result<(), Status>; fn log_static_fmt_val_static_str(
        &self,
        fmt: &'static str,
        v: RawVal,
        s: &'static str
    ) -> Result<(), Status>; fn log_static_fmt_general(
        &self,
        fmt: &'static str,
        vals: &[RawVal],
        strs: &[&'static str]
    ) -> Result<(), Status>; }
Expand description

Base trait extended by the Env trait, providing various special-case functions that do not simply call across cross the guest/host interface.

Required Methods

Used for recovering the concrete type of the Host.

Used to check two environments are the same, trapping if not.

Used to clone an environment deeply, not just a handle to it.

Copy a slice of bytes from the caller’s memory into an existing Bytes object the host, returning a new Bytes.

Copy a slice of bytes from a Bytes object in the host into the caller’s memory.

Form a new Bytes object in the host from a slice of memory in the caller.

Log a formatted debugging message to the debug log (if present), passing a simplified format string (supporting only positional {} markers) and a single RawVal argument that will be inserted at the marker in the format string.

Log a formatted debugging message to the debug log (if present), passing a simplified format string (supporting only positional {} markers) and a single string-slice argument that will be inserted at the marker in the format string.

Log a formatted debugging message to the debug log (if present), passing a simplified format string (supporting only positional {} markers) and both a RawVal and a string-slice argument, that will each be inserted at markers in the format string.

Log a formatted debugging message to the debug log (if present), passing a simplified format string (supporting only positional {} markers) and both a slice of RawVals and a slice of string-slice argument, that will be sequentially inserted at markers in the format string.

Implementors