[INFO] cloning repository https://github.com/MageGojo/drission-rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/MageGojo/drission-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMageGojo%2Fdrission-rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMageGojo%2Fdrission-rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] f0f1d47fd9bbc0c281366a096db18230fe36791f
[INFO] documenting MageGojo/drission-rs against 1.98.0-beta.1 for beta-rustdoc-1.98-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMageGojo%2Fdrission-rs" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-5-tc2/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/MageGojo/drission-rs
[INFO] removed 0 missing examples
[INFO] finished tweaking git repo https://github.com/MageGojo/drission-rs
[INFO] tweaked toml for git repo https://github.com/MageGojo/drission-rs written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/MageGojo/drission-rs on toolchain 1.98.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/MageGojo/drission-rs 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.98.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 8ef6cf75f6f4415a32857c8feefb1dc077531faf5a7a3e1de3ecc677a671341e
[INFO] running `Command { std: "docker" "start" "8ef6cf75f6f4415a32857c8feefb1dc077531faf5a7a3e1de3ecc677a671341e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8ef6cf75f6f4415a32857c8feefb1dc077531faf5a7a3e1de3ecc677a671341e", 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" "8ef6cf75f6f4415a32857c8feefb1dc077531faf5a7a3e1de3ecc677a671341e" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8ef6cf75f6f4415a32857c8feefb1dc077531faf5a7a3e1de3ecc677a671341e", 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" "8ef6cf75f6f4415a32857c8feefb1dc077531faf5a7a3e1de3ecc677a671341e" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "doc" "--frozen" "--no-deps" "--document-private-items" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.118
[INFO] [stderr]     Checking typenum v1.20.1
[INFO] [stderr]     Checking stable_deref_trait v1.2.1
[INFO] [stderr]     Checking mio v1.2.1
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking phf_shared v0.13.1
[INFO] [stderr]     Checking cmov v0.5.4
[INFO] [stderr]    Compiling cc v1.2.64
[INFO] [stderr]     Checking const-oid v0.10.2
[INFO] [stderr]     Checking new_debug_unreachable v1.0.6
[INFO] [stderr]    Compiling string_cache_codegen v0.6.1
[INFO] [stderr]    Compiling rustls v0.23.40
[INFO] [stderr]     Checking precomputed-hash v0.1.1
[INFO] [stderr]     Checking dtoa v1.0.11
[INFO] [stderr]    Compiling nix v0.31.3
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]    Compiling selectors v0.38.0
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]     Checking tendril v0.5.0
[INFO] [stderr]     Checking dtoa-short v0.3.5
[INFO] [stderr]     Checking servo_arc v0.4.3
[INFO] [stderr]     Checking ctutils v0.4.2
[INFO] [stderr]     Checking cpubits v0.1.1
[INFO] [stderr]     Checking libbz2-rs-sys v0.2.5
[INFO] [stderr]     Checking time v0.3.49
[INFO] [stderr]     Checking dirs-sys v0.5.0
[INFO] [stderr]     Checking zopfli v0.8.3
[INFO] [stderr]     Checking string_cache v0.9.0
[INFO] [stderr]     Checking rand v0.9.4
[INFO] [stderr]     Checking getopts v0.2.24
[INFO] [stderr]    Compiling web_atoms v0.2.5
[INFO] [stderr]     Checking serde_json v1.0.150
[INFO] [stderr]     Checking constant_time_eq v0.4.2
[INFO] [stderr]     Checking ppmd-rust v1.4.0
[INFO] [stderr]     Checking ego-tree v0.11.0
[INFO] [stderr]     Checking deflate64 v0.1.12
[INFO] [stderr]     Checking dirs v6.0.0
[INFO] [stderr]     Checking os_pipe v1.2.3
[INFO] [stderr]     Checking bzip2 v0.6.1
[INFO] [stderr]    Compiling cmake v0.1.58
[INFO] [stderr]     Checking hybrid-array v0.4.12
[INFO] [stderr]     Checking generic-array v0.14.7
[INFO] [stderr]    Compiling zstd-sys v2.0.16+zstd.1.5.7
[INFO] [stderr]     Checking crypto-common v0.2.2
[INFO] [stderr]     Checking block-buffer v0.12.1
[INFO] [stderr]     Checking inout v0.2.2
[INFO] [stderr]    Compiling aws-lc-sys v0.41.0
[INFO] [stderr]     Checking digest v0.11.3
[INFO] [stderr]     Checking cipher v0.5.2
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]     Checking sha2 v0.11.0
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking hmac v0.13.0
[INFO] [stderr]     Checking aes v0.9.1
[INFO] [stderr]     Checking sha1 v0.11.0
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking pbkdf2 v0.13.0
[INFO] [stderr]     Checking lzma-rust2 v0.16.4
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zstd-safe v7.2.4
[INFO] [stderr]     Checking zstd v0.13.3
[INFO] [stderr]     Checking zip v8.6.0
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling displaydoc v0.2.6
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling phf_macros v0.13.1
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling cssparser-macros v0.7.0
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]     Checking tokio v1.52.3
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]     Checking phf v0.13.1
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]     Checking cssparser v0.37.0
[INFO] [stderr]     Checking zerofrom v0.1.8
[INFO] [stderr]     Checking yoke v0.8.3
[INFO] [stderr]     Checking derive_more v2.1.1
[INFO] [stderr]     Checking zerovec v0.11.6
[INFO] [stderr]     Checking zerotrie v0.2.4
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking thiserror v2.0.18
[INFO] [stderr]     Checking tungstenite v0.29.0
[INFO] [stderr]     Checking tinystr v0.8.3
[INFO] [stderr]     Checking potential_utf v0.1.5
[INFO] [stderr]     Checking markup5ever v0.39.0
[INFO] [stderr]     Checking icu_locale_core v2.2.0
[INFO] [stderr]     Checking html5ever v0.39.0
[INFO] [stderr]     Checking icu_collections v2.2.0
[INFO] [stderr]     Checking icu_provider v2.2.0
[INFO] [stderr]     Checking scraper v0.27.0
[INFO] [stderr]     Checking icu_properties v2.2.0
[INFO] [stderr]     Checking icu_normalizer v2.2.0
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking idna_adapter v1.2.2
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking command-fds v0.3.3
[INFO] [stderr]     Checking tokio-tungstenite v0.29.0
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking h2 v0.4.15
[INFO] [stderr]     Checking tower-http v0.6.11
[INFO] [stderr]    Compiling aws-lc-rs v1.17.0
[INFO] [stderr]     Checking rustls-webpki v0.103.13
[INFO] [stderr]     Checking hyper v1.10.1
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking tokio-rustls v0.26.4
[INFO] [stderr]     Checking rustls-platform-verifier v0.7.0
[INFO] [stderr]     Checking hyper-rustls v0.27.9
[INFO] [stderr]     Checking reqwest v0.13.4
[INFO] [stderr]  Documenting drission v0.4.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unresolved link to `AxTree`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the link appears in this line:
[INFO] [stdout]           
[INFO] [stdout]           把页面压成一棵 `role "name"` 的语义树 [`AxTree`]:用于**抗改版断言**(按角色+可见名定位)或
[INFO] [stdout]                                                             ^^^^^^^^
[INFO] [stdout]   = note: no item named `AxTree` in scope
[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 `AxTree`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the link appears in this line:
[INFO] [stdout]           
[INFO] [stdout]           两条获取路径(都产 [`AxTree`],接口一致):
[INFO] [stdout]                                      ^^^^^^^^
[INFO] [stdout]   = note: no item named `AxTree` in scope
[INFO] [stdout]   = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `build_from_cdp`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the link appears in this line:
[INFO] [stdout]           
[INFO] [stdout]           - **CDP 原生**(最准,仅 cdp):`Accessibility.getFullAXTree` 的**扁平**节点数组 → [`build_from_cdp`]
[INFO] [stdout]                                                                                                         ^^^^^^^^^^^^^^^^
[INFO] [stdout]   = note: no item named `build_from_cdp` in scope
[INFO] [stdout]   = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `AX_SNAPSHOT_JS`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the link appears in this line:
[INFO] [stdout]           
[INFO] [stdout]           - **DOM 派生**(跨后端):页面里跑 [`AX_SNAPSHOT_JS`] 按 ARIA 规则算近似语义树 → [`build_from_snapshot`]。
[INFO] [stdout]                                                     ^^^^^^^^^^^^^^^^
[INFO] [stdout]   = note: no item named `AX_SNAPSHOT_JS` in scope
[INFO] [stdout]   = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `build_from_snapshot`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the link appears in this line:
[INFO] [stdout]           
[INFO] [stdout]           - **DOM 派生**(跨后端):页面里跑 [`AX_SNAPSHOT_JS`] 按 ARIA 规则算近似语义树 → [`build_from_snapshot`]。
[INFO] [stdout]                                                                                                              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   = note: no item named `build_from_snapshot` in scope
[INFO] [stdout]   = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `fetch`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the link appears in this line:
[INFO] [stdout]           
[INFO] [stdout]           - **浏览器自动下载** [`fetch`]:找不到系统 Chrome 时,自动从 **Chrome for Testing** 下载并缓存
[INFO] [stdout]                                        ^^^^^^^
[INFO] [stdout]   = note: no item named `fetch` in scope
[INFO] [stdout]   = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `ChromiumElement`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the link appears in this line:
[INFO] [stdout]           
[INFO] [stdout]           - **元素句柄** [`ChromiumElement`]:`ele`/`eles`/相对定位 + 读文本/属性 + **原生可信点击**
[INFO] [stdout]                               ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   = note: no item named `ChromiumElement` in scope
[INFO] [stdout]   = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `CdpListen`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the link appears in this line:
[INFO] [stdout]           
[INFO] [stdout]           - **网络监听** [`CdpListen`]:原生 `Network` 域事件 + `Network.getResponseBody`;
[INFO] [stdout]                               ^^^^^^^^^^^
[INFO] [stdout]   = note: no item named `CdpListen` in scope
[INFO] [stdout]   = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `CdpIntercept`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the link appears in this line:
[INFO] [stdout]           
[INFO] [stdout]           - **请求拦截** [`CdpIntercept`]:`Fetch` 域 `requestPaused` + `continue`/`fulfill`/`fail`。
[INFO] [stdout]                               ^^^^^^^^^^^^^^
[INFO] [stdout]   = note: no item named `CdpIntercept` in scope
[INFO] [stdout]   = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `crate::browser::cloudflare`
[INFO] [stdout]   --> src/cdp/cloudflare.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | //! 逻辑与 [`crate::browser::cloudflare`](Camoufox 后端)保持一致。
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `browser` in module `drission`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: public documentation for `ChromiumDebugger` links to private item `CdpCore`
[INFO] [stdout]   --> src/cdp/debugger.rs:40:36
[INFO] [stdout]    |
[INFO] [stdout] 40 | /// 调试器句柄(`tab.debugger()`)。轻量包裹 [`CdpCore`]。
[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 `crate::pool::FingerprintPool`
[INFO] [stdout]  --> src/cdp/fingerprint.rs:4:40
[INFO] [stdout]   |
[INFO] [stdout] 4 | //! 与 Camoufox 后端的 [`FingerprintPool`](crate::pool::FingerprintPool) 同源思路,但面向 **CDP(纯 Chrome)**:
[INFO] [stdout]   |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `FingerprintPool` in module `pool`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: public documentation for `CdpListen` links to private item `CdpCore`
[INFO] [stdout]   --> src/cdp/listener.rs:51:37
[INFO] [stdout]    |
[INFO] [stdout] 51 | /// 网络监听句柄(`tab.listen()` 返回;轻量包裹 [`CdpCore`])。
[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 `CdpFingerprint`
[INFO] [stdout]   --> src/cdp/options.rs:51:49
[INFO] [stdout]    |
[INFO] [stdout] 51 |     /// 在页面脚本运行前最早期执行、覆盖后续导航与子帧。用于**深指纹伪装**(由 [`CdpFingerprint`]
[INFO] [stdout]    |                                                                                 ^^^^^^^^^^^^^^ no item named `CdpFingerprint` 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 `spoof_container` links to private item `crate::cdp::container`
[INFO] [stdout]   --> src/cdp/options.rs:62:58
[INFO] [stdout]    |
[INFO] [stdout] 62 |     /// 才开。仅 Linux 生效(改写的是 Linux GPU 串)。详见 [`container`](crate::cdp::container)。
[INFO] [stdout]    |                                                                        ^^^^^^^^^^^^^^^^^^^^^ this item is private
[INFO] [stdout]    |
[INFO] [stdout]    = note: this link resolves only because you passed `--document-private-items`, but will break without
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `crate::pool::BrowserPool`
[INFO] [stdout]  --> src/cdp/pool.rs:1:69
[INFO] [stdout]   |
[INFO] [stdout] 1 | //! CDP 后端的**高并发浏览器池** [`ChromiumPool`](对齐 camoufox [`BrowserPool`](crate::pool::BrowserPool))。
[INFO] [stdout]   |                                                                                 ^^^^^^^^^^^^^^^^^^^^^^^^ no item named `BrowserPool` in module `pool`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `Target.createBrowserContext`
[INFO] [stdout]  --> src/cdp/pool.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | //!   ([`Target.createBrowserContext`])拼成 [`ChromiumContextOverride`] —— 每任务一个独立上下文,
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `Target.createBrowserContext` 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::listen`
[INFO] [stdout]  --> src/cdp/tab.rs:4:46
[INFO] [stdout]   |
[INFO] [stdout] 4 | //! 原生可信低层鼠标 / 键盘 / 截图 / **网络监听**([`listen`](Self::listen))/ **请求拦截**
[INFO] [stdout]   |                                                              ^^^^^^^^^^^^ no item named `listen` in module `tab`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `Self::intercept`
[INFO] [stdout]  --> src/cdp/tab.rs:5:20
[INFO] [stdout]   |
[INFO] [stdout] 5 | //! ([`intercept`](Self::intercept))。所有句柄共享同一 [`CdpCore`]。
[INFO] [stdout]   |                    ^^^^^^^^^^^^^^^ no item named `intercept` in module `tab`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `crate::session::SessionPage`
[INFO] [stdout]    --> src/cdp/tab.rs:747:35
[INFO] [stdout]     |
[INFO] [stdout] 747 |     /// 用于把登录态交接给 [`SessionPage`](crate::session::SessionPage)(纯 HTTP 接力)或存盘复用。
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `session` in module `drission`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `RecordedAction`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the link appears in this line:
[INFO] [stdout]           
[INFO] [stdout]           把一次页面操作录制成一串 [`RecordedAction`](见 [`RecordedScript`]),再生成**可运行的 Rust 代码**
[INFO] [stdout]                                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout]   = note: no item named `RecordedAction` in scope
[INFO] [stdout]   = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `RecordedScript`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the link appears in this line:
[INFO] [stdout]           
[INFO] [stdout]           把一次页面操作录制成一串 [`RecordedAction`](见 [`RecordedScript`]),再生成**可运行的 Rust 代码**
[INFO] [stdout]                                                                        ^^^^^^^^^^^^^^^^
[INFO] [stdout]   = note: no item named `RecordedScript` in scope
[INFO] [stdout]   = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `trait`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the link appears in this line:
[INFO] [stdout]           
[INFO] [stdout]           [`EnvBackend`](trait)(导航前注入脚本 + 在页面求值),即可共用同一套探针 / `env.js` / 导出工程 / 验证。
[INFO] [stdout]                          ^^^^^
[INFO] [stdout]   = note: no item named `trait` in scope
[INFO] [stdout]   = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `EnvDumper`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the link appears in this line:
[INFO] [stdout]           
[INFO] [stdout]           - [`EnvDumper`]/[`EnvProbe`] 泛型于 [`EnvBackend`];`tab.dump_env()`(两后端)返回它。
[INFO] [stdout]              ^^^^^^^^^^^
[INFO] [stdout]   = note: no item named `EnvDumper` in scope
[INFO] [stdout]   = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `EnvProbe`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the link appears in this line:
[INFO] [stdout]           
[INFO] [stdout]           - [`EnvDumper`]/[`EnvProbe`] 泛型于 [`EnvBackend`];`tab.dump_env()`(两后端)返回它。
[INFO] [stdout]                            ^^^^^^^^^^
[INFO] [stdout]   = note: no item named `EnvProbe` in scope
[INFO] [stdout]   = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `EnvBackend`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the link appears in this line:
[INFO] [stdout]           
[INFO] [stdout]           - [`EnvDumper`]/[`EnvProbe`] 泛型于 [`EnvBackend`];`tab.dump_env()`(两后端)返回它。
[INFO] [stdout]                                                   ^^^^^^^^^^^^
[INFO] [stdout]   = note: no item named `EnvBackend` in scope
[INFO] [stdout]   = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `EnvDump`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the link appears in this line:
[INFO] [stdout]           
[INFO] [stdout]           - [`EnvDump`] 是后端无关的结果(自包含 `Value`),其 [`verify`](EnvDump::verify) 泛型于后端。
[INFO] [stdout]              ^^^^^^^^^
[INFO] [stdout]   = note: no item named `EnvDump` in scope
[INFO] [stdout]   = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `EnvDump::verify`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the link appears in this line:
[INFO] [stdout]           
[INFO] [stdout]           - [`EnvDump`] 是后端无关的结果(自包含 `Value`),其 [`verify`](EnvDump::verify) 泛型于后端。
[INFO] [stdout]                                                                                    ^^^^^^^^^^^^^^^
[INFO] [stdout]   = note: no item named `EnvDump` in scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `crate::browser::Tab`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the link appears in this line:
[INFO] [stdout]           
[INFO] [stdout]           Camoufox [`Tab`](crate::browser::Tab))共用同一段探针 JS,经各自的 `run_js` 求值。
[INFO] [stdout]                            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   = note: no item named `browser` in module `drission`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `改写放行请求时的可选覆盖字段`
[INFO] [stdout]  --> src/net.rs:9:25
[INFO] [stdout]   |
[INFO] [stdout] 9 | //! - [`ResumeOptions`](改写放行请求时的可选覆盖字段)。
[INFO] [stdout]   |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `改写放行请求时的可选覆盖字段` 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 `BrowserPool`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the link appears in this line:
[INFO] [stdout]           
[INFO] [stdout]           [`BrowserPool`] 管理一组浏览器进程(worker),提供:
[INFO] [stdout]            ^^^^^^^^^^^^^
[INFO] [stdout]   = note: no item named `BrowserPool` in scope
[INFO] [stdout]   = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `ProxyPool`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the link appears in this line:
[INFO] [stdout]           
[INFO] [stdout]           - **每任务轮换代理/指纹**:从 [`ProxyPool`] / [`FingerprintPool`] 取,拼成 per-context 覆盖。
[INFO] [stdout]                                                   ^^^^^^^^^^^
[INFO] [stdout]   = note: no item named `ProxyPool` in scope
[INFO] [stdout]   = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `FingerprintPool`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the link appears in this line:
[INFO] [stdout]           
[INFO] [stdout]           - **每任务轮换代理/指纹**:从 [`ProxyPool`] / [`FingerprintPool`] 取,拼成 per-context 覆盖。
[INFO] [stdout]                                                                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   = note: no item named `FingerprintPool` in scope
[INFO] [stdout]   = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `RetryPolicy`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the link appears in this line:
[INFO] [stdout]           
[INFO] [stdout]           - **失败重试**:按 [`RetryPolicy`] 重试(可换 worker)。
[INFO] [stdout]                                   ^^^^^^^^^^^^^
[INFO] [stdout]   = note: no item named `RetryPolicy` in scope
[INFO] [stdout]   = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `Checkpoint`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the link appears in this line:
[INFO] [stdout]           
[INFO] [stdout]           - **断点续抓**:配合 [`Checkpoint`] 的 [`map_resumable`](BrowserPool::map_resumable)。
[INFO] [stdout]                                      ^^^^^^^^^^^^
[INFO] [stdout]   = note: no item named `Checkpoint` in scope
[INFO] [stdout]   = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `BrowserPool::map_resumable`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the link appears in this line:
[INFO] [stdout]           
[INFO] [stdout]           - **断点续抓**:配合 [`Checkpoint`] 的 [`map_resumable`](BrowserPool::map_resumable)。
[INFO] [stdout]                                                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   = note: no item named `BrowserPool` in scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `Browser`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the link appears in this line:
[INFO] [stdout]           
[INFO] [stdout]           不破坏单浏览器 API:池是 [`Browser`]/[`Tab`] 之上的编排层。
[INFO] [stdout]                                             ^^^^^^^^^
[INFO] [stdout]   = note: no item named `Browser` in scope
[INFO] [stdout]   = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `Tab`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the link appears in this line:
[INFO] [stdout]           
[INFO] [stdout]           不破坏单浏览器 API:池是 [`Browser`]/[`Tab`] 之上的编排层。
[INFO] [stdout]                                                         ^^^^^
[INFO] [stdout]   = note: no item named `Tab` in scope
[INFO] [stdout]   = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `super::BrowserPool::map_resumable`
[INFO] [stdout]  --> src/pool/checkpoint.rs:4:61
[INFO] [stdout]   |
[INFO] [stdout] 4 | //! 已落盘部分);加载时读回所有 key 建集合。与 [`BrowserPool::map_resumable`](super::BrowserPool::map_resumable)
[INFO] [stdout]   |                                                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `BrowserPool` in module `pool`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `super::ProxyPool`
[INFO] [stdout]  --> src/pool/rotate.rs:3:19
[INFO] [stdout]   |
[INFO] [stdout] 3 | //! [`ProxyPool`](super::ProxyPool) / [`FingerprintPool`](super::FingerprintPool) 共用 [`Rotator`]
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^ no item named `ProxyPool` in module `pool`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `super::FingerprintPool`
[INFO] [stdout]  --> src/pool/rotate.rs:3:59
[INFO] [stdout]   |
[INFO] [stdout] 3 | //! [`ProxyPool`](super::ProxyPool) / [`FingerprintPool`](super::FingerprintPool) 共用 [`Rotator`]
[INFO] [stdout]   |                                                           ^^^^^^^^^^^^^^^^^^^^^^ no item named `FingerprintPool` in module `pool`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: public documentation for `rotate` links to private item `Rotator`
[INFO] [stdout]  --> src/pool/rotate.rs:3:88
[INFO] [stdout]   |
[INFO] [stdout] 3 | //! [`ProxyPool`](super::ProxyPool) / [`FingerprintPool`](super::FingerprintPool) 共用 [`Rotator`]
[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 `super::BrowserPool`
[INFO] [stdout]  --> src/pool/rotate.rs:4:36
[INFO] [stdout]   |
[INFO] [stdout] 4 | //! 在多任务并发下挑选下一个元素;[`BrowserPool`](super::BrowserPool) 也用 [`hash_key`] 做粘性定位。
[INFO] [stdout]   |                                                  ^^^^^^^^^^^^^^^^^^ no item named `BrowserPool` in module `pool`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: public documentation for `rotate` links to private item `hash_key`
[INFO] [stdout]  --> src/pool/rotate.rs:4:61
[INFO] [stdout]   |
[INFO] [stdout] 4 | //! 在多任务并发下挑选下一个元素;[`BrowserPool`](super::BrowserPool) 也用 [`hash_key`] 做粘性定位。
[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 `StaticElement`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the link appears in this line:
[INFO] [stdout]           
[INFO] [stdout]           静态元素 [`StaticElement`]:对应 DrissionPage 的"静态元素"(`s_ele`/`s_eles`)。
[INFO] [stdout]                         ^^^^^^^^^^^^^^^
[INFO] [stdout]   = note: no item named `StaticElement` in scope
[INFO] [stdout]   = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `crate::browser::Element`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the link appears in this line:
[INFO] [stdout]           
[INFO] [stdout]           与实时 [`Element`](crate::browser::Element) 不同,静态元素是把某一时刻的 **HTML 快照**
[INFO] [stdout]                                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   = note: no item named `browser` in module `drission`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `crate::browser::xpath`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the link appears in this line:
[INFO] [stdout]           
[INFO] [stdout]           [XPath 1.0 子集求值器](crate::browser::xpath)(覆盖 `//`/`/`、`*`、`[n]`/`[last()]`、
[INFO] [stdout]                                       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   = note: no item named `browser` in module `drission`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `crate::browser::Tab::ele`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the link appears in this line:
[INFO] [stdout]           
[INFO] [stdout]           [`Tab::ele`](crate::browser::Tab::ele)。
[INFO] [stdout]                        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   = note: no item named `browser` in module `drission`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `crate::launcher::process`
[INFO] [stdout]  --> src/transport/mod.rs:8:36
[INFO] [stdout]   |
[INFO] [stdout] 8 | //! 子进程生命周期 + stderr 捕获(就绪检测与日志由 [`crate::launcher::process`] 使用)。
[INFO] [stdout]   |                                                     ^^^^^^^^^^^^^^^^^^^^^^^^ no item named `launcher` in module `drission`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `crate::browser::StaticElement`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the link appears in this line:
[INFO] [stdout]           
[INFO] [stdout]           用于 [`StaticElement`](crate::browser::StaticElement) 的 `xpath:` 查询(实时 `tab.ele` 走浏览器
[INFO] [stdout]                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   = note: no item named `browser` in module `drission`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]   --> src/cdp/browser.rs:44:23
[INFO] [stdout]    |
[INFO] [stdout] 44 |     /// [`container`](crate::cdp::container))。在内置反检测脚本之后、用户 init_scripts 之前注入,
[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] 44 -     /// [`container`](crate::cdp::container))。在内置反检测脚本之后、用户 init_scripts 之前注入,
[INFO] [stdout] 44 +     /// [`container`])。在内置反检测脚本之后、用户 init_scripts 之前注入,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]  --> src/cdp/dump_env.rs:2:59
[INFO] [stdout]   |
[INFO] [stdout] 2 | //! [`crate::envkit`]。这里把 `ChromiumTab` 接到 [`EnvBackend`](crate::envkit::EnvBackend):导航前注入用
[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] 2 - //! [`crate::envkit`]。这里把 `ChromiumTab` 接到 [`EnvBackend`](crate::envkit::EnvBackend):导航前注入用
[INFO] [stdout] 2 + //! [`crate::envkit`]。这里把 `ChromiumTab` 接到 [`EnvBackend`]:导航前注入用
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]  --> src/cdp/fingerprint.rs:2:25
[INFO] [stdout]   |
[INFO] [stdout] 2 | //! [`ChromiumOptions`](crate::cdp::ChromiumOptions)。
[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] 2 - //! [`ChromiumOptions`](crate::cdp::ChromiumOptions)。
[INFO] [stdout] 2 + //! [`ChromiumOptions`]。
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]  --> src/cdp/pool.rs:8:32
[INFO] [stdout]   |
[INFO] [stdout] 8 | //! - **失败重试**([`RetryPolicy`](crate::pool::RetryPolicy),指数退避,可换 worker)。
[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] 8 - //! - **失败重试**([`RetryPolicy`](crate::pool::RetryPolicy),指数退避,可换 worker)。
[INFO] [stdout] 8 + //! - **失败重试**([`RetryPolicy`],指数退避,可换 worker)。
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]   --> src/cdp/pool.rs:10:34
[INFO] [stdout]    |
[INFO] [stdout] 10 | //! - **断点续抓**:配合 [`Checkpoint`](crate::pool::Checkpoint) 的 [`map_resumable`](ChromiumPool::map_resumable)。
[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] 10 - //! - **断点续抓**:配合 [`Checkpoint`](crate::pool::Checkpoint) 的 [`map_resumable`](ChromiumPool::map_resumable)。
[INFO] [stdout] 10 + //! - **断点续抓**:配合 [`Checkpoint`] 的 [`map_resumable`](ChromiumPool::map_resumable)。
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]    --> src/cdp/pool.rs:245:29
[INFO] [stdout]     |
[INFO] [stdout] 245 |     /// 失败按 [`RetryPolicy`](crate::pool::RetryPolicy) 重试。任务闭包须为 `Fn`(可能被重试多次)。
[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] 245 -     /// 失败按 [`RetryPolicy`](crate::pool::RetryPolicy) 重试。任务闭包须为 `Fn`(可能被重试多次)。
[INFO] [stdout] 245 +     /// 失败按 [`RetryPolicy`] 重试。任务闭包须为 `Fn`(可能被重试多次)。
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]  --> src/cdp/recorder.rs:7:26
[INFO] [stdout]   |
[INFO] [stdout] 7 | //!   [`RecordedScript`](crate::codegen::RecordedScript)。
[INFO] [stdout]   |        ----------------  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ explicit target is redundant
[INFO] [stdout]   |        |
[INFO] [stdout]   |        because label contains path that resolves to same destination
[INFO] [stdout]   |
[INFO] [stdout]   = note: when a link's destination is not specified,
[INFO] [stdout]           the label is used to resolve intra-doc links
[INFO] [stdout] help: remove explicit link target
[INFO] [stdout]   |
[INFO] [stdout] 7 - //!   [`RecordedScript`](crate::codegen::RecordedScript)。
[INFO] [stdout] 7 + //!   [`RecordedScript`]。
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 01s
[INFO] [stderr]    Generated /opt/rustwide/target/doc/drission/index.html
[INFO] running `Command { std: "docker" "inspect" "8ef6cf75f6f4415a32857c8feefb1dc077531faf5a7a3e1de3ecc677a671341e", 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" "RUSTC_BOOTSTRAP=1" "-e" "DOCS_RS=1" "-w" "/opt/rustwide/workdir" "--user" "0:0" "8ef6cf75f6f4415a32857c8feefb1dc077531faf5a7a3e1de3ecc677a671341e" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "rustdoc" "--lib" "-Zrustdoc-map" "--all-features" "--config" "build.rustdocflags=[\"--cfg\", \"docsrs\", \"--cfg\", \"docsrs\", \"-Z\", \"unstable-options\", \"--document-private-items\"]" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking hashbrown v0.16.1
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking flate2 v1.1.9
[INFO] [stderr]    Compiling matrixmultiply v0.3.10
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling memo-map v0.3.3
[INFO] [stderr]    Compiling zstd-sys v2.0.16+zstd.1.5.7
[INFO] [stderr]     Checking nom v8.0.0
[INFO] [stderr]     Checking scan_fmt v0.2.6
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]     Checking strength_reduce v0.2.4
[INFO] [stderr]     Checking dyn-hash v1.0.0
[INFO] [stderr]     Checking dyn-eq v0.1.3
[INFO] [stderr]     Checking maplit v1.0.2
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling erased-serde v0.4.10
[INFO] [stderr]     Checking transpose v0.2.3
[INFO] [stderr]     Checking primal-check v0.3.4
[INFO] [stderr]     Checking bit-vec v0.9.1
[INFO] [stderr]    Compiling zstd-safe v7.2.4
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]     Checking anymap3 v1.1.0
[INFO] [stderr]     Checking bit-set v0.10.0
[INFO] [stderr]     Checking inventory v0.3.24
[INFO] [stderr]     Checking alloc-stdlib v0.2.4
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling clang-sys v1.8.1
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]     Checking filetime v0.2.29
[INFO] [stderr]     Checking ndarray v0.17.2
[INFO] [stderr]    Compiling syn v2.0.118
[INFO] [stderr]     Checking rustfft v6.4.1
[INFO] [stderr]     Checking brotli-decompressor v5.0.3
[INFO] [stderr]    Compiling fslock v0.2.1
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]    Compiling minijinja v2.21.0
[INFO] [stderr]    Compiling string_cache_codegen v0.6.1
[INFO] [stderr]     Checking foreign-types-shared v0.3.1
[INFO] [stderr]     Checking float-ord v0.3.2
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling rquickjs-sys v0.11.0
[INFO] [stderr]     Checking compression-core v0.4.32
[INFO] [stderr]     Checking rand v0.10.1
[INFO] [stderr]    Compiling web_atoms v0.2.5
[INFO] [stderr]     Checking webpki-root-certs v1.0.8
[INFO] [stderr]     Checking linked_hash_set v0.1.6
[INFO] [stderr]     Checking webpki-root-certs v0.26.11
[INFO] [stderr]     Checking rand_distr v0.6.0
[INFO] [stderr]     Checking socket2 v0.5.10
[INFO] [stderr]     Checking brotli v8.0.4
[INFO] [stderr]     Checking lru v0.13.0
[INFO] [stderr]     Checking antidote v1.0.0
[INFO] [stderr]     Checking pxfm v0.1.29
[INFO] [stderr]     Checking xattr v1.6.1
[INFO] [stderr]     Checking zune-core v0.5.1
[INFO] [stderr]     Checking zopfli v0.8.3
[INFO] [stderr]     Checking tar v0.4.46
[INFO] [stderr]    Compiling cexpr v0.6.0
[INFO] [stderr]     Checking png v0.18.1
[INFO] [stderr]     Checking zune-jpeg v0.5.15
[INFO] [stderr]    Compiling regex v1.12.4
[INFO] [stderr]     Checking nix v0.31.3
[INFO] [stderr]     Checking bytemuck v1.25.0
[INFO] [stderr]     Checking ttf-parser v0.21.1
[INFO] [stderr] error: could not compile `rustfft` (lib)
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/rustup-home/toolchains/1.98.0-beta.1-x86_64-unknown-linux-gnu/bin/rustc --crate-name rustfft --edition=2021 /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rustfft-6.4.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata -C embed-bitcode=no -C debuginfo=2 --cfg 'feature="avx"' --cfg 'feature="default"' --cfg 'feature="neon"' --cfg 'feature="sse"' --cfg 'feature="wasm_simd"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("avx", "default", "neon", "sse", "wasm_simd"))' -C metadata=42b54cae47b82d80 -C extra-filename=-342403852cc7044b --out-dir /opt/rustwide/target/debug/deps -L dependency=/opt/rustwide/target/debug/deps --extern num_complex=/opt/rustwide/target/debug/deps/libnum_complex-c7f0b1287e517739.rmeta --extern num_integer=/opt/rustwide/target/debug/deps/libnum_integer-e458e737ca920c9b.rmeta --extern num_traits=/opt/rustwide/target/debug/deps/libnum_traits-f646a01330f64ee0.rmeta --extern primal_check=/opt/rustwide/target/debug/deps/libprimal_check-b56dbead77d3cf06.rmeta --extern strength_reduce=/opt/rustwide/target/debug/deps/libstrength_reduce-c3cecd29f8096105.rmeta --extern transpose=/opt/rustwide/target/debug/deps/libtranspose-b513d3836718ae83.rmeta --cap-lints allow --cap-lints=warn` (signal: 9, SIGKILL: kill)
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `brotli` (lib)
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/rustup-home/toolchains/1.98.0-beta.1-x86_64-unknown-linux-gnu/bin/rustc --crate-name brotli --edition=2015 /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/brotli-8.0.4/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata -C embed-bitcode=no -C debuginfo=2 --cfg 'feature="alloc-stdlib"' --cfg 'feature="default"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("alloc-stdlib", "benchmark", "billing", "default", "disable-timer", "disallow_large_window_size", "external-literal-probability", "ffi-api", "float64", "floating_point_context_mixing", "no-stdlib-ffi-binding", "pass-through-ffi-panics", "seccomp", "sha2", "simd", "std", "validation", "vector_scratch_space"))' -C metadata=68dfbcf2814dc31f -C extra-filename=-831cf86a4bfcf09d --out-dir /opt/rustwide/target/debug/deps -L dependency=/opt/rustwide/target/debug/deps --extern alloc_no_stdlib=/opt/rustwide/target/debug/deps/liballoc_no_stdlib-2083fa6c1602457a.rmeta --extern alloc_stdlib=/opt/rustwide/target/debug/deps/liballoc_stdlib-430f2d6174a184ef.rmeta --extern brotli_decompressor=/opt/rustwide/target/debug/deps/libbrotli_decompressor-2ebcc1a728e49656.rmeta --cap-lints allow --cap-lints=warn` (signal: 9, SIGKILL: kill)
[INFO] running `Command { std: "docker" "inspect" "8ef6cf75f6f4415a32857c8feefb1dc077531faf5a7a3e1de3ecc677a671341e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8ef6cf75f6f4415a32857c8feefb1dc077531faf5a7a3e1de3ecc677a671341e", kill_on_drop: false }`
[INFO] [stdout] 8ef6cf75f6f4415a32857c8feefb1dc077531faf5a7a3e1de3ecc677a671341e
