1#![cfg_attr(doc, doc = include_str!("../README.md"))]
27
28
29#![cfg_attr(docsrs, feature(doc_cfg))]
30
31#![no_std]
32#![warn(clippy::std_instead_of_alloc)]
33#![warn(clippy::std_instead_of_core)]
34
35#[cfg(any(feature = "alloc", doc))]
36extern crate alloc;
37
38#[cfg(any(feature = "std", doc))]
39extern crate std;
40
41
42mod container_traits;
43mod impls;
44mod generic_container;
45#[cfg(any(feature = "kinds", doc))]
46#[cfg_attr(docsrs, doc(cfg(feature = "kinds")))]
47pub mod kinds;
48
49
50#[cfg(test)]
52use dupe as _;
53
54
55pub use self::generic_container::GenericContainer;
56pub use self::container_traits::{
57 FragileTryContainer, TryContainer, FragileContainer, Container,
59 FragileTryMutContainer, TryMutContainer, FragileMutContainer, MutContainer,
60
61 BaseContainer, BaseMutContainer,
63};
64
65#[cfg(any(feature = "alloc", doc))]
66#[cfg_attr(docsrs, doc(cfg(feature = "alloc")))]
67pub use self::impls::CheckedRcRefCell;
68
69#[cfg(feature = "thread-checked-lock")]
70#[cfg_attr(docsrs, doc(cfg(feature = "thread-checked-lock")))]
71pub use self::impls::ErasedLockError;