#![cfg_attr(doc, doc = include_str!("../README.md"))]
#![cfg_attr(docsrs, feature(doc_cfg))]
#![no_std]
#![warn(clippy::std_instead_of_alloc)]
#![warn(clippy::std_instead_of_core)]
#[cfg(any(feature = "alloc", doc))]
extern crate alloc;
#[cfg(any(feature = "std", doc))]
extern crate std;
mod container_traits;
mod impls;
mod generic_container;
#[cfg(any(feature = "kinds", doc))]
#[cfg_attr(docsrs, doc(cfg(feature = "kinds")))]
pub mod kinds;
#[cfg(test)]
use dupe as _;
pub use self::generic_container::GenericContainer;
pub use self::container_traits::{
FragileTryContainer, TryContainer, FragileContainer, Container,
FragileTryMutContainer, TryMutContainer, FragileMutContainer, MutContainer,
BaseContainer, BaseMutContainer,
};
#[cfg(any(feature = "alloc", doc))]
#[cfg_attr(docsrs, doc(cfg(feature = "alloc")))]
pub use self::impls::CheckedRcRefCell;
#[cfg(feature = "thread-checked-lock")]
#[cfg_attr(docsrs, doc(cfg(feature = "thread-checked-lock")))]
pub use self::impls::ErasedLockError;