#![crate_type = "lib"]
#![allow(
clippy::len_without_is_empty,
clippy::missing_docs_in_private_items,
clippy::missing_errors_doc,
clippy::missing_panics_doc,
clippy::missing_safety_doc,
clippy::module_inception,
clippy::needless_doctest_main,
clippy::new_ret_no_self,
clippy::should_implement_trait,
clippy::upper_case_acronyms
)]
#![cfg_attr(not(feature = "std"), no_std)]
#![cfg_attr(all(feature = "alloc", feature = "nightly"), feature(allocator_api))]
#![cfg_attr(feature = "nightly", feature(arbitrary_self_types))]
#[cfg(feature = "alloc")]
extern crate alloc;
#[macro_use]
mod macros {
#[macro_use]
pub(crate) mod seal;
#[macro_use]
pub(crate) mod state;
}
pub mod error;
mod state;
mod impls {
mod impl_halt;
mod impl_state;
mod impl_state_ops;
mod impl_state_repr;
}
mod traits {
#[doc(inline)]
pub use self::{convert::*, halting::*, raw_state::*, stateful::*};
mod convert;
mod halting;
mod raw_state;
mod stateful;
}
mod types {
#[doc(inline)]
pub use self::aliases::*;
mod aliases;
}
#[doc(inline)]
pub use self::{error::*, state::*, traits::*, types::*};
#[doc(hidden)]
pub mod prelude {
#[cfg(feature = "macros")]
pub use crate::s;
pub use crate::state::*;
pub use crate::traits::*;
pub use crate::types::*;
}