pub struct WasmtimeEngine { /* private fields */ }Expand description
A wrapper for using Wasmtime as a DiffEngine.
Implementations§
Source§impl WasmtimeEngine
impl WasmtimeEngine
Sourcepub fn new(
u: &mut Unstructured<'_>,
config: &mut Config,
compiler_strategy: CompilerStrategy,
) -> Result<Self>
pub fn new( u: &mut Unstructured<'_>, config: &mut Config, compiler_strategy: CompilerStrategy, ) -> Result<Self>
Merely store the configuration; the engine is actually constructed
later. Ideally the store and engine could be built here but
compile_module takes a generators::Config; TODO re-factor this if
that ever changes.
Trait Implementations§
Source§impl DiffEngine for WasmtimeEngine
impl DiffEngine for WasmtimeEngine
Source§fn instantiate(&mut self, wasm: &[u8]) -> Result<Box<dyn DiffInstance>>
fn instantiate(&mut self, wasm: &[u8]) -> Result<Box<dyn DiffInstance>>
Create a new instance with the given engine.
Source§fn assert_error_match(&self, lhs: &Error, rhs: &Trap)
fn assert_error_match(&self, lhs: &Error, rhs: &Trap)
Tests that the wasmtime-originating
trap matches the error this engine
generated.Source§fn is_non_deterministic_error(&self, err: &Error) -> bool
fn is_non_deterministic_error(&self, err: &Error) -> bool
Returns whether the error specified from this engine is
non-deterministic, like a stack overflow or an attempt to allocate an
object that is too large (which is non-deterministic because it may
depend on which collector it was configured with or memory available on
the system).
Auto Trait Implementations§
impl Freeze for WasmtimeEngine
impl RefUnwindSafe for WasmtimeEngine
impl Send for WasmtimeEngine
impl Sync for WasmtimeEngine
impl Unpin for WasmtimeEngine
impl UnsafeUnpin for WasmtimeEngine
impl UnwindSafe for WasmtimeEngine
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more