From d1417e0b0c214ba6908e77f4df8abe4367525be6 Mon Sep 17 00:00:00 2001 From: Bert Peters Date: Sat, 7 May 2022 17:43:45 +0200 Subject: [PATCH] Tag module docs with their required features --- CHANGELOG.md | 7 ++++++- Cargo.toml | 2 ++ src/lib.rs | 7 ++++++- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index eb36c6a..a43744c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,10 +6,15 @@ adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] -### Fixed +### Added - Build [docs.rs] documentation with all features enabled for completeness. +### Fixed + +- The `parkinglot` module is now correctly enabled by the `parkinglot` feature rather than the + `lockapi` feature. + ## [0.2.0] ### Added diff --git a/Cargo.toml b/Cargo.toml index f8c419a..02ffe44 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -14,6 +14,8 @@ repository = "https://github.com/bertptrs/tracing-mutex" [package.metadata.docs.rs] # Build docs for all features so the documentation is more complete all-features = true +# Set custom cfg so we can enable docs.rs magic +rustdoc-args = ["--cfg", "docsrs"] [dependencies] lazy_static = "1" diff --git a/src/lib.rs b/src/lib.rs index 2c15a7b..0b6f425 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -45,6 +45,7 @@ //! enabled, and to the underlying mutex when they're not. //! //! [paper]: https://whileydave.com/publications/pk07_jea/ +#![cfg_attr(docsrs, feature(doc_cfg))] use std::cell::RefCell; use std::cell::UnsafeCell; use std::fmt; @@ -61,16 +62,20 @@ use std::sync::PoisonError; use lazy_static::lazy_static; #[cfg(feature = "lockapi")] +#[cfg_attr(docsrs, doc(cfg(feature = "lockapi")))] pub use lock_api; #[cfg(feature = "parkinglot")] +#[cfg_attr(docsrs, doc(cfg(feature = "parkinglot")))] pub use parking_lot; use crate::graph::DiGraph; mod graph; #[cfg(feature = "lockapi")] +#[cfg_attr(docsrs, doc(cfg(feature = "lockapi")))] pub mod lockapi; -#[cfg(feature = "lockapi")] +#[cfg(feature = "parkinglot")] +#[cfg_attr(docsrs, doc(cfg(feature = "parkinglot")))] pub mod parkinglot; pub mod stdsync;