1#![no_std]
2#![deny(clippy::undocumented_unsafe_blocks)]
3
4extern crate alloc;
5#[macro_use]
6extern crate log;
7
8pub use core::error::ValidationError;
9pub use core::reader::types::{export::ExportDesc, Limits, NumType, RefType, ValType};
10pub use core::rw_spinlock;
11pub use execution::error::{RuntimeError, TrapError};
12pub use execution::store::*;
13pub use execution::value::Value;
14pub use execution::*;
15pub use validation::*;
16
17pub(crate) mod core;
18pub(crate) mod execution;
19pub(crate) mod validation;
20
21pub type Result<T> = ::core::result::Result<T, Error>;
23
24pub enum Error {
28 Validation(ValidationError),
29 RuntimeError(RuntimeError),
30}
31
32impl From<ValidationError> for Error {
33 fn from(value: ValidationError) -> Self {
34 Self::Validation(value)
35 }
36}
37
38impl From<RuntimeError> for Error {
39 fn from(value: RuntimeError) -> Self {
40 Self::RuntimeError(value)
41 }
42}