diff options
| author | Jack O'Connor <[email protected]> | 2023-09-16 14:11:27 -0700 |
|---|---|---|
| committer | Jack O'Connor <[email protected]> | 2023-09-16 14:11:27 -0700 |
| commit | 12b368541f917d69b6169a4d895e206144acd44f (patch) | |
| tree | 4273ecd0fd5bbe56f083c43bf28ac525f3d1be11 | |
| parent | f22d66b307504aec7a31a91d9bcdb3cd099365a4 (diff) | |
document the `zeroize` Cargo feature
As part of this change, I don't think we need the `zeroize_crate`
workaround anymore if we use the relateively new `dep:` syntax in
Cargo.toml.
| -rw-r--r-- | Cargo.toml | 10 | ||||
| -rw-r--r-- | src/lib.rs | 7 |
2 files changed, 9 insertions, 8 deletions
@@ -28,6 +28,10 @@ std = [] # The "rayon" feature (defined below as an optional dependency) enables the # `Hasher::update_rayon` method, for multithreaded hashing. However, even if # this feature is enabled, all other APIs remain single-threaded. +rayon = ["dep:rayon", "std"] + +# Implement the zeroize::Zeroize trait for types in this crate. +zeroize = ["dep:zeroize", "arrayvec/zeroize"] # This crate implements traits from the RustCrypto project, exposed here as the # "traits-preview" feature. However, these traits aren't stable, and they're @@ -77,11 +81,9 @@ no_avx2 = [] no_avx512 = [] no_neon = [] -zeroize = ["zeroize_crate", "arrayvec/zeroize"] - [package.metadata.docs.rs] # Document Hasher::update_rayon on docs.rs. -features = ["rayon"] +features = ["rayon", "zeroize"] [dependencies] arrayref = "0.3.5" @@ -90,7 +92,7 @@ constant_time_eq = "0.3.0" rayon = { version = "1.2.1", optional = true } cfg-if = "1.0.0" digest = { version = "0.10.1", features = [ "mac" ], optional = true } -zeroize_crate = { package = "zeroize", version = "1", default-features = false, features = ["zeroize_derive"], optional = true } +zeroize = { version = "1", default-features = false, features = ["zeroize_derive"], optional = true } [dev-dependencies] hex = "0.4.2" @@ -43,6 +43,9 @@ //! the [`Hasher::update_rayon`] method, for multithreaded hashing. However, //! even if this feature is enabled, all other APIs remain single-threaded. //! +//! The `zeroize` feature (disabled by default, but enabled for [docs.rs]) implements +//! [`Zeroize`](https://docs.rs/zeroize/latest/zeroize/trait.Zeroize.html) for this crate's types. +//! //! The NEON implementation is enabled by default for AArch64 but requires the //! `neon` feature for other ARM targets. Not all ARMv7 CPUs support NEON, and //! enabling this feature will produce a binary that's not portable to CPUs @@ -67,10 +70,6 @@ #![cfg_attr(not(feature = "std"), no_std)] -#[cfg(feature = "zeroize")] -extern crate zeroize_crate as zeroize; // Needed because `zeroize::Zeroize` assumes the crate is named `zeroize`. - - #[cfg(test)] mod test; |
