mycelium_util/
lib.rs

1#![doc = include_str!("../README.md")]
2#![cfg_attr(target_os = "none", no_std)]
3#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg, doc_cfg_hide))]
4#![allow(unused_unsafe)]
5#![warn(missing_docs, rustdoc::broken_intra_doc_links)]
6
7#[cfg(feature = "alloc")]
8extern crate alloc;
9#[macro_use]
10mod macros;
11
12pub use deferred::defer;
13pub mod deferred;
14pub mod error;
15pub mod fmt;
16pub mod io;
17pub mod math;
18pub mod mem;
19pub mod sync;
20
21pub(crate) mod loom;
22
23pub use cordyceps as intrusive;
24pub use mycelium_bitfield as bits;
25
26#[cfg(test)]
27pub(crate) mod test_util {
28    #[cfg(not(loom))]
29    pub(crate) fn trace_init() -> impl Drop {
30        use tracing_subscriber::{prelude::*, EnvFilter};
31        let filter = EnvFilter::from_env("RUST_LOG");
32        tracing_subscriber::fmt()
33            .with_test_writer()
34            .without_time()
35            .with_env_filter(filter)
36            .with_thread_names(true)
37            .set_default()
38    }
39
40    #[cfg(loom)]
41    pub(crate) fn trace_init() -> impl Drop {
42        use tracing_subscriber_03::{prelude::*, EnvFilter};
43        let filter = EnvFilter::from_env("LOOM_LOG");
44        tracing_subscriber_03::fmt()
45            .with_test_writer()
46            .without_time()
47            .with_env_filter(filter)
48            .set_default()
49    }
50}