#![deny(missing_docs, warnings)]
#![feature(core, std_misc, unsafe_destructor, optin_builtin_traits)]
#[macro_use(debug_unreachable)]
extern crate debug_unreachable;
extern crate oncemutex;
pub mod single;
pub mod sync;
mod lazy {
pub use super::*;
}
#[macro_export]
macro_rules! lazy {
($e:expr) => {
$crate::single::Thunk::new(move || { $e })
}
}
#[macro_export]
macro_rules! sync_lazy {
($e:expr) => {
$crate::sync::Thunk::new(move || { $e })
}
}