[INFO] cloning repository https://github.com/levonk/dnshub
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/levonk/dnshub" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flevonk%2Fdnshub", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flevonk%2Fdnshub'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] ff938ed87fa4b47e6294a63db4bd5da21c8b4404
[INFO] documenting levonk/dnshub against da3f5c31e5535b3dc210067de660a45784ae1e9c for pr-162169
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flevonk%2Fdnshub" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/levonk/dnshub
[INFO] finished tweaking git repo https://github.com/levonk/dnshub
[INFO] tweaked toml for git repo https://github.com/levonk/dnshub written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/levonk/dnshub 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 git repo https://github.com/levonk/dnshub 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-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] 15879b95b3b3f5a7eb025b161250df115092f985ceb61020a12fe14fd8babb3a
[INFO] running `Command { std: "docker" "start" "15879b95b3b3f5a7eb025b161250df115092f985ceb61020a12fe14fd8babb3a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "15879b95b3b3f5a7eb025b161250df115092f985ceb61020a12fe14fd8babb3a", 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" "15879b95b3b3f5a7eb025b161250df115092f985ceb61020a12fe14fd8babb3a" "/opt/rustwide/cargo-home/bin/cargo" "+da3f5c31e5535b3dc210067de660a45784ae1e9c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "15879b95b3b3f5a7eb025b161250df115092f985ceb61020a12fe14fd8babb3a", 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" "15879b95b3b3f5a7eb025b161250df115092f985ceb61020a12fe14fd8babb3a" "/opt/rustwide/cargo-home/bin/cargo" "+da3f5c31e5535b3dc210067de660a45784ae1e9c" "doc" "--frozen" "--no-deps" "--document-private-items" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.107
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling quote v1.0.47
[INFO] [stderr]    Compiling libc v0.2.189
[INFO] [stderr]     Checking cfg-if v1.0.4
[INFO] [stderr]    Compiling serde_core v1.0.229
[INFO] [stderr]    Compiling portable-atomic v1.15.0
[INFO] [stderr]     Checking critical-section v1.2.0
[INFO] [stderr]     Checking smallvec v1.15.2
[INFO] [stderr]     Checking pin-project-lite v0.2.17
[INFO] [stderr]     Checking memchr v2.8.3
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling shlex v2.0.1
[INFO] [stderr]    Compiling find-msvc-tools v0.1.11
[INFO] [stderr]     Checking log v0.4.33
[INFO] [stderr]     Checking futures-core v0.3.34
[INFO] [stderr]     Checking bytes v1.12.1
[INFO] [stderr]     Checking futures-sink v0.3.34
[INFO] [stderr]     Checking itoa v1.0.18
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]     Checking slab v0.4.12
[INFO] [stderr]     Checking scopeguard v1.2.0
[INFO] [stderr]     Checking futures-io v0.3.34
[INFO] [stderr]     Checking lock_api v0.4.14
[INFO] [stderr]     Checking futures-task v0.3.34
[INFO] [stderr]    Compiling pkg-config v0.3.34
[INFO] [stderr]     Checking stable_deref_trait v1.2.1
[INFO] [stderr]     Checking hashbrown v0.17.1
[INFO] [stderr]     Checking futures-channel v0.3.34
[INFO] [stderr]     Checking atomic-waker v1.1.2
[INFO] [stderr]    Compiling zerocopy v0.8.56
[INFO] [stderr]     Checking litemap v0.8.3
[INFO] [stderr]     Checking writeable v0.6.4
[INFO] [stderr]    Compiling icu_normalizer_data v2.3.0
[INFO] [stderr]    Compiling icu_properties_data v2.3.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.22
[INFO] [stderr]    Compiling dunce v1.0.5
[INFO] [stderr]    Compiling fs_extra v1.3.0
[INFO] [stderr]     Checking base64 v0.22.1
[INFO] [stderr]     Checking tower-layer v0.3.3
[INFO] [stderr]     Checking http v1.5.0
[INFO] [stderr]    Compiling thiserror v2.0.20
[INFO] [stderr]     Checking sync_wrapper v1.0.2
[INFO] [stderr]     Checking zeroize v1.9.0
[INFO] [stderr]    Compiling aws-lc-rs v1.18.0
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling rustversion v1.0.23
[INFO] [stderr]     Checking indexmap v2.14.0
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]     Checking tinyvec_macros v0.1.1
[INFO] [stderr]    Compiling zmij v1.0.23
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling anyhow v1.0.104
[INFO] [stderr]    Compiling siphasher v1.0.3
[INFO] [stderr]     Checking rustls-pki-types v1.15.1
[INFO] [stderr]     Checking rand_core v0.10.1
[INFO] [stderr]    Compiling rand v0.8.7
[INFO] [stderr]     Checking tinyvec v1.12.0
[INFO] [stderr]    Compiling serde_json v1.0.151
[INFO] [stderr]    Compiling phf_shared v0.11.3
[INFO] [stderr]    Compiling either v1.17.0
[INFO] [stderr]    Compiling rustls v0.23.43
[INFO] [stderr]    Compiling autocfg v1.5.1
[INFO] [stderr]    Compiling syn v3.0.3
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]     Checking once_cell v1.21.4
[INFO] [stderr]     Checking tracing-core v0.1.36
[INFO] [stderr]     Checking subtle v2.6.1
[INFO] [stderr]     Checking http-body v1.1.0
[INFO] [stderr]     Checking openssl-probe v0.2.1
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.20
[INFO] [stderr]     Checking cpufeatures v0.3.0
[INFO] [stderr]     Checking http-body-util v0.1.5
[INFO] [stderr]    Compiling jobserver v0.1.35
[INFO] [stderr]    Compiling openssl v0.10.81
[INFO] [stderr]     Checking data-encoding v2.11.1
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]     Checking rapidhash v4.5.1
[INFO] [stderr]     Checking chacha20 v0.10.1
[INFO] [stderr]     Checking aho-corasick v1.1.5
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking socket2 v0.6.5
[INFO] [stderr]    Compiling cc v1.4.3
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking mio v1.2.2
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]    Compiling phf_generator v0.11.3
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]    Compiling native-tls v0.2.18
[INFO] [stderr]     Checking lazy_static v1.5.0
[INFO] [stderr]     Checking regex-syntax v0.8.11
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking rand v0.10.2
[INFO] [stderr]     Checking metrics v0.24.6
[INFO] [stderr]    Compiling unicase v2.9.0
[INFO] [stderr]     Checking uuid v1.24.1
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]     Checking unicode-normalization v0.1.25
[INFO] [stderr]     Checking crossbeam-channel v0.5.16
[INFO] [stderr]     Checking foldhash v0.2.0
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]     Checking ryu v1.0.23
[INFO] [stderr]     Checking unicode-bidi v0.3.18
[INFO] [stderr]     Checking matches v0.1.10
[INFO] [stderr]     Checking tagptr v0.2.0
[INFO] [stderr]     Checking hashbrown v0.16.1
[INFO] [stderr]     Checking rand_xoshiro v0.7.0
[INFO] [stderr]     Checking sharded-slab v0.1.7
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking rustls-native-certs v0.8.4
[INFO] [stderr]     Checking left-right v0.11.8
[INFO] [stderr]     Checking moka v0.12.16
[INFO] [stderr]     Checking idna v0.2.3
[INFO] [stderr]     Checking crossbeam-queue v0.3.13
[INFO] [stderr]     Checking thread_local v1.1.10
[INFO] [stderr]     Checking adler2 v2.0.1
[INFO] [stderr]    Compiling metrics-exporter-prometheus v0.18.3
[INFO] [stderr]     Checking deranged v0.5.8
[INFO] [stderr]    Compiling heed v0.22.1
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]     Checking winnow v0.7.15
[INFO] [stderr]     Checking powerfmt v0.2.0
[INFO] [stderr]     Checking toml_write v0.1.2
[INFO] [stderr]    Compiling cmake v0.1.58
[INFO] [stderr]     Checking heed-traits v0.20.0
[INFO] [stderr]     Checking simd-adler32 v0.3.10
[INFO] [stderr]     Checking hashbag v0.1.13
[INFO] [stderr]     Checking sketches-ddsketch v0.3.1
[INFO] [stderr]     Checking resolv-conf v0.7.6
[INFO] [stderr]     Checking nu-ansi-term v0.50.3
[INFO] [stderr]     Checking time-core v0.1.9
[INFO] [stderr]     Checking num-conv v0.2.2
[INFO] [stderr]     Checking evmap v11.0.0
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]     Checking synchronoise v1.0.1
[INFO] [stderr]     Checking page_size v0.6.0
[INFO] [stderr]     Checking encoding_rs v0.8.35
[INFO] [stderr]     Checking fallible-iterator v0.3.0
[INFO] [stderr]    Compiling dhcproto-macros v0.1.0
[INFO] [stderr]     Checking bitflags v2.13.1
[INFO] [stderr]     Checking serde_path_to_error v0.1.20
[INFO] [stderr]     Checking matchit v0.7.3
[INFO] [stderr]     Checking raw-cpuid v11.6.0
[INFO] [stderr]     Checking fallible-streaming-iterator v0.1.9
[INFO] [stderr]     Checking http-range-header v0.4.2
[INFO] [stderr]     Checking hex v0.4.3
[INFO] [stderr]    Compiling aws-lc-sys v0.44.0
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling openssl-sys v0.9.117
[INFO] [stderr]     Checking regex-automata v0.4.18
[INFO] [stderr]    Compiling libsqlite3-sys v0.28.0
[INFO] [stderr]     Checking flate2 v1.1.9
[INFO] [stderr]     Checking time v0.3.55
[INFO] [stderr]     Checking arc-swap v1.9.2
[INFO] [stderr]    Compiling enum-as-inner v0.5.1
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking quanta v0.12.6
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.9.5
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling futures-macro v0.3.34
[INFO] [stderr]    Compiling tokio-macros v2.7.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.4
[INFO] [stderr]    Compiling displaydoc v0.2.7
[INFO] [stderr]    Compiling async-trait v0.1.92
[INFO] [stderr]    Compiling thiserror-impl v2.0.20
[INFO] [stderr]     Checking hashlink v0.9.1
[INFO] [stderr]     Checking tokio v1.53.1
[INFO] [stderr]     Checking fastbloom v0.1.0
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]     Checking futures-util v0.3.34
[INFO] [stderr]     Checking metrics-util v0.20.4
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling phf_macros v0.11.3
[INFO] [stderr]    Compiling pin-project-internal v1.1.13
[INFO] [stderr]    Compiling prost-derive v0.14.4
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]     Checking regex v1.13.1
[INFO] [stderr]    Compiling phf v0.11.3
[INFO] [stderr]    Compiling doxygen-rs v0.4.2
[INFO] [stderr]    Compiling lmdb-master-sys v0.2.6
[INFO] [stderr]     Checking pin-project v1.1.13
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking zerofrom v0.1.8
[INFO] [stderr]     Checking yoke v0.8.3
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking zerovec v0.11.7
[INFO] [stderr]     Checking zerotrie v0.2.5
[INFO] [stderr]     Checking opentelemetry v0.32.0
[INFO] [stderr]     Checking prost v0.14.4
[INFO] [stderr]     Checking tinystr v0.8.4
[INFO] [stderr]     Checking potential_utf v0.1.6
[INFO] [stderr]     Checking prost-types v0.14.4
[INFO] [stderr]     Checking ipnet v2.12.1
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking icu_collections v2.3.0
[INFO] [stderr]     Checking toml_datetime v0.6.11
[INFO] [stderr]     Checking serde_spanned v0.6.9
[INFO] [stderr]     Checking tracing-serde v0.2.0
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]     Checking toml_edit v0.22.27
[INFO] [stderr]     Checking icu_locale_core v2.3.0
[INFO] [stderr]     Checking heed-types v0.21.0
[INFO] [stderr]     Checking prefix-trie v0.8.4
[INFO] [stderr]     Checking futures-executor v0.3.34
[INFO] [stderr]     Checking opentelemetry_sdk v0.32.1
[INFO] [stderr]     Checking axum-core v0.4.5
[INFO] [stderr]     Checking icu_provider v2.3.0
[INFO] [stderr]     Checking icu_normalizer v2.3.0
[INFO] [stderr]     Checking icu_properties v2.3.0
[INFO] [stderr]     Checking tracing-opentelemetry v0.33.0
[INFO] [stderr]     Checking tokio-util v0.7.19
[INFO] [stderr]     Checking tokio-stream v0.1.19
[INFO] [stderr]     Checking toml v0.8.23
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking h2 v0.4.15
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking tower-http v0.5.2
[INFO] [stderr]     Checking idna_adapter v1.2.2
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking rusqlite v0.31.0
[INFO] [stderr]     Checking hickory-proto v0.26.1
[INFO] [stderr]     Checking trust-dns-proto v0.22.0
[INFO] [stderr]     Checking tower-http v0.6.11
[INFO] [stderr]     Checking dhcproto v0.12.0
[INFO] [stderr]     Checking hyper v1.11.0
[INFO] [stderr]     Checking rustls-webpki v0.103.14
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking hyper-timeout v0.5.2
[INFO] [stderr]     Checking reqwest v0.13.4
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]     Checking axum v0.7.9
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]     Checking tonic v0.14.6
[INFO] [stderr]     Checking opentelemetry-http v0.32.0
[INFO] [stderr]     Checking tonic-prost v0.14.6
[INFO] [stderr]     Checking tonic-types v0.14.6
[INFO] [stderr]     Checking opentelemetry-proto v0.32.0
[INFO] [stderr]     Checking tokio-rustls v0.26.4
[INFO] [stderr]     Checking hickory-net v0.26.1
[INFO] [stderr]     Checking hyper-rustls v0.27.9
[INFO] [stderr]     Checking opentelemetry-otlp v0.32.0
[INFO] [stderr]     Checking hickory-resolver v0.26.1
[INFO] [stderr]     Checking hickory-server v0.26.1
[INFO] [stderr]  Documenting dnshub v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unresolved link to `ZoneHandler`
[INFO] [stdout]   --> src/dns/mod.rs:11:48
[INFO] [stdout]    |
[INFO] [stdout] 11 | //!    [`RequestHandler`] and holds a set of [`ZoneHandler`]s
[INFO] [stdout]    |                                                ^^^^^^^^^^^ no item named `ZoneHandler` in scope
[INFO] [stdout]    |
[INFO] [stdout]    = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout]    = note: `#[warn(rustdoc::broken_intra_doc_links)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `hickory_resolver::cache::ResponseCache`
[INFO] [stdout]   --> src/dns/caching.rs:18:42
[INFO] [stdout]    |
[INFO] [stdout] 18 | //! hickory-resolver's [`ResponseCache`](hickory_resolver::cache::ResponseCache)
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `cache` in module `hickory_resolver`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `MiddlewareAction::Reject(Refused)`
[INFO] [stdout]  --> src/dns/rate_limit.rs:8:37
[INFO] [stdout]   |
[INFO] [stdout] 8 | //! receive a `REFUSED` response ([`MiddlewareAction::Reject(Refused)`]).
[INFO] [stdout]   |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the enum `MiddlewareAction` has no variant or associated item named `Reject(Refused)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `apply_tcp_options`
[INFO] [stdout]   --> src/dns/socket.rs:31:7
[INFO] [stdout]    |
[INFO] [stdout] 31 | /// [`apply_tcp_options`] so the server module does not need to import the
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^ no item named `apply_tcp_options` 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 `CapturingResponseHandler`
[INFO] [stdout]    --> src/dns/mod.rs:116:41
[INFO] [stdout]     |
[INFO] [stdout] 116 |     /// response is intercepted via a [`CapturingResponseHandler`] so that
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^ no item named `CapturingResponseHandler` 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 `ArcSwap`
[INFO] [stdout]  --> src/blocklist/mod.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | //! via [`ArcSwap`].
[INFO] [stdout]   |           ^^^^^^^ no item named `ArcSwap` 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 `is_open`
[INFO] [stdout]   --> src/blocklist/circuit_breaker.rs:19:46
[INFO] [stdout]    |
[INFO] [stdout] 19 | //! The half-open state is entered lazily: [`is_open`] returns `false` once
[INFO] [stdout]    |                                              ^^^^^^^ no item named `is_open` 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 `record_success`
[INFO] [stdout]   --> src/blocklist/circuit_breaker.rs:21:14
[INFO] [stdout]    |
[INFO] [stdout] 21 | //! fetch. [`record_success`] / [`record_failure`] then resolve the
[INFO] [stdout]    |              ^^^^^^^^^^^^^^ no item named `record_success` 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 `record_failure`
[INFO] [stdout]   --> src/blocklist/circuit_breaker.rs:21:35
[INFO] [stdout]    |
[INFO] [stdout] 21 | //! fetch. [`record_success`] / [`record_failure`] then resolve the
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^ no item named `record_failure` 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 `next_delay`
[INFO] [stdout]   --> src/blocklist/backoff.rs:72:24
[INFO] [stdout]    |
[INFO] [stdout] 72 |     /// recorded via [`next_delay`]).
[INFO] [stdout]    |                        ^^^^^^^^^^ no item named `next_delay` 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 `next_delay`
[INFO] [stdout]   --> src/blocklist/backoff.rs:78:11
[INFO] [stdout]    |
[INFO] [stdout] 78 |     /// [`next_delay`], without advancing the attempt counter.
[INFO] [stdout]    |           ^^^^^^^^^^ no item named `next_delay` 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 `Duration`
[INFO] [stdout]    --> src/blocklist/config.rs:178:53
[INFO] [stdout]     |
[INFO] [stdout] 178 |     /// Returns the circuit breaker cooldown as a [`Duration`].
[INFO] [stdout]     |                                                     ^^^^^^^^ no item named `Duration` 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 `refresh_all`
[INFO] [stdout]    --> src/blocklist/daemon.rs:261:15
[INFO] [stdout]     |
[INFO] [stdout] 261 |     /// and [`refresh_all`]. It does **not** record health; callers are
[INFO] [stdout]     |               ^^^^^^^^^^^ no item named `refresh_all` in scope
[INFO] [stdout]     |
[INFO] [stdout]     = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: public documentation for `client_to_tag` links to private item `MAX_LABEL_LEN`
[INFO] [stdout]   --> src/metrics/labels.rs:51:20
[INFO] [stdout]    |
[INFO] [stdout] 51 | /// truncated to [`MAX_LABEL_LEN`] characters.
[INFO] [stdout]    |                    ^^^^^^^^^^^^^ this item is private
[INFO] [stdout]    |
[INFO] [stdout]    = note: this link resolves only because you passed `--document-private-items`, but will break without
[INFO] [stdout]    = note: `#[warn(rustdoc::private_intra_doc_links)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: public documentation for `normalize_label` links to private item `truncate_label`
[INFO] [stdout]    --> src/metrics/labels.rs:106:37
[INFO] [stdout]     |
[INFO] [stdout] 106 | /// This is a thin wrapper around [`truncate_label`] for callers that have a
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^ this item is private
[INFO] [stdout]     |
[INFO] [stdout]     = note: this link resolves only because you passed `--document-private-items`, but will break without
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `Allow`
[INFO] [stdout]   --> src/policy/engine.rs:27:60
[INFO] [stdout]    |
[INFO] [stdout] 27 |     /// (Reserved for future use; currently treated like [`Allow`].)
[INFO] [stdout]    |                                                            ^^^^^ no item named `Allow` 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 `MiddlewareAction::Reject(Refused)`
[INFO] [stdout]  --> src/policy/handler.rs:9:18
[INFO] [stdout]   |
[INFO] [stdout] 9 | //! 4. Returns [`MiddlewareAction::Reject(Refused)`] for blocked queries, or
[INFO] [stdout]   |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the enum `MiddlewareAction` has no variant or associated item named `Reject(Refused)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `ClientResolver`
[INFO] [stdout]  --> src/client_resolver/config.rs:1:56
[INFO] [stdout]   |
[INFO] [stdout] 1 | //! Serde structs for client mapping entries used by [`ClientResolver`].
[INFO] [stdout]   |                                                        ^^^^^^^^^^^^^^ no item named `ClientResolver` in scope
[INFO] [stdout]   |
[INFO] [stdout]   = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: public documentation for `DhcpLookup` links to private item `Interner`
[INFO] [stdout]    --> src/client_resolver/dhcp_lookup.rs:157:52
[INFO] [stdout]     |
[INFO] [stdout] 157 | /// Static-lease profile names are interned (see [`Interner`]) so that
[INFO] [stdout]     |                                                    ^^^^^^^^ this item is private
[INFO] [stdout]     |
[INFO] [stdout]     = note: this link resolves only because you passed `--document-private-items`, but will break without
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `DhcpV4Server::reply_dest`
[INFO] [stdout]   --> src/dhcp/v4/mod.rs:13:21
[INFO] [stdout]    |
[INFO] [stdout] 13 | //! determined by [`DhcpV4Server::reply_dest`].
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^ the struct `DhcpV4Server` has no field or associated item named `reply_dest`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `dhcproto::v6::Duid`
[INFO] [stdout]   --> src/dhcp/v6/duid.rs:16:20
[INFO] [stdout]    |
[INFO] [stdout] 16 | //! delegated to [`dhcproto::v6::Duid`] for round-trip correctness.
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^ no item named `Duid` in module `v6`
[INFO] [stdout]    |
[INFO] [stdout] help: there's a similarly named item `duid`
[INFO] [stdout]    |
[INFO] [stdout] 16 - //! delegated to [`dhcproto::v6::Duid`] for round-trip correctness.
[INFO] [stdout] 16 + //! delegated to [`dhcproto::v6::duid`] for round-trip correctness.
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `dhcproto::v6::Duid::link_layer_time`
[INFO] [stdout]    --> src/dhcp/v6/duid.rs:170:12
[INFO] [stdout]     |
[INFO] [stdout] 170 | /// Uses [`dhcproto::v6::Duid::link_layer_time`] so the wire encoding is
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `Duid` in module `v6`
[INFO] [stdout]     |
[INFO] [stdout] help: there's a similarly named item `duid`
[INFO] [stdout]     |
[INFO] [stdout] 170 - /// Uses [`dhcproto::v6::Duid::link_layer_time`] so the wire encoding is
[INFO] [stdout] 170 + /// Uses [`dhcproto::v6::duid::link_layer_time`] so the wire encoding is
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `handle_solicit`
[INFO] [stdout]  --> src/dhcp/v6/state_machine.rs:7:53
[INFO] [stdout]   |
[INFO] [stdout] 7 | //! | SOLLICIT               | ADVERTISE        | [`handle_solicit`]       |
[INFO] [stdout]   |                                                     ^^^^^^^^^^^^^^ no item named `handle_solicit` 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 `handle_request`
[INFO] [stdout]  --> src/dhcp/v6/state_machine.rs:8:53
[INFO] [stdout]   |
[INFO] [stdout] 8 | //! | REQUEST                | REPLY            | [`handle_request`]       |
[INFO] [stdout]   |                                                     ^^^^^^^^^^^^^^ no item named `handle_request` 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 `handle_renew`
[INFO] [stdout]  --> src/dhcp/v6/state_machine.rs:9:53
[INFO] [stdout]   |
[INFO] [stdout] 9 | //! | RENEW                  | REPLY            | [`handle_renew`]         |
[INFO] [stdout]   |                                                     ^^^^^^^^^^^^ no item named `handle_renew` 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 `handle_rebind`
[INFO] [stdout]   --> src/dhcp/v6/state_machine.rs:10:53
[INFO] [stdout]    |
[INFO] [stdout] 10 | //! | REBIND                 | REPLY            | [`handle_rebind`]        |
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^ no item named `handle_rebind` 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 `handle_release`
[INFO] [stdout]   --> src/dhcp/v6/state_machine.rs:11:53
[INFO] [stdout]    |
[INFO] [stdout] 11 | //! | RELEASE                | REPLY            | [`handle_release`]       |
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^ no item named `handle_release` 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 `handle_confirm`
[INFO] [stdout]   --> src/dhcp/v6/state_machine.rs:12:53
[INFO] [stdout]    |
[INFO] [stdout] 12 | //! | CONFIRM                | REPLY            | [`handle_confirm`]       |
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^ no item named `handle_confirm` 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 `handle_information`
[INFO] [stdout]   --> src/dhcp/v6/state_machine.rs:13:53
[INFO] [stdout]    |
[INFO] [stdout] 13 | //! | INFORMATION-REQUEST    | REPLY            | [`handle_information`]   |
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^^^^^ no item named `handle_information` 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 `RaConfig::prefix_addr`
[INFO] [stdout]   --> src/dhcp/ra/config.rs:24:23
[INFO] [stdout]    |
[INFO] [stdout] 24 |     /// Parsed into [`RaConfig::prefix_addr`] and [`RaConfig::prefix_len`]
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^ the struct `RaConfig` has no field or associated item named `prefix_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `RaConfig::prefix_len`
[INFO] [stdout]   --> src/dhcp/ra/config.rs:24:53
[INFO] [stdout]    |
[INFO] [stdout] 24 |     /// Parsed into [`RaConfig::prefix_addr`] and [`RaConfig::prefix_len`]
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^^^^^^^ the struct `RaConfig` has no field or associated item named `prefix_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: public documentation for `zone_updater` links to private item `ZoneUpdater::add_record`
[INFO] [stdout]   --> src/dhcp/ddns/zone_updater.rs:16:18
[INFO] [stdout]    |
[INFO] [stdout] 16 | //! - **Add**: [`ZoneUpdater::add_record`] upserts a `Record` into the zone.
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^ this item is private
[INFO] [stdout]    |
[INFO] [stdout]    = note: this link resolves only because you passed `--document-private-items`, but will break without
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: public documentation for `zone_updater` links to private item `ZoneUpdater::remove_record`
[INFO] [stdout]   --> src/dhcp/ddns/zone_updater.rs:20:21
[INFO] [stdout]    |
[INFO] [stdout] 20 | //! - **Remove**: [`ZoneUpdater::remove_record`] acquires a write lock on the
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^ this item is private
[INFO] [stdout]    |
[INFO] [stdout]    = note: this link resolves only because you passed `--document-private-items`, but will break without
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `crate::config::dhcp`
[INFO] [stdout]  --> src/dhcp/pxe/config.rs:6:24
[INFO] [stdout]   |
[INFO] [stdout] 6 | //! re-exported from [`crate::config::dhcp`] for the config tree.
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^^^^^ no item named `dhcp` in module `config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `RogueDetector`
[INFO] [stdout]   --> src/dhcp/rogue/probe.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | //! [`RogueDetector`] integration tests where a loopback responder is stood up.
[INFO] [stdout]    |       ^^^^^^^^^^^^^ no item named `RogueDetector` 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 `ApiServer::with_options`
[INFO] [stdout]   --> src/api/auth.rs:46:53
[INFO] [stdout]    |
[INFO] [stdout] 46 | /// the middleware layer is not added at all (see [`ApiServer::with_options`]).
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^^^^^^^^^^ no item named `ApiServer` in scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `ConfigStore`
[INFO] [stdout]  --> src/api/routes/config.rs:6:48
[INFO] [stdout]   |
[INFO] [stdout] 6 | //!   atomically swaps the active config via [`ConfigStore`].
[INFO] [stdout]   |                                                ^^^^^^^^^^^ no item named `ConfigStore` 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 `ConfigStore::swap`
[INFO] [stdout]   --> src/api/routes/config.rs:45:7
[INFO] [stdout]    |
[INFO] [stdout] 45 | /// [`ConfigStore::swap`].
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^ no item named `ConfigStore` in scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `DnshubConfig`
[INFO] [stdout]   --> src/observability/config.rs:28:58
[INFO] [stdout]    |
[INFO] [stdout] 28 |     /// Extract the observability sections from a full [`DnshubConfig`].
[INFO] [stdout]    |                                                          ^^^^^^^^^^^^ no item named `DnshubConfig` in scope
[INFO] [stdout]    |
[INFO] [stdout]    = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]   --> src/dns/mod.rs:10:20
[INFO] [stdout]    |
[INFO] [stdout] 10 | //! 1. [`Catalog`](hickory_server::zone_handler::Catalog) implements
[INFO] [stdout]    |         ---------  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ explicit target is redundant
[INFO] [stdout]    |         |
[INFO] [stdout]    |         because label contains path that resolves to same destination
[INFO] [stdout]    |
[INFO] [stdout]    = note: when a link's destination is not specified,
[INFO] [stdout]            the label is used to resolve intra-doc links
[INFO] [stdout]    = note: `#[warn(rustdoc::redundant_explicit_links)]` on by default
[INFO] [stdout] help: remove explicit link target
[INFO] [stdout]    |
[INFO] [stdout] 10 - //! 1. [`Catalog`](hickory_server::zone_handler::Catalog) implements
[INFO] [stdout] 10 + //! 1. [`Catalog`] implements
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]  --> src/dns/caching.rs:6:22
[INFO] [stdout]   |
[INFO] [stdout] 6 | //! [`ResolverOpts`](hickory_resolver::config::ResolverOpts) rather than via a
[INFO] [stdout]   |      --------------  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ explicit target is redundant
[INFO] [stdout]   |      |
[INFO] [stdout]   |      because label contains path that resolves to same destination
[INFO] [stdout]   |
[INFO] [stdout]   = note: when a link's destination is not specified,
[INFO] [stdout]           the label is used to resolve intra-doc links
[INFO] [stdout] help: remove explicit link target
[INFO] [stdout]   |
[INFO] [stdout] 6 - //! [`ResolverOpts`](hickory_resolver::config::ResolverOpts) rather than via a
[INFO] [stdout] 6 + //! [`ResolverOpts`] rather than via a
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]   --> src/dns/doh_axum.rs:12:37
[INFO] [stdout]    |
[INFO] [stdout] 12 | //! to the shared [`DnshubHandler`](crate::dns::DnshubHandler) via
[INFO] [stdout]    |                    ---------------  ^^^^^^^^^^^^^^^^^^^^^^^^^ explicit target is redundant
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    because label contains path that resolves to same destination
[INFO] [stdout]    |
[INFO] [stdout]    = note: when a link's destination is not specified,
[INFO] [stdout]            the label is used to resolve intra-doc links
[INFO] [stdout] help: remove explicit link target
[INFO] [stdout]    |
[INFO] [stdout] 12 - //! to the shared [`DnshubHandler`](crate::dns::DnshubHandler) via
[INFO] [stdout] 12 + //! to the shared [`DnshubHandler`] via
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]  --> src/dns/ecs_strip.rs:3:54
[INFO] [stdout]   |
[INFO] [stdout] 3 | //! [`EcsStripHandler`] implements [`DnsMiddleware`](crate::dns::DnsMiddleware)
[INFO] [stdout]   |                                     ---------------  ^^^^^^^^^^^^^^^^^^^^^^^^^ explicit target is redundant
[INFO] [stdout]   |                                     |
[INFO] [stdout]   |                                     because label contains path that resolves to same destination
[INFO] [stdout]   |
[INFO] [stdout]   = note: when a link's destination is not specified,
[INFO] [stdout]           the label is used to resolve intra-doc links
[INFO] [stdout] help: remove explicit link target
[INFO] [stdout]   |
[INFO] [stdout] 3 - //! [`EcsStripHandler`] implements [`DnsMiddleware`](crate::dns::DnsMiddleware)
[INFO] [stdout] 3 + //! [`EcsStripHandler`] implements [`DnsMiddleware`]
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]  --> src/dns/forwarding.rs:4:28
[INFO] [stdout]   |
[INFO] [stdout] 4 | //! [`ForwardZoneHandler`](hickory_server::store::forwarder::ForwardZoneHandler).
[INFO] [stdout]   |      --------------------  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ explicit target is redundant
[INFO] [stdout]   |      |
[INFO] [stdout]   |      because label contains path that resolves to same destination
[INFO] [stdout]   |
[INFO] [stdout]   = note: when a link's destination is not specified,
[INFO] [stdout]           the label is used to resolve intra-doc links
[INFO] [stdout] help: remove explicit link target
[INFO] [stdout]   |
[INFO] [stdout] 4 - //! [`ForwardZoneHandler`](hickory_server::store::forwarder::ForwardZoneHandler).
[INFO] [stdout] 4 + //! [`ForwardZoneHandler`].
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]  --> src/dns/forwarding.rs:5:29
[INFO] [stdout]   |
[INFO] [stdout] 5 | //! It is a [`ZoneHandler`](hickory_server::zone_handler::ZoneHandler) that
[INFO] [stdout]   |              -------------  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ explicit target is redundant
[INFO] [stdout]   |              |
[INFO] [stdout]   |              because label contains path that resolves to same destination
[INFO] [stdout]   |
[INFO] [stdout]   = note: when a link's destination is not specified,
[INFO] [stdout]           the label is used to resolve intra-doc links
[INFO] [stdout] help: remove explicit link target
[INFO] [stdout]   |
[INFO] [stdout] 5 - //! It is a [`ZoneHandler`](hickory_server::zone_handler::ZoneHandler) that
[INFO] [stdout] 5 + //! It is a [`ZoneHandler`] that
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]  --> src/dns/forwarding.rs:7:48
[INFO] [stdout]   |
[INFO] [stdout] 7 | //! crate. It is inserted into the [`Catalog`](hickory_server::zone_handler::Catalog)
[INFO] [stdout]   |                                     ---------  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ explicit target is redundant
[INFO] [stdout]   |                                     |
[INFO] [stdout]   |                                     because label contains path that resolves to same destination
[INFO] [stdout]   |
[INFO] [stdout]   = note: when a link's destination is not specified,
[INFO] [stdout]           the label is used to resolve intra-doc links
[INFO] [stdout] help: remove explicit link target
[INFO] [stdout]   |
[INFO] [stdout] 7 - //! crate. It is inserted into the [`Catalog`](hickory_server::zone_handler::Catalog)
[INFO] [stdout] 7 + //! crate. It is inserted into the [`Catalog`]
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]   --> src/dns/forwarding.rs:16:30
[INFO] [stdout]    |
[INFO] [stdout] 16 | //! [`TieredForwardHandler`](crate::dns::tiered_forward::TieredForwardHandler)
[INFO] [stdout]    |      ----------------------  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ explicit target is redundant
[INFO] [stdout]    |      |
[INFO] [stdout]    |      because label contains path that resolves to same destination
[INFO] [stdout]    |
[INFO] [stdout]    = note: when a link's destination is not specified,
[INFO] [stdout]            the label is used to resolve intra-doc links
[INFO] [stdout] help: remove explicit link target
[INFO] [stdout]    |
[INFO] [stdout] 16 - //! [`TieredForwardHandler`](crate::dns::tiered_forward::TieredForwardHandler)
[INFO] [stdout] 16 + //! [`TieredForwardHandler`]
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]  --> src/dns/rate_limit.rs:4:23
[INFO] [stdout]   |
[INFO] [stdout] 4 | //! [`DnsMiddleware`](crate::dns::DnsMiddleware) trait and enforces a token
[INFO] [stdout]   |      ---------------  ^^^^^^^^^^^^^^^^^^^^^^^^^ explicit target is redundant
[INFO] [stdout]   |      |
[INFO] [stdout]   |      because label contains path that resolves to same destination
[INFO] [stdout]   |
[INFO] [stdout]   = note: when a link's destination is not specified,
[INFO] [stdout]           the label is used to resolve intra-doc links
[INFO] [stdout] help: remove explicit link target
[INFO] [stdout]   |
[INFO] [stdout] 4 - //! [`DnsMiddleware`](crate::dns::DnsMiddleware) trait and enforces a token
[INFO] [stdout] 4 + //! [`DnsMiddleware`] trait and enforces a token
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]  --> src/dns/serve_stale.rs:3:56
[INFO] [stdout]   |
[INFO] [stdout] 3 | //! [`ServeStaleHandler`] implements [`DnsMiddleware`](crate::dns::DnsMiddleware)
[INFO] [stdout]   |                                       ---------------  ^^^^^^^^^^^^^^^^^^^^^^^^^ explicit target is redundant
[INFO] [stdout]   |                                       |
[INFO] [stdout]   |                                       because label contains path that resolves to same destination
[INFO] [stdout]   |
[INFO] [stdout]   = note: when a link's destination is not specified,
[INFO] [stdout]           the label is used to resolve intra-doc links
[INFO] [stdout] help: remove explicit link target
[INFO] [stdout]   |
[INFO] [stdout] 3 - //! [`ServeStaleHandler`] implements [`DnsMiddleware`](crate::dns::DnsMiddleware)
[INFO] [stdout] 3 + //! [`ServeStaleHandler`] implements [`DnsMiddleware`]
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]   --> src/dns/serve_stale.rs:12:33
[INFO] [stdout]    |
[INFO] [stdout] 12 | //! **separate** [`StaleCache`](crate::dns::caching::StaleCache) that retains
[INFO] [stdout]    |                   ------------  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ explicit target is redundant
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   because label contains path that resolves to same destination
[INFO] [stdout]    |
[INFO] [stdout]    = note: when a link's destination is not specified,
[INFO] [stdout]            the label is used to resolve intra-doc links
[INFO] [stdout] help: remove explicit link target
[INFO] [stdout]    |
[INFO] [stdout] 12 - //! **separate** [`StaleCache`](crate::dns::caching::StaleCache) that retains
[INFO] [stdout] 12 + //! **separate** [`StaleCache`] that retains
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]  --> src/dns/server.rs:4:16
[INFO] [stdout]   |
[INFO] [stdout] 4 | //! [`Server`](hickory_server::server::Server). [`DnshubServer`] owns the
[INFO] [stdout]   |      --------  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ explicit target is redundant
[INFO] [stdout]   |      |
[INFO] [stdout]   |      because label contains path that resolves to same destination
[INFO] [stdout]   |
[INFO] [stdout]   = note: when a link's destination is not specified,
[INFO] [stdout]           the label is used to resolve intra-doc links
[INFO] [stdout] help: remove explicit link target
[INFO] [stdout]   |
[INFO] [stdout] 4 - //! [`Server`](hickory_server::server::Server). [`DnshubServer`] owns the
[INFO] [stdout] 4 + //! [`Server`]. [`DnshubServer`] owns the
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]  --> src/dns/server.rs:6:50
[INFO] [stdout]   |
[INFO] [stdout] 6 | //! enabled, DoT TLS listeners via [`DotServer`](crate::dns::dot::DotServer),
[INFO] [stdout]   |                                     -----------  ^^^^^^^^^^^^^^^^^^^^^^^^^^ explicit target is redundant
[INFO] [stdout]   |                                     |
[INFO] [stdout]   |                                     because label contains path that resolves to same destination
[INFO] [stdout]   |
[INFO] [stdout]   = note: when a link's destination is not specified,
[INFO] [stdout]           the label is used to resolve intra-doc links
[INFO] [stdout] help: remove explicit link target
[INFO] [stdout]   |
[INFO] [stdout] 6 - //! enabled, DoT TLS listeners via [`DotServer`](crate::dns::dot::DotServer),
[INFO] [stdout] 6 + //! enabled, DoT TLS listeners via [`DotServer`],
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]  --> src/dns/server.rs:7:46
[INFO] [stdout]   |
[INFO] [stdout] 7 | //! or DoH HTTPS listeners via [`DohServer`](crate::dns::doh::DohServer)),
[INFO] [stdout]   |                                 -----------  ^^^^^^^^^^^^^^^^^^^^^^^^^^ explicit target is redundant
[INFO] [stdout]   |                                 |
[INFO] [stdout]   |                                 because label contains path that resolves to same destination
[INFO] [stdout]   |
[INFO] [stdout]   = note: when a link's destination is not specified,
[INFO] [stdout]           the label is used to resolve intra-doc links
[INFO] [stdout] help: remove explicit link target
[INFO] [stdout]   |
[INFO] [stdout] 7 - //! or DoH HTTPS listeners via [`DohServer`](crate::dns::doh::DohServer)),
[INFO] [stdout] 7 + //! or DoH HTTPS listeners via [`DohServer`]),
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]    --> src/dns/mod.rs:169:40
[INFO] [stdout]     |
[INFO] [stdout] 169 |     /// Prepend a [`RateLimitHandler`](crate::dns::RateLimitHandler) to the
[INFO] [stdout]     |                    ------------------  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ explicit target is redundant
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    because label contains path that resolves to same destination
[INFO] [stdout]     |
[INFO] [stdout]     = note: when a link's destination is not specified,
[INFO] [stdout]             the label is used to resolve intra-doc links
[INFO] [stdout] help: remove explicit link target
[INFO] [stdout]     |
[INFO] [stdout] 169 -     /// Prepend a [`RateLimitHandler`](crate::dns::RateLimitHandler) to the
[INFO] [stdout] 169 +     /// Prepend a [`RateLimitHandler`] to the
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]  --> src/policy/handler.rs:3:56
[INFO] [stdout]   |
[INFO] [stdout] 3 | //! [`PolicyHandler`] implements the [`DnsMiddleware`](crate::dns::DnsMiddleware)
[INFO] [stdout]   |                                       ---------------  ^^^^^^^^^^^^^^^^^^^^^^^^^ explicit target is redundant
[INFO] [stdout]   |                                       |
[INFO] [stdout]   |                                       because label contains path that resolves to same destination
[INFO] [stdout]   |
[INFO] [stdout]   = note: when a link's destination is not specified,
[INFO] [stdout]           the label is used to resolve intra-doc links
[INFO] [stdout] help: remove explicit link target
[INFO] [stdout]   |
[INFO] [stdout] 3 - //! [`PolicyHandler`] implements the [`DnsMiddleware`](crate::dns::DnsMiddleware)
[INFO] [stdout] 3 + //! [`PolicyHandler`] implements the [`DnsMiddleware`]
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: table row has too many columns
[INFO] [stdout]  --> src/dhcp/v6/duid.rs:9:37
[INFO] [stdout]   |
[INFO] [stdout] 9 | //! | 1    | DUID-LLT    | `type(2) | htype(2) | time(4) | link-layer-addr`    |
[INFO] [stdout]   |                                     ^ any content after this column divider is discarded
[INFO] [stdout]   |
[INFO] [stdout]   = help: to escape `|` characters in tables, add a `\` before them like `\|`
[INFO] [stdout]   = note: `#[warn(rustdoc::invalid_markdown_table)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: table row has too many columns
[INFO] [stdout]   --> src/dhcp/v6/duid.rs:10:37
[INFO] [stdout]    |
[INFO] [stdout] 10 | //! | 2    | DUID-EN     | `type(2) | enterprise-number(4) | identifier`       |
[INFO] [stdout]    |                                     ^ any content after this column divider is discarded
[INFO] [stdout]    |
[INFO] [stdout]    = help: to escape `|` characters in tables, add a `\` before them like `\|`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: table row has too many columns
[INFO] [stdout]   --> src/dhcp/v6/duid.rs:11:37
[INFO] [stdout]    |
[INFO] [stdout] 11 | //! | 3    | DUID-LL     | `type(2) | htype(2) | link-layer-addr`             |
[INFO] [stdout]    |                                     ^ any content after this column divider is discarded
[INFO] [stdout]    |
[INFO] [stdout]    = help: to escape `|` characters in tables, add a `\` before them like `\|`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: table row has too many columns
[INFO] [stdout]   --> src/dhcp/v6/duid.rs:12:37
[INFO] [stdout]    |
[INFO] [stdout] 12 | //! | 4    | DUID-UUID   | `type(2) | uuid(16)`                                |
[INFO] [stdout]    |                                     ^ any content after this column divider is discarded
[INFO] [stdout]    |
[INFO] [stdout]    = help: to escape `|` characters in tables, add a `\` before them like `\|`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]   --> src/dhcp/v6/ia_na.rs:20:22
[INFO] [stdout]    |
[INFO] [stdout] 20 | //! [`LeaseStoreV6`](super::lease_store::LeaseStoreV6) to allocate, renew,
[INFO] [stdout]    |      --------------  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ explicit target is redundant
[INFO] [stdout]    |      |
[INFO] [stdout]    |      because label contains path that resolves to same destination
[INFO] [stdout]    |
[INFO] [stdout]    = note: when a link's destination is not specified,
[INFO] [stdout]            the label is used to resolve intra-doc links
[INFO] [stdout] help: remove explicit link target
[INFO] [stdout]    |
[INFO] [stdout] 20 - //! [`LeaseStoreV6`](super::lease_store::LeaseStoreV6) to allocate, renew,
[INFO] [stdout] 20 + //! [`LeaseStoreV6`] to allocate, renew,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]   --> src/dhcp/v6/ia_na.rs:22:35
[INFO] [stdout]    |
[INFO] [stdout] 22 | //! derived from [`DhcpV6Config`](super::config::DhcpV6Config).
[INFO] [stdout]    |                   --------------  ^^^^^^^^^^^^^^^^^^^^^^^^^^^ explicit target is redundant
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   because label contains path that resolves to same destination
[INFO] [stdout]    |
[INFO] [stdout]    = note: when a link's destination is not specified,
[INFO] [stdout]            the label is used to resolve intra-doc links
[INFO] [stdout] help: remove explicit link target
[INFO] [stdout]    |
[INFO] [stdout] 22 - //! derived from [`DhcpV6Config`](super::config::DhcpV6Config).
[INFO] [stdout] 22 + //! derived from [`DhcpV6Config`].
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]   --> src/query_log/mod.rs:18:15
[INFO] [stdout]    |
[INFO] [stdout] 18 | //! [`Mutex`](std::sync::Mutex) and the underlying SQLite connection by
[INFO] [stdout]    |      -------  ^^^^^^^^^^^^^^^^ explicit target is redundant
[INFO] [stdout]    |      |
[INFO] [stdout]    |      because label contains path that resolves to same destination
[INFO] [stdout]    |
[INFO] [stdout]    = note: when a link's destination is not specified,
[INFO] [stdout]            the label is used to resolve intra-doc links
[INFO] [stdout] help: remove explicit link target
[INFO] [stdout]    |
[INFO] [stdout] 18 - //! [`Mutex`](std::sync::Mutex) and the underlying SQLite connection by
[INFO] [stdout] 18 + //! [`Mutex`] and the underlying SQLite connection by
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `async_trait` is both a crate and an attribute macro
[INFO] [stdout]  --> src/dhcp/v6/lease_store.rs:7:33
[INFO] [stdout]   |
[INFO] [stdout] 7 | //! The trait is `async` (via [`async_trait`]) so a future
[INFO] [stdout]   |                                 ^^^^^^^^^^^ ambiguous link
[INFO] [stdout]   |
[INFO] [stdout] help: to link to the crate, prefix with `mod@`
[INFO] [stdout]   |
[INFO] [stdout] 7 | //! The trait is `async` (via [`mod@async_trait`]) so a future
[INFO] [stdout]   |                                 ++++
[INFO] [stdout] help: to link to the attribute macro, prefix with `attribute@`
[INFO] [stdout]   |
[INFO] [stdout] 7 | //! The trait is `async` (via [`attribute@async_trait`]) so a future
[INFO] [stdout]   |                                 ++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 04s
[INFO] [stderr]    Generated /opt/rustwide/target/doc/dnshub/index.html
[INFO] running `Command { std: "docker" "inspect" "15879b95b3b3f5a7eb025b161250df115092f985ceb61020a12fe14fd8babb3a", 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" "15879b95b3b3f5a7eb025b161250df115092f985ceb61020a12fe14fd8babb3a" "/opt/rustwide/cargo-home/bin/cargo" "+da3f5c31e5535b3dc210067de660a45784ae1e9c" "rustdoc" "--lib" "-Zrustdoc-map" "--config" "build.rustdocflags=[\"--cfg\", \"docsrs\", \"-Z\", \"unstable-options\", \"--document-private-items\"]" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]  Documenting dnshub v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unresolved link to `ZoneHandler`
[INFO] [stdout]   --> src/dns/mod.rs:11:48
[INFO] [stdout]    |
[INFO] [stdout] 11 | //!    [`RequestHandler`] and holds a set of [`ZoneHandler`]s
[INFO] [stdout]    |                                                ^^^^^^^^^^^ no item named `ZoneHandler` in scope
[INFO] [stdout]    |
[INFO] [stdout]    = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout]    = note: `#[warn(rustdoc::broken_intra_doc_links)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `hickory_resolver::cache::ResponseCache`
[INFO] [stdout]   --> src/dns/caching.rs:18:42
[INFO] [stdout]    |
[INFO] [stdout] 18 | //! hickory-resolver's [`ResponseCache`](hickory_resolver::cache::ResponseCache)
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `cache` in module `hickory_resolver`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `MiddlewareAction::Reject(Refused)`
[INFO] [stdout]  --> src/dns/rate_limit.rs:8:37
[INFO] [stdout]   |
[INFO] [stdout] 8 | //! receive a `REFUSED` response ([`MiddlewareAction::Reject(Refused)`]).
[INFO] [stdout]   |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the enum `MiddlewareAction` has no variant or associated item named `Reject(Refused)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `apply_tcp_options`
[INFO] [stdout]   --> src/dns/socket.rs:31:7
[INFO] [stdout]    |
[INFO] [stdout] 31 | /// [`apply_tcp_options`] so the server module does not need to import the
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^ no item named `apply_tcp_options` 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 `ArcSwap`
[INFO] [stdout]  --> src/blocklist/mod.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | //! via [`ArcSwap`].
[INFO] [stdout]   |           ^^^^^^^ no item named `ArcSwap` 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 `is_open`
[INFO] [stdout]   --> src/blocklist/circuit_breaker.rs:19:46
[INFO] [stdout]    |
[INFO] [stdout] 19 | //! The half-open state is entered lazily: [`is_open`] returns `false` once
[INFO] [stdout]    |                                              ^^^^^^^ no item named `is_open` 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 `record_success`
[INFO] [stdout]   --> src/blocklist/circuit_breaker.rs:21:14
[INFO] [stdout]    |
[INFO] [stdout] 21 | //! fetch. [`record_success`] / [`record_failure`] then resolve the
[INFO] [stdout]    |              ^^^^^^^^^^^^^^ no item named `record_success` 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 `record_failure`
[INFO] [stdout]   --> src/blocklist/circuit_breaker.rs:21:35
[INFO] [stdout]    |
[INFO] [stdout] 21 | //! fetch. [`record_success`] / [`record_failure`] then resolve the
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^ no item named `record_failure` 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 `next_delay`
[INFO] [stdout]   --> src/blocklist/backoff.rs:72:24
[INFO] [stdout]    |
[INFO] [stdout] 72 |     /// recorded via [`next_delay`]).
[INFO] [stdout]    |                        ^^^^^^^^^^ no item named `next_delay` 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 `next_delay`
[INFO] [stdout]   --> src/blocklist/backoff.rs:78:11
[INFO] [stdout]    |
[INFO] [stdout] 78 |     /// [`next_delay`], without advancing the attempt counter.
[INFO] [stdout]    |           ^^^^^^^^^^ no item named `next_delay` 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 `Duration`
[INFO] [stdout]    --> src/blocklist/config.rs:178:53
[INFO] [stdout]     |
[INFO] [stdout] 178 |     /// Returns the circuit breaker cooldown as a [`Duration`].
[INFO] [stdout]     |                                                     ^^^^^^^^ no item named `Duration` in scope
[INFO] [stdout]     |
[INFO] [stdout]     = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: public documentation for `client_to_tag` links to private item `MAX_LABEL_LEN`
[INFO] [stdout]   --> src/metrics/labels.rs:51:20
[INFO] [stdout]    |
[INFO] [stdout] 51 | /// truncated to [`MAX_LABEL_LEN`] characters.
[INFO] [stdout]    |                    ^^^^^^^^^^^^^ this item is private
[INFO] [stdout]    |
[INFO] [stdout]    = note: this link will resolve properly if you pass `--document-private-items`
[INFO] [stdout]    = note: `#[warn(rustdoc::private_intra_doc_links)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: public documentation for `normalize_label` links to private item `truncate_label`
[INFO] [stdout]    --> src/metrics/labels.rs:106:37
[INFO] [stdout]     |
[INFO] [stdout] 106 | /// This is a thin wrapper around [`truncate_label`] for callers that have a
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^ this item is private
[INFO] [stdout]     |
[INFO] [stdout]     = note: this link will resolve properly if you pass `--document-private-items`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `Allow`
[INFO] [stdout]   --> src/policy/engine.rs:27:60
[INFO] [stdout]    |
[INFO] [stdout] 27 |     /// (Reserved for future use; currently treated like [`Allow`].)
[INFO] [stdout]    |                                                            ^^^^^ no item named `Allow` 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 `MiddlewareAction::Reject(Refused)`
[INFO] [stdout]  --> src/policy/handler.rs:9:18
[INFO] [stdout]   |
[INFO] [stdout] 9 | //! 4. Returns [`MiddlewareAction::Reject(Refused)`] for blocked queries, or
[INFO] [stdout]   |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the enum `MiddlewareAction` has no variant or associated item named `Reject(Refused)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `ClientResolver`
[INFO] [stdout]  --> src/client_resolver/config.rs:1:56
[INFO] [stdout]   |
[INFO] [stdout] 1 | //! Serde structs for client mapping entries used by [`ClientResolver`].
[INFO] [stdout]   |                                                        ^^^^^^^^^^^^^^ no item named `ClientResolver` in scope
[INFO] [stdout]   |
[INFO] [stdout]   = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: public documentation for `DhcpLookup` links to private item `Interner`
[INFO] [stdout]    --> src/client_resolver/dhcp_lookup.rs:157:52
[INFO] [stdout]     |
[INFO] [stdout] 157 | /// Static-lease profile names are interned (see [`Interner`]) so that
[INFO] [stdout]     |                                                    ^^^^^^^^ this item is private
[INFO] [stdout]     |
[INFO] [stdout]     = note: this link will resolve properly if you pass `--document-private-items`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `DhcpV4Server::reply_dest`
[INFO] [stdout]   --> src/dhcp/v4/mod.rs:13:21
[INFO] [stdout]    |
[INFO] [stdout] 13 | //! determined by [`DhcpV4Server::reply_dest`].
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^ the struct `DhcpV4Server` has no field or associated item named `reply_dest`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `dhcproto::v6::Duid`
[INFO] [stdout]   --> src/dhcp/v6/duid.rs:16:20
[INFO] [stdout]    |
[INFO] [stdout] 16 | //! delegated to [`dhcproto::v6::Duid`] for round-trip correctness.
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^ no item named `Duid` in module `v6`
[INFO] [stdout]    |
[INFO] [stdout] help: there's a similarly named item `duid`
[INFO] [stdout]    |
[INFO] [stdout] 16 - //! delegated to [`dhcproto::v6::Duid`] for round-trip correctness.
[INFO] [stdout] 16 + //! delegated to [`dhcproto::v6::duid`] for round-trip correctness.
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `dhcproto::v6::Duid::link_layer_time`
[INFO] [stdout]    --> src/dhcp/v6/duid.rs:170:12
[INFO] [stdout]     |
[INFO] [stdout] 170 | /// Uses [`dhcproto::v6::Duid::link_layer_time`] so the wire encoding is
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `Duid` in module `v6`
[INFO] [stdout]     |
[INFO] [stdout] help: there's a similarly named item `duid`
[INFO] [stdout]     |
[INFO] [stdout] 170 - /// Uses [`dhcproto::v6::Duid::link_layer_time`] so the wire encoding is
[INFO] [stdout] 170 + /// Uses [`dhcproto::v6::duid::link_layer_time`] so the wire encoding is
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `handle_solicit`
[INFO] [stdout]  --> src/dhcp/v6/state_machine.rs:7:53
[INFO] [stdout]   |
[INFO] [stdout] 7 | //! | SOLLICIT               | ADVERTISE        | [`handle_solicit`]       |
[INFO] [stdout]   |                                                     ^^^^^^^^^^^^^^ no item named `handle_solicit` 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 `handle_request`
[INFO] [stdout]  --> src/dhcp/v6/state_machine.rs:8:53
[INFO] [stdout]   |
[INFO] [stdout] 8 | //! | REQUEST                | REPLY            | [`handle_request`]       |
[INFO] [stdout]   |                                                     ^^^^^^^^^^^^^^ no item named `handle_request` 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 `handle_renew`
[INFO] [stdout]  --> src/dhcp/v6/state_machine.rs:9:53
[INFO] [stdout]   |
[INFO] [stdout] 9 | //! | RENEW                  | REPLY            | [`handle_renew`]         |
[INFO] [stdout]   |                                                     ^^^^^^^^^^^^ no item named `handle_renew` 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 `handle_rebind`
[INFO] [stdout]   --> src/dhcp/v6/state_machine.rs:10:53
[INFO] [stdout]    |
[INFO] [stdout] 10 | //! | REBIND                 | REPLY            | [`handle_rebind`]        |
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^ no item named `handle_rebind` 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 `handle_release`
[INFO] [stdout]   --> src/dhcp/v6/state_machine.rs:11:53
[INFO] [stdout]    |
[INFO] [stdout] 11 | //! | RELEASE                | REPLY            | [`handle_release`]       |
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^ no item named `handle_release` 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 `handle_confirm`
[INFO] [stdout]   --> src/dhcp/v6/state_machine.rs:12:53
[INFO] [stdout]    |
[INFO] [stdout] 12 | //! | CONFIRM                | REPLY            | [`handle_confirm`]       |
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^ no item named `handle_confirm` 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 `handle_information`
[INFO] [stdout]   --> src/dhcp/v6/state_machine.rs:13:53
[INFO] [stdout]    |
[INFO] [stdout] 13 | //! | INFORMATION-REQUEST    | REPLY            | [`handle_information`]   |
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^^^^^ no item named `handle_information` 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 `RaConfig::prefix_addr`
[INFO] [stdout]   --> src/dhcp/ra/config.rs:24:23
[INFO] [stdout]    |
[INFO] [stdout] 24 |     /// Parsed into [`RaConfig::prefix_addr`] and [`RaConfig::prefix_len`]
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^ the struct `RaConfig` has no field or associated item named `prefix_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `RaConfig::prefix_len`
[INFO] [stdout]   --> src/dhcp/ra/config.rs:24:53
[INFO] [stdout]    |
[INFO] [stdout] 24 |     /// Parsed into [`RaConfig::prefix_addr`] and [`RaConfig::prefix_len`]
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^^^^^^^ the struct `RaConfig` has no field or associated item named `prefix_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: public documentation for `zone_updater` links to private item `ZoneUpdater::add_record`
[INFO] [stdout]   --> src/dhcp/ddns/zone_updater.rs:16:18
[INFO] [stdout]    |
[INFO] [stdout] 16 | //! - **Add**: [`ZoneUpdater::add_record`] upserts a `Record` into the zone.
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^ this item is private
[INFO] [stdout]    |
[INFO] [stdout]    = note: this link will resolve properly if you pass `--document-private-items`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: public documentation for `zone_updater` links to private item `ZoneUpdater::remove_record`
[INFO] [stdout]   --> src/dhcp/ddns/zone_updater.rs:20:21
[INFO] [stdout]    |
[INFO] [stdout] 20 | //! - **Remove**: [`ZoneUpdater::remove_record`] acquires a write lock on the
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^ this item is private
[INFO] [stdout]    |
[INFO] [stdout]    = note: this link will resolve properly if you pass `--document-private-items`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `crate::config::dhcp`
[INFO] [stdout]  --> src/dhcp/pxe/config.rs:6:24
[INFO] [stdout]   |
[INFO] [stdout] 6 | //! re-exported from [`crate::config::dhcp`] for the config tree.
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^^^^^ no item named `dhcp` in module `config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `RogueDetector`
[INFO] [stdout]   --> src/dhcp/rogue/probe.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | //! [`RogueDetector`] integration tests where a loopback responder is stood up.
[INFO] [stdout]    |       ^^^^^^^^^^^^^ no item named `RogueDetector` 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 `ApiServer::with_options`
[INFO] [stdout]   --> src/api/auth.rs:46:53
[INFO] [stdout]    |
[INFO] [stdout] 46 | /// the middleware layer is not added at all (see [`ApiServer::with_options`]).
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^^^^^^^^^^ no item named `ApiServer` in scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `ConfigStore`
[INFO] [stdout]  --> src/api/routes/config.rs:6:48
[INFO] [stdout]   |
[INFO] [stdout] 6 | //!   atomically swaps the active config via [`ConfigStore`].
[INFO] [stdout]   |                                                ^^^^^^^^^^^ no item named `ConfigStore` 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 `ConfigStore::swap`
[INFO] [stdout]   --> src/api/routes/config.rs:45:7
[INFO] [stdout]    |
[INFO] [stdout] 45 | /// [`ConfigStore::swap`].
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^ no item named `ConfigStore` in scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `DnshubConfig`
[INFO] [stdout]   --> src/observability/config.rs:28:58
[INFO] [stdout]    |
[INFO] [stdout] 28 |     /// Extract the observability sections from a full [`DnshubConfig`].
[INFO] [stdout]    |                                                          ^^^^^^^^^^^^ no item named `DnshubConfig` in scope
[INFO] [stdout]    |
[INFO] [stdout]    = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]   --> src/dns/mod.rs:10:20
[INFO] [stdout]    |
[INFO] [stdout] 10 | //! 1. [`Catalog`](hickory_server::zone_handler::Catalog) implements
[INFO] [stdout]    |         ---------  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ explicit target is redundant
[INFO] [stdout]    |         |
[INFO] [stdout]    |         because label contains path that resolves to same destination
[INFO] [stdout]    |
[INFO] [stdout]    = note: when a link's destination is not specified,
[INFO] [stdout]            the label is used to resolve intra-doc links
[INFO] [stdout]    = note: `#[warn(rustdoc::redundant_explicit_links)]` on by default
[INFO] [stdout] help: remove explicit link target
[INFO] [stdout]    |
[INFO] [stdout] 10 - //! 1. [`Catalog`](hickory_server::zone_handler::Catalog) implements
[INFO] [stdout] 10 + //! 1. [`Catalog`] implements
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]  --> src/dns/caching.rs:6:22
[INFO] [stdout]   |
[INFO] [stdout] 6 | //! [`ResolverOpts`](hickory_resolver::config::ResolverOpts) rather than via a
[INFO] [stdout]   |      --------------  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ explicit target is redundant
[INFO] [stdout]   |      |
[INFO] [stdout]   |      because label contains path that resolves to same destination
[INFO] [stdout]   |
[INFO] [stdout]   = note: when a link's destination is not specified,
[INFO] [stdout]           the label is used to resolve intra-doc links
[INFO] [stdout] help: remove explicit link target
[INFO] [stdout]   |
[INFO] [stdout] 6 - //! [`ResolverOpts`](hickory_resolver::config::ResolverOpts) rather than via a
[INFO] [stdout] 6 + //! [`ResolverOpts`] rather than via a
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]   --> src/dns/doh_axum.rs:12:37
[INFO] [stdout]    |
[INFO] [stdout] 12 | //! to the shared [`DnshubHandler`](crate::dns::DnshubHandler) via
[INFO] [stdout]    |                    ---------------  ^^^^^^^^^^^^^^^^^^^^^^^^^ explicit target is redundant
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    because label contains path that resolves to same destination
[INFO] [stdout]    |
[INFO] [stdout]    = note: when a link's destination is not specified,
[INFO] [stdout]            the label is used to resolve intra-doc links
[INFO] [stdout] help: remove explicit link target
[INFO] [stdout]    |
[INFO] [stdout] 12 - //! to the shared [`DnshubHandler`](crate::dns::DnshubHandler) via
[INFO] [stdout] 12 + //! to the shared [`DnshubHandler`] via
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]  --> src/dns/ecs_strip.rs:3:54
[INFO] [stdout]   |
[INFO] [stdout] 3 | //! [`EcsStripHandler`] implements [`DnsMiddleware`](crate::dns::DnsMiddleware)
[INFO] [stdout]   |                                     ---------------  ^^^^^^^^^^^^^^^^^^^^^^^^^ explicit target is redundant
[INFO] [stdout]   |                                     |
[INFO] [stdout]   |                                     because label contains path that resolves to same destination
[INFO] [stdout]   |
[INFO] [stdout]   = note: when a link's destination is not specified,
[INFO] [stdout]           the label is used to resolve intra-doc links
[INFO] [stdout] help: remove explicit link target
[INFO] [stdout]   |
[INFO] [stdout] 3 - //! [`EcsStripHandler`] implements [`DnsMiddleware`](crate::dns::DnsMiddleware)
[INFO] [stdout] 3 + //! [`EcsStripHandler`] implements [`DnsMiddleware`]
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]  --> src/dns/forwarding.rs:4:28
[INFO] [stdout]   |
[INFO] [stdout] 4 | //! [`ForwardZoneHandler`](hickory_server::store::forwarder::ForwardZoneHandler).
[INFO] [stdout]   |      --------------------  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ explicit target is redundant
[INFO] [stdout]   |      |
[INFO] [stdout]   |      because label contains path that resolves to same destination
[INFO] [stdout]   |
[INFO] [stdout]   = note: when a link's destination is not specified,
[INFO] [stdout]           the label is used to resolve intra-doc links
[INFO] [stdout] help: remove explicit link target
[INFO] [stdout]   |
[INFO] [stdout] 4 - //! [`ForwardZoneHandler`](hickory_server::store::forwarder::ForwardZoneHandler).
[INFO] [stdout] 4 + //! [`ForwardZoneHandler`].
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]  --> src/dns/forwarding.rs:5:29
[INFO] [stdout]   |
[INFO] [stdout] 5 | //! It is a [`ZoneHandler`](hickory_server::zone_handler::ZoneHandler) that
[INFO] [stdout]   |              -------------  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ explicit target is redundant
[INFO] [stdout]   |              |
[INFO] [stdout]   |              because label contains path that resolves to same destination
[INFO] [stdout]   |
[INFO] [stdout]   = note: when a link's destination is not specified,
[INFO] [stdout]           the label is used to resolve intra-doc links
[INFO] [stdout] help: remove explicit link target
[INFO] [stdout]   |
[INFO] [stdout] 5 - //! It is a [`ZoneHandler`](hickory_server::zone_handler::ZoneHandler) that
[INFO] [stdout] 5 + //! It is a [`ZoneHandler`] that
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]  --> src/dns/forwarding.rs:7:48
[INFO] [stdout]   |
[INFO] [stdout] 7 | //! crate. It is inserted into the [`Catalog`](hickory_server::zone_handler::Catalog)
[INFO] [stdout]   |                                     ---------  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ explicit target is redundant
[INFO] [stdout]   |                                     |
[INFO] [stdout]   |                                     because label contains path that resolves to same destination
[INFO] [stdout]   |
[INFO] [stdout]   = note: when a link's destination is not specified,
[INFO] [stdout]           the label is used to resolve intra-doc links
[INFO] [stdout] help: remove explicit link target
[INFO] [stdout]   |
[INFO] [stdout] 7 - //! crate. It is inserted into the [`Catalog`](hickory_server::zone_handler::Catalog)
[INFO] [stdout] 7 + //! crate. It is inserted into the [`Catalog`]
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]   --> src/dns/forwarding.rs:16:30
[INFO] [stdout]    |
[INFO] [stdout] 16 | //! [`TieredForwardHandler`](crate::dns::tiered_forward::TieredForwardHandler)
[INFO] [stdout]    |      ----------------------  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ explicit target is redundant
[INFO] [stdout]    |      |
[INFO] [stdout]    |      because label contains path that resolves to same destination
[INFO] [stdout]    |
[INFO] [stdout]    = note: when a link's destination is not specified,
[INFO] [stdout]            the label is used to resolve intra-doc links
[INFO] [stdout] help: remove explicit link target
[INFO] [stdout]    |
[INFO] [stdout] 16 - //! [`TieredForwardHandler`](crate::dns::tiered_forward::TieredForwardHandler)
[INFO] [stdout] 16 + //! [`TieredForwardHandler`]
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]  --> src/dns/rate_limit.rs:4:23
[INFO] [stdout]   |
[INFO] [stdout] 4 | //! [`DnsMiddleware`](crate::dns::DnsMiddleware) trait and enforces a token
[INFO] [stdout]   |      ---------------  ^^^^^^^^^^^^^^^^^^^^^^^^^ explicit target is redundant
[INFO] [stdout]   |      |
[INFO] [stdout]   |      because label contains path that resolves to same destination
[INFO] [stdout]   |
[INFO] [stdout]   = note: when a link's destination is not specified,
[INFO] [stdout]           the label is used to resolve intra-doc links
[INFO] [stdout] help: remove explicit link target
[INFO] [stdout]   |
[INFO] [stdout] 4 - //! [`DnsMiddleware`](crate::dns::DnsMiddleware) trait and enforces a token
[INFO] [stdout] 4 + //! [`DnsMiddleware`] trait and enforces a token
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]  --> src/dns/serve_stale.rs:3:56
[INFO] [stdout]   |
[INFO] [stdout] 3 | //! [`ServeStaleHandler`] implements [`DnsMiddleware`](crate::dns::DnsMiddleware)
[INFO] [stdout]   |                                       ---------------  ^^^^^^^^^^^^^^^^^^^^^^^^^ explicit target is redundant
[INFO] [stdout]   |                                       |
[INFO] [stdout]   |                                       because label contains path that resolves to same destination
[INFO] [stdout]   |
[INFO] [stdout]   = note: when a link's destination is not specified,
[INFO] [stdout]           the label is used to resolve intra-doc links
[INFO] [stdout] help: remove explicit link target
[INFO] [stdout]   |
[INFO] [stdout] 3 - //! [`ServeStaleHandler`] implements [`DnsMiddleware`](crate::dns::DnsMiddleware)
[INFO] [stdout] 3 + //! [`ServeStaleHandler`] implements [`DnsMiddleware`]
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]   --> src/dns/serve_stale.rs:12:33
[INFO] [stdout]    |
[INFO] [stdout] 12 | //! **separate** [`StaleCache`](crate::dns::caching::StaleCache) that retains
[INFO] [stdout]    |                   ------------  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ explicit target is redundant
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   because label contains path that resolves to same destination
[INFO] [stdout]    |
[INFO] [stdout]    = note: when a link's destination is not specified,
[INFO] [stdout]            the label is used to resolve intra-doc links
[INFO] [stdout] help: remove explicit link target
[INFO] [stdout]    |
[INFO] [stdout] 12 - //! **separate** [`StaleCache`](crate::dns::caching::StaleCache) that retains
[INFO] [stdout] 12 + //! **separate** [`StaleCache`] that retains
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]  --> src/dns/server.rs:4:16
[INFO] [stdout]   |
[INFO] [stdout] 4 | //! [`Server`](hickory_server::server::Server). [`DnshubServer`] owns the
[INFO] [stdout]   |      --------  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ explicit target is redundant
[INFO] [stdout]   |      |
[INFO] [stdout]   |      because label contains path that resolves to same destination
[INFO] [stdout]   |
[INFO] [stdout]   = note: when a link's destination is not specified,
[INFO] [stdout]           the label is used to resolve intra-doc links
[INFO] [stdout] help: remove explicit link target
[INFO] [stdout]   |
[INFO] [stdout] 4 - //! [`Server`](hickory_server::server::Server). [`DnshubServer`] owns the
[INFO] [stdout] 4 + //! [`Server`]. [`DnshubServer`] owns the
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]  --> src/dns/server.rs:6:50
[INFO] [stdout]   |
[INFO] [stdout] 6 | //! enabled, DoT TLS listeners via [`DotServer`](crate::dns::dot::DotServer),
[INFO] [stdout]   |                                     -----------  ^^^^^^^^^^^^^^^^^^^^^^^^^^ explicit target is redundant
[INFO] [stdout]   |                                     |
[INFO] [stdout]   |                                     because label contains path that resolves to same destination
[INFO] [stdout]   |
[INFO] [stdout]   = note: when a link's destination is not specified,
[INFO] [stdout]           the label is used to resolve intra-doc links
[INFO] [stdout] help: remove explicit link target
[INFO] [stdout]   |
[INFO] [stdout] 6 - //! enabled, DoT TLS listeners via [`DotServer`](crate::dns::dot::DotServer),
[INFO] [stdout] 6 + //! enabled, DoT TLS listeners via [`DotServer`],
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]  --> src/dns/server.rs:7:46
[INFO] [stdout]   |
[INFO] [stdout] 7 | //! or DoH HTTPS listeners via [`DohServer`](crate::dns::doh::DohServer)),
[INFO] [stdout]   |                                 -----------  ^^^^^^^^^^^^^^^^^^^^^^^^^^ explicit target is redundant
[INFO] [stdout]   |                                 |
[INFO] [stdout]   |                                 because label contains path that resolves to same destination
[INFO] [stdout]   |
[INFO] [stdout]   = note: when a link's destination is not specified,
[INFO] [stdout]           the label is used to resolve intra-doc links
[INFO] [stdout] help: remove explicit link target
[INFO] [stdout]   |
[INFO] [stdout] 7 - //! or DoH HTTPS listeners via [`DohServer`](crate::dns::doh::DohServer)),
[INFO] [stdout] 7 + //! or DoH HTTPS listeners via [`DohServer`]),
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]    --> src/dns/mod.rs:169:40
[INFO] [stdout]     |
[INFO] [stdout] 169 |     /// Prepend a [`RateLimitHandler`](crate::dns::RateLimitHandler) to the
[INFO] [stdout]     |                    ------------------  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ explicit target is redundant
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    because label contains path that resolves to same destination
[INFO] [stdout]     |
[INFO] [stdout]     = note: when a link's destination is not specified,
[INFO] [stdout]             the label is used to resolve intra-doc links
[INFO] [stdout] help: remove explicit link target
[INFO] [stdout]     |
[INFO] [stdout] 169 -     /// Prepend a [`RateLimitHandler`](crate::dns::RateLimitHandler) to the
[INFO] [stdout] 169 +     /// Prepend a [`RateLimitHandler`] to the
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]  --> src/policy/handler.rs:3:56
[INFO] [stdout]   |
[INFO] [stdout] 3 | //! [`PolicyHandler`] implements the [`DnsMiddleware`](crate::dns::DnsMiddleware)
[INFO] [stdout]   |                                       ---------------  ^^^^^^^^^^^^^^^^^^^^^^^^^ explicit target is redundant
[INFO] [stdout]   |                                       |
[INFO] [stdout]   |                                       because label contains path that resolves to same destination
[INFO] [stdout]   |
[INFO] [stdout]   = note: when a link's destination is not specified,
[INFO] [stdout]           the label is used to resolve intra-doc links
[INFO] [stdout] help: remove explicit link target
[INFO] [stdout]   |
[INFO] [stdout] 3 - //! [`PolicyHandler`] implements the [`DnsMiddleware`](crate::dns::DnsMiddleware)
[INFO] [stdout] 3 + //! [`PolicyHandler`] implements the [`DnsMiddleware`]
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: table row has too many columns
[INFO] [stdout]  --> src/dhcp/v6/duid.rs:9:37
[INFO] [stdout]   |
[INFO] [stdout] 9 | //! | 1    | DUID-LLT    | `type(2) | htype(2) | time(4) | link-layer-addr`    |
[INFO] [stdout]   |                                     ^ any content after this column divider is discarded
[INFO] [stdout]   |
[INFO] [stdout]   = help: to escape `|` characters in tables, add a `\` before them like `\|`
[INFO] [stdout]   = note: `#[warn(rustdoc::invalid_markdown_table)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: table row has too many columns
[INFO] [stdout]   --> src/dhcp/v6/duid.rs:10:37
[INFO] [stdout]    |
[INFO] [stdout] 10 | //! | 2    | DUID-EN     | `type(2) | enterprise-number(4) | identifier`       |
[INFO] [stdout]    |                                     ^ any content after this column divider is discarded
[INFO] [stdout]    |
[INFO] [stdout]    = help: to escape `|` characters in tables, add a `\` before them like `\|`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: table row has too many columns
[INFO] [stdout]   --> src/dhcp/v6/duid.rs:11:37
[INFO] [stdout]    |
[INFO] [stdout] 11 | //! | 3    | DUID-LL     | `type(2) | htype(2) | link-layer-addr`             |
[INFO] [stdout]    |                                     ^ any content after this column divider is discarded
[INFO] [stdout]    |
[INFO] [stdout]    = help: to escape `|` characters in tables, add a `\` before them like `\|`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: table row has too many columns
[INFO] [stdout]   --> src/dhcp/v6/duid.rs:12:37
[INFO] [stdout]    |
[INFO] [stdout] 12 | //! | 4    | DUID-UUID   | `type(2) | uuid(16)`                                |
[INFO] [stdout]    |                                     ^ any content after this column divider is discarded
[INFO] [stdout]    |
[INFO] [stdout]    = help: to escape `|` characters in tables, add a `\` before them like `\|`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]   --> src/dhcp/v6/ia_na.rs:20:22
[INFO] [stdout]    |
[INFO] [stdout] 20 | //! [`LeaseStoreV6`](super::lease_store::LeaseStoreV6) to allocate, renew,
[INFO] [stdout]    |      --------------  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ explicit target is redundant
[INFO] [stdout]    |      |
[INFO] [stdout]    |      because label contains path that resolves to same destination
[INFO] [stdout]    |
[INFO] [stdout]    = note: when a link's destination is not specified,
[INFO] [stdout]            the label is used to resolve intra-doc links
[INFO] [stdout] help: remove explicit link target
[INFO] [stdout]    |
[INFO] [stdout] 20 - //! [`LeaseStoreV6`](super::lease_store::LeaseStoreV6) to allocate, renew,
[INFO] [stdout] 20 + //! [`LeaseStoreV6`] to allocate, renew,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]   --> src/dhcp/v6/ia_na.rs:22:35
[INFO] [stdout]    |
[INFO] [stdout] 22 | //! derived from [`DhcpV6Config`](super::config::DhcpV6Config).
[INFO] [stdout]    |                   --------------  ^^^^^^^^^^^^^^^^^^^^^^^^^^^ explicit target is redundant
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   because label contains path that resolves to same destination
[INFO] [stdout]    |
[INFO] [stdout]    = note: when a link's destination is not specified,
[INFO] [stdout]            the label is used to resolve intra-doc links
[INFO] [stdout] help: remove explicit link target
[INFO] [stdout]    |
[INFO] [stdout] 22 - //! derived from [`DhcpV6Config`](super::config::DhcpV6Config).
[INFO] [stdout] 22 + //! derived from [`DhcpV6Config`].
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]   --> src/query_log/mod.rs:18:15
[INFO] [stdout]    |
[INFO] [stdout] 18 | //! [`Mutex`](std::sync::Mutex) and the underlying SQLite connection by
[INFO] [stdout]    |      -------  ^^^^^^^^^^^^^^^^ explicit target is redundant
[INFO] [stdout]    |      |
[INFO] [stdout]    |      because label contains path that resolves to same destination
[INFO] [stdout]    |
[INFO] [stdout]    = note: when a link's destination is not specified,
[INFO] [stdout]            the label is used to resolve intra-doc links
[INFO] [stdout] help: remove explicit link target
[INFO] [stdout]    |
[INFO] [stdout] 18 - //! [`Mutex`](std::sync::Mutex) and the underlying SQLite connection by
[INFO] [stdout] 18 + //! [`Mutex`] and the underlying SQLite connection by
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `async_trait` is both a crate and an attribute macro
[INFO] [stdout]  --> src/dhcp/v6/lease_store.rs:7:33
[INFO] [stdout]   |
[INFO] [stdout] 7 | //! The trait is `async` (via [`async_trait`]) so a future
[INFO] [stdout]   |                                 ^^^^^^^^^^^ ambiguous link
[INFO] [stdout]   |
[INFO] [stdout] help: to link to the crate, prefix with `mod@`
[INFO] [stdout]   |
[INFO] [stdout] 7 | //! The trait is `async` (via [`mod@async_trait`]) so a future
[INFO] [stdout]   |                                 ++++
[INFO] [stdout] help: to link to the attribute macro, prefix with `attribute@`
[INFO] [stdout]   |
[INFO] [stdout] 7 | //! The trait is `async` (via [`attribute@async_trait`]) so a future
[INFO] [stdout]   |                                 ++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.77s
[INFO] [stderr]    Generated /opt/rustwide/target/doc/dnshub/index.html
[INFO] running `Command { std: "docker" "inspect" "15879b95b3b3f5a7eb025b161250df115092f985ceb61020a12fe14fd8babb3a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "15879b95b3b3f5a7eb025b161250df115092f985ceb61020a12fe14fd8babb3a", kill_on_drop: false }`
[INFO] [stdout] 15879b95b3b3f5a7eb025b161250df115092f985ceb61020a12fe14fd8babb3a
