# rustc version rustc 1.97.0-nightly (8b03437a8 2026-05-12)
# docs.rs version docsrs 0.0.0 (ad302d961e54d5d2c273ab5bb3d4139759c933ad 2026-05-03 )
# build log [INFO] running `Command { std: "docker" "create" "-v" "/home/cratesfyi/workspace/builds/captchaforge-0.2.25/target:/opt/rustwide/target:rw,Z" "-v" "/home/cratesfyi/workspace/builds/captchaforge-0.2.25/source:/opt/rustwide/workdir:ro,Z" "-v" "/home/cratesfyi/workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/home/cratesfyi/workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "6442450944" "--cpuset-cpus" "8-13" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "sleep" "infinity", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 489926358e0628cc812deb8488c1aee45a3732765f00180d54df62b75e70c3dd [INFO] running `Command { std: "docker" "start" "489926358e0628cc812deb8488c1aee45a3732765f00180d54df62b75e70c3dd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "DOCS_RS=1" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "--user" "1001:1001" "489926358e0628cc812deb8488c1aee45a3732765f00180d54df62b75e70c3dd" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "rustdoc" "--lib" "-Zrustdoc-map" "--config" "build.rustdocflags=[\"--cfg\", \"docsrs\", \"-Z\", \"unstable-options\", \"--emit=invocation-specific\", \"--resource-suffix\", \"-20260512-1.97.0-nightly-8b03437a8\", \"--static-root-path\", \"/-/rustdoc.static/\", \"--cap-lints\", \"warn\", \"--extern-html-root-takes-precedence\"]" "--offline" "-Zunstable-options" "--config=doc.extern-map.registries.crates-io=\"https://docs.rs/{pkg_name}/{version}/x86_64-unknown-linux-gnu\"" "-Zrustdoc-scrape-examples" "-j6" "--target" "x86_64-unknown-linux-gnu", kill_on_drop: false }` [INFO] [stderr] warning: Rustdoc did not scrape the following examples because they require dev-dependencies: architecture_proof, solve_url_simple [INFO] [stderr] If you want Rustdoc to scrape these examples, then add `doc-scrape-examples = true` [INFO] [stderr] to the [[example]] target configuration of at least one example. [INFO] [stderr] warning: target filter specified, but no targets matched; this is a no-op [INFO] [stderr] Documenting captchaforge v0.2.25 (/opt/rustwide/workdir) [INFO] [stderr] warning: unresolved link to `time_stretch_to_natural_rate` [INFO] [stderr] --> src/audio_dsp.rs:29:10 [INFO] [stderr] | [INFO] [stderr] 29 | //! 4. [`time_stretch_to_natural_rate`] — phase-vocoder time-stretch [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `time_stretch_to_natural_rate` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] = note: `#[warn(rustdoc::broken_intra_doc_links)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `Config::auto_install_backends` [INFO] [stderr] --> src/backends.rs:28:31 [INFO] [stderr] | [INFO] [stderr] 28 | //! by default; opt in with [`Config::auto_install_backends`]. [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `Config` in scope [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `crate::solver::math_captcha::MathCaptchaSolver` [INFO] [stderr] --> src/detect/math_captcha.rs:26:11 [INFO] [stderr] | [INFO] [stderr] 26 | /// [`crate::solver::math_captcha::MathCaptchaSolver`] via the [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `math_captcha` in module `solver` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `DetectedCaptcha::Custom(name)` [INFO] [stderr] --> src/detect/rules.rs:13:17 [INFO] [stderr] | [INFO] [stderr] 13 | //! returns a [`DetectedCaptcha::Custom(name)`] match on hit. [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the enum `DetectedCaptcha` has no variant or associated item named `Custom(name)` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `DetectedCaptcha::Custom(name)` [INFO] [stderr] --> src/detect/rules.rs:49:11 [INFO] [stderr] | [INFO] [stderr] 49 | /// [`DetectedCaptcha::Custom(name)`] on hit. [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the enum `DetectedCaptcha` has no variant or associated item named `Custom(name)` [INFO] [stderr] [INFO] [stderr] warning: public documentation for `COLD_BIGRAM_GAP_MIN_MS` links to private item `HOT_BIGRAMS` [INFO] [stderr] --> src/keystroke_timing.rs:103:10 [INFO] [stderr] | [INFO] [stderr] 103 | /// in [`HOT_BIGRAMS`]. Anything from `qz` to `wq` to `xj` falls [INFO] [stderr] | ^^^^^^^^^^^ this item is private [INFO] [stderr] | [INFO] [stderr] = note: this link will resolve properly if you pass `--document-private-items` [INFO] [stderr] = note: `#[warn(rustdoc::private_intra_doc_links)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `DetectorRegistry` [INFO] [stderr] --> src/provider.rs:17:31 [INFO] [stderr] | [INFO] [stderr] 17 | //! Backward compatibility: [`DetectorRegistry`] still works. A new [INFO] [stderr] | ^^^^^^^^^^^^^^^^ no item named `DetectorRegistry` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `PatternStore` [INFO] [stderr] --> src/provider.rs:33:54 [INFO] [stderr] | [INFO] [stderr] 33 | /// solver to try first — without depending on the [`PatternStore`] [INFO] [stderr] | ^^^^^^^^^^^^ no item named `PatternStore` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `DetectorRegistry` [INFO] [stderr] --> src/provider.rs:86:7 [INFO] [stderr] | [INFO] [stderr] 86 | /// [`DetectorRegistry`] for new code; existing code can still use the [INFO] [stderr] | ^^^^^^^^^^^^^^^^ no item named `DetectorRegistry` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `add_provider` [INFO] [stderr] --> src/provider.rs:154:41 [INFO] [stderr] | [INFO] [stderr] 154 | /// callers that batch-pushed via [`add_provider`] and want to [INFO] [stderr] | ^^^^^^^^^^^^ no item named `add_provider` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `ArtifactPreflight` [INFO] [stderr] --> src/solver/speculation.rs:12:7 [INFO] [stderr] | [INFO] [stderr] 12 | //! [`ArtifactPreflight`] inverts that: the chain spawns the [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ no item named `ArtifactPreflight` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `PreflightFuture` [INFO] [stderr] --> src/solver/speculation.rs:15:12 [INFO] [stderr] | [INFO] [stderr] 15 | //! is a [`PreflightFuture`] returning some artifact (screenshot [INFO] [stderr] | ^^^^^^^^^^^^^^^ no item named `PreflightFuture` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: public documentation for `vendors` links to private item `super::audio` [INFO] [stderr] --> src/solver/vendors/mod.rs:6:29 [INFO] [stderr] | [INFO] [stderr] 6 | //! cross-vendor solvers ([`super::audio`], [`super::behavioral`], [INFO] [stderr] | ^^^^^^^^^^^^ this item is private [INFO] [stderr] | [INFO] [stderr] = note: this link will resolve properly if you pass `--document-private-items` [INFO] [stderr] [INFO] [stderr] warning: public documentation for `vendors` links to private item `super::behavioral` [INFO] [stderr] --> src/solver/vendors/mod.rs:6:47 [INFO] [stderr] | [INFO] [stderr] 6 | //! cross-vendor solvers ([`super::audio`], [`super::behavioral`], [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ this item is private [INFO] [stderr] | [INFO] [stderr] = note: this link will resolve properly if you pass `--document-private-items` [INFO] [stderr] [INFO] [stderr] warning: public documentation for `vendors` links to private item `super::pow` [INFO] [stderr] --> src/solver/vendors/mod.rs:7:7 [INFO] [stderr] | [INFO] [stderr] 7 | //! [`super::pow`], [`super::slider`], [`super::vlm`], [INFO] [stderr] | ^^^^^^^^^^ this item is private [INFO] [stderr] | [INFO] [stderr] = note: this link will resolve properly if you pass `--document-private-items` [INFO] [stderr] [INFO] [stderr] warning: public documentation for `vendors` links to private item `super::slider` [INFO] [stderr] --> src/solver/vendors/mod.rs:7:23 [INFO] [stderr] | [INFO] [stderr] 7 | //! [`super::pow`], [`super::slider`], [`super::vlm`], [INFO] [stderr] | ^^^^^^^^^^^^^ this item is private [INFO] [stderr] | [INFO] [stderr] = note: this link will resolve properly if you pass `--document-private-items` [INFO] [stderr] [INFO] [stderr] warning: public documentation for `vendors` links to private item `super::vlm` [INFO] [stderr] --> src/solver/vendors/mod.rs:7:42 [INFO] [stderr] | [INFO] [stderr] 7 | //! [`super::pow`], [`super::slider`], [`super::vlm`], [INFO] [stderr] | ^^^^^^^^^^ this item is private [INFO] [stderr] | [INFO] [stderr] = note: this link will resolve properly if you pass `--document-private-items` [INFO] [stderr] [INFO] [stderr] warning: public documentation for `vendors` links to private item `super::wait_for_token` [INFO] [stderr] --> src/solver/vendors/mod.rs:8:7 [INFO] [stderr] | [INFO] [stderr] 8 | //! [`super::wait_for_token`], [`super::math_captcha`]) live one [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ this item is private [INFO] [stderr] | [INFO] [stderr] = note: this link will resolve properly if you pass `--document-private-items` [INFO] [stderr] [INFO] [stderr] warning: public documentation for `vendors` links to private item `super::math_captcha` [INFO] [stderr] --> src/solver/vendors/mod.rs:8:34 [INFO] [stderr] | [INFO] [stderr] 8 | //! [`super::wait_for_token`], [`super::math_captcha`]) live one [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ this item is private [INFO] [stderr] | [INFO] [stderr] = note: this link will resolve properly if you pass `--document-private-items` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `super::vlm::VlmCaptchaSolver` [INFO] [stderr] --> src/solver/vendors/arkose.rs:18:9 [INFO] [stderr] | [INFO] [stderr] 18 | //! [`super::vlm::VlmCaptchaSolver`] when this solver yields with [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `vlm` in module `vendors` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `super::slider::SliderCaptchaSolver` [INFO] [stderr] --> src/solver/vendors/aws_waf.rs:24:34 [INFO] [stderr] | [INFO] [stderr] 24 | //! the chain falls through to [`super::slider::SliderCaptchaSolver`]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `slider` in module `vendors` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `super::vlm::VlmCaptchaSolver` [INFO] [stderr] --> src/solver/vendors/aws_waf.rs:26:7 [INFO] [stderr] | [INFO] [stderr] 26 | //! [`super::vlm::VlmCaptchaSolver`]. [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `vlm` in module `vendors` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `super::slider::SliderCaptchaSolver` [INFO] [stderr] --> src/solver/vendors/datadome.rs:14:10 [INFO] [stderr] | [INFO] [stderr] 14 | //! [`super::slider::SliderCaptchaSolver`] handles this case — we [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `slider` in module `vendors` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `super::slider::SliderCaptchaSolver` [INFO] [stderr] --> src/solver/vendors/geetest.rs:20:24 [INFO] [stderr] | [INFO] [stderr] 20 | //! still handled by [`super::slider::SliderCaptchaSolver`] for [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `slider` in module `vendors` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `super::vlm::VlmCaptchaSolver` [INFO] [stderr] --> src/solver/vendors/geetest.rs:21:18 [INFO] [stderr] | [INFO] [stderr] 21 | //! sliders or [`super::vlm::VlmCaptchaSolver`] for click-puzzles — [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `vlm` in module `vendors` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `super::wait_for_token::WaitForTokenSolver` [INFO] [stderr] --> src/solver/vendors/geetest.rs:27:7 [INFO] [stderr] | [INFO] [stderr] 27 | //! [`super::wait_for_token::WaitForTokenSolver`] but is narrower [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `wait_for_token` in module `vendors` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `super::slider::SliderCaptchaSolver` [INFO] [stderr] --> src/solver/vendors/perimeterx.rs:15:22 [INFO] [stderr] | [INFO] [stderr] 15 | //! The generic [`super::slider::SliderCaptchaSolver`] doesn't [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `slider` in module `vendors` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `stt_pipeline` [INFO] [stderr] --> src/solver/vendors/recaptcha_audio.rs:116:57 [INFO] [stderr] | [INFO] [stderr] 116 | /// Single-endpoint speech-to-text URL. Used when [`stt_pipeline`] [INFO] [stderr] | ^^^^^^^^^^^^ no item named `stt_pipeline` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `stt_endpoint` [INFO] [stderr] --> src/solver/vendors/recaptcha_audio.rs:120:11 [INFO] [stderr] | [INFO] [stderr] 120 | /// [`stt_endpoint`] — the solver tries each endpoint in order [INFO] [stderr] | ^^^^^^^^^^^^ no item named `stt_endpoint` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `super::wait_for_token::WaitForTokenSolver` [INFO] [stderr] --> src/solver/vendors/turnstile_interactive.rs:6:21 [INFO] [stderr] | [INFO] [stderr] 6 | //! Handled by [`super::wait_for_token::WaitForTokenSolver`]. [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `wait_for_token` in module `vendors` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `super::behavioral::BehavioralCaptchaSolver` [INFO] [stderr] --> src/solver/vendors/turnstile_interactive.rs:15:19 [INFO] [stderr] | [INFO] [stderr] 15 | //! The generic [`super::behavioral::BehavioralCaptchaSolver`] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `behavioral` in module `vendors` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `PatternStore` [INFO] [stderr] --> src/telemetry.rs:4:7 [INFO] [stderr] | [INFO] [stderr] 4 | //! [`PatternStore`] for routing decisions, but neither is suitable for [INFO] [stderr] | ^^^^^^^^^^^^ no item named `PatternStore` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `CaptchaSolverChain::with_telemetry` [INFO] [stderr] --> src/telemetry.rs:13:7 [INFO] [stderr] | [INFO] [stderr] 13 | //! [`CaptchaSolverChain::with_telemetry`] and your impl receives every [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `CaptchaSolverChain` in scope [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `TraceIngestServer` [INFO] [stderr] --> src/trace_ingest.rs:6:36 [INFO] [stderr] | [INFO] [stderr] 6 | //! Operators run an instance of [`TraceIngestServer`] inside their [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ no item named `TraceIngestServer` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `TraceIngestServer` [INFO] [stderr] --> src/trace_ingest.rs:19:9 [INFO] [stderr] | [INFO] [stderr] 19 | //! - [`TraceIngestServer`] — Tokio-based HTTP server with one [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ no item named `TraceIngestServer` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `load_iter` [INFO] [stderr] --> src/training_corpus.rs:152:15 [INFO] [stderr] | [INFO] [stderr] 152 | /// use [`load_iter`] for streaming reads on larger corpora. [INFO] [stderr] | ^^^^^^^^^ no item named `load_iter` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: `captchaforge` (lib doc) generated 36 warnings [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.66s [INFO] [stderr] Generated /opt/rustwide/target/x86_64-unknown-linux-gnu/doc/captchaforge/index.html [INFO] running `Command { std: "docker" "stop" "-t" "1" "489926358e0628cc812deb8488c1aee45a3732765f00180d54df62b75e70c3dd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "489926358e0628cc812deb8488c1aee45a3732765f00180d54df62b75e70c3dd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "489926358e0628cc812deb8488c1aee45a3732765f00180d54df62b75e70c3dd", kill_on_drop: false }` [INFO] [stdout] 489926358e0628cc812deb8488c1aee45a3732765f00180d54df62b75e70c3dd