hash_injector/
lib.rs

1#![doc = include_str!("../README.md")]
2#![cfg_attr(not(any(feature = "mx", test)), no_std)]
3#![cfg_attr(not(any(feature = "mx", feature = "ndd")), forbid(unsafe_code))]
4#![cfg_attr(feature = "mx", feature(mutex_data_ptr))] // https://github.com/rust-lang/rust/issues/140368
5#![cfg_attr(feature = "hpe", feature(hasher_prefixfree_extras))] //  https://github.com/rust-lang/rust/issues/96762
6#![cfg_attr(feature = "flags", feature(adt_const_params))]
7// https://github.com/rust-lang/rust/issues/95174
8//#![cfg_attr(feature = "chk-details", feature(format_args))]
9#![cfg_attr(feature = "chk-details", allow(internal_features))]
10#![cfg_attr(
11    feature = "chk-details",
12    // No tracking issues (as of mid 2025). Only
13    // https://doc.rust-lang.org/nightly/unstable-book/library-features/const-format-args.html
14    // https://doc.rust-lang.org/nightly/unstable-book/library-features/fmt-internals.html
15    // https://doc.rust-lang.org/nightly/unstable-book/library-features/panic-internals.html
16    feature(const_format_args, fmt_internals, panic_internals)
17)]
18// - const_index https://github.com/rust-lang/rust/issues/143775
19// - const_trait_impl https://github.com/rust-lang/rust/issues/143874
20//
21// @TODO const_index:
22//
23//#![cfg_attr(feature = "chk-details", feature(const_index, const_trait_impl))]
24#![cfg_attr(feature = "chk-details", feature(const_trait_impl))]
25#![forbid(unused_must_use)]
26
27#[cfg(all(feature = "mx", feature = "ndd"))]
28compile_error!("Do not use both 'mx' and 'ndd' cargo feature.");
29
30pub use flags::{ProtocolFlags, new};
31pub use hasher::{SignalledInjectionBuildHasher, SignalledInjectionHasher};
32pub use signal::inject;
33
34mod flags;
35mod hasher;
36mod signal;
37mod state;
38
39#[cfg(test)]
40mod tests {
41    use super::*;
42
43    #[test]
44    fn it_works() {}
45}