From 2b09dce7c1c155ffcc3d3fc51f9b2409cc88500e Mon Sep 17 00:00:00 2001 From: Joe Birr-Pixton Date: Mon, 29 Sep 2025 18:12:55 +0100 Subject: [PATCH 1/3] docs.rs: build for ~all features (excluding `fips`, as it is incompatible with `aws_lc_rs_unstable`) --- rcgen/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rcgen/Cargo.toml b/rcgen/Cargo.toml index dac874ca..02ea565f 100644 --- a/rcgen/Cargo.toml +++ b/rcgen/Cargo.toml @@ -44,7 +44,7 @@ name = "simple" required-features = ["crypto", "pem"] [package.metadata.docs.rs] -features = ["x509-parser"] +features = ["aws_lc_rs", "aws_lc_rs_unstable", "crypto", "ring", "x509-parser"] [package.metadata.cargo_check_external_types] allowed_external_types = [ From b3eed91bdec88ce4746933e2bc6f73edbe2c8179 Mon Sep 17 00:00:00 2001 From: Joe Birr-Pixton Date: Mon, 29 Sep 2025 18:13:16 +0100 Subject: [PATCH 2/3] docs.rs: use unique cfg for enabling nightly doc options --- .github/workflows/ci.yml | 6 +++--- rcgen/Cargo.toml | 4 ++++ rcgen/src/lib.rs | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d9abb155..3f657933 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -55,15 +55,15 @@ jobs: - name: cargo doc (ring) run: cargo doc --features ring,pem,x509-parser --document-private-items env: - RUSTDOCFLAGS: ${{ matrix.toolchain == 'nightly' && '-Dwarnings --cfg=docsrs' || '-Dwarnings' }} + RUSTDOCFLAGS: ${{ matrix.toolchain == 'nightly' && '-Dwarnings --cfg=rcgen_docsrs' || '-Dwarnings' }} - name: cargo doc (aws_lc_rs_unstable) run: cargo doc --features aws_lc_rs_unstable,pem,x509-parser --document-private-items env: - RUSTDOCFLAGS: ${{ matrix.toolchain == 'nightly' && '-Dwarnings --cfg=docsrs' || '-Dwarnings' }} + RUSTDOCFLAGS: ${{ matrix.toolchain == 'nightly' && '-Dwarnings --cfg=rcgen_docsrs' || '-Dwarnings' }} - name: cargo doc (fips) run: cargo doc --no-default-features --features fips --document-private-items env: - RUSTDOCFLAGS: ${{ matrix.toolchain == 'nightly' && '-Dwarnings --cfg=docsrs' || '-Dwarnings' }} + RUSTDOCFLAGS: ${{ matrix.toolchain == 'nightly' && '-Dwarnings --cfg=rcgen_docsrs' || '-Dwarnings' }} check-external-types: name: Validate external types appearing in public API diff --git a/rcgen/Cargo.toml b/rcgen/Cargo.toml index 02ea565f..0e52f9aa 100644 --- a/rcgen/Cargo.toml +++ b/rcgen/Cargo.toml @@ -45,6 +45,7 @@ required-features = ["crypto", "pem"] [package.metadata.docs.rs] features = ["aws_lc_rs", "aws_lc_rs_unstable", "crypto", "ring", "x509-parser"] +rustdoc-args = ["--cfg", "rcgen_docsrs"] [package.metadata.cargo_check_external_types] allowed_external_types = [ @@ -52,3 +53,6 @@ allowed_external_types = [ "zeroize::Zeroize", "rustls_pki_types::*", ] + +[lints.rust] +unexpected_cfgs = { level = "warn", check-cfg = ["cfg(rcgen_docsrs)"] } diff --git a/rcgen/src/lib.rs b/rcgen/src/lib.rs index 1e2adf19..9e83492b 100644 --- a/rcgen/src/lib.rs +++ b/rcgen/src/lib.rs @@ -29,7 +29,7 @@ println!("{}", signing_key.serialize_pem()); #![forbid(unsafe_code)] #![forbid(non_ascii_idents)] #![deny(missing_docs)] -#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))] +#![cfg_attr(rcgen_docsrs, feature(doc_cfg, doc_auto_cfg))] #![warn(unreachable_pub)] use std::borrow::Cow; From c74b7b5243ef3f7d4b401b9b77a2e9e4cdde86d8 Mon Sep 17 00:00:00 2001 From: Joe Birr-Pixton Date: Mon, 29 Sep 2025 18:21:07 +0100 Subject: [PATCH 3/3] Remove use of withdrawn `doc_auto_cfg` feature --- rcgen/src/lib.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rcgen/src/lib.rs b/rcgen/src/lib.rs index 9e83492b..c42f3d0b 100644 --- a/rcgen/src/lib.rs +++ b/rcgen/src/lib.rs @@ -29,7 +29,7 @@ println!("{}", signing_key.serialize_pem()); #![forbid(unsafe_code)] #![forbid(non_ascii_idents)] #![deny(missing_docs)] -#![cfg_attr(rcgen_docsrs, feature(doc_cfg, doc_auto_cfg))] +#![cfg_attr(rcgen_docsrs, feature(doc_cfg))] #![warn(unreachable_pub)] use std::borrow::Cow;