1#![no_std]
2
3extern crate alloc;
4
5#[cfg(any(feature = "std", test))]
6extern crate std;
7
8pub mod once_lock;
9pub mod racy_lock;
10pub mod rw_lock;
11
12#[cfg(feature = "std")]
13pub use std::sync::LazyLock;
14
15pub use once_lock::OnceLockCompat;
16#[cfg(feature = "std")]
17pub use parking_lot::{RwLock, RwLockReadGuard, RwLockWriteGuard};
18#[cfg(not(feature = "std"))]
19pub use racy_lock::RacyLock as LazyLock;
20#[cfg(not(feature = "std"))]
21pub use rw_lock::{RwLock, RwLockReadGuard, RwLockWriteGuard};