[INFO] cloning repository https://github.com/GridFPV/gridfpv
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/GridFPV/gridfpv" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FGridFPV%2Fgridfpv", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FGridFPV%2Fgridfpv'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 4e0f796af03d704e94e0ba71d9f41d5bb2d547d6
[INFO] documenting GridFPV/gridfpv/4e0f796af03d704e94e0ba71d9f41d5bb2d547d6 against 1.97.0-beta.6 for beta-rustdoc-1.98-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FGridFPV%2Fgridfpv" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-2-tc1/source/.cargo/config.toml
[INFO] removed /workspace/builds/worker-2-tc1/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/GridFPV/gridfpv
[INFO] finished tweaking git repo https://github.com/GridFPV/gridfpv
[INFO] tweaked toml for git repo https://github.com/GridFPV/gridfpv written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/GridFPV/gridfpv on toolchain 1.97.0-beta.6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/GridFPV/gridfpv 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" "+1.97.0-beta.6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded rsqlite-vfs v0.1.1
[INFO] [stderr]   Downloaded hashlink v0.12.0
[INFO] [stderr]   Downloaded ts-rs-macros v12.0.1
[INFO] [stderr]   Downloaded rust_engineio v0.6.0
[INFO] [stderr]   Downloaded ts-rs v12.0.1
[INFO] [stderr]   Downloaded rust_socketio v0.6.0
[INFO] [stderr]   Downloaded rusqlite v0.40.1
[INFO] [stderr]   Downloaded libsqlite3-sys v0.38.1
[INFO] [stderr]   Downloaded sqlite-wasm-rs v0.5.5
[INFO] [stderr]   Downloaded openssl-src v300.6.1+3.6.3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/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:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 2911108623ac1e0bd0a67be18cddc0b0423e80809be96edb359449d512709c8e
[INFO] running `Command { std: "docker" "start" "2911108623ac1e0bd0a67be18cddc0b0423e80809be96edb359449d512709c8e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2911108623ac1e0bd0a67be18cddc0b0423e80809be96edb359449d512709c8e", 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" "2911108623ac1e0bd0a67be18cddc0b0423e80809be96edb359449d512709c8e" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2911108623ac1e0bd0a67be18cddc0b0423e80809be96edb359449d512709c8e", 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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "2911108623ac1e0bd0a67be18cddc0b0423e80809be96edb359449d512709c8e" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "doc" "--frozen" "--no-deps" "--document-private-items" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]     Checking http v1.4.2
[INFO] [stderr]    Compiling zerocopy v0.8.52
[INFO] [stderr]     Checking hashbrown v0.17.1
[INFO] [stderr]    Compiling openssl-src v300.6.1+3.6.3
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]    Compiling termcolor v1.4.1
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling openssl v0.10.81
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]    Compiling native-tls v0.2.18
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]    Compiling libsqlite3-sys v0.38.1
[INFO] [stderr]     Checking rustls-pki-types v1.14.1
[INFO] [stderr]     Checking gridfpv-testkit v0.4.0-alpha.1 (/opt/rustwide/workdir/crates/testkit)
[INFO] [stderr]  Documenting gridfpv-testkit v0.4.0-alpha.1 (/opt/rustwide/workdir/crates/testkit)
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]    Compiling openssl-sys v0.9.117
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling syn v2.0.118
[INFO] [stderr]     Checking indexmap v2.14.0
[INFO] [stderr]     Checking hashlink v0.12.0
[INFO] [stdout] warning: unresolved link to `pass_profile`
[INFO] [stdout]   --> crates/testkit/src/lib.rs:57:7
[INFO] [stdout]    |
[INFO] [stdout] 57 | /// [`pass_profile`] for the model.
[INFO] [stdout]    |       ^^^^^^^^^^^^ no item named `pass_profile` 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 `SignalChunk`
[INFO] [stdout]    --> crates/testkit/src/lib.rs:190:9
[INFO] [stdout]     |
[INFO] [stdout] 190 | ///   [`SignalChunk`] trace samples once per heartbeat. It carries the per-tick **bell + noise**
[INFO] [stdout]     |         ^^^^^^^^^^^ no item named `SignalChunk` 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 `node_csv` links to private item `pass_value`
[INFO] [stdout]    --> crates/testkit/src/lib.rs:235:43
[INFO] [stdout]     |
[INFO] [stdout] 235 | /// deterministic per-sample noise (see [`pass_value`]) and slight lap-to-lap peak variation (see
[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 `node_csv` links to private item `varied_peak`
[INFO] [stdout]    --> crates/testkit/src/lib.rs:236:7
[INFO] [stdout]     |
[INFO] [stdout] 236 | /// [`varied_peak`]). The peak lands exactly on the crossing tick, so RH's crossing detection still
[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 `plan_csv` links to private item `pass_value`
[INFO] [stdout]    --> crates/testkit/src/lib.rs:398:43
[INFO] [stdout]     |
[INFO] [stdout] 398 | /// deterministic per-sample noise (see [`pass_value`]) and slight lap-to-lap peak variation (see
[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 `plan_csv` links to private item `varied_peak`
[INFO] [stdout]    --> crates/testkit/src/lib.rs:399:7
[INFO] [stdout]     |
[INFO] [stdout] 399 | /// [`varied_peak`]). `pass_peak` (col 5) holds the most-recent crossing's nominal peak as the stable
[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] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]     Checking axum-core v0.5.6
[INFO] [stderr]  Documenting xtask v0.4.0-alpha.1 (/opt/rustwide/workdir/xtask)
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking rand v0.9.4
[INFO] [stderr]     Checking rand v0.8.6
[INFO] [stderr]     Checking backoff v0.4.0
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling displaydoc v0.2.6
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling ts-rs-macros v12.0.1
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]     Checking async-stream v0.3.6
[INFO] [stderr]     Checking tokio v1.52.3
[INFO] [stderr]     Checking zerofrom v0.1.8
[INFO] [stderr]     Checking yoke v0.8.3
[INFO] [stderr]     Checking thiserror v2.0.18
[INFO] [stderr]     Checking tungstenite v0.29.0
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking zerovec v0.11.6
[INFO] [stderr]     Checking zerotrie v0.2.4
[INFO] [stderr]     Checking ts-rs v12.0.1
[INFO] [stderr]     Checking tinystr v0.8.3
[INFO] [stderr]     Checking potential_utf v0.1.5
[INFO] [stderr]     Checking icu_collections v2.1.1
[INFO] [stderr]     Checking icu_locale_core v2.1.1
[INFO] [stderr]     Checking icu_provider v2.1.1
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking icu_properties v2.1.2
[INFO] [stderr]     Checking icu_normalizer v2.1.1
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking gridfpv-events v0.4.0-alpha.1 (/opt/rustwide/workdir/crates/events)
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]  Documenting gridfpv-events v0.4.0-alpha.1 (/opt/rustwide/workdir/crates/events)
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | transparent 
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | transparent 
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | transparent 
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | transparent 
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | transparent 
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | transparent 
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | transparent 
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | transparent 
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | transparent 
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | transparent 
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | transparent 
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | transparent 
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | transparent 
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | transparent 
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | transparent 
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | transparent 
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | transparent 
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | transparent 
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | transparent 
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | transparent 
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking rusqlite v0.40.1
[INFO] [stderr]     Checking gridfpv-projection v0.4.0-alpha.1 (/opt/rustwide/workdir/crates/projection)
[INFO] [stderr]  Documenting gridfpv-projection v0.4.0-alpha.1 (/opt/rustwide/workdir/crates/projection)
[INFO] [stdout] warning: unresolved link to `gridfpv_engine::heat::ProtestWindow::After`
[INFO] [stdout]    --> crates/events/src/lib.rs:692:47
[INFO] [stdout]     |
[INFO] [stdout] 692 |     /// configures a [`ProtestWindow::After`](gridfpv_engine::heat::ProtestWindow::After), the
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `gridfpv_engine` in scope
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(rustdoc::broken_intra_doc_links)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking gridfpv-engine v0.4.0-alpha.1 (/opt/rustwide/workdir/crates/engine)
[INFO] [stderr]  Documenting gridfpv-engine v0.4.0-alpha.1 (/opt/rustwide/workdir/crates/engine)
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]    --> crates/projection/src/lib.rs:273:53
[INFO] [stdout]     |
[INFO] [stdout] 273 | /// Each event is paired with its append [`LogRef`](gridfpv_events::LogRef) offset;
[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] 273 - /// Each event is paired with its append [`LogRef`](gridfpv_events::LogRef) offset;
[INFO] [stdout] 273 + /// Each event is paired with its append [`LogRef`] offset;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `score`
[INFO] [stdout]    --> crates/engine/src/event.rs:258:23
[INFO] [stdout]     |
[INFO] [stdout] 258 | /// Scoring proper ([`score`]) consumes raw lap-gate [`Pass`]es; marshaling corrections
[INFO] [stdout]     |                       ^^^^^ no item named `score` 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 `Pass`
[INFO] [stdout]    --> crates/engine/src/event.rs:258:56
[INFO] [stdout]     |
[INFO] [stdout] 258 | /// Scoring proper ([`score`]) consumes raw lap-gate [`Pass`]es; marshaling corrections
[INFO] [stdout]     |                                                        ^^^^ no item named `Pass` 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 `score_with_adjudications` links to private item `apply_adjudications`
[INFO] [stdout]    --> crates/engine/src/scoring.rs:510:23
[INFO] [stdout]     |
[INFO] [stdout] 510 | /// that path calls [`apply_adjudications`] on the corrected stream so penalties and
[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 `score_corrected_with_global_offsets` links to private item `apply_adjudications`
[INFO] [stdout]    --> crates/engine/src/scoring.rs:563:7
[INFO] [stdout]     |
[INFO] [stdout] 563 | /// [`apply_adjudications`], for callers holding a heat *window* whose events keep their global
[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 `HeadToHead` links to private item `Self::group_size`
[INFO] [stdout]   --> crates/engine/src/head_to_head.rs:51:35
[INFO] [stdout]    |
[INFO] [stdout] 51 | /// into groups of [`group_size`](Self::group_size), the same groups repeated
[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 `HeadToHead` links to private item `Self::rotations`
[INFO] [stdout]   --> crates/engine/src/head_to_head.rs:52:19
[INFO] [stdout]    |
[INFO] [stdout] 52 | /// [`rotations`](Self::rotations) times) then completes; `ranking` ranks the field under 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 `WinCondition`
[INFO] [stdout]   --> crates/engine/src/timed_qual.rs:19:46
[INFO] [stdout]    |
[INFO] [stdout] 19 | //! Each round is *scored* by the format's [`WinCondition`] (the e2e drives that), but
[INFO] [stdout]    |                                              ^^^^^^^^^^^^ no item named `WinCondition` 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 `HeatResult`
[INFO] [stdout]   --> crates/engine/src/timed_qual.rs:21:15
[INFO] [stdout]    |
[INFO] [stdout] 21 | //! round's [`HeatResult`]:
[INFO] [stdout]    |               ^^^^^^^^^^ no item named `HeatResult` 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 `WinCondition::BestLap`
[INFO] [stdout]   --> crates/engine/src/timed_qual.rs:25:31
[INFO] [stdout]    |
[INFO] [stdout] 25 | //!   qualifier. Pairs with [`WinCondition::BestLap`] scoring.
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^ no item named `WinCondition` in scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `WinCondition::BestConsecutive`
[INFO] [stdout]   --> crates/engine/src/timed_qual.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 | //!   [`WinCondition::BestConsecutive`].
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `WinCondition` in scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `WinCondition::Timed`
[INFO] [stdout]   --> crates/engine/src/timed_qual.rs:30:49
[INFO] [stdout]    |
[INFO] [stdout] 30 | //!   laps in a window" qualifier; pairs with [`WinCondition::Timed`].
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^^^^^^^ no item named `WinCondition` in scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `SeedingOutcome`
[INFO] [stdout]   --> crates/engine/src/timed_qual.rs:41:49
[INFO] [stdout]    |
[INFO] [stdout] 41 | //! field. The seed order (after any recorded [`SeedingOutcome`]) is the chunk order and
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^^ no item named `SeedingOutcome` 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 `HeatResult`
[INFO] [stdout]   --> crates/engine/src/timed_qual.rs:69:32
[INFO] [stdout]    |
[INFO] [stdout] 69 | /// Which value of a round's [`HeatResult`] the cross-round aggregation ranks pilots by.
[INFO] [stdout]    |                                ^^^^^^^^^^ no item named `HeatResult` in scope
[INFO] [stdout]    |
[INFO] [stdout]    = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking gridfpv-storage v0.4.0-alpha.1 (/opt/rustwide/workdir/crates/storage)
[INFO] [stderr]  Documenting gridfpv-storage v0.4.0-alpha.1 (/opt/rustwide/workdir/crates/storage)
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]    --> crates/engine/src/scoring.rs:199:33
[INFO] [stdout]     |
[INFO] [stdout] 199 |     /// [`Event::LapThrownOut`](gridfpv_events::Event::LapThrownOut) targets to exclude it.
[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] 199 -     /// [`Event::LapThrownOut`](gridfpv_events::Event::LapThrownOut) targets to exclude it.
[INFO] [stdout] 199 +     /// [`Event::LapThrownOut`] targets to exclude it.
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking tokio-tungstenite v0.29.0
[INFO] [stderr]     Checking h2 v0.4.15
[INFO] [stderr]     Checking tower-http v0.6.11
[INFO] [stderr]     Checking hyper v1.10.1
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking axum v0.8.9
[INFO] [stderr]     Checking gridfpv-server v0.4.0-alpha.1 (/opt/rustwide/workdir/crates/server)
[INFO] [stderr]  Documenting gridfpv-server v0.4.0-alpha.1 (/opt/rustwide/workdir/crates/server)
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | deserialize_with =
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | alias = "vtx_type"
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | transparent 
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | transparent 
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | transparent 
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | transparent 
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | deserialize_with =
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | alias = "vtx_type"
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | transparent 
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | transparent 
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | transparent 
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stderr] warning: failed to parse serde attribute
[INFO] [stderr]   | 
[INFO] [stderr]   | transparent 
[INFO] [stderr]   | 
[INFO] [stderr]   = note: ts-rs failed to parse this attribute. It will be ignored.
[INFO] [stdout] warning: unresolved link to `Scope`
[INFO] [stdout]  --> crates/server/src/app.rs:4:44
[INFO] [stdout]   |
[INFO] [stdout] 4 | //! endpoints, one addressing scheme per [`Scope`], each returning a [`Snapshot`] of the
[INFO] [stdout]   |                                            ^^^^^ no item named `Scope` 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 `LiveRaceState`
[INFO] [stdout]   --> crates/server/src/app.rs:46:49
[INFO] [stdout]    |
[INFO] [stdout] 46 | //! | event | `GET /snapshot/event/{event}` | [`LiveRaceState`] over the whole log |
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^ no item named `LiveRaceState` 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 `LiveRaceState`
[INFO] [stdout]   --> crates/server/src/app.rs:47:57
[INFO] [stdout]    |
[INFO] [stdout] 47 | //! | class | `GET /snapshot/class/{event}/{class}` | [`LiveRaceState`] (class filtering deferred — see below) |
[INFO] [stdout]    |                                                         ^^^^^^^^^^^^^ no item named `LiveRaceState` 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 `LiveRaceState`
[INFO] [stdout]   --> crates/server/src/app.rs:48:47
[INFO] [stdout]    |
[INFO] [stdout] 48 | //! | heat  | `GET /snapshot/heat/{heat}` | [`LiveRaceState`] for that heat, or — with `?projection=laps` / `?projection=audit` / `?...
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^ no item named `LiveRaceState` 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 `heat` links to private item `heat_window_offsets`
[INFO] [stdout]     --> crates/server/src/app.rs:1419:32
[INFO] [stdout]      |
[INFO] [stdout] 1419 |     /// per-heat audit uses ([`heat_window_offsets`]), so the two views can never disagree.
[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 `smart_fallback` links to private item `api_fallback`
[INFO] [stdout]     --> crates/server/src/app.rs:1566:75
[INFO] [stdout]      |
[INFO] [stdout] 1566 | /// ([`is_api_path`]) instead gets the typed [`ProtocolError`] 404 from [`api_fallback`],
[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 `class_window`
[INFO] [stdout]     --> crates/server/src/app.rs:1666:45
[INFO] [stdout]      |
[INFO] [stdout] 1666 | /// the class scope is a **real filter**: [`class_window`] scopes the log to the heats tagged with
[INFO] [stdout]      |                                             ^^^^^^^^^^^^ no item named `class_window` 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 `LiveRaceState`
[INFO] [stdout]     --> crates/server/src/app.rs:1749:55
[INFO] [stdout]      |
[INFO] [stdout] 1749 | /// `?projection=live` (default) returns the heat's [`LiveRaceState`]; `?projection=laps`
[INFO] [stdout]      |                                                       ^^^^^^^^^^^^^ no item named `LiveRaceState` 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 `token` links to private item `random_token`
[INFO] [stdout]   --> crates/server/src/auth.rs:68:61
[INFO] [stdout]    |
[INFO] [stdout] 68 |     /// The opaque, URL/QR-safe read-only join token (see [`random_token`]).
[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 `Event::HeatScheduled`
[INFO] [stdout]    --> crates/server/src/control.rs:155:50
[INFO] [stdout]     |
[INFO] [stdout] 155 |         /// Threaded straight into the emitted [`Event::HeatScheduled`].
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^ no item named `Event` in scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `Event::HeatScheduled`
[INFO] [stdout]    --> crates/server/src/control.rs:164:40
[INFO] [stdout]     |
[INFO] [stdout] 164 |     /// heat the generator emits — a [`Event::HeatScheduled`] tagged with `round` (and
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^ no item named `Event` in scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: public documentation for `control_handler` links to private item `require_not_final`
[INFO] [stdout]   --> crates/server/src/control_handler.rs:39:67
[INFO] [stdout]    |
[INFO] [stdout] 39 | //! re-finalizes. Heat-addressed commands check their own heat ([`require_not_final`]);
[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 `control_handler` links to private item `heat_of_offset`
[INFO] [stdout]   --> crates/server/src/control_handler.rs:40:73
[INFO] [stdout]    |
[INFO] [stdout] 40 | //! target-addressed ones resolve the target's **owning heat** first ([`heat_of_offset`] —
[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 `round_engine::MAX_HEATS_PER_ROUND`
[INFO] [stdout]    --> crates/server/src/control_handler.rs:574:32
[INFO] [stdout]     |
[INFO] [stdout] 574 | /// spin unbounded. (Mirrors [`round_engine::MAX_HEATS_PER_ROUND`].)
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `round_engine` in scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: public documentation for `apply_fill_round` links to private item `fill_round_once`
[INFO] [stdout]    --> crates/server/src/control_handler.rs:696:33
[INFO] [stdout]     |
[INFO] [stdout] 696 | /// - [`FillMode::All`] loops [`fill_round_once`] — append, re-fold, draw again — until the round
[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 `apply_fill_round` links to private item `MAX_FILL_ALL_HEATS`
[INFO] [stdout]    --> crates/server/src/control_handler.rs:700:9
[INFO] [stdout]     |
[INFO] [stdout] 700 | ///   [`MAX_FILL_ALL_HEATS`] defensively (logged if hit).
[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 `EventLog`
[INFO] [stdout]  --> crates/server/src/events.rs:7:31
[INFO] [stdout]   |
[INFO] [stdout] 7 | //! — and therefore its own [`EventLog`]. Every read/realtime/control surface is rooted under
[INFO] [stdout]   |                               ^^^^^^^^ no item named `EventLog` in scope
[INFO] [stdout]   |
[INFO] [stdout]   = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `crate::app::events_router`
[INFO] [stdout]  --> crates/server/src/events.rs:9:19
[INFO] [stdout]   |
[INFO] [stdout] 9 | //! serves (see [`crate::app::events_router`]).
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `events_router` in module `app`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `EventLog`
[INFO] [stdout]   --> crates/server/src/events.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | //! [`EventLog`] backend, so the same logical "an event owns a dense, per-event log" holds
[INFO] [stdout]    |       ^^^^^^^^ no item named `EventLog` 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 `pilots` links to private item `member_slots`
[INFO] [stdout]    --> crates/server/src/events.rs:206:63
[INFO] [stdout]     |
[INFO] [stdout] 206 |     /// [`MemberSlot`] (de)serialises through a serde shim ([`member_slots`]) that accepts either
[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 `EventLog`
[INFO] [stdout]     --> crates/server/src/events.rs:1038:65
[INFO] [stdout]      |
[INFO] [stdout] 1038 | /// Maps each [`EventId`] to its [`AppState`] (and so its own [`EventLog`]). A built-in
[INFO] [stdout]      |                                                                 ^^^^^^^^ no item named `EventLog` 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 `delete` links to private item `RegisteredEvent`
[INFO] [stdout]     --> crates/server/src/events.rs:1866:11
[INFO] [stdout]      |
[INFO] [stdout] 1866 |     /// [`RegisteredEvent`] closes the live SQLite connection (its `AppState` is the only holder),
[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 `PilotError`
[INFO] [stdout]     --> crates/server/src/events.rs:2082:87
[INFO] [stdout]      |
[INFO] [stdout] 2082 | /// *bad request* to `400`, and an *I/O / persistence* failure to `500` — mirroring [`PilotError`].
[INFO] [stdout]      |                                                                                       ^^^^^^^^^^ no item named `PilotError` 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 `LogRef`
[INFO] [stdout]    --> crates/server/src/live_state.rs:231:7
[INFO] [stdout]     |
[INFO] [stdout] 231 | /// [`LogRef`]s; folding a filtered slice through the plain [`live_state`] re-enumerated it
[INFO] [stdout]     |       ^^^^^^ no item named `LogRef` 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 `vtx_types` links to private item `VtxType::ORDER`
[INFO] [stdout]    --> crates/server/src/pilots.rs:171:18
[INFO] [stdout]     |
[INFO] [stdout] 171 |     /// stable [`VtxType::ORDER`] on every create/update. Defaults empty (and, being a `Vec`, an
[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 `vtx_types` links to private item `deserialize_vtx_types`
[INFO] [stdout]    --> crates/server/src/pilots.rs:175:59
[INFO] [stdout]     |
[INFO] [stdout] 175 |     /// `vtx_type: VtxType`. A custom deserializer (see [`deserialize_vtx_types`]) accepts both 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: public documentation for `SeedingTooDeep` links to private item `crate::events::MAX_SEEDING_DEPTH`
[INFO] [stdout]    --> crates/server/src/round_engine.rs:129:64
[INFO] [stdout]     |
[INFO] [stdout] 129 |     /// Seeding resolution recursed past [`MAX_SEEDING_DEPTH`](crate::events::MAX_SEEDING_DEPTH) —
[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 `Generator::advancers`
[INFO] [stdout]    --> crates/server/src/round_engine.rs:512:63
[INFO] [stdout]     |
[INFO] [stdout] 512 | /// The winners are the source format's **advancing set** — [`Generator::advancers`], each heat's
[INFO] [stdout]     |                                                               ^^^^^^^^^^^^^^^^^^^^ no item named `Generator` in scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: public documentation for `is_open_ended_static` links to private item `fill_round_static`
[INFO] [stdout]    --> crates/server/src/round_engine.rs:613:22
[INFO] [stdout]     |
[INFO] [stdout] 613 | /// Such a round's [`fill_round_static`] generator **never** reports `Complete` — it manufactures
[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 `completed_heats` links to private item `crate::app::score_heat_window`
[INFO] [stdout]    --> crates/server/src/round_engine.rs:697:27
[INFO] [stdout]     |
[INFO] [stdout] 697 | /// [`score_heat_window`](crate::app::score_heat_window) the per-heat result projection uses, so
[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 `RoundMetric` links to private item `qual_metric_for`
[INFO] [stdout]    --> crates/server/src/round_engine.rs:853:7
[INFO] [stdout]     |
[INFO] [stdout] 853 | /// [`qual_metric_for`] derives the qualifying metric. The lap-time variants carry `None` for 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: public documentation for `round_standings` links to private item `round_best_laps`
[INFO] [stdout]    --> crates/server/src/round_engine.rs:917:30
[INFO] [stdout]     |
[INFO] [stdout] 917 | ///   lap-list projection ([`round_best_laps`]), *independent* of the win condition (so a most-laps
[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 `round_standings` links to private item `qual_metric_for`
[INFO] [stdout]    --> crates/server/src/round_engine.rs:921:9
[INFO] [stdout]     |
[INFO] [stdout] 921 | ///   [`qual_metric_for`]: [`BestConsecutive`](WinCondition::BestConsecutive) → the smallest
[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 `CONTRACT_VERSION`
[INFO] [stdout]    --> crates/server/src/scope.rs:105:69
[INFO] [stdout]     |
[INFO] [stdout] 105 | /// wire; a missing `contract_version` is treated as this build's [`CONTRACT_VERSION`]
[INFO] [stdout]     |                                                                     ^^^^^^^^^^^^^^^^ no item named `CONTRACT_VERSION` 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 `TimerStatus` links to private item `Timer::status_for`
[INFO] [stdout]    --> crates/server/src/timers.rs:154:34
[INFO] [stdout]     |
[INFO] [stdout] 154 | /// status from its kind — see [`Timer::status_for`]); they are live, in-memory, and reset to
[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 `SubscribeRequest`
[INFO] [stdout]   --> crates/server/src/ws.rs:11:58
[INFO] [stdout]    |
[INFO] [stdout] 11 | //! 1. Client → server: exactly one text frame, a JSON [`SubscribeRequest`] — the
[INFO] [stdout]    |                                                          ^^^^^^^^^^^^^^^^ no item named `SubscribeRequest` 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 `ws` links to private item `ScopeProjection`
[INFO] [stdout]   --> crates/server/src/ws.rs:70:73
[INFO] [stdout]    |
[INFO] [stdout] 70 | //! placeholder. What is wired now is the **distinction** §9.2 fixes: [`ScopeProjection`]
[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 `stream_handler` links to private item `run_stream`
[INFO] [stdout]    --> crates/server/src/ws.rs:259:34
[INFO] [stdout]     |
[INFO] [stdout] 259 | /// connection and hands it to [`run_stream`] against THAT log; auth (#44) and control
[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 `SubscribeRequest`
[INFO] [stdout]    --> crates/server/src/ws.rs:276:21
[INFO] [stdout]     |
[INFO] [stdout] 276 | /// Reads the one [`SubscribeRequest`], then runs the replay-then-tail loop until the client
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^ no item named `SubscribeRequest` 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 `advance`
[INFO] [stdout]    --> crates/server/src/ws.rs:395:77
[INFO] [stdout]     |
[INFO] [stdout] 395 | /// offset it has folded up to, and the last projection value it emitted. [`advance`] folds
[INFO] [stdout]     |                                                                             ^^^^^^^ no item named `advance` 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 `SubscribeRequest`
[INFO] [stdout]    --> crates/server/src/ws.rs:533:45
[INFO] [stdout]     |
[INFO] [stdout] 533 | /// Receive and parse the client's single [`SubscribeRequest`] (protocol.html §3, §4).
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^ no item named `SubscribeRequest` 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 `SubscribeRequest`
[INFO] [stdout]    --> crates/server/src/ws.rs:535:43
[INFO] [stdout]     |
[INFO] [stdout] 535 | /// The first text frame must be a JSON [`SubscribeRequest`]; anything else (a binary
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^ no item named `SubscribeRequest` 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 `serialize` links to private item `OptionalEdit::is_keep`
[INFO] [stdout]    --> crates/server/src/pilots.rs:327:11
[INFO] [stdout]     |
[INFO] [stdout] 327 |     /// [`OptionalEdit::is_keep`]) so an absent field stays absent on round-trip.
[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: redundant explicit link target
[INFO] [stdout]    --> crates/server/src/app.rs:269:56
[INFO] [stdout]     |
[INFO] [stdout] 269 |     /// [`TokenStore`] — used by the [`EventRegistry`](crate::events::EventRegistry) so every
[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] 269 -     /// [`TokenStore`] — used by the [`EventRegistry`](crate::events::EventRegistry) so every
[INFO] [stdout] 269 +     /// [`TokenStore`] — used by the [`EventRegistry`] so every
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]     --> crates/server/src/app.rs:1215:24
[INFO] [stdout]      |
[INFO] [stdout] 1215 | /// [`FormatRegistry`](gridfpv_engine::format::FormatRegistry) name, and a `FromRanking` seeding
[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] 1215 - /// [`FormatRegistry`](gridfpv_engine::format::FormatRegistry) name, and a `FromRanking` seeding
[INFO] [stdout] 1215 + /// [`FormatRegistry`] name, and a `FromRanking` seeding
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]     --> crates/server/src/app.rs:1617:46
[INFO] [stdout]      |
[INFO] [stdout] 1617 |     /// The heat's marshaling [`AuditEntry`](gridfpv_projection::AuditEntry) trail (#55).
[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] 1617 -     /// The heat's marshaling [`AuditEntry`](gridfpv_projection::AuditEntry) trail (#55).
[INFO] [stdout] 1617 +     /// The heat's marshaling [`AuditEntry`] trail (#55).
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]     --> crates/server/src/app.rs:1751:21
[INFO] [stdout]      |
[INFO] [stdout] 1751 | /// ([`AuditEntry`](gridfpv_projection::AuditEntry) list, #55); `?projection=result` its scored
[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] 1751 - /// ([`AuditEntry`](gridfpv_projection::AuditEntry) list, #55); `?projection=result` its scored
[INFO] [stdout] 1751 + /// ([`AuditEntry`] list, #55); `?projection=result` its scored
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]   --> crates/server/src/control.rs:18:56
[INFO] [stdout]    |
[INFO] [stdout] 18 | //! > the ids the event model already uses ([`HeatId`](gridfpv_events::HeatId),
[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 - //! > the ids the event model already uses ([`HeatId`](gridfpv_events::HeatId),
[INFO] [stdout] 18 + //! > the ids the event model already uses ([`HeatId`],
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]   --> crates/server/src/control.rs:19:25
[INFO] [stdout]    |
[INFO] [stdout] 19 | //! > [`CompetitorRef`](gridfpv_events::CompetitorRef),
[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] 19 - //! > [`CompetitorRef`](gridfpv_events::CompetitorRef),
[INFO] [stdout] 19 + //! > [`CompetitorRef`],
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]   --> crates/server/src/control.rs:20:18
[INFO] [stdout]    |
[INFO] [stdout] 20 | //! > [`LogRef`](gridfpv_events::LogRef)). The richer scope grammar and any
[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 - //! > [`LogRef`](gridfpv_events::LogRef)). The richer scope grammar and any
[INFO] [stdout] 20 + //! > [`LogRef`]). The richer scope grammar and any
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]    --> crates/server/src/control.rs:260:37
[INFO] [stdout]     |
[INFO] [stdout] 260 |     /// [`Penalty::PointsDeducted`](gridfpv_events::Penalty::PointsDeducted), so the console can offer
[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] 260 -     /// [`Penalty::PointsDeducted`](gridfpv_events::Penalty::PointsDeducted), so the console can offer
[INFO] [stdout] 260 +     /// [`Penalty::PointsDeducted`], so the console can offer
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]    --> crates/server/src/control.rs:329:23
[INFO] [stdout]     |
[INFO] [stdout] 329 | /// [`ProtocolError`](crate::error::ProtocolError) (§9.8) — an illegal transition for
[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] 329 - /// [`ProtocolError`](crate::error::ProtocolError) (§9.8) — an illegal transition for
[INFO] [stdout] 329 + /// [`ProtocolError`] (§9.8) — an illegal transition for
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]   --> crates/server/src/control_handler.rs:17:296
[INFO] [stdout]    |
[INFO] [stdout] 17 | ...ith the engine-returned [`HeatTransition`](gridfpv_events::HeatTransition) |
[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] 17 - //! | heat-loop (`Stage`/`Start`/`SkipCountdown`/`ForceEnd`/`Finalize`/`Advance`/`Revert`/`Abort`/`Restart`/`Discard`) | [`heat::heat_state`] folds the heat's current state; [`heat::apply`] checks the transition is legal | [`Event::HeatStateChanged`] with the engine-returned [`HeatTransition`](gridfpv_events::HeatTransition) |
[INFO] [stdout] 17 + //! | heat-loop (`Stage`/`Start`/`SkipCountdown`/`ForceEnd`/`Finalize`/`Advance`/`Revert`/`Abort`/`Restart`/`Discard`) | [`heat::heat_state`] folds the heat's current state; [`heat::apply`] checks the transition is legal | [`Event::HeatStateChanged`] with the engine-returned [`HeatTransition`] |
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]   --> crates/server/src/control_handler.rs:52:51
[INFO] [stdout]    |
[INFO] [stdout] 52 | //! A legal command yields the [`HeatTransition`](gridfpv_events::HeatTransition) to record;
[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] 52 - //! A legal command yields the [`HeatTransition`](gridfpv_events::HeatTransition) to record;
[INFO] [stdout] 52 + //! A legal command yields the [`HeatTransition`] to record;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]     --> crates/server/src/control_handler.rs:1378:30
[INFO] [stdout]      |
[INFO] [stdout] 1378 | /// [`Command::ThrowOutLap`](crate::control::Command::ThrowOutLap). An out-of-range or non-lap-end
[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] 1378 - /// [`Command::ThrowOutLap`](crate::control::Command::ThrowOutLap). An out-of-range or non-lap-end
[INFO] [stdout] 1378 + /// [`Command::ThrowOutLap`]. An out-of-range or non-lap-end
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]     --> crates/server/src/control_handler.rs:1618:44
[INFO] [stdout]      |
[INFO] [stdout] 1618 | /// generalized [`Command::ReverseRuling`](crate::control::Command::ReverseRuling) (marshaling Slice
[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] 1618 - /// generalized [`Command::ReverseRuling`](crate::control::Command::ReverseRuling) (marshaling Slice
[INFO] [stdout] 1618 + /// generalized [`Command::ReverseRuling`] (marshaling Slice
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]     --> crates/server/src/control_handler.rs:1767:37
[INFO] [stdout]      |
[INFO] [stdout] 1767 | /// for [`Command::ResolveProtest`](crate::control::Command::ResolveProtest). An out-of-range or
[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] 1767 - /// for [`Command::ResolveProtest`](crate::control::Command::ResolveProtest). An out-of-range or
[INFO] [stdout] 1767 + /// for [`Command::ResolveProtest`]. An out-of-range or
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]  --> crates/server/src/events.rs:6:77
[INFO] [stdout]   |
[INFO] [stdout] 6 | //! by a registry mapping each [`EventId`] to that event's own [`AppState`](crate::app::AppState)
[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 - //! by a registry mapping each [`EventId`] to that event's own [`AppState`](crate::app::AppState)
[INFO] [stdout] 6 + //! by a registry mapping each [`EventId`] to that event's own [`AppState`]
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]   --> crates/server/src/events.rs:18:71
[INFO] [stdout]    |
[INFO] [stdout] 18 | //!   file, dense offsets from 0 — exactly the existing [`SqliteLog`](gridfpv_storage::SqliteLog)
[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 - //!   file, dense offsets from 0 — exactly the existing [`SqliteLog`](gridfpv_storage::SqliteLog)
[INFO] [stdout] 18 + //!   file, dense offsets from 0 — exactly the existing [`SqliteLog`]
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]   --> crates/server/src/events.rs:20:24
[INFO] [stdout]    |
[INFO] [stdout] 20 | //!   ([`InMemoryLog`](gridfpv_storage::InMemoryLog)), non-persistent by design.
[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 - //!   ([`InMemoryLog`](gridfpv_storage::InMemoryLog)), non-persistent by design.
[INFO] [stdout] 20 + //!   ([`InMemoryLog`]), non-persistent by design.
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]    --> crates/server/src/events.rs:115:46
[INFO] [stdout]     |
[INFO] [stdout] 115 |     /// into the app-level [`TimerRegistry`](crate::timers::TimerRegistry). Additive
[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] 115 -     /// into the app-level [`TimerRegistry`](crate::timers::TimerRegistry). Additive
[INFO] [stdout] 115 +     /// into the app-level [`TimerRegistry`]. Additive
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]    --> crates/server/src/events.rs:137:28
[INFO] [stdout]     |
[INFO] [stdout] 137 |     /// [`PilotDirectory`](crate::pilots::PilotDirectory): a Director maintains their pilots once,
[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] 137 -     /// [`PilotDirectory`](crate::pilots::PilotDirectory): a Director maintains their pilots once,
[INFO] [stdout] 137 +     /// [`PilotDirectory`]: a Director maintains their pilots once,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]    --> crates/server/src/events.rs:146:42
[INFO] [stdout]     |
[INFO] [stdout] 146 |     /// the app-level [`ClassDirectory`](crate::classes::ClassDirectory), by their [`ClassId`]. 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] 146 -     /// the app-level [`ClassDirectory`](crate::classes::ClassDirectory), by their [`ClassId`]. The
[INFO] [stdout] 146 +     /// the app-level [`ClassDirectory`], by their [`ClassId`]. The
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]    --> crates/server/src/events.rs:174:28
[INFO] [stdout]     |
[INFO] [stdout] 174 |     /// [`FormatRegistry`](gridfpv_engine::format::FormatRegistry) name) and its config to one or
[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] 174 -     /// [`FormatRegistry`](gridfpv_engine::format::FormatRegistry) name) and its config to one or
[INFO] [stdout] 174 +     /// [`FormatRegistry`] name) and its config to one or
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]    --> crates/server/src/events.rs:321:24
[INFO] [stdout]     |
[INFO] [stdout] 321 | /// [`FormatRegistry`](gridfpv_engine::format::FormatRegistry) format, scoped to the eligible
[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] 321 - /// [`FormatRegistry`](gridfpv_engine::format::FormatRegistry) format, scoped to the eligible
[INFO] [stdout] 321 + /// [`FormatRegistry`] format, scoped to the eligible
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]    --> crates/server/src/events.rs:345:28
[INFO] [stdout]     |
[INFO] [stdout] 345 |     /// [`FormatRegistry`](gridfpv_engine::format::FormatRegistry) name (e.g. `"timed_qual"`,
[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] 345 -     /// [`FormatRegistry`](gridfpv_engine::format::FormatRegistry) name (e.g. `"timed_qual"`,
[INFO] [stdout] 345 +     /// [`FormatRegistry`] name (e.g. `"timed_qual"`,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]    --> crates/server/src/events.rs:354:26
[INFO] [stdout]     |
[INFO] [stdout] 354 |     /// [`WinCondition`](gridfpv_engine::scoring::WinCondition)).
[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] 354 -     /// [`WinCondition`](gridfpv_engine::scoring::WinCondition)).
[INFO] [stdout] 354 +     /// [`WinCondition`]).
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]    --> crates/server/src/events.rs:961:24
[INFO] [stdout]     |
[INFO] [stdout] 961 | /// [`PilotDirectory`](crate::pilots::PilotDirectory), else a typed 404.
[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] 961 - /// [`PilotDirectory`](crate::pilots::PilotDirectory), else a typed 404.
[INFO] [stdout] 961 + /// [`PilotDirectory`], else a typed 404.
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]    --> crates/server/src/events.rs:971:24
[INFO] [stdout]     |
[INFO] [stdout] 971 | /// [`ClassDirectory`](crate::classes::ClassDirectory), else a typed 404.
[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] 971 - /// [`ClassDirectory`](crate::classes::ClassDirectory), else a typed 404.
[INFO] [stdout] 971 + /// [`ClassDirectory`], else a typed 404.
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]    --> crates/server/src/events.rs:981:39
[INFO] [stdout]     |
[INFO] [stdout] 981 | /// a pilot in the [`PilotDirectory`](crate::pilots::PilotDirectory), else a typed 404. An empty
[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] 981 - /// a pilot in the [`PilotDirectory`](crate::pilots::PilotDirectory), else a typed 404. An empty
[INFO] [stdout] 981 + /// a pilot in the [`PilotDirectory`], else a typed 404. An empty
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]     --> crates/server/src/events.rs:1040:52
[INFO] [stdout]      |
[INFO] [stdout] 1040 | /// Created events get a file-backed [`SqliteLog`](gridfpv_storage::SqliteLog) under 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] 1040 - /// Created events get a file-backed [`SqliteLog`](gridfpv_storage::SqliteLog) under the
[INFO] [stdout] 1040 + /// Created events get a file-backed [`SqliteLog`] under the
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]     --> crates/server/src/events.rs:1783:59
[INFO] [stdout]      |
[INFO] [stdout] 1783 |     /// the new event's meta. A file-backed [`SqliteLog`](gridfpv_storage::SqliteLog) is opened
[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] 1783 -     /// the new event's meta. A file-backed [`SqliteLog`](gridfpv_storage::SqliteLog) is opened
[INFO] [stdout] 1783 +     /// the new event's meta. A file-backed [`SqliteLog`] is opened
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]   --> crates/server/src/live_state.rs:13:33
[INFO] [stdout]    |
[INFO] [stdout] 13 | //! [`Event::HeatStateChanged`](gridfpv_events::Event::HeatStateChanged) for every heat
[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] 13 - //! [`Event::HeatStateChanged`](gridfpv_events::Event::HeatStateChanged) for every heat
[INFO] [stdout] 13 + //! [`Event::HeatStateChanged`] for every heat
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]   --> crates/server/src/live_state.rs:19:37
[INFO] [stdout]    |
[INFO] [stdout] 19 | //! ([`Event::CurrentHeatSelected`](gridfpv_events::Event::CurrentHeatSelected)). Before
[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] 19 - //! ([`Event::CurrentHeatSelected`](gridfpv_events::Event::CurrentHeatSelected)). Before
[INFO] [stdout] 19 + //! ([`Event::CurrentHeatSelected`]). Before
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]   --> crates/server/src/open_practice.rs:38:20
[INFO] [stdout]    |
[INFO] [stdout] 38 | //! [`live_state`](crate::live_state::live_state). So consecutive passes become laps via the exact
[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] 38 - //! [`live_state`](crate::live_state::live_state). So consecutive passes become laps via the exact
[INFO] [stdout] 38 + //! [`live_state`]. So consecutive passes become laps via the exact
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]  --> crates/server/src/round_engine.rs:5:45
[INFO] [stdout]   |
[INFO] [stdout] 5 | //! its eligible classes, a [`SeedingRule`](crate::events::SeedingRule)); this module turns
[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 - //! its eligible classes, a [`SeedingRule`](crate::events::SeedingRule)); this module turns
[INFO] [stdout] 5 + //! its eligible classes, a [`SeedingRule`]); this module turns
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]   --> crates/server/src/round_engine.rs:26:37
[INFO] [stdout]    |
[INFO] [stdout] 26 | //!    [`SeedingRule::FromRanking`](crate::events::SeedingRule::FromRanking) round the field
[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] 26 - //!    [`SeedingRule::FromRanking`](crate::events::SeedingRule::FromRanking) round the field
[INFO] [stdout] 26 + //!    [`SeedingRule::FromRanking`] round the field
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]   --> crates/server/src/round_engine.rs:28:26
[INFO] [stdout]    |
[INFO] [stdout] 28 | //!    [`advance_top_n`](gridfpv_engine::format::advance_top_n) over that source round's
[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] 28 - //!    [`advance_top_n`](gridfpv_engine::format::advance_top_n) over that source round's
[INFO] [stdout] 28 + //!    [`advance_top_n`] over that source round's
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]   --> crates/server/src/round_engine.rs:85:37
[INFO] [stdout]    |
[INFO] [stdout] 85 |         /// [`ChannelMode::Static`](crate::events::ChannelMode::Static) round (the channel-balanced
[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] 85 -         /// [`ChannelMode::Static`](crate::events::ChannelMode::Static) round (the channel-balanced
[INFO] [stdout] 85 +         /// [`ChannelMode::Static`] round (the channel-balanced
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]   --> crates/server/src/round_engine.rs:98:37
[INFO] [stdout]    |
[INFO] [stdout] 98 |     /// [`GeneratorStep::Complete`](gridfpv_engine::format::GeneratorStep::Complete). No
[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] 98 -     /// [`GeneratorStep::Complete`](gridfpv_engine::format::GeneratorStep::Complete). No
[INFO] [stdout] 98 +     /// [`GeneratorStep::Complete`]. No
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]    --> crates/server/src/round_engine.rs:125:35
[INFO] [stdout]     |
[INFO] [stdout] 125 |     /// A [`ChannelMode::Static`](crate::events::ChannelMode::Static) round has a member with **no
[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] 125 -     /// A [`ChannelMode::Static`](crate::events::ChannelMode::Static) round has a member with **no
[INFO] [stdout] 125 +     /// A [`ChannelMode::Static`] round has a member with **no
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]   --> crates/server/src/scope.rs:23:43
[INFO] [stdout]    |
[INFO] [stdout] 23 | /// This is the **canonical** [`PilotId`](gridfpv_events::PilotId) re-exported from 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] 23 - /// This is the **canonical** [`PilotId`](gridfpv_events::PilotId) re-exported from the
[INFO] [stdout] 23 + /// This is the **canonical** [`PilotId`] re-exported from the
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]   --> crates/server/src/scope.rs:45:43
[INFO] [stdout]    |
[INFO] [stdout] 45 | /// This is the **canonical** [`ClassId`](gridfpv_events::ClassId) re-exported from 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] 45 - /// This is the **canonical** [`ClassId`](gridfpv_events::ClassId) re-exported from the
[INFO] [stdout] 45 + /// This is the **canonical** [`ClassId`] re-exported from the
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]   --> crates/server/src/scope.rs:49:17
[INFO] [stdout]    |
[INFO] [stdout] 49 | /// [`PilotId`](gridfpv_events::PilotId) is shared.
[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] 49 - /// [`PilotId`](gridfpv_events::PilotId) is shared.
[INFO] [stdout] 49 + /// [`PilotId`] is shared.
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]  --> crates/server/src/snapshot.rs:4:50
[INFO] [stdout]   |
[INFO] [stdout] 4 | //! projection it scoped to, plus the [`Cursor`](crate::stream::Cursor) the change
[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 - //! projection it scoped to, plus the [`Cursor`](crate::stream::Cursor) the change
[INFO] [stdout] 4 + //! projection it scoped to, plus the [`Cursor`] the change
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]   --> crates/server/src/snapshot.rs:18:19
[INFO] [stdout]    |
[INFO] [stdout] 18 | //! - [`LapList`](gridfpv_projection::LapList) — per-pilot laps, marshaling already
[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 - //! - [`LapList`](gridfpv_projection::LapList) — per-pilot laps, marshaling already
[INFO] [stdout] 18 + //! - [`LapList`] — per-pilot laps, marshaling already
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]   --> crates/server/src/snapshot.rs:20:22
[INFO] [stdout]    |
[INFO] [stdout] 20 | //! - [`HeatResult`](gridfpv_engine::scoring::HeatResult) — the scored heat outcome;
[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 - //! - [`HeatResult`](gridfpv_engine::scoring::HeatResult) — the scored heat outcome;
[INFO] [stdout] 20 + //! - [`HeatResult`] — the scored heat outcome;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]   --> crates/server/src/snapshot.rs:21:54
[INFO] [stdout]    |
[INFO] [stdout] 21 | //! - ranking — a qualifying / bracket [`RankEntry`](gridfpv_engine::format::RankEntry)
[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] 21 - //! - ranking — a qualifying / bracket [`RankEntry`](gridfpv_engine::format::RankEntry)
[INFO] [stdout] 21 + //! - ranking — a qualifying / bracket [`RankEntry`]
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]   --> crates/server/src/snapshot.rs:23:24
[INFO] [stdout]    |
[INFO] [stdout] 23 | //! - [`EventOutcome`](gridfpv_engine::event::EventOutcome) — the full-event standings.
[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] 23 - //! - [`EventOutcome`](gridfpv_engine::event::EventOutcome) — the full-event standings.
[INFO] [stdout] 23 + //! - [`EventOutcome`] — the full-event standings.
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]   --> crates/server/src/snapshot.rs:80:33
[INFO] [stdout]    |
[INFO] [stdout] 80 |     /// A lap list ([`LapList`](gridfpv_projection::LapList)).
[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] 80 -     /// A lap list ([`LapList`](gridfpv_projection::LapList)).
[INFO] [stdout] 80 +     /// A lap list ([`LapList`]).
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]   --> crates/server/src/snapshot.rs:82:46
[INFO] [stdout]    |
[INFO] [stdout] 82 |     /// A scored heat result ([`HeatResult`](gridfpv_engine::scoring::HeatResult)).
[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] 82 -     /// A scored heat result ([`HeatResult`](gridfpv_engine::scoring::HeatResult)).
[INFO] [stdout] 82 +     /// A scored heat result ([`HeatResult`]).
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]   --> crates/server/src/snapshot.rs:84:57
[INFO] [stdout]    |
[INFO] [stdout] 84 |     /// A qualifying / bracket ranking (a [`RankEntry`](gridfpv_engine::format::RankEntry) list).
[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] 84 -     /// A qualifying / bracket ranking (a [`RankEntry`](gridfpv_engine::format::RankEntry) list).
[INFO] [stdout] 84 +     /// A qualifying / bracket ranking (a [`RankEntry`] list).
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]   --> crates/server/src/snapshot.rs:86:62
[INFO] [stdout]    |
[INFO] [stdout] 86 |     /// The full-event outcome / standings ([`EventOutcome`](gridfpv_engine::event::EventOutcome)).
[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] 86 -     /// The full-event outcome / standings ([`EventOutcome`](gridfpv_engine::event::EventOutcome)).
[INFO] [stdout] 86 +     /// The full-event outcome / standings ([`EventOutcome`]).
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]   --> crates/server/src/snapshot.rs:88:59
[INFO] [stdout]    |
[INFO] [stdout] 88 |     /// A heat's marshaling audit trail (a [`AuditEntry`](gridfpv_projection::AuditEntry) list, #55).
[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] 88 -     /// A heat's marshaling audit trail (a [`AuditEntry`](gridfpv_projection::AuditEntry) list, #55).
[INFO] [stdout] 88 +     /// A heat's marshaling audit trail (a [`AuditEntry`] list, #55).
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]   --> crates/server/src/snapshot.rs:90:68
[INFO] [stdout]    |
[INFO] [stdout] 90 |     /// A heat's captured RSSI signal trace (a [`SignalTraceView`](gridfpv_projection::SignalTraceView),
[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] 90 -     /// A heat's captured RSSI signal trace (a [`SignalTraceView`](gridfpv_projection::SignalTraceView),
[INFO] [stdout] 90 +     /// A heat's captured RSSI signal trace (a [`SignalTraceView`],
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]   --> crates/server/src/stream.rs:12:24
[INFO] [stdout]    |
[INFO] [stdout] 12 | //! [`ProjectionKind`](crate::snapshot::ProjectionKind) for a delta, or 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] 12 - //! [`ProjectionKind`](crate::snapshot::ProjectionKind) for a delta, or the
[INFO] [stdout] 12 + //! [`ProjectionKind`] for a delta, or the
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]   --> crates/server/src/stream.rs:13:24
[INFO] [stdout]    |
[INFO] [stdout] 13 | //! [`ProjectionBody`](crate::snapshot::ProjectionBody) itself for a fresh value) and
[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] 13 - //! [`ProjectionBody`](crate::snapshot::ProjectionBody) itself for a fresh value) and
[INFO] [stdout] 13 + //! [`ProjectionBody`] itself for a fresh value) and
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]   --> crates/server/src/ws.rs:12:18
[INFO] [stdout]    |
[INFO] [stdout] 12 | //!    [`Scope`](crate::scope::Scope) it wants and an optional `from` resume cursor.
[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 - //!    [`Scope`](crate::scope::Scope) it wants and an optional `from` resume cursor.
[INFO] [stdout] 12 + //!    [`Scope`] it wants and an optional `from` resume cursor.
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]   --> crates/server/src/ws.rs:14:27
[INFO] [stdout]    |
[INFO] [stdout] 14 | //!    [`ChangeEnvelope`](crate::stream::ChangeEnvelope) or the terminal
[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] 14 - //!    [`ChangeEnvelope`](crate::stream::ChangeEnvelope) or the terminal
[INFO] [stdout] 14 + //!    [`ChangeEnvelope`] or the terminal
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking tungstenite v0.21.0
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]     Checking tokio-tungstenite v0.21.0
[INFO] [stderr]     Checking rust_engineio v0.6.0
[INFO] [stderr]     Checking rust_socketio v0.6.0
[INFO] [stderr]     Checking gridfpv-adapters v0.4.0-alpha.1 (/opt/rustwide/workdir/crates/adapters)
[INFO] [stderr]  Documenting gridfpv-adapters v0.4.0-alpha.1 (/opt/rustwide/workdir/crates/adapters)
[INFO] [stderr]     Checking gridfpv-app v0.4.0-alpha.1 (/opt/rustwide/workdir/crates/app)
[INFO] [stderr]  Documenting gridfpv-app v0.4.0-alpha.1 (/opt/rustwide/workdir/crates/app)
[INFO] [stdout] warning: unresolved link to `RotorHazardConnection::events`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the link appears in this line:
[INFO] [stdout]           
[INFO] [stdout]           Read-only in production (drain [`RotorHazardConnection::events`]); the
[INFO] [stdout]                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   = note: no item named `RotorHazardConnection` in scope
[INFO] [stdout]   = note: `#[warn(rustdoc::broken_intra_doc_links)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `take_savable_heat`
[INFO] [stdout]    --> crates/adapters/src/rotorhazard/transport.rs:152:72
[INFO] [stdout]     |
[INFO] [stdout] 152 |     /// handler stashes it here; the **driver thread** drains it via [`take_savable_heat`] and selects
[INFO] [stdout]     |                                                                        ^^^^^^^^^^^^^^^^^ no item named `take_savable_heat` 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 `seat_heat`
[INFO] [stdout]    --> crates/adapters/src/rotorhazard/transport.rs:593:59
[INFO] [stdout]     |
[INFO] [stdout] 593 |     /// Wait (bounded) for a `heat_data` response after [`seat_heat`]'s `add_heat`, returning the
[INFO] [stdout]     |                                                           ^^^^^^^^^ no item named `seat_heat` 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 `SignalChunk`
[INFO] [stdout]    --> crates/adapters/src/rotorhazard/transport.rs:787:69
[INFO] [stdout]     |
[INFO] [stdout] 787 |     /// pull always comes back empty and only the coarse streamed [`SignalChunk`]s survive.
[INFO] [stdout]     |                                                                     ^^^^^^^^^^^ no item named `SignalChunk` 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 `take_savable_heat`
[INFO] [stdout]    --> crates/adapters/src/rotorhazard/transport.rs:790:75
[INFO] [stdout]     |
[INFO] [stdout] 790 |     /// stashes the newest heat id, which the **driver** then reads via [`take_savable_heat`] and
[INFO] [stdout]     |                                                                           ^^^^^^^^^^^^^^^^^ no item named `take_savable_heat` 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 `RaceStatus` links to private item `race_status`
[INFO] [stdout]    --> crates/adapters/src/rotorhazard.rs:125:52
[INFO] [stdout]     |
[INFO] [stdout] 125 |     /// lifecycle via its integer `race_status` ([`race_status`]).
[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: unresolved link to `live_signal_active`
[INFO] [stdout]     --> crates/adapters/src/rotorhazard.rs:1169:71
[INFO] [stdout]      |
[INFO] [stdout] 1169 |     /// race-relative via `race_start`). Seeing any broadcast marks [`live_signal_active`], which
[INFO] [stdout]      |                                                                       ^^^^^^^^^^^^^^^^^^ no item named `live_signal_active` 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 `Self::last_history_len`
[INFO] [stdout]     --> crates/adapters/src/rotorhazard.rs:1173:31
[INFO] [stdout]      |
[INFO] [stdout] 1173 |     /// ([`last_history_len`](Self::last_history_len)) keeps the log to ~one dense fact per crossing
[INFO] [stdout]      |                               ^^^^^^^^^^^^^^^^^^^^^^ the struct `RotorHazardAdapter` has no field or associated item named `last_history_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: public documentation for `velocidrone` links to private item `SECONDS_TO_MICROS`
[INFO] [stdout]   --> crates/adapters/src/velocidrone.rs:64:37
[INFO] [stdout]    |
[INFO] [stdout] 64 | //!   the single thing to change ([`SECONDS_TO_MICROS`]).
[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 `velocidrone` links to private item `map_gate`
[INFO] [stdout]   --> crates/adapters/src/velocidrone.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 68 | //!   [`map_gate`].
[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 `disconnect` links to private item `KEEP_ALIVE_INTERVAL`
[INFO] [stdout]    --> crates/adapters/src/velocidrone/transport.rs:112:36
[INFO] [stdout]     |
[INFO] [stdout] 112 |     /// the way out). Bounded by [`KEEP_ALIVE_INTERVAL`] — the longest the reader can
[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 `time` links to private item `SECONDS_TO_MICROS`
[INFO] [stdout]    --> crates/adapters/src/velocidrone.rs:182:11
[INFO] [stdout]     |
[INFO] [stdout] 182 |     /// [`SECONDS_TO_MICROS`]).
[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: redundant explicit link target
[INFO] [stdout]    --> crates/adapters/src/rotorhazard.rs:286:21
[INFO] [stdout]     |
[INFO] [stdout] 286 | /// [`SignalChunk`](gridfpv_events::SignalChunk)'s fidelity bound.
[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] 286 - /// [`SignalChunk`](gridfpv_events::SignalChunk)'s fidelity bound.
[INFO] [stdout] 286 + /// [`SignalChunk`]'s fidelity bound.
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `server::app::router`
[INFO] [stdout]   --> crates/app/src/lib.rs:13:38
[INFO] [stdout]    |
[INFO] [stdout] 13 | //! event log, builds the protocol [`server::app::router`], serves the built RD console
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^^^^^^^ no item named `server` in scope
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(rustdoc::broken_intra_doc_links)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `server`
[INFO] [stdout]  --> crates/app/src/director.rs:3:58
[INFO] [stdout]   |
[INFO] [stdout] 3 | //! This is the app-level glue that turns the protocol [`server`] crate into a runnable
[INFO] [stdout]   |                                                          ^^^^^^ no item named `server` 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 `AppState`
[INFO] [stdout]   --> crates/app/src/director.rs:15:22
[INFO] [stdout]    |
[INFO] [stdout] 15 | //! CORS — from an [`AppState`] and a resolved [`Config`]. Keeping it a pure function (no
[INFO] [stdout]    |                      ^^^^^^^^ no item named `AppState` 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 `AppState`
[INFO] [stdout]    --> crates/app/src/director.rs:210:51
[INFO] [stdout]     |
[INFO] [stdout] 210 | /// permissive CORS layer — all over the shared [`AppState`].
[INFO] [stdout]     |                                                   ^^^^^^^^ no item named `AppState` 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 `server::app::router`
[INFO] [stdout]    --> crates/app/src/director.rs:212:28
[INFO] [stdout]     |
[INFO] [stdout] 212 | /// The protocol router ([`server::app::router`]) is mounted first so its routes (`/health`,
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^ no item named `server` in scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `embedded`
[INFO] [stdout]    --> crates/app/src/director.rs:231:41
[INFO] [stdout]     |
[INFO] [stdout] 231 | /// the binary** at compile time (see [`embedded`]) rather than from the filesystem — the
[INFO] [stdout]     |                                         ^^^^^^^^ no item named `embedded` 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 `spawn_rh_reconciler` links to private item `RECONCILE_INTERVAL`
[INFO] [stdout]    --> crates/app/src/source/rh_connections.rs:196:7
[INFO] [stdout]     |
[INFO] [stdout] 196 | /// [`RECONCILE_INTERVAL`] and keep `connections` in sync — opening a persistent connection for each
[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: unresolved link to `Disconnected`
[INFO] [stdout]   --> crates/app/src/source/rotorhazard.rs:21:58
[INFO] [stdout]    |
[INFO] [stdout] 21 | //!    running race, disconnects, and leaves the timer [`Disconnected`].
[INFO] [stdout]    |                                                          ^^^^^^^^^^^^ no item named `Disconnected` 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 `spawn_registry_bridge` links to private item `run_bridge`
[INFO] [stdout]    --> crates/app/src/source.rs:476:40
[INFO] [stdout]     |
[INFO] [stdout] 476 | /// per-event: the Director runs one [`run_bridge`] per event, feeding passes into THAT event's
[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 `EventMeta::roster`
[INFO] [stdout]    --> crates/app/src/source.rs:691:53
[INFO] [stdout]     |
[INFO] [stdout] 691 | /// "Presence = roster membership": a pilot on an [`EventMeta::roster`] *is* present at the event.
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^ no item named `EventMeta` in scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]    --> crates/app/src/director.rs:214:18
[INFO] [stdout]     |
[INFO] [stdout] 214 | /// [`ServeDir`](tower_http::services::ServeDir) then serves `assets` as the SPA root with 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]     = note: `#[warn(rustdoc::redundant_explicit_links)]` on by default
[INFO] [stdout] help: remove explicit link target
[INFO] [stdout]     |
[INFO] [stdout] 214 - /// [`ServeDir`](tower_http::services::ServeDir) then serves `assets` as the SPA root with a
[INFO] [stdout] 214 + /// [`ServeDir`] then serves `assets` as the SPA root with a
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]    --> crates/app/src/director.rs:217:24
[INFO] [stdout]     |
[INFO] [stdout] 217 | /// [`smart_fallback`](gridfpv_server::app::smart_fallback) (#64) so a *mistyped API* path
[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] 217 - /// [`smart_fallback`](gridfpv_server::app::smart_fallback) (#64) so a *mistyped API* path
[INFO] [stdout] 217 + /// [`smart_fallback`] (#64) so a *mistyped API* path
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]   --> crates/app/src/source/rotorhazard.rs:14:51
[INFO] [stdout]    |
[INFO] [stdout] 14 | //!    server, drives the timer's [`TimerStatus`](gridfpv_server::timers::TimerStatus) through its
[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] 14 - //!    server, drives the timer's [`TimerStatus`](gridfpv_server::timers::TimerStatus) through its
[INFO] [stdout] 14 + //!    server, drives the timer's [`TimerStatus`] through its
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3m 00s
[INFO] [stderr]    Generated /opt/rustwide/target/doc/gridfpv_adapters/index.html and 9 other files
[INFO] running `Command { std: "docker" "inspect" "2911108623ac1e0bd0a67be18cddc0b0423e80809be96edb359449d512709c8e", 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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "DOCS_RS=1" "-e" "RUSTC_BOOTSTRAP=1" "-w" "/opt/rustwide/workdir" "--user" "0:0" "2911108623ac1e0bd0a67be18cddc0b0423e80809be96edb359449d512709c8e" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "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] error: manifest path `/opt/rustwide/workdir/Cargo.toml` is a virtual manifest, but this command requires running against an actual package in this workspace
[INFO] running `Command { std: "docker" "inspect" "2911108623ac1e0bd0a67be18cddc0b0423e80809be96edb359449d512709c8e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2911108623ac1e0bd0a67be18cddc0b0423e80809be96edb359449d512709c8e", kill_on_drop: false }`
[INFO] [stdout] 2911108623ac1e0bd0a67be18cddc0b0423e80809be96edb359449d512709c8e
