aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJack O'Connor <[email protected]>2023-09-16 14:11:27 -0700
committerJack O'Connor <[email protected]>2023-09-16 14:11:27 -0700
commit12b368541f917d69b6169a4d895e206144acd44f (patch)
tree4273ecd0fd5bbe56f083c43bf28ac525f3d1be11
parentf22d66b307504aec7a31a91d9bcdb3cd099365a4 (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.toml10
-rw-r--r--src/lib.rs7
2 files changed, 9 insertions, 8 deletions
diff --git a/Cargo.toml b/Cargo.toml
index b0c7882..e9ab95e 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -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"
diff --git a/src/lib.rs b/src/lib.rs
index e2a4d9c..52971b7 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -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;