tenferro_internal_runtime/
lib.rs

1//! Internal shared runtime holder for `tenferro` surface crates.
2//!
3//! # Examples
4//!
5//! ```
6//! use tenferro_internal_runtime::{set_default_runtime, with_default_runtime, RuntimeContext};
7//! use tenferro_prims::CpuContext;
8//!
9//! let _guard = set_default_runtime(RuntimeContext::Cpu(CpuContext::new(1)));
10//! let name = with_default_runtime(|ctx| Ok(ctx.name())).unwrap();
11//! assert_eq!(name, "cpu");
12//! ```
13
14mod context;
15pub mod contracts;
16pub mod dispatch;
17
18pub use context::{
19    set_default_runtime, with_default_runtime, with_runtime, DefaultRuntimeGuard, RuntimeContext,
20};
21
22#[cfg(test)]
23mod tests;