diff --git a/Cargo.toml b/Cargo.toml index b4cf87c..5b76d9d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -55,3 +55,8 @@ proptest = "1" regex = "1" rustyline = "8" voprf = { path = "", default-features = false, features = ["std"] } + +[package.metadata.docs.rs] +features = ["p256", "std"] +targets = [] +rustdoc-args = ["--cfg", "docsrs"] diff --git a/src/errors.rs b/src/errors.rs index 66b0be4..13f15bc 100644 --- a/src/errors.rs +++ b/src/errors.rs @@ -57,4 +57,5 @@ impl Debug for InternalError { } #[cfg(feature = "std")] +#[cfg_attr(docsrs, doc(cfg(feature = "std")))] impl Error for InternalError {} diff --git a/src/group/mod.rs b/src/group/mod.rs index 6a8a810..706a7f7 100644 --- a/src/group/mod.rs +++ b/src/group/mod.rs @@ -9,6 +9,7 @@ mod expand; #[cfg(feature = "p256")] +#[cfg_attr(docsrs, doc(cfg(feature = "p256")))] pub(crate) mod p256; mod ristretto; diff --git a/src/impls.rs b/src/impls.rs index 553f226..2545acf 100644 --- a/src/impls.rs +++ b/src/impls.rs @@ -129,6 +129,7 @@ macro_rules! impl_zeroize_on_drop_for { macro_rules! impl_serialize_and_deserialize_for { ($t:ident) => { #[cfg(feature = "serialize")] + #[cfg_attr(docsrs, doc(cfg(feature = "serialize")))] impl serde::Serialize for $t { fn serialize(&self, serializer: S) -> Result where @@ -143,6 +144,7 @@ macro_rules! impl_serialize_and_deserialize_for { } #[cfg(feature = "serialize")] + #[cfg_attr(docsrs, doc(cfg(feature = "serialize")))] impl<'de, CS: CipherSuite> serde::Deserialize<'de> for $t { fn deserialize(deserializer: D) -> Result where diff --git a/src/lib.rs b/src/lib.rs index f8d4576..9b4437c 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -476,6 +476,7 @@ #![cfg_attr(not(feature = "bench"), deny(missing_docs))] #![deny(unsafe_code)] #![cfg_attr(not(feature = "std"), no_std)] +#![cfg_attr(docsrs, feature(doc_cfg))] extern crate alloc;