1#![deny(warnings)]
4#![forbid(unsafe_code, unused_variables)]
5#![deny(clippy::pedantic, clippy::nursery)]
6#![deny(clippy::as_conversions)]
7#![allow(clippy::module_name_repetitions)]
8#![cfg_attr(not(feature = "std"), no_std)]
9
10#[cfg(not(feature = "std"))]
11extern crate alloc;
12
13#[cfg(not(feature = "std"))]
14pub mod prelude {
15 pub use alloc::{
16 boxed::Box,
17 collections::{BTreeMap, BTreeSet},
18 rc::Rc,
19 vec::Vec,
20 };
21 pub use core::cell::RefCell;
22}
23#[cfg(feature = "std")]
24pub mod prelude {
25 pub use std::{
26 cell::RefCell,
27 collections::{BTreeMap, BTreeSet},
28 rc::Rc,
29 vec::Vec,
30 };
31}
32
33pub use core::*;
34pub use runtime::*;
35
36#[cfg(feature = "tracing")]
37pub mod tracing;
38
39#[cfg(feature = "tracing")]
40macro_rules! event {
41 ($x:expr) => {
42 use crate::tracing::Event::*;
43 crate::tracing::with(|listener| listener.event($x));
44 };
45}
46
47#[cfg(not(feature = "tracing"))]
48macro_rules! event {
49 ($x:expr) => {};
50}
51
52pub mod backend;
53pub mod core;
54pub mod executor;
55pub mod gasometer;
56pub mod maybe_borrowed;
57pub mod runtime;