[INFO] fetching crate oauth-as 0.9.3...
[INFO] documenting oauth-as-0.9.3 against da3f5c31e5535b3dc210067de660a45784ae1e9c for pr-162169
[INFO] extracting crate oauth-as 0.9.3 into /workspace/builds/worker-2-tc2/source
[INFO] started tweaking crates.io crate oauth-as 0.9.3
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate oauth-as 0.9.3
[INFO] tweaked toml for crates.io crate oauth-as 0.9.3 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate oauth-as 0.9.3 on toolchain da3f5c31e5535b3dc210067de660a45784ae1e9c
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+da3f5c31e5535b3dc210067de660a45784ae1e9c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate oauth-as 0.9.3 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+da3f5c31e5535b3dc210067de660a45784ae1e9c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] ae5ff4c9422f735ad3d76d3b29278352ed97f7f78b945af4e9ac658c97a36615
[INFO] running `Command { std: "docker" "start" "ae5ff4c9422f735ad3d76d3b29278352ed97f7f78b945af4e9ac658c97a36615", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ae5ff4c9422f735ad3d76d3b29278352ed97f7f78b945af4e9ac658c97a36615", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "ae5ff4c9422f735ad3d76d3b29278352ed97f7f78b945af4e9ac658c97a36615" "/opt/rustwide/cargo-home/bin/cargo" "+da3f5c31e5535b3dc210067de660a45784ae1e9c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ae5ff4c9422f735ad3d76d3b29278352ed97f7f78b945af4e9ac658c97a36615", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "ae5ff4c9422f735ad3d76d3b29278352ed97f7f78b945af4e9ac658c97a36615" "/opt/rustwide/cargo-home/bin/cargo" "+da3f5c31e5535b3dc210067de660a45784ae1e9c" "doc" "--frozen" "--no-deps" "--document-private-items" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling quote v1.0.47
[INFO] [stderr]    Compiling proc-macro2 v1.0.107
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]    Compiling syn v3.0.3
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]     Checking serde v1.0.229
[INFO] [stderr]  Documenting oauth-as v0.9.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unresolved link to `jwt::Es256Signer`
[INFO] [stdout]   --> src/lib.rs:64:36
[INFO] [stdout]    |
[INFO] [stdout] 64 | //!   RFC 7515 machinery and the [`jwt::Es256Signer`] / [`jwt::Es256Verifier`] seams but SIGNS
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^ no item named `jwt` in scope
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(rustdoc::broken_intra_doc_links)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `jwt::Es256Verifier`
[INFO] [stdout]   --> src/lib.rs:64:59
[INFO] [stdout]    |
[INFO] [stdout] 64 | //!   RFC 7515 machinery and the [`jwt::Es256Signer`] / [`jwt::Es256Verifier`] seams but SIGNS
[INFO] [stdout]    |                                                           ^^^^^^^^^^^^^^^^^^ no item named `jwt` in scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `jwt`
[INFO] [stdout]   --> src/lib.rs:66:9
[INFO] [stdout]    |
[INFO] [stdout] 66 | //!   [`jwt`] module docs). `jwt-p256` supplies [`jwt::EcdsaP256Key`] and installs
[INFO] [stdout]    |         ^^^ no item named `jwt` in scope
[INFO] [stdout]    |
[INFO] [stdout]    = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `jwt::EcdsaP256Key`
[INFO] [stdout]   --> src/lib.rs:66:51
[INFO] [stdout]    |
[INFO] [stdout] 66 | //!   [`jwt`] module docs). `jwt-p256` supplies [`jwt::EcdsaP256Key`] and installs
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^^^ no item named `jwt` in scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `jwt::P256Verifier`
[INFO] [stdout]   --> src/lib.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 | //!   [`jwt::P256Verifier`] as the default, which is what a host with no opinion about its key
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^ no item named `jwt` in scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `cimd`
[INFO] [stdout]   --> src/lib.rs:79:92
[INFO] [stdout]    |
[INFO] [stdout] 79 | //!   hands this crate the bytes, because this crate makes no outbound HTTP request. See [`cimd`]
[INFO] [stdout]    |                                                                                            ^^^^ no item named `cimd` in scope
[INFO] [stdout]    |
[INFO] [stdout]    = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `crate::rar::AuthorizationDetails::parse`
[INFO] [stdout]    --> src/authorization.rs:104:11
[INFO] [stdout]     |
[INFO] [stdout] 104 |     /// [`crate::rar::AuthorizationDetails::parse`], under this crate's bounds, and only the
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `rar` in module `oauth_as`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `crate::jwt::Es256Signer`
[INFO] [stdout]    --> src/authorization.rs:569:11
[INFO] [stdout]     |
[INFO] [stdout] 569 |     /// [`crate::jwt::Es256Signer`], which is a network round trip when that signer fronts a KMS.
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^ no item named `jwt` in module `oauth_as`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `Event::DpopProofRefused`
[INFO] [stdout]    --> src/events.rs:238:41
[INFO] [stdout]     |
[INFO] [stdout] 238 | /// that way and are here now, as did [`Event::DpopProofRefused`], which this paragraph named as
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^ the enum `Event` has no variant or associated item named `DpopProofRefused`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `crate::cimd`
[INFO] [stdout]    --> src/registration.rs:530:48
[INFO] [stdout]     |
[INFO] [stdout] 530 | /// `pub(crate)` rather than private because [`crate::cimd`] validates a
[INFO] [stdout]     |                                                ^^^^^^^^^^^ no item named `cimd` in module `oauth_as`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `crate::cimd::ValidatedClientIdDocument`
[INFO] [stdout]    --> src/registration.rs:536:47
[INFO] [stdout]     |
[INFO] [stdout] 536 | /// `Clone`, `PartialEq` and `Eq` exist for [`crate::cimd::ValidatedClientIdDocument`], which is the
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `cimd` in module `oauth_as`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `crate::http`
[INFO] [stdout]    --> src/registration.rs:818:80
[INFO] [stdout]     |
[INFO] [stdout] 818 |     /// this one included, because it spawns inside a single `fallback`; see [`crate::http`]. A
[INFO] [stdout]     |                                                                                ^^^^^^^^^^^ no item named `http` in module `oauth_as`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `crate::http::AuthorizationService::handle`
[INFO] [stdout]    --> src/registration.rs:819:28
[INFO] [stdout]     |
[INFO] [stdout] 819 |     /// host that mounts [`crate::http::AuthorizationService::handle`] itself, or calls this method
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `http` in module `oauth_as`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `crate::jwt::Audience::names_a_resource_server`
[INFO] [stdout]    --> src/server.rs:221:46
[INFO] [stdout]     |
[INFO] [stdout] 221 |     /// That is the same fail-open reading [`crate::jwt::Audience::names_a_resource_server`] exists
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `jwt` in module `oauth_as`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `crate::token_exchange`
[INFO] [stdout]    --> src/server.rs:340:71
[INFO] [stdout]     |
[INFO] [stdout] 340 |     /// SENDER-CONSTRAINED subject token is REFUSED" section of the [`crate::token_exchange`] module
[INFO] [stdout]     |                                                                       ^^^^^^^^^^^^^^^^^^^^^ no item named `token_exchange` in module `oauth_as`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `crate::rar::MAX_AUTHORIZATION_DETAILS_ELEMENTS`
[INFO] [stdout]    --> src/server.rs:456:7
[INFO] [stdout]     |
[INFO] [stdout] 456 | /// [`crate::rar::MAX_AUTHORIZATION_DETAILS_ELEMENTS`]: the other repeatable array a request can
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `rar` in module `oauth_as`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `crate::cimd::CimdPolicy`
[INFO] [stdout]    --> src/server.rs:573:40
[INFO] [stdout]     |
[INFO] [stdout] 573 | /// struct literal here. Its sibling [`crate::cimd::CimdPolicy`] is sealed for the same reason and
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^ no item named `cimd` in module `oauth_as`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `ClientCredential::assertion`
[INFO] [stdout]     --> src/server.rs:1001:69
[INFO] [stdout]      |
[INFO] [stdout] 1001 | /// ways a client can authenticate ([`ClientCredential::secret`], [`ClientCredential::assertion`],
[INFO] [stdout]      |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ the struct `ClientCredential` has no field or associated item named `assertion`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `ClientCredential::certificate`
[INFO] [stdout]     --> src/server.rs:1002:7
[INFO] [stdout]      |
[INFO] [stdout] 1002 | /// [`ClientCredential::certificate`]), and the RFC 8705 section 4 case of binding a token for a
[INFO] [stdout]      |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the struct `ClientCredential` has no field or associated item named `certificate`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `crate::consent::AuthenticationRequirement`
[INFO] [stdout]     --> src/server.rs:1249:7
[INFO] [stdout]      |
[INFO] [stdout] 1249 | /// [`crate::consent::AuthenticationRequirement`]); this one was the exception, and there was no argument
[INFO] [stdout]      |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `consent` in module `oauth_as`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `crate::rar`
[INFO] [stdout]     --> src/server.rs:1696:61
[INFO] [stdout]      |
[INFO] [stdout] 1696 |     /// never widen it (RFC 9396 section 6). Delegated to [`crate::rar`], which is where the
[INFO] [stdout]      |                                                             ^^^^^^^^^^ no item named `rar` in module `oauth_as`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `AuthorizationServer::with_es256_verifier`
[INFO] [stdout]     --> src/server.rs:2173:11
[INFO] [stdout]      |
[INFO] [stdout] 2173 |     /// [`AuthorizationServer::with_es256_verifier`] plus the `jwt-p256` feature, neither of which
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the struct `AuthorizationServer` has no field or associated item named `with_es256_verifier`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `crate::http::ServiceBuilder::build`
[INFO] [stdout]     --> src/server.rs:2180:36
[INFO] [stdout]      |
[INFO] [stdout] 2180 |     /// method that cannot work. [`crate::http::ServiceBuilder::build`] uses this one.
[INFO] [stdout]      |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `http` in module `oauth_as`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `crate::token_exchange::MAX_AUDIENCE_VALUES`
[INFO] [stdout]     --> src/server.rs:2325:11
[INFO] [stdout]      |
[INFO] [stdout] 2325 |     /// [`crate::token_exchange::MAX_AUDIENCE_VALUES`], deliberately the same number, on the
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `token_exchange` in module `oauth_as`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `crate::jwt::JwtConfig`
[INFO] [stdout]     --> src/server.rs:2377:29
[INFO] [stdout]      |
[INFO] [stdout] 2377 |     /// to the configured [`crate::jwt::JwtConfig`] audience when the list is empty, so silently
[INFO] [stdout]      |                             ^^^^^^^^^^^^^^^^^^^^^ no item named `jwt` in module `oauth_as`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `AuthorizationServer::dummy_assertion_verify`
[INFO] [stdout]     --> src/server.rs:2491:25
[INFO] [stdout]      |
[INFO] [stdout] 2491 |     /// paid nothing. [`AuthorizationServer::dummy_assertion_verify`] is that half.
[INFO] [stdout]      |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the struct `AuthorizationServer` has no field or associated item named `dummy_assertion_verify`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `AuthorizationServer::dummy_assertion_verify`
[INFO] [stdout]     --> src/server.rs:2626:13
[INFO] [stdout]      |
[INFO] [stdout] 2626 |     ///   [`AuthorizationServer::dummy_assertion_verify`]: a request presenting a
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the struct `AuthorizationServer` has no field or associated item named `dummy_assertion_verify`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `AuthorizationServer::dummy_assertion_verify`
[INFO] [stdout]     --> src/server.rs:2703:17
[INFO] [stdout]      |
[INFO] [stdout] 2703 |     /// both; [`AuthorizationServer::dummy_assertion_verify`] picks whichever matches the
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the struct `AuthorizationServer` has no field or associated item named `dummy_assertion_verify`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `crate::client::constant_time_eq`
[INFO] [stdout]     --> src/server.rs:2708:11
[INFO] [stdout]      |
[INFO] [stdout] 2708 |     /// [`crate::client::constant_time_eq`], two SHA-256 digests, while the dummy an unknown id pays
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `constant_time_eq` in module `client`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `crate::client_assertion::MAX_ASSERTION_BYTES`
[INFO] [stdout]     --> src/server.rs:2720:11
[INFO] [stdout]      |
[INFO] [stdout] 2720 |     /// [`crate::client_assertion::MAX_ASSERTION_BYTES`], one that is not a compact JWS, or one whose
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `client_assertion` in module `oauth_as`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `AuthorizationServer::dummy_assertion_verify`
[INFO] [stdout]     --> src/server.rs:2722:16
[INFO] [stdout]      |
[INFO] [stdout] 2722 |     /// pays [`AuthorizationServer::dummy_assertion_verify`]. That separates "registered for RFC 7523
[INFO] [stdout]      |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the struct `AuthorizationServer` has no field or associated item named `dummy_assertion_verify`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `crate::client_assertion::AssertionFailure`
[INFO] [stdout]     --> src/server.rs:2726:11
[INFO] [stdout]      |
[INFO] [stdout] 2726 |     /// [`crate::client_assertion::AssertionFailure`] variant would be exactly the "kept in step by a
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `client_assertion` in module `oauth_as`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `AuthorizationServer::dummy_assertion_verify`
[INFO] [stdout]     --> src/server.rs:2815:13
[INFO] [stdout]      |
[INFO] [stdout] 2815 |     /// - [`AuthorizationServer::dummy_assertion_verify`] unless a real assertion verification
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the struct `AuthorizationServer` has no field or associated item named `dummy_assertion_verify`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `AuthorizationServer::assertion_could_be_verified`
[INFO] [stdout]     --> src/server.rs:2817:14
[INFO] [stdout]      |
[INFO] [stdout] 2817 |     ///   ([`AuthorizationServer::assertion_could_be_verified`]) — a request every registration would
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the struct `AuthorizationServer` has no field or associated item named `assertion_could_be_verified`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `crate::http`
[INFO] [stdout]     --> src/server.rs:3647:78
[INFO] [stdout]      |
[INFO] [stdout] 3647 |     /// not the work. This crate's own axum adapter does exactly that; see [`crate::http`]. A host
[INFO] [stdout]      |                                                                              ^^^^^^^^^^^ no item named `http` in module `oauth_as`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `crate::http`
[INFO] [stdout]     --> src/server.rs:6347:46
[INFO] [stdout]      |
[INFO] [stdout] 6347 |     /// crate's own axum adapter does; see [`crate::http`].
[INFO] [stdout]      |                                              ^^^^^^^^^^^ no item named `http` in module `oauth_as`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `crate::storage_conformance`
[INFO] [stdout]   --> src/store.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 42 | //!   [`crate::storage_conformance`]'s `user_code_index/store_does_not_normalize` check holds a
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `storage_conformance` in module `oauth_as`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `Storage::compare_and_swap_consent`
[INFO] [stdout]   --> src/store.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 62 | //!      [`Storage::compare_and_swap_consent`], [`Storage::compare_and_swap_device_grant`]. A
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Storage` has no associated item named `compare_and_swap_consent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `crate::storage_conformance`
[INFO] [stdout]   --> src/store.rs:70:51
[INFO] [stdout]    |
[INFO] [stdout] 70 | //!   A host implementing this trait owes both. [`crate::storage_conformance`] checks both.
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `storage_conformance` in module `oauth_as`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `Storage::put_consent`
[INFO] [stdout]    --> src/store.rs:106:12
[INFO] [stdout]     |
[INFO] [stdout] 106 | //!   4. [`Storage::put_consent`], for the same reason in the same shape, and it is the one on this
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^ the trait `Storage` has no associated item named `put_consent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `Storage::revoke_consent`
[INFO] [stdout]    --> src/store.rs:109:19
[INFO] [stdout]     |
[INFO] [stdout] 109 | //!      scope, [`Storage::revoke_consent`] at the consent scope), so it belongs here. The record it
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^ the trait `Storage` has no associated item named `revoke_consent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `Storage::compare_and_swap_consent`
[INFO] [stdout]    --> src/store.rs:115:12
[INFO] [stdout]     |
[INFO] [stdout] 115 | //!      [`Storage::compare_and_swap_consent`], whose `expected: Option<&ConsentRecord>` exists to
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Storage` has no associated item named `compare_and_swap_consent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `crate::storage_conformance`
[INFO] [stdout]    --> src/store.rs:124:39
[INFO] [stdout]     |
[INFO] [stdout] 124 | //!   consults the barrier now, and [`crate::storage_conformance`] holds a host to that with
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `storage_conformance` in module `oauth_as`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `Storage::revoke_consent`
[INFO] [stdout]    --> src/store.rs:230:72
[INFO] [stdout]     |
[INFO] [stdout] 230 | /// [`Storage::delete_client`], [`Storage::revoke_token_family`] and [`Storage::revoke_consent`]
[INFO] [stdout]     |                                                                        ^^^^^^^^^^^^^^^^^^^^^^^ the trait `Storage` has no associated item named `revoke_consent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `crate::storage_conformance`
[INFO] [stdout]    --> src/store.rs:412:9
[INFO] [stdout]     |
[INFO] [stdout] 412 | /// - [`crate::storage_conformance`] (feature `test-util`) is how a host finds out its
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `storage_conformance` in module `oauth_as`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `crate::storage_conformance`
[INFO] [stdout]    --> src/store.rs:472:7
[INFO] [stdout]     |
[INFO] [stdout] 472 | /// [`crate::storage_conformance`] holds a store to this: its race checks fail a store whose
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `storage_conformance` in module `oauth_as`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `crate::storage_conformance`
[INFO] [stdout]    --> src/store.rs:692:56
[INFO] [stdout]     |
[INFO] [stdout] 692 |     /// nowhere while both bundled stores did it and [`crate::storage_conformance`] enforced it
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `storage_conformance` in module `oauth_as`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `crate::storage_conformance`
[INFO] [stdout]    --> src/store.rs:771:11
[INFO] [stdout]     |
[INFO] [stdout] 771 |     /// [`crate::storage_conformance`] checks all four properties (a swap that must apply, a swap
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `storage_conformance` in module `oauth_as`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `Storage::revoke_consent`
[INFO] [stdout]    --> src/store.rs:800:76
[INFO] [stdout]     |
[INFO] [stdout] 800 |     /// redemption that took a code before [`Storage::delete_client`] or [`Storage::revoke_consent`]
[INFO] [stdout]     |                                                                            ^^^^^^^^^^^^^^^^^^^^^^^ the trait `Storage` has no associated item named `revoke_consent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `Storage::revoke_consent`
[INFO] [stdout]    --> src/store.rs:831:11
[INFO] [stdout]     |
[INFO] [stdout] 831 |     /// [`Storage::revoke_consent`] must stay gone, for the reason the module docs give.
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^ the trait `Storage` has no associated item named `revoke_consent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `crate::storage_conformance`
[INFO] [stdout]    --> src/store.rs:984:42
[INFO] [stdout]     |
[INFO] [stdout] 984 |     /// NOT CHECKED, and it cannot be: [`crate::storage_conformance`] sees answers, not plans, so a
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `storage_conformance` in module `oauth_as`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `Storage::take_pushed_authorization_request`
[INFO] [stdout]     --> src/store.rs:1279:27
[INFO] [stdout]      |
[INFO] [stdout] 1279 |     ///   is removed by [`Storage::take_pushed_authorization_request`], so nothing else in this
[INFO] [stdout]      |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Storage` has no associated item named `take_pushed_authorization_request`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `Storage::revoke_consent`
[INFO] [stdout]     --> src/store.rs:1301:11
[INFO] [stdout]      |
[INFO] [stdout] 1301 |     /// [`Storage::revoke_consent`]), so a sweep that reaped either would delete a live grant a user
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^^^^ the trait `Storage` has no associated item named `revoke_consent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `crate::storage_conformance`
[INFO] [stdout]     --> src/store.rs:1302:28
[INFO] [stdout]      |
[INFO] [stdout] 1302 |     /// still relies on. [`crate::storage_conformance`] plants a DEAD record of every kind in this
[INFO] [stdout]      |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `storage_conformance` in module `oauth_as`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `crate::storage_conformance`
[INFO] [stdout]     --> src/store.rs:1308:11
[INFO] [stdout]      |
[INFO] [stdout] 1308 |     /// [`crate::storage_conformance`] runs `sweep_expired/empty_is_zero` for the second and
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `storage_conformance` in module `oauth_as`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `crate::jwt::JwtConfig::audience`
[INFO] [stdout]    --> src/token.rs:339:11
[INFO] [stdout]     |
[INFO] [stdout] 339 |     /// [`crate::jwt::JwtConfig::audience`] instead, because RFC 9068 section 2.2 makes `aud`
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `jwt` in module `oauth_as`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `Confirmation`
[INFO] [stdout]    --> src/token.rs:594:52
[INFO] [stdout]     |
[INFO] [stdout] 594 | /// gets caught -- [`IntrospectionResponse`] and [`Confirmation`] are read from a FOREIGN server
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^ no item named `Confirmation` in scope
[INFO] [stdout]     |
[INFO] [stdout]     = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `crate::par::PushedAuthorizationRequest`
[INFO] [stdout]    --> src/token.rs:600:7
[INFO] [stdout]     |
[INFO] [stdout] 600 | /// [`crate::par::PushedAuthorizationRequest`].
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `par` in module `oauth_as`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `crate::jwt::JwtConfig::audience`
[INFO] [stdout]    --> src/token.rs:619:11
[INFO] [stdout]     |
[INFO] [stdout] 619 |     /// [`crate::jwt::JwtConfig::audience`] instead. So for a grant that named no resource a
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `jwt` in module `oauth_as`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `crate::storage_conformance`
[INFO] [stdout]    --> src/delegate.rs:165:7
[INFO] [stdout]     |
[INFO] [stdout] 165 | /// [`crate::storage_conformance`] is how they find out whether they have solved it.
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `storage_conformance` in module `oauth_as`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 8.39s
[INFO] [stderr]    Generated /opt/rustwide/target/doc/oauth_as/index.html
[INFO] running `Command { std: "docker" "inspect" "ae5ff4c9422f735ad3d76d3b29278352ed97f7f78b945af4e9ac658c97a36615", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "RUSTC_BOOTSTRAP=1" "-e" "DOCS_RS=1" "-w" "/opt/rustwide/workdir" "--user" "0:0" "ae5ff4c9422f735ad3d76d3b29278352ed97f7f78b945af4e9ac658c97a36615" "/opt/rustwide/cargo-home/bin/cargo" "+da3f5c31e5535b3dc210067de660a45784ae1e9c" "rustdoc" "--lib" "-Zrustdoc-map" "--all-features" "--config" "build.rustdocflags=[\"--cfg\", \"docsrs\", \"--cfg\", \"docsrs\", \"-Z\", \"unstable-options\", \"--document-private-items\"]" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]     Checking zeroize v1.8.1
[INFO] [stderr]     Checking futures-channel v0.3.33
[INFO] [stderr]     Checking futures-task v0.3.33
[INFO] [stderr]     Checking http-body-util v0.1.4
[INFO] [stderr]    Compiling syn v3.0.3
[INFO] [stderr]     Checking serde_json v1.0.151
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]     Checking futures-util v0.3.33
[INFO] [stderr]     Checking generic-array v0.14.7
[INFO] [stderr]     Checking der v0.7.10
[INFO] [stderr]     Checking axum-core v0.5.6
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]     Checking crypto-bigint v0.5.5
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking spki v0.7.3
[INFO] [stderr]     Checking sec1 v0.7.3
[INFO] [stderr]     Checking pkcs8 v0.10.2
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking signature v2.2.0
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking rfc6979 v0.4.0
[INFO] [stderr]     Checking elliptic-curve v0.13.8
[INFO] [stderr]    Compiling tokio-macros v2.7.2
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]     Checking ecdsa v0.16.9
[INFO] [stderr]     Checking primeorder v0.13.6
[INFO] [stderr]     Checking tokio v1.53.1
[INFO] [stderr]     Checking p256 v0.13.2
[INFO] [stderr]     Checking serde v1.0.229
[INFO] [stderr]     Checking hyper v1.11.0
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking axum v0.8.9
[INFO] [stderr]  Documenting oauth-as v0.9.3 (/opt/rustwide/workdir)
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/skew.rs:33:1
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub const CLOCK_SKEW_LEEWAY: Duration = Duration::from_secs(60);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `The SAME constant [`crate::dpop`] publishes for RFC 9449 proofs, re-exported rather than`
[INFO] [stdout]    = help: ends near `refused.`
[INFO] [stdout]    = note: `#[deny(rustdoc::unportable_markdown)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/skew.rs:33:1
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub const CLOCK_SKEW_LEEWAY: Duration = Duration::from_secs(60);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `The SAME constant `client-assertion` publishes for RFC 7523 assertions, re-exported rather than`
[INFO] [stdout]    = help: ends near `refused.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not document `oauth-as`
[INFO] running `Command { std: "docker" "inspect" "ae5ff4c9422f735ad3d76d3b29278352ed97f7f78b945af4e9ac658c97a36615", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ae5ff4c9422f735ad3d76d3b29278352ed97f7f78b945af4e9ac658c97a36615", kill_on_drop: false }`
[INFO] [stdout] ae5ff4c9422f735ad3d76d3b29278352ed97f7f78b945af4e9ac658c97a36615
