#![cfg_attr(feature = "nightly", feature(cfg_overflow_checks))]
#![cfg_attr(feature = "omega-tuples-of-doom", recursion_limit = "256")]
#![warn(
missing_docs,
unsafe_op_in_unsafe_fn,
clippy::missing_docs_in_private_items,
clippy::missing_safety_doc,
clippy::multiple_unsafe_ops_per_block,
clippy::undocumented_unsafe_blocks
)]
#![deny(
unconditional_recursion,
unexpected_cfgs,
clippy::empty_docs,
clippy::mixed_attributes_style,
clippy::unnecessary_safety_comment
)]
#![cfg_attr(docsrs, feature(doc_cfg))]
#![doc = include_str!("../README.md")]
#![doc = ""]
#![doc = "[wiwi.kiwin.gay]: https://wiwi.kiwin.gay"]
#![doc = ""]
#![cfg_attr(all(not(docsrs), feature = "all-unstable"), doc = "## Enabled features (`all-unstable` is enabled)")]
#![cfg_attr(all(not(docsrs), feature = "all", not(feature = "all-unstable")), doc = "## Enabled features (`all` is enabled)")]
#![cfg_attr(all(not(docsrs), not(feature = "all"), not(feature = "all-unstable")), doc = "## Enabled features")]
#![cfg_attr(all(docsrs, not(kiwingay)), doc = "## Enabled features (docs.rs)")]
#![cfg_attr(kiwingay, doc = "## Enabled features (wiwi.kiwin.gay)")]
#![doc = ""]
#![cfg_attr(all(docsrs, not(kiwingay)), doc = "On docs.rs, the feature `all` is enabled. This means that all stable features,")]
#![cfg_attr(all(docsrs, not(kiwingay)), doc = "and only stable features, will appear in these docs.")]
#![cfg_attr(kiwingay, doc = "On [wiwi.kiwin.gay], as many features as possible are enabled. This means")]
#![cfg_attr(kiwingay, doc = "everything, including unstable features!")]
#![cfg_attr(any(docsrs, kiwingay), doc = "")]
#![cfg_attr(all(not(any(docsrs, kiwingay)), feature = "aoc-unstable"), doc = "- `aoc` (unstable)")]
#![cfg_attr(all(not(any(docsrs, kiwingay)), feature = "augment-panic-hook"), doc = "- `augment-panic-hook`")]
#![cfg_attr(all(not(any(docsrs, kiwingay)), feature = "auth-unstable"), doc = "- `auth` (unstable)")]
#![cfg_attr(all(not(any(docsrs, kiwingay)), feature = "bitstream-unstable"), doc = "- `bitstream` (unstable)")]
#![cfg_attr(all(not(any(docsrs, kiwingay)), feature = "chainer-unstable"), doc = "- `chainer` (unstable)")]
#![cfg_attr(all(not(any(docsrs, kiwingay)), feature = "cli-unstable"), doc = "- `cli` (unstable)")]
#![cfg_attr(all(not(any(docsrs, kiwingay)), feature = "clock-timer"), doc = "- `clock-timer`")]
#![cfg_attr(all(not(any(docsrs, kiwingay)), feature = "debounce"), doc = "- `debounce`")]
#![cfg_attr(all(not(any(docsrs, kiwingay)), feature = "defer-unstable"), doc = "- `defer` (unstable)")]
#![cfg_attr(all(not(any(docsrs, kiwingay)), feature = "export-all-submodules"), doc = "- `export-all-submodules`")]
#![cfg_attr(all(not(any(docsrs, kiwingay)), feature = "h"), doc = "- `h`")]
#![cfg_attr(all(not(any(docsrs, kiwingay)), feature = "hex"), doc = "- `hex`")]
#![cfg_attr(all(not(any(docsrs, kiwingay)), feature = "id-unstable"), doc = "- `id` (unstable)")]
#![cfg_attr(all(not(any(docsrs, kiwingay)), feature = "int-unstable"), doc = "- `int` (unstable)")]
#![cfg_attr(all(not(any(docsrs, kiwingay)), feature = "iter-unstable"), doc = "- `iter` (unstable)")]
#![cfg_attr(all(not(any(docsrs, kiwingay)), feature = "lazy-wrap"), doc = "- `lazy-wrap`")]
#![cfg_attr(all(not(any(docsrs, kiwingay)), feature = "lsl-unstable"), doc = "- `lsl` (unstable)")]
#![cfg_attr(all(not(any(docsrs, kiwingay)), feature = "mcu-unstable"), doc = "- `mcu` (unstable)")]
#![cfg_attr(all(not(any(docsrs, kiwingay)), feature = "memory-usage-unstable"), doc = "- `memory-usage` (unstable)")]
#![cfg_attr(all(not(any(docsrs, kiwingay)), feature = "minesweeper-unstable"), doc = "- `minesweeper` (unstable)")]
#![cfg_attr(all(not(any(docsrs, kiwingay)), feature = "nominal"), doc = "- `nominal`")]
#![cfg_attr(all(not(any(docsrs, kiwingay)), feature = "num-traits-unstable"), doc = "- `num-traits` (unstable)")]
#![cfg_attr(all(not(any(docsrs, kiwingay)), feature = "path-unstable"), doc = "- `path` (unstable)")]
#![cfg_attr(all(not(any(docsrs, kiwingay)), feature = "rand"), doc = "- `rand`")]
#![cfg_attr(all(not(any(docsrs, kiwingay)), feature = "serialiser-binary-unstable"), doc = "- `serialiser-binary` (unstable)")]
#![cfg_attr(all(not(any(docsrs, kiwingay)), feature = "serialiser-binary-2-unstable"), doc = "- `serialiser-binary-2` (unstable)")]
#![cfg_attr(all(not(any(docsrs, kiwingay)), feature = "serialiser-text-unstable"), doc = "- `serialiser-text` (unstable)")]
#![cfg_attr(all(not(any(docsrs, kiwingay)), feature = "string-pool-unstable"), doc = "- `string-pool` (unstable)")]
#![cfg_attr(all(not(any(docsrs, kiwingay)), feature = "sudoku-unstable"), doc = "- `sudoku` (unstable)")]
#![cfg_attr(all(not(any(docsrs, kiwingay)), feature = "unicode-unstable"), doc = "- `unicode` (unstable)")]
#![cfg_attr(all(not(any(docsrs, kiwingay)), feature = "with-cloned"), doc = "- `with-cloned`")]
#![cfg_attr(all(not(any(docsrs, kiwingay)), feature = "z85"), doc = "- `z85`")]
#![cfg_attr(all(
not(feature = "aoc-unstable"),
not(feature = "augment-panic-hook"),
not(feature = "auth-unstable"),
not(feature = "bitstream-unstable"),
not(feature = "chainer-unstable"),
not(feature = "cli-unstable"),
not(feature = "clock-timer"),
not(feature = "debounce"),
not(feature = "defer-unstable"),
not(feature = "export-all-submodules"),
not(feature = "h"),
not(feature = "hex"),
not(feature = "id-unstable"),
not(feature = "int-unstable"),
not(feature = "iter-unstable"),
not(feature = "lazy-wrap"),
not(feature = "lsl-unstable"),
not(feature = "mcu-unstable"),
not(feature = "memory-usage-unstable"),
not(feature = "minesweeper-unstable"),
not(feature = "nominal"),
not(feature = "num-traits-unstable"),
not(feature = "path-unstable"),
not(feature = "rand"),
not(feature = "serialiser-binary-unstable"),
not(feature = "serialiser-binary-2-unstable"),
not(feature = "serialiser-text-unstable"),
not(feature = "string-pool-unstable"),
not(feature = "sudoku-unstable"),
not(feature = "unicode-unstable"),
not(feature = "with-cloned"),
not(feature = "z85"),
not(docsrs)
), doc = "No features enabled! (you should probably enable something, otherwise this crate does nothing :p)")]
#![cfg_attr(all(docsrs, not(kiwingay)), doc = "")]
#![cfg_attr(all(docsrs, not(kiwingay)), doc = "If you would like to see documentation for unstable features, please use")]
#![cfg_attr(all(docsrs, not(kiwingay)), doc = "`cargo doc` to build them locally (or alternatively `cargo doc --open` to")]
#![cfg_attr(all(docsrs, not(kiwingay)), doc = "open the locally built docs in your default browser). Running `cargo doc`")]
#![cfg_attr(all(docsrs, not(kiwingay)), doc = "will by default also generate documentation for all crates in your dependency")]
#![cfg_attr(all(docsrs, not(kiwingay)), doc = "tree, including wiwi, so no need to clone the `wiwi` repository just for")]
#![cfg_attr(all(docsrs, not(kiwingay)), doc = "unstable feature docs.")]
#![cfg_attr(all(docsrs, not(kiwingay)), doc = "")]
#![cfg_attr(all(docsrs, not(kiwingay)), doc = "Unstable documentation for the in-development version of wiwi is available at [wiwi.kiwin.gay].")]
#![cfg_attr(all(docsrs, kiwingay), doc = "")]
#,
")."
)
)]
#[cfg(target_pointer_width = "16")]
compile_error!("16-bit platforms are not supported (but please do file an issue if for whatever reason you do need it!)");
#[cfg(any(doc, docsrs, kiwingay))]
#[doc = include_str!("../CHANGELOG.md")]
pub mod _changelog {}
mod _internal;
pub mod prelude;
#[cfg(feature = "aoc-unstable")]
#[cfg_attr(docsrs, doc(cfg(feature = "aoc-unstable")))]
#[doc = ""]
#[doc = include_str!("./aoc/README.md")]
pub mod aoc;
#[cfg(feature = "augment-panic-hook")]
#[cfg_attr(docsrs, doc(cfg(feature = "augment-panic-hook")))]
#[doc = ""]
#[doc = include_str!("./augment_panic_hook/README.md")]
pub mod augment_panic_hook;
#[cfg(feature = "auth-unstable")]
#[cfg_attr(docsrs, doc(cfg(feature = "auth-unstable")))]
#[doc = ""]
#[doc = include_str!("./auth/README.md")]
pub mod auth;
#[cfg(feature = "bitstream-unstable")]
#[cfg_attr(docsrs, doc(cfg(feature = "bitstream-unstable")))]
#[doc = ""]
#[doc = include_str!("./bitstream/README.md")]
pub mod bitstream;
#[cfg(feature = "chainer-unstable")]
#[cfg_attr(docsrs, doc(cfg(feature = "chainer-unstable")))]
#[doc = ""]
#[doc = include_str!("./chainer/README.md")]
pub mod chainer;
#[cfg(feature = "cli-unstable")]
#[cfg_attr(docsrs, doc(cfg(feature = "cli-unstable")))]
#[doc = ""]
#[doc = include_str!("./cli/README.md")]
pub mod cli;
#[cfg(feature = "clock-timer")]
#[cfg_attr(docsrs, doc(cfg(feature = "clock-timer")))]
#[doc = ""]
#[doc = include_str!("./clock_timer/README.md")]
pub mod clock_timer;
#[cfg(feature = "debounce")]
#[cfg_attr(docsrs, doc(cfg(feature = "debounce")))]
#[doc = ""]
#[doc = include_str!("./debounce/README.md")]
pub mod debounce;
#[cfg(feature = "defer-unstable")]
#[cfg_attr(docsrs, doc(cfg(feature = "defer-unstable")))]
#[doc = ""]
#[doc = include_str!("./defer/README.md")]
pub mod defer;
#[cfg(feature = "export-all-submodules")]
#[cfg_attr(docsrs, doc(cfg(feature = "export-all-submodules")))]
#[doc = ""]
#[doc = include_str!("./export_all_submodules/README.md")]
pub mod export_all_submodules;
#[cfg(feature = "h")]
#[cfg_attr(docsrs, doc(cfg(feature = "h")))]
#[doc = ""]
#[doc = include_str!("./h/README.md")]
pub mod h;
#[cfg(feature = "hex")]
#[cfg_attr(docsrs, doc(cfg(feature = "hex")))]
#[doc = ""]
#[doc = include_str!("./hex/README.md")]
pub mod hex;
#[cfg(feature = "id-unstable")]
#[cfg_attr(docsrs, doc(cfg(feature = "id-unstable")))]
#[doc = ""]
#[doc = include_str!("./id/README.md")]
pub mod id;
#[cfg(feature = "int-unstable")]
#[cfg_attr(docsrs, doc(cfg(feature = "int-unstable")))]
#[doc = ""]
#[doc = include_str!("./int/README.md")]
pub mod int;
#[cfg(feature = "iter-unstable")]
#[cfg_attr(docsrs, doc(cfg(feature = "iter-unstable")))]
#[doc = ""]
#[doc = include_str!("./iter/README.md")]
pub mod iter;
#[cfg(feature = "lazy-wrap")]
#[cfg_attr(docsrs, doc(cfg(feature = "lazy-wrap")))]
#[doc = ""]
#[doc = include_str!("./lazy_wrap/README.md")]
pub mod lazy_wrap;
#[cfg(feature = "lsl-unstable")]
#[cfg_attr(docsrs, doc(cfg(feature = "lsl-unstable")))]
#[doc = ""]
#[doc = include_str!("./lsl/README.md")]
pub mod lsl;
#[cfg(feature = "mcu-unstable")]
#[cfg_attr(docsrs, doc(cfg(feature = "mcu-unstable")))]
#[doc = ""]
#[doc = include_str!("./mcu/README.md")]
pub mod mcu;
#[cfg(feature = "memory-usage-unstable")]
#[cfg_attr(docsrs, doc(cfg(feature = "memory-usage-unstable")))]
#[doc = ""]
#[doc = include_str!("./memory_usage/README.md")]
pub mod memory_usage;
#[cfg(feature = "minesweeper-unstable")]
#[cfg_attr(docsrs, doc(cfg(feature = "minesweeper-unstable")))]
#[doc = ""]
#[doc = include_str!("./minesweeper/README.md")]
pub mod minesweeper;
#[cfg(feature = "nominal")]
#[cfg_attr(docsrs, doc(cfg(feature = "nominal")))]
#[doc = ""]
#[doc = include_str!("./nominal/README.md")]
pub mod nominal;
#[cfg(feature = "num-traits-unstable")]
#[cfg_attr(docsrs, doc(cfg(feature = "num-traits-unstable")))]
#[doc = ""]
#[doc = include_str!("./num_traits/README.md")]
pub mod num_traits;
#[cfg(feature = "path-unstable")]
#[cfg_attr(docsrs, doc(cfg(feature = "path-unstable")))]
#[doc = ""]
#[doc = include_str!("./path/README.md")]
pub mod path;
#[cfg(feature = "rand")]
#[cfg_attr(docsrs, doc(cfg(feature = "rand")))]
#[doc = ""]
#[doc = include_str!("./rand/README.md")]
pub mod rand;
#[cfg(feature = "serialiser-binary-unstable")]
#[cfg_attr(docsrs, doc(cfg(feature = "serialiser-binary-unstable")))]
#[doc = ""]
#[doc = include_str!("./serialiser_binary/README.md")]
pub mod serialiser_binary;
#[cfg(feature = "serialiser-binary-2-unstable")]
#[cfg_attr(docsrs, doc(cfg(feature = "serialiser-binary-2-unstable")))]
#[doc = ""]
#[doc = include_str!("./serialiser_binary_2/README.md")]
pub mod serialiser_binary_2;
#[cfg(feature = "serialiser-text-unstable")]
#[cfg_attr(docsrs, doc(cfg(feature = "serialiser-text-unstable")))]
#[doc = ""]
#[doc = include_str!("./serialiser_text/README.md")]
pub mod serialiser_text;
#[cfg(feature = "string-pool-unstable")]
#[cfg_attr(docsrs, doc(cfg(feature = "string-pool-unstable")))]
#[doc = ""]
#[doc = include_str!("./string_pool/README.md")]
pub mod string_pool;
#[cfg(feature = "sudoku-unstable")]
#[cfg_attr(docsrs, doc(cfg(feature = "sudoku-unstable")))]
#[doc = ""]
#[doc = include_str!("./sudoku/README.md")]
pub mod sudoku;
#[cfg(feature = "unicode-unstable")]
#[cfg_attr(docsrs, doc(cfg(feature = "unicode-unstable")))]
#[doc = ""]
#[doc = include_str!("./unicode/README.md")]
pub mod unicode;
#[cfg(feature = "with-cloned")]
#[cfg_attr(docsrs, doc(cfg(feature = "with-cloned")))]
#[doc = ""]
#[doc = include_str!("./with_cloned/README.md")]
pub mod with_cloned;
#[cfg(feature = "z85")]
#[cfg_attr(docsrs, doc(cfg(feature = "z85")))]
#[doc = ""]
#[doc = include_str!("./z85/README.md")]
pub mod z85;