[INFO] fetching crate ilink-hub 0.2.8...
[INFO] documenting ilink-hub-0.2.8 against 1.97.0-beta.6 for beta-rustdoc-1.98-1
[INFO] extracting crate ilink-hub 0.2.8 into /workspace/builds/worker-1-tc1/source
[INFO] removed /workspace/builds/worker-1-tc1/source/.cargo/config.toml
[INFO] started tweaking crates.io crate ilink-hub 0.2.8
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate ilink-hub 0.2.8
[INFO] tweaked toml for crates.io crate ilink-hub 0.2.8 written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate ilink-hub 0.2.8 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 crates.io crate ilink-hub 0.2.8 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]  Downloading crates ...
[INFO] [stderr]   Downloaded serde_norway v0.9.42
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] cbd8e7a686b55e1bdb148720b3b60bef17c795e5258315ed7f58298db3a90a18
[INFO] running `Command { std: "docker" "start" "cbd8e7a686b55e1bdb148720b3b60bef17c795e5258315ed7f58298db3a90a18", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "cbd8e7a686b55e1bdb148720b3b60bef17c795e5258315ed7f58298db3a90a18", 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" "cbd8e7a686b55e1bdb148720b3b60bef17c795e5258315ed7f58298db3a90a18" "/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" "cbd8e7a686b55e1bdb148720b3b60bef17c795e5258315ed7f58298db3a90a18", 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" "cbd8e7a686b55e1bdb148720b3b60bef17c795e5258315ed7f58298db3a90a18" "/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]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling rustls v0.23.40
[INFO] [stderr]    Compiling zeroize v1.9.0
[INFO] [stderr]    Compiling typenum v1.20.1
[INFO] [stderr]    Compiling libsqlite3-sys v0.30.1
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking ahash v0.8.12
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling mio v1.2.1
[INFO] [stderr]    Compiling socket2 v0.6.4
[INFO] [stderr]    Compiling bytes v1.12.0
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling rustls-pki-types v1.14.1
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling const-random-macro v0.1.16
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling uuid v1.23.3
[INFO] [stderr]    Compiling tokio v1.52.3
[INFO] [stderr]    Compiling futures-intrusive v0.5.0
[INFO] [stderr]     Checking const-random v0.1.18
[INFO] [stderr]    Compiling chrono v0.4.45
[INFO] [stderr]    Compiling atoi v2.0.0
[INFO] [stderr]     Checking webpki-roots v0.26.11
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking bitflags v2.13.0
[INFO] [stderr]     Checking dlv-list v0.5.2
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling webpki-roots v1.0.8
[INFO] [stderr]     Checking regex-syntax v0.8.11
[INFO] [stderr]     Checking moxcms v0.8.1
[INFO] [stderr]    Compiling syn v2.0.118
[INFO] [stderr]     Checking ordered-multimap v0.7.3
[INFO] [stderr]     Checking hashlink v0.8.4
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]     Checking arraydeque v0.5.1
[INFO] [stderr]    Compiling prometheus v0.13.4
[INFO] [stderr]     Checking clap_builder v4.6.0
[INFO] [stderr]     Checking convert_case v0.6.0
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking rust-ini v0.20.0
[INFO] [stderr]     Checking yaml-rust2 v0.8.1
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling rustls-webpki v0.103.13
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking unsafe-libyaml-norway v0.2.15
[INFO] [stderr]     Checking dashmap v6.2.1
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]     Checking image v0.25.10
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling pest_generator v2.8.6
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling displaydoc v0.2.6
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling pest_derive v2.8.6
[INFO] [stderr]     Checking curve25519-dalek v4.1.3
[INFO] [stderr]    Compiling axum-macros v0.5.1
[INFO] [stderr]     Checking qrcode v0.14.1
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking tungstenite v0.29.0
[INFO] [stderr]     Checking axum-core v0.5.6
[INFO] [stderr]     Checking tungstenite v0.26.2
[INFO] [stderr]    Compiling zerofrom v0.1.8
[INFO] [stderr]     Checking yoke v0.8.3
[INFO] [stderr]     Checking ed25519-dalek v2.2.0
[INFO] [stderr]     Checking zerovec v0.11.6
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]     Checking tinystr v0.8.3
[INFO] [stderr]     Checking potential_utf v0.1.5
[INFO] [stderr]     Checking clap v4.6.1
[INFO] [stderr]     Checking icu_locale_core v2.2.0
[INFO] [stderr]     Checking icu_collections v2.2.0
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking serde_spanned v0.6.9
[INFO] [stderr]     Checking either v1.16.0
[INFO] [stderr]     Checking toml_datetime v0.6.11
[INFO] [stderr]     Checking ron v0.8.1
[INFO] [stderr]     Checking tracing-serde v0.2.0
[INFO] [stderr]     Checking json5 v0.4.1
[INFO] [stderr]     Checking serde_norway v0.9.42
[INFO] [stderr]     Checking icu_provider v2.2.0
[INFO] [stderr]     Checking toml_edit v0.22.27
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]     Checking icu_properties v2.2.0
[INFO] [stderr]     Checking icu_normalizer v2.2.0
[INFO] [stderr]     Checking idna_adapter v1.2.2
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking hyper v1.10.1
[INFO] [stderr]     Checking tokio-rustls v0.26.4
[INFO] [stderr]     Checking tokio-tungstenite v0.29.0
[INFO] [stderr]     Checking toml v0.8.23
[INFO] [stderr]     Checking tokio-tungstenite v0.26.2
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking config v0.14.1
[INFO] [stderr]     Checking sqlx-core v0.8.6
[INFO] [stderr]     Checking tower-http v0.6.11
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking hyper-rustls v0.27.9
[INFO] [stderr]     Checking axum v0.8.9
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]     Checking sqlx-sqlite v0.8.6
[INFO] [stderr]    Compiling sqlx-macros-core v0.8.6
[INFO] [stderr]    Compiling sqlx-macros v0.8.6
[INFO] [stderr]     Checking sqlx v0.8.6
[INFO] [stderr]  Documenting ilink-hub v0.2.8 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking ilink-hub v0.2.8 (/opt/rustwide/workdir)
[INFO] [stdout] warning: public documentation for `hub` links to private item `state`
[INFO] [stdout]  --> src/hub/mod.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | //! - [`state`] — [`HubState`] and its `IlinkConnState` / `RoutingState` /
[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 `hub` links to private item `dispatch`
[INFO] [stdout]  --> src/hub/mod.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | //! - [`dispatch`] — the broadcast→backend pipeline, quote resolution,
[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 `hub` links to private item `commands`
[INFO] [stdout]   --> src/hub/mod.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | //! - [`commands`] — the `/list`, `/use`, `/status`, `/help`, `/session …`
[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 `register_outbound_content`
[INFO] [stdout]    --> src/hub/quote_route.rs:183:47
[INFO] [stdout]     |
[INFO] [stdout] 183 |     /// The replay is equivalent to calling [`register_outbound_content`] for
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `register_outbound_content` 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 `RecentOutboundRow`
[INFO] [stdout]    --> src/hub/quote_route.rs:380:32
[INFO] [stdout]     |
[INFO] [stdout] 380 | /// Convert a freshly-loaded [`RecentOutboundRow`] into a [`WarmItem`] ready for
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^ no item named `RecentOutboundRow` 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 `UpstreamClient`
[INFO] [stdout]    --> src/hub/state.rs:384:34
[INFO] [stdout]     |
[INFO] [stdout] 384 | /// recording mock in place of [`UpstreamClient`]. The polling loop owns the
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^ no item named `UpstreamClient` 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 `SseTicketStore`
[INFO] [stdout]    --> src/hub/state.rs:406:59
[INFO] [stdout]     |
[INFO] [stdout] 406 |     /// without putting the admin token in the URL. See [`SseTicketStore`].
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^^ no item named `SseTicketStore` 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 `login_with_qr`
[INFO] [stdout]   --> src/ilink/login.rs:60:19
[INFO] [stdout]    |
[INFO] [stdout] 60 |     /// Same as [`login_with_qr`], but can push QR + status to `ui` (e.g. a desktop window).
[INFO] [stdout]    |                   ^^^^^^^^^^^^^ no item named `login_with_qr` 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 `has_content`
[INFO] [stdout]    --> src/ilink/types.rs:250:18
[INFO] [stdout]     |
[INFO] [stdout] 250 |     /// Unlike [`has_content`], this returns `false` for a text-only item_list even when the text
[INFO] [stdout]     |                  ^^^^^^^^^^^ no item named `has_content` 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::hub::state::MAX_HUB_POLLS_DEFAULT`
[INFO] [stdout]   --> src/runtime/serve.rs:41:11
[INFO] [stdout]    |
[INFO] [stdout] 41 |     /// [`crate::hub::state::MAX_HUB_POLLS_DEFAULT`] (8192). Operators can
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `state` in module `hub`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `TcpListener::bind`
[INFO] [stdout]    --> src/runtime/serve.rs:138:17
[INFO] [stdout]     |
[INFO] [stdout] 138 |     /// After [`TcpListener::bind`] succeeds, sends the bound socket display string (e.g.
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^ no item named `TcpListener` in scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `DEFAULT_QUOTE_INDEX_WARMUP_LIMIT`
[INFO] [stdout]    --> src/runtime/serve.rs:465:10
[INFO] [stdout]     |
[INFO] [stdout] 465 | /// to [`DEFAULT_QUOTE_INDEX_WARMUP_LIMIT`]) on missing, empty, unparseable,
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `DEFAULT_QUOTE_INDEX_WARMUP_LIMIT` in scope
[INFO] [stdout]     |
[INFO] [stdout]     = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `response`
[INFO] [stdout]   --> src/bridge/builtin/agy.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | //!   <response text>
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(rustdoc::invalid_html_tags)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `json-encoded-string`
[INFO] [stdout]  --> src/bridge/builtin/claude_code.rs:8:21
[INFO] [stdout]   |
[INFO] [stdout] 8 | //!   ILINK_PARTIAL:<json-encoded-string>
[INFO] [stdout]   |                     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `uuid`
[INFO] [stdout]  --> src/bridge/builtin/codebuddy_code.rs:7:38
[INFO] [stdout]   |
[INFO] [stdout] 7 | //!   {"type":"system","session_id":"<uuid>", ...}
[INFO] [stdout]   |                                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `uuid`
[INFO] [stdout]  --> src/bridge/builtin/codebuddy_code.rs:9:73
[INFO] [stdout]   |
[INFO] [stdout] 9 | //!   {"type":"result","subtype":"success","result":"...","session_id":"<uuid>"}
[INFO] [stdout]   |                                                                         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `json-encoded-string`
[INFO] [stdout]   --> src/bridge/builtin/codebuddy_code.rs:13:21
[INFO] [stdout]    |
[INFO] [stdout] 13 | //!   ILINK_PARTIAL:<json-encoded-string>
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `uuid`
[INFO] [stdout]  --> src/bridge/builtin/codex.rs:8:45
[INFO] [stdout]   |
[INFO] [stdout] 8 | //!   {"type":"thread.started","thread_id":"<uuid>"}
[INFO] [stdout]   |                                             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `json-encoded-string`
[INFO] [stdout]   --> src/bridge/builtin/codex.rs:14:21
[INFO] [stdout]    |
[INFO] [stdout] 14 | //!   ILINK_PARTIAL:<json-encoded-string>
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `json-encoded-string`
[INFO] [stdout]  --> src/bridge/builtin/cursor.rs:9:23
[INFO] [stdout]   |
[INFO] [stdout] 9 | //!     ILINK_PARTIAL:<json-encoded-string>
[INFO] [stdout]   |                       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `full`
[INFO] [stdout]   --> src/bridge/builtin/cursor.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | //!     <full response text>
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `key`
[INFO] [stdout]   --> src/ilink/types.rs:29:42
[INFO] [stdout]    |
[INFO] [stdout] 29 | /// Actual API shape: {"ret":0,"qrcode":"<key>","qrcode_img_content":"https://..."}
[INFO] [stdout]    |                                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 07s
[INFO] [stderr]    Generated /opt/rustwide/target/doc/ilink_hub/index.html and 2 other files
[INFO] running `Command { std: "docker" "inspect" "cbd8e7a686b55e1bdb148720b3b60bef17c795e5258315ed7f58298db3a90a18", 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" "cbd8e7a686b55e1bdb148720b3b60bef17c795e5258315ed7f58298db3a90a18" "/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]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling syn v2.0.118
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling pest_generator v2.8.6
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling displaydoc v0.2.6
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling axum-macros v0.5.1
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling pest_derive v2.8.6
[INFO] [stderr]     Checking curve25519-dalek v4.1.3
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]     Checking tokio v1.52.3
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking axum-core v0.5.6
[INFO] [stderr]     Checking prometheus v0.13.4
[INFO] [stderr]     Checking tungstenite v0.29.0
[INFO] [stderr]     Checking tungstenite v0.26.2
[INFO] [stderr]    Compiling zerofrom v0.1.8
[INFO] [stderr]     Checking clap v4.6.1
[INFO] [stderr]    Compiling yoke v0.8.3
[INFO] [stderr]     Checking ed25519-dalek v2.2.0
[INFO] [stderr]     Checking zerovec v0.11.6
[INFO] [stderr]     Checking zerotrie v0.2.4
[INFO] [stderr]     Checking tinystr v0.8.3
[INFO] [stderr]     Checking potential_utf v0.1.5
[INFO] [stderr]     Checking icu_locale_core v2.2.0
[INFO] [stderr]     Checking icu_collections v2.2.0
[INFO] [stderr]     Checking futures-executor v0.3.32
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking icu_provider v2.2.0
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking either v1.16.0
[INFO] [stderr]     Checking toml_datetime v0.6.11
[INFO] [stderr]     Checking chrono v0.4.45
[INFO] [stderr]     Checking serde_spanned v0.6.9
[INFO] [stderr]     Checking json5 v0.4.1
[INFO] [stderr]     Checking tracing-serde v0.2.0
[INFO] [stderr]     Checking ron v0.8.1
[INFO] [stderr]     Checking serde_norway v0.9.42
[INFO] [stderr]     Checking icu_normalizer v2.2.0
[INFO] [stderr]     Checking icu_properties v2.2.0
[INFO] [stderr]     Checking toml_edit v0.22.27
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]     Checking hyper v1.10.1
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking tokio-stream v0.1.18
[INFO] [stderr]     Checking tokio-rustls v0.26.4
[INFO] [stderr]     Checking tokio-tungstenite v0.29.0
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking tokio-tungstenite v0.26.2
[INFO] [stderr]     Checking idna_adapter v1.2.2
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking toml v0.8.23
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking config v0.14.1
[INFO] [stderr]     Checking sqlx-core v0.8.6
[INFO] [stderr]     Checking tower-http v0.6.11
[INFO] [stderr]     Checking hyper-rustls v0.27.9
[INFO] [stderr]     Checking axum v0.8.9
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]     Checking sqlx-sqlite v0.8.6
[INFO] [stderr]    Compiling sqlx-macros-core v0.8.6
[INFO] [stderr]    Compiling sqlx-macros v0.8.6
[INFO] [stderr]     Checking sqlx v0.8.6
[INFO] [stderr]  Documenting ilink-hub v0.2.8 (/opt/rustwide/workdir)
[INFO] [stdout] warning: public documentation for `hub` links to private item `state`
[INFO] [stdout]  --> src/hub/mod.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | //! - [`state`] — [`HubState`] and its `IlinkConnState` / `RoutingState` /
[INFO] [stdout]   |         ^^^^^ this item is private
[INFO] [stdout]   |
[INFO] [stdout]   = note: this link will resolve properly if you pass `--document-private-items`
[INFO] [stdout]   = note: `#[warn(rustdoc::private_intra_doc_links)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: public documentation for `hub` links to private item `dispatch`
[INFO] [stdout]  --> src/hub/mod.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | //! - [`dispatch`] — the broadcast→backend pipeline, quote resolution,
[INFO] [stdout]   |         ^^^^^^^^ this item is private
[INFO] [stdout]   |
[INFO] [stdout]   = note: this link will resolve properly if you pass `--document-private-items`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: public documentation for `hub` links to private item `commands`
[INFO] [stdout]   --> src/hub/mod.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | //! - [`commands`] — the `/list`, `/use`, `/status`, `/help`, `/session …`
[INFO] [stdout]    |         ^^^^^^^^ this item is private
[INFO] [stdout]    |
[INFO] [stdout]    = note: this link will resolve properly if you pass `--document-private-items`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `register_outbound_content`
[INFO] [stdout]    --> src/hub/quote_route.rs:183:47
[INFO] [stdout]     |
[INFO] [stdout] 183 |     /// The replay is equivalent to calling [`register_outbound_content`] for
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `register_outbound_content` 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 `RecentOutboundRow`
[INFO] [stdout]    --> src/hub/quote_route.rs:380:32
[INFO] [stdout]     |
[INFO] [stdout] 380 | /// Convert a freshly-loaded [`RecentOutboundRow`] into a [`WarmItem`] ready for
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^ no item named `RecentOutboundRow` 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 `UpstreamClient`
[INFO] [stdout]    --> src/hub/state.rs:384:34
[INFO] [stdout]     |
[INFO] [stdout] 384 | /// recording mock in place of [`UpstreamClient`]. The polling loop owns the
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^ no item named `UpstreamClient` 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 `SseTicketStore`
[INFO] [stdout]    --> src/hub/state.rs:406:59
[INFO] [stdout]     |
[INFO] [stdout] 406 |     /// without putting the admin token in the URL. See [`SseTicketStore`].
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^^ no item named `SseTicketStore` 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 `login_with_qr`
[INFO] [stdout]   --> src/ilink/login.rs:60:19
[INFO] [stdout]    |
[INFO] [stdout] 60 |     /// Same as [`login_with_qr`], but can push QR + status to `ui` (e.g. a desktop window).
[INFO] [stdout]    |                   ^^^^^^^^^^^^^ no item named `login_with_qr` 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 `has_content`
[INFO] [stdout]    --> src/ilink/types.rs:250:18
[INFO] [stdout]     |
[INFO] [stdout] 250 |     /// Unlike [`has_content`], this returns `false` for a text-only item_list even when the text
[INFO] [stdout]     |                  ^^^^^^^^^^^ no item named `has_content` 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::hub::state::MAX_HUB_POLLS_DEFAULT`
[INFO] [stdout]   --> src/runtime/serve.rs:41:11
[INFO] [stdout]    |
[INFO] [stdout] 41 |     /// [`crate::hub::state::MAX_HUB_POLLS_DEFAULT`] (8192). Operators can
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `state` in module `hub`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `TcpListener::bind`
[INFO] [stdout]    --> src/runtime/serve.rs:138:17
[INFO] [stdout]     |
[INFO] [stdout] 138 |     /// After [`TcpListener::bind`] succeeds, sends the bound socket display string (e.g.
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^ no item named `TcpListener` in scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `response`
[INFO] [stdout]   --> src/bridge/builtin/agy.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | //!   <response text>
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(rustdoc::invalid_html_tags)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `json-encoded-string`
[INFO] [stdout]  --> src/bridge/builtin/claude_code.rs:8:21
[INFO] [stdout]   |
[INFO] [stdout] 8 | //!   ILINK_PARTIAL:<json-encoded-string>
[INFO] [stdout]   |                     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `uuid`
[INFO] [stdout]  --> src/bridge/builtin/codebuddy_code.rs:7:38
[INFO] [stdout]   |
[INFO] [stdout] 7 | //!   {"type":"system","session_id":"<uuid>", ...}
[INFO] [stdout]   |                                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `uuid`
[INFO] [stdout]  --> src/bridge/builtin/codebuddy_code.rs:9:73
[INFO] [stdout]   |
[INFO] [stdout] 9 | //!   {"type":"result","subtype":"success","result":"...","session_id":"<uuid>"}
[INFO] [stdout]   |                                                                         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `json-encoded-string`
[INFO] [stdout]   --> src/bridge/builtin/codebuddy_code.rs:13:21
[INFO] [stdout]    |
[INFO] [stdout] 13 | //!   ILINK_PARTIAL:<json-encoded-string>
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `uuid`
[INFO] [stdout]  --> src/bridge/builtin/codex.rs:8:45
[INFO] [stdout]   |
[INFO] [stdout] 8 | //!   {"type":"thread.started","thread_id":"<uuid>"}
[INFO] [stdout]   |                                             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `json-encoded-string`
[INFO] [stdout]   --> src/bridge/builtin/codex.rs:14:21
[INFO] [stdout]    |
[INFO] [stdout] 14 | //!   ILINK_PARTIAL:<json-encoded-string>
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `json-encoded-string`
[INFO] [stdout]  --> src/bridge/builtin/cursor.rs:9:23
[INFO] [stdout]   |
[INFO] [stdout] 9 | //!     ILINK_PARTIAL:<json-encoded-string>
[INFO] [stdout]   |                       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `full`
[INFO] [stdout]   --> src/bridge/builtin/cursor.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | //!     <full response text>
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `key`
[INFO] [stdout]   --> src/ilink/types.rs:29:42
[INFO] [stdout]    |
[INFO] [stdout] 29 | /// Actual API shape: {"ret":0,"qrcode":"<key>","qrcode_img_content":"https://..."}
[INFO] [stdout]    |                                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 40.01s
[INFO] [stderr]    Generated /opt/rustwide/target/doc/ilink_hub/index.html
[INFO] running `Command { std: "docker" "inspect" "cbd8e7a686b55e1bdb148720b3b60bef17c795e5258315ed7f58298db3a90a18", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cbd8e7a686b55e1bdb148720b3b60bef17c795e5258315ed7f58298db3a90a18", kill_on_drop: false }`
[INFO] [stdout] cbd8e7a686b55e1bdb148720b3b60bef17c795e5258315ed7f58298db3a90a18
