Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
bytecodealliance
GitHub Repository: bytecodealliance/wasmtime
Path: blob/main/crates/core/src/error/mod.rs
3075 views
1
//! Wasmtime's universal error handling types.
2
//!
3
//! 99% API-compatible with `anyhow`, but additionally handles out-of-memory
4
//! errors, instead of aborting the process.
5
//!
6
//! See the [`Error`] documentation for more details.
7
8
#[cfg(feature = "backtrace")]
9
mod backtrace;
10
mod boxed;
11
mod context;
12
mod error;
13
mod oom;
14
mod ptr;
15
#[cfg(feature = "anyhow")]
16
mod to_wasmtime_result;
17
mod vtable;
18
19
#[doc(hidden)]
20
pub mod macros;
21
22
pub use crate::{bail, ensure, format_err};
23
#[cfg(feature = "backtrace")]
24
pub use backtrace::disable_backtrace;
25
pub use context::Context;
26
pub use error::*;
27
pub use oom::OutOfMemory;
28
#[cfg(feature = "anyhow")]
29
pub use to_wasmtime_result::ToWasmtimeResult;
30
31
/// A result of either `Ok(T)` or an [`Err(Error)`][Error].
32
pub type Result<T, E = Error> = core::result::Result<T, E>;
33
34
/// Return `core::result::Result::<T, wasmtime::Error>::Ok(value)`.
35
///
36
/// Useful in situations where Rust's type inference cannot figure out that the
37
/// `Result`'s error type is [`Error`].
38
#[allow(non_snake_case, reason = "matching anyhow API")]
39
pub fn Ok<T>(value: T) -> Result<T> {
40
core::result::Result::Ok(value)
41
}
42
43