#![no_std]
#![warn(
clippy::cast_lossless,
clippy::missing_errors_doc,
clippy::used_underscore_binding,
clippy::redundant_closure_for_method_calls,
clippy::type_repetition_in_bounds,
clippy::inconsistent_struct_constructor,
clippy::default_trait_access,
clippy::items_after_statements
)]
#![recursion_limit = "750"]
#[cfg(not(feature = "std"))]
extern crate alloc as std;
#[cfg(feature = "std")]
extern crate std;
#[macro_use]
mod foreach_tuple;
mod engine;
mod error;
mod externref;
mod func;
mod global;
mod instance;
mod limits;
mod linker;
mod memory;
mod module;
mod reftype;
mod store;
mod table;
mod value;
#[doc(inline)]
pub use wasmi_core as core;
#[doc(inline)]
use wasmi_collections as collections;
pub mod errors {
pub use super::{
engine::EnforcedLimitsError,
error::ErrorKind,
func::FuncError,
global::GlobalError,
linker::LinkerError,
memory::MemoryError,
module::{InstantiationError, ReadError},
store::FuelError,
table::TableError,
};
}
pub use self::{
engine::{
CompilationMode,
Config,
EnforcedLimits,
Engine,
EngineWeak,
ResumableCall,
ResumableInvocation,
StackLimits,
TypedResumableCall,
TypedResumableInvocation,
},
error::Error,
externref::ExternRef,
func::{
Caller,
Func,
FuncRef,
FuncType,
IntoFunc,
TypedFunc,
WasmParams,
WasmResults,
WasmRet,
WasmTy,
WasmTyList,
},
global::{Global, GlobalType, Mutability},
instance::{Export, ExportsIter, Extern, ExternType, Instance},
limits::{ResourceLimiter, StoreLimits, StoreLimitsBuilder},
linker::{state, Linker, LinkerBuilder},
memory::{Memory, MemoryType},
module::{
CustomSection,
CustomSectionsIter,
ExportType,
ImportType,
InstancePre,
Module,
ModuleExportsIter,
ModuleImportsIter,
Read,
},
store::{AsContext, AsContextMut, Store, StoreContext, StoreContextMut},
table::{Table, TableType},
value::Val,
};
use self::{
func::{FuncEntity, FuncIdx},
global::{GlobalEntity, GlobalIdx},
instance::{InstanceEntity, InstanceEntityBuilder, InstanceIdx},
memory::{DataSegmentEntity, DataSegmentIdx, MemoryEntity, MemoryIdx},
store::Stored,
table::{ElementSegment, ElementSegmentEntity, ElementSegmentIdx, TableEntity, TableIdx},
};