[INFO] cloning repository https://github.com/RoganMatrivski/koharu-ml
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/RoganMatrivski/koharu-ml" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRoganMatrivski%2Fkoharu-ml", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRoganMatrivski%2Fkoharu-ml'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b822bd7ef04f1ae614f0fd1286e9e38f5475b05b
[INFO] checking RoganMatrivski/koharu-ml against try#b28cc4eb48a6415b914e8ad0308be255ff8d73ed for pr-156508-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRoganMatrivski%2Fkoharu-ml" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/RoganMatrivski/koharu-ml
[INFO] finished tweaking git repo https://github.com/RoganMatrivski/koharu-ml
[INFO] tweaked toml for git repo https://github.com/RoganMatrivski/koharu-ml written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/RoganMatrivski/koharu-ml on toolchain b28cc4eb48a6415b914e8ad0308be255ff8d73ed
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b28cc4eb48a6415b914e8ad0308be255ff8d73ed" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/RoganMatrivski/koharu-ml 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" "+b28cc4eb48a6415b914e8ad0308be255ff8d73ed" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: patch `ug v0.5.0 (https://github.com/mayocream/ug?branch=cuda-dynamic-loading#bce254b9)` was not used in the crate graph
[INFO] [stderr] warning: patch `ug-cuda v0.5.0 (https://github.com/mayocream/ug?branch=cuda-dynamic-loading#bce254b9)` was not used in the crate graph
[INFO] [stderr] help: Check that the patched package version and available features are compatible
[INFO] [stderr]       with the dependency requirements. If the patch has a different version from
[INFO] [stderr]       what is locked in the Cargo.lock file, run `cargo update` to use the new
[INFO] [stderr]       version. This may also occur with an optional dependency that is not enabled.
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b28cc4eb48a6415b914e8ad0308be255ff8d73ed" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 734cb45418052a4cbe49f7896a6ad9c9bcf31d72409c8112e2666ee2c8d61a8d
[INFO] running `Command { std: "docker" "start" "-a" "734cb45418052a4cbe49f7896a6ad9c9bcf31d72409c8112e2666ee2c8d61a8d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "734cb45418052a4cbe49f7896a6ad9c9bcf31d72409c8112e2666ee2c8d61a8d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "734cb45418052a4cbe49f7896a6ad9c9bcf31d72409c8112e2666ee2c8d61a8d", kill_on_drop: false }`
[INFO] [stdout] 734cb45418052a4cbe49f7896a6ad9c9bcf31d72409c8112e2666ee2c8d61a8d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b28cc4eb48a6415b914e8ad0308be255ff8d73ed" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2d1a4dccc7c01da38b73b07598b21525d60607e27312b0494142e32488e5c00d
[INFO] running `Command { std: "docker" "start" "-a" "2d1a4dccc7c01da38b73b07598b21525d60607e27312b0494142e32488e5c00d", kill_on_drop: false }`
[INFO] [stderr] warning: patch `ug v0.5.0 (https://github.com/mayocream/ug?branch=cuda-dynamic-loading#bce254b9)` was not used in the crate graph
[INFO] [stderr] warning: patch `ug-cuda v0.5.0 (https://github.com/mayocream/ug?branch=cuda-dynamic-loading#bce254b9)` was not used in the crate graph
[INFO] [stderr] help: Check that the patched package version and available features are compatible
[INFO] [stderr]       with the dependency requirements. If the patch has a different version from
[INFO] [stderr]       what is locked in the Cargo.lock file, run `cargo update` to use the new
[INFO] [stderr]       version. This may also occur with an optional dependency that is not enabled.
[INFO] [stderr]    Compiling libc v0.2.185
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]     Checking stable_deref_trait v1.2.1
[INFO] [stderr]     Checking bitflags v2.11.1
[INFO] [stderr]    Compiling bytemuck_derive v1.10.2
[INFO] [stderr]    Compiling pkg-config v0.3.33
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]     Checking zerofrom v0.1.7
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]     Checking yoke v0.8.2
[INFO] [stderr]    Compiling dunce v1.0.5
[INFO] [stderr]    Compiling fs_extra v1.3.0
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking rayon v1.12.0
[INFO] [stderr]     Checking zerovec v0.11.6
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling aws-lc-rs v1.16.3
[INFO] [stderr]     Checking futures-io v0.3.32
[INFO] [stderr]    Compiling pulp v0.22.2
[INFO] [stderr]     Checking bytemuck v1.25.0
[INFO] [stderr]     Checking tinystr v0.8.3
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]     Checking regex-syntax v0.8.10
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]    Compiling cc v1.2.60
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking rand v0.9.4
[INFO] [stderr]     Checking socket2 v0.6.3
[INFO] [stderr]     Checking mio v1.2.0
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]     Checking icu_locale_core v2.2.0
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]     Checking rand_distr v0.5.1
[INFO] [stderr]     Checking tokio v1.52.0
[INFO] [stderr]     Checking potential_utf v0.1.5
[INFO] [stderr]     Checking zerotrie v0.2.4
[INFO] [stderr]     Checking indexmap v2.14.0
[INFO] [stderr]    Compiling cmake v0.1.58
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling aws-lc-sys v0.40.0
[INFO] [stderr]    Compiling openssl-sys v0.9.113
[INFO] [stderr]     Checking raw-cpuid v11.6.0
[INFO] [stderr]     Checking openssl-probe v0.2.1
[INFO] [stderr]    Compiling dyn-stack-macros v0.1.3
[INFO] [stderr]     Checking reborrow v0.5.5
[INFO] [stderr]     Checking pulp-wasm-simd-flag v0.1.0
[INFO] [stderr]     Checking icu_collections v2.2.0
[INFO] [stderr]     Checking dyn-stack v0.13.2
[INFO] [stderr]     Checking icu_provider v2.2.0
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]    Compiling rustls v0.23.38
[INFO] [stderr]    Compiling seq-macro v0.3.6
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking itertools v0.14.0
[INFO] [stderr]     Checking icu_properties v2.2.0
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]     Checking icu_normalizer v2.2.0
[INFO] [stderr]     Checking zlib-rs v0.6.3
[INFO] [stderr]    Compiling openssl v0.10.77
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]    Compiling onig_sys v69.9.1
[INFO] [stderr]     Checking h2 v0.4.13
[INFO] [stderr]     Checking flate2 v1.1.9
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling native-tls v0.2.18
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]    Compiling zstd-sys v2.0.16+zstd.1.5.7
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]     Checking as-slice v0.2.1
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]     Checking minimal-lexical v0.2.1
[INFO] [stderr]    Compiling esaxx-rs v0.1.10
[INFO] [stderr]     Checking tower-http v0.6.8
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking gemm-common v0.19.0
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]    Compiling derive_builder_core v0.20.2
[INFO] [stderr]     Checking aligned v0.4.3
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking gemm-f32 v0.19.0
[INFO] [stderr]     Checking hyper v1.9.0
[INFO] [stderr]     Checking castaway v0.2.4
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling derive_builder_macro v0.20.2
[INFO] [stderr]    Compiling monostate-impl v0.1.18
[INFO] [stderr]    Compiling profiling-procmacros v1.0.17
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking typed-path v0.12.3
[INFO] [stderr]     Checking unicode-segmentation v1.13.2
[INFO] [stderr]    Compiling macro_rules_attribute-proc_macro v0.2.2
[INFO] [stderr]     Checking spm_precompiled v0.1.4
[INFO] [stderr]     Checking macro_rules_attribute v0.2.2
[INFO] [stderr]     Checking av-scenechange v0.14.1
[INFO] [stderr]     Checking hashbrown v0.16.1
[INFO] [stderr]     Checking compact_str v0.9.0
[INFO] [stderr]     Checking profiling v1.0.17
[INFO] [stderr]     Checking av1-grain v0.2.5
[INFO] [stderr]     Checking monostate v0.1.18
[INFO] [stderr]     Checking derive_builder v0.20.2
[INFO] [stderr]     Checking gemm-f16 v0.19.0
[INFO] [stderr]     Checking gemm-f64 v0.19.0
[INFO] [stderr]     Checking gemm-c64 v0.19.0
[INFO] [stderr]     Checking gemm-c32 v0.19.0
[INFO] [stderr]     Checking rayon-cond v0.4.0
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]     Checking regex v1.12.3
[INFO] [stderr]     Checking rustls-native-certs v0.8.3
[INFO] [stderr]     Checking dary_heap v0.3.8
[INFO] [stderr]     Checking maybe-rayon v0.1.1
[INFO] [stderr]     Checking num_cpus v1.17.0
[INFO] [stderr]     Checking safe_arch v0.7.4
[INFO] [stderr]    Compiling fax_derive v0.2.0
[INFO] [stderr]     Checking unicode-normalization-alignments v0.1.12
[INFO] [stderr]     Checking imgref v1.12.0
[INFO] [stderr]    Compiling owo-colors v4.3.0
[INFO] [stderr]    Compiling zstd-safe v7.2.4
[INFO] [stderr]    Compiling portable-atomic v1.13.1
[INFO] [stderr]     Checking unicode_categories v0.1.1
[INFO] [stderr]    Compiling object v0.37.3
[INFO] [stderr]     Checking strength_reduce v0.2.4
[INFO] [stderr]     Checking utf8parse v0.2.2
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]     Checking anstyle-parse v1.0.0
[INFO] [stderr]     Checking transpose v0.2.3
[INFO] [stderr]     Checking rav1e v0.8.1
[INFO] [stderr]     Checking loop9 v0.1.5
[INFO] [stderr]     Checking pem-rfc7468 v1.0.0
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]     Checking gemm v0.19.0
[INFO] [stderr]     Checking fax v0.2.6
[INFO] [stderr]     Checking wide v0.7.33
[INFO] [stderr]     Checking safetensors v0.7.0
[INFO] [stderr]     Checking zip v7.2.0
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking futures-executor v0.3.32
[INFO] [stderr]     Checking float8 v0.7.0
[INFO] [stderr]     Checking onig v6.5.1
[INFO] [stderr]     Checking memmap2 v0.9.10
[INFO] [stderr]     Checking inout v0.1.4
[INFO] [stderr]     Checking primal-check v0.3.4
[INFO] [stderr]     Checking approx v0.5.1
[INFO] [stderr]     Checking bit-vec v0.8.0
[INFO] [stderr]     Checking pxfm v0.1.28
[INFO] [stderr]     Checking anstyle-query v1.1.5
[INFO] [stderr]     Checking gimli v0.32.3
[INFO] [stderr]     Checking ttf-parser v0.25.1
[INFO] [stderr]     Checking tokenizers v0.22.2
[INFO] [stderr]     Checking anstyle v1.0.14
[INFO] [stderr]    Compiling ref-cast v1.0.25
[INFO] [stderr]     Checking colorchoice v1.0.5
[INFO] [stderr]     Checking is_terminal_polyfill v1.70.2
[INFO] [stderr]     Checking option-ext v0.2.0
[INFO] [stderr]     Checking dirs-sys v0.5.0
[INFO] [stderr]     Checking console v0.16.3
[INFO] [stderr]     Checking anstream v1.0.0
[INFO] [stderr]     Checking simba v0.9.1
[INFO] [stderr]     Checking owned_ttf_parser v0.25.1
[INFO] [stderr]     Checking bit-set v0.8.0
[INFO] [stderr]     Checking tracing-error v0.2.1
[INFO] [stderr]     Checking exr v1.74.0
[INFO] [stderr]     Checking addr2line v0.25.1
[INFO] [stderr]     Checking rustfft v6.4.1
[INFO] [stderr]     Checking moxcms v0.8.1
[INFO] [stderr]     Checking ravif v0.13.0
[INFO] [stderr]     Checking png v0.18.1
[INFO] [stderr]     Checking candle-core v0.9.2 (https://github.com/mayocream/candle?branch=cuda-dynamic-loading#59ad4a31)
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]     Checking futures v0.3.32
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]     Checking tiff v0.11.3
[INFO] [stderr]     Checking der v0.8.0
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking socks v0.3.4
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking ureq-proto v0.6.0
[INFO] [stderr]    Compiling blake3 v1.8.4
[INFO] [stderr]     Checking qoi v0.4.1
[INFO] [stderr]     Checking num-iter v0.1.45
[INFO] [stderr]     Checking webpki-root-certs v1.0.6
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling ref-cast-impl v1.0.25
[INFO] [stderr]    Compiling serde_derive_internals v0.29.1
[INFO] [stderr]     Checking constant_time_eq v0.4.2
[INFO] [stderr]     Checking utf8-zero v0.8.1
[INFO] [stderr]     Checking clap_lex v1.1.0
[INFO] [stderr]     Checking unit-prefix v0.5.2
[INFO] [stderr]     Checking memo-map v0.3.3
[INFO] [stderr]     Checking libbz2-rs-sys v0.2.2
[INFO] [stderr]     Checking indenter v0.3.4
[INFO] [stderr]     Checking bumpalo v3.20.2
[INFO] [stderr]     Checking rustc-demangle v0.1.27
[INFO] [stderr]     Checking clap_builder v4.6.0
[INFO] [stderr]     Checking zopfli v0.8.3
[INFO] [stderr]     Checking minijinja v2.19.0
[INFO] [stderr]     Checking ab_glyph v0.2.32
[INFO] [stderr]     Checking time v0.3.47
[INFO] [stderr]     Checking bzip2 v0.6.1
[INFO] [stderr]     Checking candle-nn v0.9.2 (https://github.com/mayocream/candle?branch=cuda-dynamic-loading#59ad4a31)
[INFO] [stderr]     Checking eyre v0.6.12
[INFO] [stderr]    Compiling schemars_derive v1.2.1
[INFO] [stderr]     Checking rustdct v0.7.1
[INFO] [stderr]     Checking indicatif v0.18.4
[INFO] [stderr]     Checking color-spantrace v0.3.0
[INFO] [stderr]     Checking num v0.4.3
[INFO] [stderr]    Compiling test-koharu-ml v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking image v0.25.10
[INFO] [stderr]     Checking lzma-rust2 v0.16.2
[INFO] [stderr]     Checking pbkdf2 v0.12.2
[INFO] [stderr]     Checking nalgebra v0.34.2
[INFO] [stderr]     Checking backtrace v0.3.76
[INFO] [stderr]     Checking zstd v0.13.3
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]     Checking aes v0.8.4
[INFO] [stderr]     Checking fancy-regex v0.17.0
[INFO] [stderr]     Checking dirs v6.0.0
[INFO] [stderr]    Compiling strum_macros v0.28.0
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking serde_plain v1.0.2
[INFO] [stderr]     Checking retry-policies v0.5.1
[INFO] [stderr]    Compiling enumflags2_derive v0.7.12
[INFO] [stderr]    Compiling utoipa-gen v5.4.0
[INFO] [stderr]     Checking dyn-clone v1.0.20
[INFO] [stderr]     Checking cpufeatures v0.3.0
[INFO] [stderr]     Checking ppmd-rust v1.4.0
[INFO] [stderr]     Checking deflate64 v0.1.12
[INFO] [stderr]     Checking enumflags2 v0.7.12
[INFO] [stderr]     Checking zip v8.5.1
[INFO] [stderr]     Checking schemars v1.2.1
[INFO] [stderr]     Checking candle-transformers v0.9.2 (https://github.com/mayocream/candle?branch=cuda-dynamic-loading#59ad4a31)
[INFO] [stderr]     Checking strum v0.28.0
[INFO] [stderr]     Checking minijinja-contrib v2.19.0
[INFO] [stderr]     Checking color-eyre v0.6.5
[INFO] [stderr]     Checking uuid v1.23.0
[INFO] [stderr]     Checking serde_bytes v0.11.19
[INFO] [stderr]     Checking keyring v3.6.3
[INFO] [stderr]     Checking inventory v0.3.24
[INFO] [stderr]     Checking clap v4.6.1
[INFO] [stderr]     Checking utoipa v5.4.0
[INFO] [stderr]     Checking imageproc v0.26.1
[INFO] [stderr]     Checking rustls-webpki v0.103.12
[INFO] [stderr]     Checking tokio-rustls v0.26.4
[INFO] [stderr]     Checking rustls-platform-verifier v0.6.2
[INFO] [stderr]     Checking ureq v3.3.0
[INFO] [stderr]     Checking hyper-rustls v0.27.9
[INFO] [stderr]     Checking reqwest v0.13.2
[INFO] [stderr]     Checking hf-hub v0.5.0
[INFO] [stderr]     Checking reqwest-middleware v0.5.1
[INFO] [stderr]     Checking reqwest-retry v0.9.1
[INFO] [stdout] warning: unused import: `commands::*`
[INFO] [stdout]   --> src/core/mod.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use commands::*;
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `events::*`
[INFO] [stdout]   --> src/core/mod.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub use events::*;
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FontSource`, `GoogleFontCatalog`, `GoogleFontEntry`, and `GoogleFontVariant`
[INFO] [stdout]   --> src/core/mod.rs:16:24
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub use google_fonts::{FontSource, GoogleFontCatalog, GoogleFontEntry, GoogleFontVariant};
[INFO] [stdout]    |                        ^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `image::SerializableDynamicImage`
[INFO] [stdout]   --> src/core/mod.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub use image::SerializableDynamicImage;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]  --> src/llm/mod.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::path::PathBuf;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Llm`
[INFO] [stdout]  --> src/llm/mod.rs:8:34
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use model::{GenerateOptions, Llm};
[INFO] [stdout]   |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Quad`, `crop_text_block_bbox`, and `refine_segmentation_mask`
[INFO] [stdout]   --> src/ml/comic_text_detector/mod.rs:18:25
[INFO] [stdout]    |
[INFO] [stdout] 18 |     ComicTextDetection, Quad, crop_text_block_bbox, extract_text_block_regions,
[INFO] [stdout]    |                         ^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |     refine_segmentation_mask,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cuda`
[INFO] [stdout]  --> src/ml/lama/fft/mod.rs:1:7
[INFO] [stdout]   |
[INFO] [stdout] 1 | #[cfg(feature = "cuda")]
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]   |
[INFO] [stdout]   = note: no expected values for `feature`
[INFO] [stdout]   = help: consider adding `cuda` as a feature in `Cargo.toml`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]   = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `metal`
[INFO] [stdout]  --> src/ml/lama/fft/mod.rs:3:7
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[cfg(feature = "metal")]
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]   |
[INFO] [stdout]   = note: no expected values for `feature`
[INFO] [stdout]   = help: consider adding `metal` as a feature in `Cargo.toml`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cuda`
[INFO] [stdout]  --> src/ml/lama/fft/mod.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 | #[cfg(feature = "cuda")]
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]   |
[INFO] [stdout]   = note: no expected values for `feature`
[INFO] [stdout]   = help: consider adding `cuda` as a feature in `Cargo.toml`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `metal`
[INFO] [stdout]   --> src/ml/lama/fft/mod.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[cfg(feature = "metal")]
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `metal` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cuda`
[INFO] [stdout]   --> src/ml/lama/fft/mod.rs:32:11
[INFO] [stdout]    |
[INFO] [stdout] 32 |     #[cfg(feature = "cuda")]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `cuda` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `metal`
[INFO] [stdout]   --> src/ml/lama/fft/mod.rs:38:11
[INFO] [stdout]    |
[INFO] [stdout] 38 |     #[cfg(feature = "metal")]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `metal` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cuda`
[INFO] [stdout]   --> src/ml/lama/fft/mod.rs:55:11
[INFO] [stdout]    |
[INFO] [stdout] 55 |     #[cfg(feature = "cuda")]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `cuda` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `metal`
[INFO] [stdout]   --> src/ml/lama/fft/mod.rs:61:11
[INFO] [stdout]    |
[INFO] [stdout] 61 |     #[cfg(feature = "metal")]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `metal` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `commands::*`
[INFO] [stdout]   --> src/core/mod.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use commands::*;
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `events::*`
[INFO] [stdout]   --> src/core/mod.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub use events::*;
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FontSource`, `GoogleFontCatalog`, `GoogleFontEntry`, and `GoogleFontVariant`
[INFO] [stdout]   --> src/core/mod.rs:16:24
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub use google_fonts::{FontSource, GoogleFontCatalog, GoogleFontEntry, GoogleFontVariant};
[INFO] [stdout]    |                        ^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `image::SerializableDynamicImage`
[INFO] [stdout]   --> src/core/mod.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub use image::SerializableDynamicImage;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]  --> src/llm/mod.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::path::PathBuf;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Llm`
[INFO] [stdout]  --> src/llm/mod.rs:8:34
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use model::{GenerateOptions, Llm};
[INFO] [stdout]   |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Quad`, `crop_text_block_bbox`, and `refine_segmentation_mask`
[INFO] [stdout]   --> src/ml/comic_text_detector/mod.rs:18:25
[INFO] [stdout]    |
[INFO] [stdout] 18 |     ComicTextDetection, Quad, crop_text_block_bbox, extract_text_block_regions,
[INFO] [stdout]    |                         ^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |     refine_segmentation_mask,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cuda`
[INFO] [stdout]  --> src/ml/lama/fft/mod.rs:1:7
[INFO] [stdout]   |
[INFO] [stdout] 1 | #[cfg(feature = "cuda")]
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]   |
[INFO] [stdout]   = note: no expected values for `feature`
[INFO] [stdout]   = help: consider adding `cuda` as a feature in `Cargo.toml`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]   = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `metal`
[INFO] [stdout]  --> src/ml/lama/fft/mod.rs:3:7
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[cfg(feature = "metal")]
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]   |
[INFO] [stdout]   = note: no expected values for `feature`
[INFO] [stdout]   = help: consider adding `metal` as a feature in `Cargo.toml`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cuda`
[INFO] [stdout]  --> src/ml/lama/fft/mod.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 | #[cfg(feature = "cuda")]
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]   |
[INFO] [stdout]   = note: no expected values for `feature`
[INFO] [stdout]   = help: consider adding `cuda` as a feature in `Cargo.toml`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `metal`
[INFO] [stdout]   --> src/ml/lama/fft/mod.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[cfg(feature = "metal")]
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `metal` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cuda`
[INFO] [stdout]   --> src/ml/lama/fft/mod.rs:32:11
[INFO] [stdout]    |
[INFO] [stdout] 32 |     #[cfg(feature = "cuda")]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `cuda` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `metal`
[INFO] [stdout]   --> src/ml/lama/fft/mod.rs:38:11
[INFO] [stdout]    |
[INFO] [stdout] 38 |     #[cfg(feature = "metal")]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `metal` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cuda`
[INFO] [stdout]   --> src/ml/lama/fft/mod.rs:55:11
[INFO] [stdout]    |
[INFO] [stdout] 55 |     #[cfg(feature = "cuda")]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `cuda` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `metal`
[INFO] [stdout]   --> src/ml/lama/fft/mod.rs:61:11
[INFO] [stdout]    |
[INFO] [stdout] 61 |     #[cfg(feature = "metal")]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `metal` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `hash`, and `is_empty` are never used
[INFO] [stdout]   --> src/core/mod.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl BlobRef {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] 31 |     pub fn new(hash: impl Into<String>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn hash(&self) -> &str {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BubbleRegion` is never constructed
[INFO] [stdout]    --> src/core/mod.rs:172:12
[INFO] [stdout]     |
[INFO] [stdout] 172 | pub struct BubbleRegion {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DocumentStyle` is never constructed
[INFO] [stdout]    --> src/core/mod.rs:182:12
[INFO] [stdout]     |
[INFO] [stdout] 182 | pub struct DocumentStyle {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Document` is never constructed
[INFO] [stdout]    --> src/core/mod.rs:189:12
[INFO] [stdout]     |
[INFO] [stdout] 189 | pub struct Document {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DocumentIdParam` is never constructed
[INFO] [stdout]    --> src/core/commands.rs:119:12
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub struct DocumentIdParam {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DocumentIndexParam` is never constructed
[INFO] [stdout]    --> src/core/commands.rs:125:12
[INFO] [stdout]     |
[INFO] [stdout] 125 | pub struct DocumentIndexParam {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `ALL` is never used
[INFO] [stdout]   --> src/core/events.rs:34:15
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl PipelineStep {
[INFO] [stdout]    | ----------------- associated constant in this implementation
[INFO] [stdout] 34 |     pub const ALL: &[PipelineStep] = &[
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GoogleFontVariant` is never constructed
[INFO] [stdout]  --> src/core/google_fonts.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct GoogleFontVariant {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GoogleFontEntry` is never constructed
[INFO] [stdout]   --> src/core/google_fonts.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct GoogleFontEntry {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GoogleFontCatalog` is never constructed
[INFO] [stdout]   --> src/core/google_fonts.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct GoogleFontCatalog {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `FontSource` is never used
[INFO] [stdout]   --> src/core/google_fonts.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub enum FontSource {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FontFaceInfo` is never constructed
[INFO] [stdout]   --> src/core/protocol.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct FontFaceInfo {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MetaInfo` is never constructed
[INFO] [stdout]   --> src/core/protocol.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct MetaInfo {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DocumentSummary` is never constructed
[INFO] [stdout]   --> src/core/protocol.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct DocumentSummary {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TextBlockDetail` is never constructed
[INFO] [stdout]   --> src/core/protocol.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct TextBlockDetail {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DocumentDetail` is never constructed
[INFO] [stdout]    --> src/core/protocol.rs:107:12
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub struct DocumentDetail {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TextBlockInput` is never constructed
[INFO] [stdout]    --> src/core/protocol.rs:133:12
[INFO] [stdout]     |
[INFO] [stdout] 133 | pub struct TextBlockInput {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TextBlockPatch` is never constructed
[INFO] [stdout]    --> src/core/protocol.rs:146:12
[INFO] [stdout]     |
[INFO] [stdout] 146 | pub struct TextBlockPatch {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CreateTextBlock` is never constructed
[INFO] [stdout]    --> src/core/protocol.rs:158:12
[INFO] [stdout]     |
[INFO] [stdout] 158 | pub struct CreateTextBlock {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReorderRequest` is never constructed
[INFO] [stdout]    --> src/core/protocol.rs:167:12
[INFO] [stdout]     |
[INFO] [stdout] 167 | pub struct ReorderRequest {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ImportMode` is never used
[INFO] [stdout]    --> src/core/protocol.rs:173:10
[INFO] [stdout]     |
[INFO] [stdout] 173 | pub enum ImportMode {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ImportResult` is never constructed
[INFO] [stdout]    --> src/core/protocol.rs:180:12
[INFO] [stdout]     |
[INFO] [stdout] 180 | pub struct ImportResult {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ExportLayer` is never used
[INFO] [stdout]    --> src/core/protocol.rs:187:10
[INFO] [stdout]     |
[INFO] [stdout] 187 | pub enum ExportLayer {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ExportResult` is never constructed
[INFO] [stdout]    --> src/core/protocol.rs:194:12
[INFO] [stdout]     |
[INFO] [stdout] 194 | pub struct ExportResult {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `LlmStateStatus` is never used
[INFO] [stdout]    --> src/core/protocol.rs:200:10
[INFO] [stdout]     |
[INFO] [stdout] 200 | pub enum LlmStateStatus {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LlmState` is never constructed
[INFO] [stdout]    --> src/core/protocol.rs:209:12
[INFO] [stdout]     |
[INFO] [stdout] 209 | pub struct LlmState {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LlmCatalogModel` is never constructed
[INFO] [stdout]    --> src/core/protocol.rs:248:12
[INFO] [stdout]     |
[INFO] [stdout] 248 | pub struct LlmCatalogModel {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `LlmProviderCatalogStatus` is never used
[INFO] [stdout]    --> src/core/protocol.rs:256:10
[INFO] [stdout]     |
[INFO] [stdout] 256 | pub enum LlmProviderCatalogStatus {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LlmProviderCatalog` is never constructed
[INFO] [stdout]    --> src/core/protocol.rs:264:12
[INFO] [stdout]     |
[INFO] [stdout] 264 | pub struct LlmProviderCatalog {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LlmCatalog` is never constructed
[INFO] [stdout]    --> src/core/protocol.rs:278:12
[INFO] [stdout]     |
[INFO] [stdout] 278 | pub struct LlmCatalog {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `JobState` is never constructed
[INFO] [stdout]    --> src/core/protocol.rs:295:12
[INFO] [stdout]     |
[INFO] [stdout] 295 | pub struct JobState {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TransferStatus` is never used
[INFO] [stdout]    --> src/core/protocol.rs:310:10
[INFO] [stdout]     |
[INFO] [stdout] 310 | pub enum TransferStatus {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DownloadState` is never constructed
[INFO] [stdout]    --> src/core/protocol.rs:319:12
[INFO] [stdout]     |
[INFO] [stdout] 319 | pub struct DownloadState {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SnapshotEvent` is never constructed
[INFO] [stdout]    --> src/core/protocol.rs:330:12
[INFO] [stdout]     |
[INFO] [stdout] 330 | pub struct SnapshotEvent {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DocumentsChangedEvent` is never constructed
[INFO] [stdout]    --> src/core/protocol.rs:339:12
[INFO] [stdout]     |
[INFO] [stdout] 339 | pub struct DocumentsChangedEvent {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DocumentChangedEvent` is never constructed
[INFO] [stdout]    --> src/core/protocol.rs:345:12
[INFO] [stdout]     |
[INFO] [stdout] 345 | pub struct DocumentChangedEvent {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RenderRequest` is never constructed
[INFO] [stdout]    --> src/core/protocol.rs:352:12
[INFO] [stdout]     |
[INFO] [stdout] 352 | pub struct RenderRequest {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TranslateRequest` is never constructed
[INFO] [stdout]    --> src/core/protocol.rs:360:12
[INFO] [stdout]     |
[INFO] [stdout] 360 | pub struct TranslateRequest {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PipelineJobRequest` is never constructed
[INFO] [stdout]    --> src/core/protocol.rs:376:12
[INFO] [stdout]     |
[INFO] [stdout] 376 | pub struct PipelineJobRequest {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Region` is never constructed
[INFO] [stdout]    --> src/core/protocol.rs:387:12
[INFO] [stdout]     |
[INFO] [stdout] 387 | pub struct Region {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MaskRegionRequest` is never constructed
[INFO] [stdout]    --> src/core/protocol.rs:407:12
[INFO] [stdout]     |
[INFO] [stdout] 407 | pub struct MaskRegionRequest {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BrushRegionRequest` is never constructed
[INFO] [stdout]    --> src/core/protocol.rs:414:12
[INFO] [stdout]     |
[INFO] [stdout] 414 | pub struct BrushRegionRequest {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InpaintRegionRequest` is never constructed
[INFO] [stdout]    --> src/core/protocol.rs:421:12
[INFO] [stdout]     |
[INFO] [stdout] 421 | pub struct InpaintRegionRequest {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EngineCatalogEntry` is never constructed
[INFO] [stdout]    --> src/core/protocol.rs:427:12
[INFO] [stdout]     |
[INFO] [stdout] 427 | pub struct EngineCatalogEntry {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EngineCatalog` is never constructed
[INFO] [stdout]    --> src/core/protocol.rs:435:12
[INFO] [stdout]     |
[INFO] [stdout] 435 | pub struct EngineCatalog {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DocumentInfo` is never constructed
[INFO] [stdout]  --> src/core/views.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct DocumentInfo {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TextBlockInfo` is never constructed
[INFO] [stdout]   --> src/core/views.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct TextBlockInfo {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TextStyleInfo` is never constructed
[INFO] [stdout]   --> src/core/views.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct TextStyleInfo {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TextStrokeInfo` is never constructed
[INFO] [stdout]   --> src/core/views.rs:46:12
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct TextStrokeInfo {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `to_block_info` is never used
[INFO] [stdout]   --> src/core/views.rs:52:8
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub fn to_block_info(i: usize, block: &TextBlock) -> TextBlockInfo {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `to_doc_info` is never used
[INFO] [stdout]   --> src/core/views.rs:83:8
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub fn to_doc_info(doc: &Document) -> DocumentInfo {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `ITALIC_FLAG`, `BOLD_FLAG`, `flags`, and `is_empty` are never used
[INFO] [stdout]   --> src/core/effect.rs:25:15
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl TextShaderEffect {
[INFO] [stdout]    | --------------------- associated items in this implementation
[INFO] [stdout] 25 |     pub const ITALIC_FLAG: u32 = 1 << 0;
[INFO] [stdout]    |               ^^^^^^^^^^^
[INFO] [stdout] 26 |     pub const BOLD_FLAG: u32 = 1 << 1;
[INFO] [stdout]    |               ^^^^^^^^^
[INFO] [stdout] 27 |
[INFO] [stdout] 28 |     pub fn flags(self) -> u32 {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn is_empty(self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Language` is never used
[INFO] [stdout]   --> src/llm/mod.rs:11:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub enum Language {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `tag` and `parse` are never used
[INFO] [stdout]    --> src/llm/mod.rs:296:12
[INFO] [stdout]     |
[INFO] [stdout] 295 | impl Language {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] 296 |     pub fn tag(self) -> &'static str {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 300 |     pub fn parse(value: &str) -> Option<Self> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `supported_locales` is never used
[INFO] [stdout]    --> src/llm/mod.rs:309:8
[INFO] [stdout]     |
[INFO] [stdout] 309 | pub fn supported_locales() -> Vec<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `language_from_tag` is never used
[INFO] [stdout]    --> src/llm/mod.rs:315:8
[INFO] [stdout]     |
[INFO] [stdout] 315 | pub fn language_from_tag(value: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tags` is never used
[INFO] [stdout]    --> src/llm/mod.rs:321:8
[INFO] [stdout]     |
[INFO] [stdout] 321 | pub fn tags(languages: &[Language]) -> Vec<String> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLOCK_TAG_INSTRUCTIONS` is never used
[INFO] [stdout]    --> src/llm/mod.rs:328:11
[INFO] [stdout]     |
[INFO] [stdout] 328 | pub const BLOCK_TAG_INSTRUCTIONS: &str = "The input uses numbered tags like [1], [2], etc. to mark each text block. Translate only ...
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `system_prompt` is never used
[INFO] [stdout]    --> src/llm/mod.rs:330:8
[INFO] [stdout]     |
[INFO] [stdout] 330 | pub fn system_prompt(target_language: Language) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ModelId` is never used
[INFO] [stdout]    --> src/llm/mod.rs:348:10
[INFO] [stdout]     |
[INFO] [stdout] 348 | pub enum ModelId {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `property`, `default_generate_options`, and `languages` are never used
[INFO] [stdout]    --> src/llm/mod.rs:568:8
[INFO] [stdout]     |
[INFO] [stdout] 567 | impl ModelId {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] 568 |     fn property(&self, name: &str) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 572 |     pub fn default_generate_options(&self) -> GenerateOptions {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 628 |     pub fn languages(&self) -> Vec<Language> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `prefetch` is never used
[INFO] [stdout]    --> src/llm/mod.rs:640:14
[INFO] [stdout]     |
[INFO] [stdout] 640 | pub async fn prefetch() -> anyhow::Result<()> {
[INFO] [stdout]     |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Llm` is never constructed
[INFO] [stdout]   --> src/llm/model.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct Llm {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GenerateOptions` is never constructed
[INFO] [stdout]   --> src/llm/model.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct GenerateOptions {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load`, `id`, and `generate` are never used
[INFO] [stdout]   --> src/llm/model.rs:50:18
[INFO] [stdout]    |
[INFO] [stdout] 49 | impl Llm {
[INFO] [stdout]    | -------- associated items in this implementation
[INFO] [stdout] 50 |     pub async fn load(
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub fn id(&self) -> ModelId {
[INFO] [stdout]    |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 83 |     pub async fn generate(
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rate` is never used
[INFO] [stdout]    --> src/llm/model.rs:106:8
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub fn rate(tokens: usize, duration: Duration) -> f64 {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_system_prompt` is never used
[INFO] [stdout]   --> src/llm/providers/mod.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub(crate) fn resolve_system_prompt(custom: Option<&str>, target_language: Language) -> String {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `API_KEY_SERVICE` is never used
[INFO] [stdout]   --> src/llm/providers/mod.rs:30:7
[INFO] [stdout]    |
[INFO] [stdout] 30 | const API_KEY_SERVICE: &str = "koharu";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OPENAI_COMPATIBLE_ID` is never used
[INFO] [stdout]   --> src/llm/providers/mod.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub const OPENAI_COMPATIBLE_ID: &str = "openai-compatible";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `NO_KEYRING` is never used
[INFO] [stdout]   --> src/llm/providers/mod.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | static NO_KEYRING: AtomicBool = AtomicBool::new(false);
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProviderModelDescriptor` is never constructed
[INFO] [stdout]   --> src/llm/providers/mod.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct ProviderModelDescriptor {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DiscoveredProviderModel` is never constructed
[INFO] [stdout]   --> src/llm/providers/mod.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct DiscoveredProviderModel {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ProviderDiscoveryFuture` is never used
[INFO] [stdout]   --> src/llm/providers/mod.rs:47:10
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub type ProviderDiscoveryFuture =
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ProviderCatalogModels` is never used
[INFO] [stdout]   --> src/llm/providers/mod.rs:50:10
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub enum ProviderCatalogModels {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProviderDescriptor` is never constructed
[INFO] [stdout]   --> src/llm/providers/mod.rs:55:12
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub struct ProviderDescriptor {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `disable_keyring` is never used
[INFO] [stdout]   --> src/llm/providers/mod.rs:64:8
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub fn disable_keyring() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `env_key_var` is never used
[INFO] [stdout]   --> src/llm/providers/mod.rs:68:4
[INFO] [stdout]    |
[INFO] [stdout] 68 | fn env_key_var(provider: &str) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `provider_key_entry` is never used
[INFO] [stdout]   --> src/llm/providers/mod.rs:75:4
[INFO] [stdout]    |
[INFO] [stdout] 75 | fn provider_key_entry(provider: &str) -> anyhow::Result<Entry> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_saved_api_key` is never used
[INFO] [stdout]   --> src/llm/providers/mod.rs:80:8
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub fn get_saved_api_key(provider: &str) -> anyhow::Result<Option<String>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_saved_api_key` is never used
[INFO] [stdout]   --> src/llm/providers/mod.rs:97:8
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub fn set_saved_api_key(provider: &str, api_key: &str) -> anyhow::Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ensure_provider_success` is never used
[INFO] [stdout]    --> src/llm/providers/mod.rs:120:14
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub async fn ensure_provider_success(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `AnyProvider` is never used
[INFO] [stdout]    --> src/llm/providers/mod.rs:148:11
[INFO] [stdout]     |
[INFO] [stdout] 148 | pub trait AnyProvider: Send + Sync {
[INFO] [stdout]     |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProviderConfig` is never constructed
[INFO] [stdout]    --> src/llm/providers/mod.rs:159:12
[INFO] [stdout]     |
[INFO] [stdout] 159 | pub struct ProviderConfig {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OPENAI_MODELS` is never used
[INFO] [stdout]    --> src/llm/providers/mod.rs:167:7
[INFO] [stdout]     |
[INFO] [stdout] 167 | const OPENAI_MODELS: &[ProviderModelDescriptor] = &[ProviderModelDescriptor {
[INFO] [stdout]     |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GEMINI_MODELS` is never used
[INFO] [stdout]    --> src/llm/providers/mod.rs:172:7
[INFO] [stdout]     |
[INFO] [stdout] 172 | const GEMINI_MODELS: &[ProviderModelDescriptor] = &[ProviderModelDescriptor {
[INFO] [stdout]     |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CLAUDE_MODELS` is never used
[INFO] [stdout]    --> src/llm/providers/mod.rs:177:7
[INFO] [stdout]     |
[INFO] [stdout] 177 | const CLAUDE_MODELS: &[ProviderModelDescriptor] = &[ProviderModelDescriptor {
[INFO] [stdout]     |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEEPSEEK_MODELS` is never used
[INFO] [stdout]    --> src/llm/providers/mod.rs:182:7
[INFO] [stdout]     |
[INFO] [stdout] 182 | const DEEPSEEK_MODELS: &[ProviderModelDescriptor] = &[ProviderModelDescriptor {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MT_MODELS` is never used
[INFO] [stdout]    --> src/llm/providers/mod.rs:187:7
[INFO] [stdout]     |
[INFO] [stdout] 187 | const MT_MODELS: &[ProviderModelDescriptor] = &[ProviderModelDescriptor {
[INFO] [stdout]     |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROVIDERS` is never used
[INFO] [stdout]    --> src/llm/providers/mod.rs:192:7
[INFO] [stdout]     |
[INFO] [stdout] 192 | const PROVIDERS: &[ProviderDescriptor] = &[
[INFO] [stdout]     |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `all_provider_descriptors` is never used
[INFO] [stdout]    --> src/llm/providers/mod.rs:251:8
[INFO] [stdout]     |
[INFO] [stdout] 251 | pub fn all_provider_descriptors() -> &'static [ProviderDescriptor] {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_provider_descriptor` is never used
[INFO] [stdout]    --> src/llm/providers/mod.rs:255:8
[INFO] [stdout]     |
[INFO] [stdout] 255 | pub fn find_provider_descriptor(provider_id: &str) -> Option<&'static ProviderDescriptor> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `discover_models` is never used
[INFO] [stdout]    --> src/llm/providers/mod.rs:261:8
[INFO] [stdout]     |
[INFO] [stdout] 261 | pub fn discover_models(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_provider` is never used
[INFO] [stdout]    --> src/llm/providers/mod.rs:282:8
[INFO] [stdout]     |
[INFO] [stdout] 282 | pub fn build_provider(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `required_api_key` is never used
[INFO] [stdout]    --> src/llm/providers/mod.rs:310:4
[INFO] [stdout]     |
[INFO] [stdout] 310 | fn required_api_key(config: &ProviderConfig, provider_id: &str) -> anyhow::Result<String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `required_base_url` is never used
[INFO] [stdout]    --> src/llm/providers/mod.rs:320:4
[INFO] [stdout]     |
[INFO] [stdout] 320 | fn required_base_url(config: &ProviderConfig, provider_id: &str) -> anyhow::Result<String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_openai_provider` is never used
[INFO] [stdout]    --> src/llm/providers/mod.rs:330:4
[INFO] [stdout]     |
[INFO] [stdout] 330 | fn build_openai_provider(config: ProviderConfig) -> anyhow::Result<Box<dyn AnyProvider>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_gemini_provider` is never used
[INFO] [stdout]    --> src/llm/providers/mod.rs:337:4
[INFO] [stdout]     |
[INFO] [stdout] 337 | fn build_gemini_provider(config: ProviderConfig) -> anyhow::Result<Box<dyn AnyProvider>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_claude_provider` is never used
[INFO] [stdout]    --> src/llm/providers/mod.rs:344:4
[INFO] [stdout]     |
[INFO] [stdout] 344 | fn build_claude_provider(config: ProviderConfig) -> anyhow::Result<Box<dyn AnyProvider>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_deepseek_provider` is never used
[INFO] [stdout]    --> src/llm/providers/mod.rs:351:4
[INFO] [stdout]     |
[INFO] [stdout] 351 | fn build_deepseek_provider(config: ProviderConfig) -> anyhow::Result<Box<dyn AnyProvider>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_openai_compatible_provider` is never used
[INFO] [stdout]    --> src/llm/providers/mod.rs:358:4
[INFO] [stdout]     |
[INFO] [stdout] 358 | fn build_openai_compatible_provider(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_deepl_mt_provider` is never used
[INFO] [stdout]    --> src/llm/providers/mod.rs:370:4
[INFO] [stdout]     |
[INFO] [stdout] 370 | fn build_deepl_mt_provider(config: ProviderConfig) -> anyhow::Result<Box<dyn AnyProvider>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_google_translate_mt_provider` is never used
[INFO] [stdout]    --> src/llm/providers/mod.rs:378:4
[INFO] [stdout]     |
[INFO] [stdout] 378 | fn build_google_translate_mt_provider(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `discover_openai_compatible_models` is never used
[INFO] [stdout]    --> src/llm/providers/mod.rs:387:4
[INFO] [stdout]     |
[INFO] [stdout] 387 | fn discover_openai_compatible_models(config: ProviderConfig) -> ProviderDiscoveryFuture {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ChatCompletionsAuth` is never used
[INFO] [stdout]  --> src/llm/providers/chat_completions.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub enum ChatCompletionsAuth {
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ChatCompletionsRequest` is never constructed
[INFO] [stdout]   --> src/llm/providers/chat_completions.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct ChatCompletionsRequest {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ChatMessageContent` is never used
[INFO] [stdout]   --> src/llm/providers/chat_completions.rs:27:6
[INFO] [stdout]    |
[INFO] [stdout] 27 | enum ChatMessageContent {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MultimodalContent` is never used
[INFO] [stdout]   --> src/llm/providers/chat_completions.rs:34:6
[INFO] [stdout]    |
[INFO] [stdout] 34 | enum MultimodalContent {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ImageUrl` is never constructed
[INFO] [stdout]   --> src/llm/providers/chat_completions.rs:40:8
[INFO] [stdout]    |
[INFO] [stdout] 40 | struct ImageUrl {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ChatMessage` is never constructed
[INFO] [stdout]   --> src/llm/providers/chat_completions.rs:45:8
[INFO] [stdout]    |
[INFO] [stdout] 45 | struct ChatMessage {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ChatRequest` is never constructed
[INFO] [stdout]   --> src/llm/providers/chat_completions.rs:51:8
[INFO] [stdout]    |
[INFO] [stdout] 51 | struct ChatRequest<'a> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `send_chat_completion` is never used
[INFO] [stdout]   --> src/llm/providers/chat_completions.rs:60:14
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub async fn send_chat_completion(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ClaudeProvider` is never constructed
[INFO] [stdout]   --> src/llm/providers/claude.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct ClaudeProvider {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UserMessage` is never constructed
[INFO] [stdout]   --> src/llm/providers/claude.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | struct UserMessage {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MessagesRequest` is never constructed
[INFO] [stdout]   --> src/llm/providers/claude.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | struct MessagesRequest<'a> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_BASE_URL_PAID` is never used
[INFO] [stdout]   --> src/llm/providers/deepl.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 16 | const DEFAULT_BASE_URL_PAID: &str = "https://api.deepl.com";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_BASE_URL_FREE` is never used
[INFO] [stdout]   --> src/llm/providers/deepl.rs:17:7
[INFO] [stdout]    |
[INFO] [stdout] 17 | const DEFAULT_BASE_URL_FREE: &str = "https://api-free.deepl.com";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DeeplResponse` is never constructed
[INFO] [stdout]   --> src/llm/providers/deepl.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | struct DeeplResponse {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DeeplTranslation` is never constructed
[INFO] [stdout]   --> src/llm/providers/deepl.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | struct DeeplTranslation {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_free_api_key` is never used
[INFO] [stdout]   --> src/llm/providers/deepl.rs:29:4
[INFO] [stdout]    |
[INFO] [stdout] 29 | fn is_free_api_key(api_key: &str) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `normalize_base_url` is never used
[INFO] [stdout]   --> src/llm/providers/deepl.rs:34:4
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn normalize_base_url(base: Option<&str>, api_key: &str) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `deepl_target_lang` is never used
[INFO] [stdout]   --> src/llm/providers/deepl.rs:47:4
[INFO] [stdout]    |
[INFO] [stdout] 47 | fn deepl_target_lang(language: Language) -> &'static str {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DeeplMtProvider` is never constructed
[INFO] [stdout]   --> src/llm/providers/deepl.rs:92:12
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub struct DeeplMtProvider {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DeepSeekProvider` is never constructed
[INFO] [stdout]   --> src/llm/providers/deepseek.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct DeepSeekProvider {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GeminiProvider` is never constructed
[INFO] [stdout]   --> src/llm/providers/gemini.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct GeminiProvider {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Part` is never constructed
[INFO] [stdout]   --> src/llm/providers/gemini.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | struct Part {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Content` is never constructed
[INFO] [stdout]   --> src/llm/providers/gemini.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | struct Content {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SystemInstruction` is never constructed
[INFO] [stdout]   --> src/llm/providers/gemini.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | struct SystemInstruction {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GenerateRequest` is never constructed
[INFO] [stdout]   --> src/llm/providers/gemini.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | struct GenerateRequest {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GOOGLE_TRANSLATE_URL` is never used
[INFO] [stdout]   --> src/llm/providers/google_translate.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | const GOOGLE_TRANSLATE_URL: &str = "https://translation.googleapis.com/language/translate/v2";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GoogleRequest` is never constructed
[INFO] [stdout]   --> src/llm/providers/google_translate.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | struct GoogleRequest<'a> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GoogleResponse` is never constructed
[INFO] [stdout]   --> src/llm/providers/google_translate.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | struct GoogleResponse {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GoogleData` is never constructed
[INFO] [stdout]   --> src/llm/providers/google_translate.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | struct GoogleData {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GoogleTranslation` is never constructed
[INFO] [stdout]   --> src/llm/providers/google_translate.rs:38:8
[INFO] [stdout]    |
[INFO] [stdout] 38 | struct GoogleTranslation {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GoogleTranslateMtProvider` is never constructed
[INFO] [stdout]   --> src/llm/providers/google_translate.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct GoogleTranslateMtProvider {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OpenAiProvider` is never constructed
[INFO] [stdout]   --> src/llm/providers/openai.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct OpenAiProvider {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OpenAiCompatibleProvider` is never constructed
[INFO] [stdout]   --> src/llm/providers/openai_compatible.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct OpenAiCompatibleProvider {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ModelsResponse` is never constructed
[INFO] [stdout]   --> src/llm/providers/openai_compatible.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | struct ModelsResponse {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ModelEntry` is never constructed
[INFO] [stdout]   --> src/llm/providers/openai_compatible.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | struct ModelEntry {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `list_models` is never used
[INFO] [stdout]   --> src/llm/providers/openai_compatible.rs:39:14
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub async fn list_models(
[INFO] [stdout]    |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `multimodal` is never used
[INFO] [stdout]   --> src/llm/providers/openai_compatible.rs:69:18
[INFO] [stdout]    |
[INFO] [stdout] 68 | impl OpenAiCompatibleProvider {
[INFO] [stdout]    | ----------------------------- method in this implementation
[INFO] [stdout] 69 |     pub async fn multimodal(
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `binarize_mask` is never used
[INFO] [stdout]  --> src/ml/inpainting.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn binarize_mask(mask: &DynamicImage) -> GrayImage {
[INFO] [stdout]   |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_alpha` is never used
[INFO] [stdout]   --> src/ml/inpainting.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn extract_alpha(image: &RgbaImage) -> GrayImage {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HF_REPO` is never used
[INFO] [stdout]   --> src/ml/aot_inpainting/mod.rs:26:7
[INFO] [stdout]    |
[INFO] [stdout] 26 | const HF_REPO: &str = "mayocream/aot-inpainting";
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CONFIG_FILENAME` is never used
[INFO] [stdout]   --> src/ml/aot_inpainting/mod.rs:27:7
[INFO] [stdout]    |
[INFO] [stdout] 27 | const CONFIG_FILENAME: &str = "config.json";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SAFETENSORS_FILENAME` is never used
[INFO] [stdout]   --> src/ml/aot_inpainting/mod.rs:28:7
[INFO] [stdout]    |
[INFO] [stdout] 28 | const SAFETENSORS_FILENAME: &str = "model.safetensors";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AotInpainting` is never constructed
[INFO] [stdout]   --> src/ml/aot_inpainting/mod.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct AotInpainting {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PreparedInput` is never constructed
[INFO] [stdout]   --> src/ml/aot_inpainting/mod.rs:38:8
[INFO] [stdout]    |
[INFO] [stdout] 38 | struct PreparedInput {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AotInpaintingConfig` is never constructed
[INFO] [stdout]   --> src/ml/aot_inpainting/mod.rs:48:8
[INFO] [stdout]    |
[INFO] [stdout] 48 | struct AotInpaintingConfig {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `validate` and `spec` are never used
[INFO] [stdout]   --> src/ml/aot_inpainting/mod.rs:60:8
[INFO] [stdout]    |
[INFO] [stdout] 59 | impl AotInpaintingConfig {
[INFO] [stdout]    | ------------------------ methods in this implementation
[INFO] [stdout] 60 |     fn validate(&self) -> Result<()> {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 88 |     fn spec(&self) -> AotModelSpec {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load`, `load_from_paths`, `inference`, `inference_with_max_side`, `preprocess`, and `postprocess` are never used
[INFO] [stdout]    --> src/ml/aot_inpainting/mod.rs:100:18
[INFO] [stdout]     |
[INFO] [stdout]  99 | impl AotInpainting {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] 100 |     pub async fn load(cpu: bool) -> Result<Self> {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 |     pub fn load_from_paths(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 126 |     pub fn inference(&self, image: &DynamicImage, mask: &DynamicImage) -> Result<DynamicImage> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn inference_with_max_side(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 174 |     fn preprocess(
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 257 |     fn postprocess(&self, output: &Tensor, prepared: &PreparedInput) -> Result<RgbImage> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `prefetch` is never used
[INFO] [stdout]    --> src/ml/aot_inpainting/mod.rs:294:14
[INFO] [stdout]     |
[INFO] [stdout] 294 | pub async fn prefetch() -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_model_paths` is never used
[INFO] [stdout]    --> src/ml/aot_inpainting/mod.rs:299:10
[INFO] [stdout]     |
[INFO] [stdout] 299 | async fn resolve_model_paths() -> Result<(PathBuf, PathBuf)> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `composite_rgb` is never used
[INFO] [stdout]    --> src/ml/aot_inpainting/mod.rs:325:4
[INFO] [stdout]     |
[INFO] [stdout] 325 | fn composite_rgb(original: &RgbImage, predicted: &RgbImage, mask: &GrayImage) -> RgbImage {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RELU_NF_SCALE` is never used
[INFO] [stdout]  --> src/ml/aot_inpainting/model.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | const RELU_NF_SCALE: f64 = 1.713_958_859_443_664_6;
[INFO] [stdout]   |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WEIGHT_STANDARDIZATION_EPS` is never used
[INFO] [stdout]  --> src/ml/aot_inpainting/model.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | const WEIGHT_STANDARDIZATION_EPS: f32 = 1e-4;
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LAYER_NORM_EPS` is never used
[INFO] [stdout]  --> src/ml/aot_inpainting/model.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 | const LAYER_NORM_EPS: f64 = 1e-9;
[INFO] [stdout]   |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AotModelSpec` is never constructed
[INFO] [stdout]   --> src/ml/aot_inpainting/model.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct AotModelSpec {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GatedWsConvPadded` is never constructed
[INFO] [stdout]   --> src/ml/aot_inpainting/model.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | struct GatedWsConvPadded {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]   --> src/ml/aot_inpainting/model.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl GatedWsConvPadded {
[INFO] [stdout]    | ---------------------- associated items in this implementation
[INFO] [stdout] 28 |     fn load(
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     fn forward(&self, xs: &Tensor) -> candle_core::Result<Tensor> {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GatedWsTransposeConvPadded` is never constructed
[INFO] [stdout]   --> src/ml/aot_inpainting/model.rs:64:8
[INFO] [stdout]    |
[INFO] [stdout] 64 | struct GatedWsTransposeConvPadded {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]   --> src/ml/aot_inpainting/model.rs:70:8
[INFO] [stdout]    |
[INFO] [stdout] 69 | impl GatedWsTransposeConvPadded {
[INFO] [stdout]    | ------------------------------- associated items in this implementation
[INFO] [stdout] 70 |     fn load(
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 92 |     fn forward(&self, xs: &Tensor) -> candle_core::Result<Tensor> {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PaddedConvRelu` is never constructed
[INFO] [stdout]    --> src/ml/aot_inpainting/model.rs:100:8
[INFO] [stdout]     |
[INFO] [stdout] 100 | struct PaddedConvRelu {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/aot_inpainting/model.rs:106:8
[INFO] [stdout]     |
[INFO] [stdout] 105 | impl PaddedConvRelu {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout] 106 |     fn load(
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     fn forward(&self, xs: &Tensor) -> candle_core::Result<Tensor> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PaddedConv` is never constructed
[INFO] [stdout]    --> src/ml/aot_inpainting/model.rs:131:8
[INFO] [stdout]     |
[INFO] [stdout] 131 | struct PaddedConv {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/aot_inpainting/model.rs:137:8
[INFO] [stdout]     |
[INFO] [stdout] 136 | impl PaddedConv {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 137 |     fn load(vb: &VarBuilder, channels: usize, kernel_size: usize) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 144 |     fn forward(&self, xs: &Tensor) -> candle_core::Result<Tensor> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AotBlock` is never constructed
[INFO] [stdout]    --> src/ml/aot_inpainting/model.rs:150:8
[INFO] [stdout]     |
[INFO] [stdout] 150 | struct AotBlock {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/aot_inpainting/model.rs:157:8
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl AotBlock {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] 157 |     fn load(vb: &VarBuilder, channels: usize, dilation_rates: &[usize]) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 176 |     fn forward(&self, xs: &Tensor) -> candle_core::Result<Tensor> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AotGenerator` is never constructed
[INFO] [stdout]    --> src/ml/aot_inpainting/model.rs:192:12
[INFO] [stdout]     |
[INFO] [stdout] 192 | pub struct AotGenerator {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/aot_inpainting/model.rs:205:12
[INFO] [stdout]     |
[INFO] [stdout] 204 | impl AotGenerator {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] 205 |     pub fn load(vb: &VarBuilder, spec: &AotModelSpec) -> Result<Self> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 244 |     pub fn forward(&self, image: &Tensor, mask: &Tensor) -> candle_core::Result<Tensor> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `relu_nf` is never used
[INFO] [stdout]    --> src/ml/aot_inpainting/model.rs:260:4
[INFO] [stdout]     |
[INFO] [stdout] 260 | fn relu_nf(xs: &Tensor) -> candle_core::Result<Tensor> {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `my_layer_norm` is never used
[INFO] [stdout]    --> src/ml/aot_inpainting/model.rs:264:4
[INFO] [stdout]     |
[INFO] [stdout] 264 | fn my_layer_norm(xs: &Tensor) -> candle_core::Result<Tensor> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_plain_conv2d` is never used
[INFO] [stdout]    --> src/ml/aot_inpainting/model.rs:275:4
[INFO] [stdout]     |
[INFO] [stdout] 275 | fn load_plain_conv2d(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_scaled_ws_conv2d` is never used
[INFO] [stdout]    --> src/ml/aot_inpainting/model.rs:297:4
[INFO] [stdout]     |
[INFO] [stdout] 297 | fn load_scaled_ws_conv2d(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_scaled_ws_transpose_conv2d` is never used
[INFO] [stdout]    --> src/ml/aot_inpainting/model.rs:321:4
[INFO] [stdout]     |
[INFO] [stdout] 321 | fn load_scaled_ws_transpose_conv2d(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `standardize_conv2d_weight` is never used
[INFO] [stdout]    --> src/ml/aot_inpainting/model.rs:344:4
[INFO] [stdout]     |
[INFO] [stdout] 344 | fn standardize_conv2d_weight(weight: Tensor, gain: Tensor) -> candle_core::Result<Tensor> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `standardize_transpose_conv2d_weight` is never used
[INFO] [stdout]    --> src/ml/aot_inpainting/model.rs:367:4
[INFO] [stdout]     |
[INFO] [stdout] 367 | fn standardize_transpose_conv2d_weight(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `reflect_pad2d` is never used
[INFO] [stdout]    --> src/ml/aot_inpainting/model.rs:393:4
[INFO] [stdout]     |
[INFO] [stdout] 393 | fn reflect_pad2d(xs: &Tensor, pad: usize) -> candle_core::Result<Tensor> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HF_REPO` is never used
[INFO] [stdout]   --> src/ml/comic_text_bubble_detector/mod.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | const HF_REPO: &str = "ogkalu/comic-text-and-bubble-detector";
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_CONFIDENCE_THRESHOLD` is never used
[INFO] [stdout]   --> src/ml/comic_text_bubble_detector/mod.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 16 | const DEFAULT_CONFIDENCE_THRESHOLD: f32 = 0.3;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DETECTOR_NAME` is never used
[INFO] [stdout]   --> src/ml/comic_text_bubble_detector/mod.rs:17:7
[INFO] [stdout]    |
[INFO] [stdout] 17 | const DETECTOR_NAME: &str = "comic-text-bubble-detector";
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ComicTextBubbleDetector` is never constructed
[INFO] [stdout]   --> src/ml/comic_text_bubble_detector/mod.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct ComicTextBubbleDetector {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load`, `inference`, `inference_with_threshold`, and `detect_single_image` are never used
[INFO] [stdout]   --> src/ml/comic_text_bubble_detector/mod.rs:29:18
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl ComicTextBubbleDetector {
[INFO] [stdout]    | ---------------------------- associated items in this implementation
[INFO] [stdout] 29 |     pub async fn load(cpu: bool) -> Result<Self> {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn inference(&self, image: &DynamicImage) -> Result<ComicTextBubbleDetection> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub fn inference_with_threshold(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 92 |     fn detect_single_image(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ComicTextBubbleDetection` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:105:12
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub struct ComicTextBubbleDetection {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_bubble` and `is_text` are never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:122:12
[INFO] [stdout]     |
[INFO] [stdout] 121 | impl ComicTextBubbleRegion {
[INFO] [stdout]     | -------------------------- methods in this implementation
[INFO] [stdout] 122 |     pub fn is_bubble(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 126 |     pub fn is_text(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `validate`, `num_labels`, and `label` are never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:211:19
[INFO] [stdout]     |
[INFO] [stdout] 210 | impl RTDetrV2Config {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] 211 |     pub(crate) fn validate(&self) -> Result<()> {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 233 |     pub(crate) fn num_labels(&self) -> usize {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 237 |     pub(crate) fn label(&self, label_id: usize) -> String {
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:248:9
[INFO] [stdout]     |
[INFO] [stdout] 246 | pub(crate) struct RTDetrResNetConfig {
[INFO] [stdout]     |                   ------------------ fields in this struct
[INFO] [stdout] 247 |     #[serde(default = "default_num_channels")]
[INFO] [stdout] 248 |     pub num_channels: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 249 |     #[serde(default = "default_embedding_size")]
[INFO] [stdout] 250 |     pub embedding_size: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 251 |     #[serde(default = "default_hidden_sizes")]
[INFO] [stdout] 252 |     pub hidden_sizes: Vec<usize>,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 253 |     #[serde(default = "default_depths")]
[INFO] [stdout] 254 |     pub depths: Vec<usize>,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 255 |     #[serde(default = "default_layer_type")]
[INFO] [stdout] 256 |     pub layer_type: String,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 257 |     #[serde(default = "default_hidden_act")]
[INFO] [stdout] 258 |     pub hidden_act: String,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 259 |     #[serde(default)]
[INFO] [stdout] 260 |     pub downsample_in_first_stage: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 261 |     #[serde(default)]
[INFO] [stdout] 262 |     pub downsample_in_bottleneck: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 263 |     #[serde(default = "default_out_features")]
[INFO] [stdout] 264 |     pub out_features: Vec<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RTDetrResNetConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `channels` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:284:19
[INFO] [stdout]     |
[INFO] [stdout] 283 | impl RTDetrResNetConfig {
[INFO] [stdout]     | ----------------------- method in this implementation
[INFO] [stdout] 284 |     pub(crate) fn channels(&self) -> Result<Vec<usize>> {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RTDetrImageProcessorConfig` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:312:19
[INFO] [stdout]     |
[INFO] [stdout] 312 | pub(crate) struct RTDetrImageProcessorConfig {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProcessorSize` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:330:19
[INFO] [stdout]     |
[INFO] [stdout] 330 | pub(crate) struct ProcessorSize {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `preprocess_image` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:337:4
[INFO] [stdout]     |
[INFO] [stdout] 337 | fn preprocess_image(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `post_process_object_detection` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:369:4
[INFO] [stdout]     |
[INFO] [stdout] 369 | fn post_process_object_detection(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `detections_to_text_blocks` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:431:4
[INFO] [stdout]     |
[INFO] [stdout] 431 | fn detections_to_text_blocks(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `filter_and_fix_regions` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:469:4
[INFO] [stdout]     |
[INFO] [stdout] 469 | fn filter_and_fix_regions(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `merge_text_regions` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:491:4
[INFO] [stdout]     |
[INFO] [stdout] 491 | fn merge_text_regions(mut regions: Vec<ComicTextBubbleRegion>) -> Vec<ComicTextBubbleRegion> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clamp_box` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:584:4
[INFO] [stdout]     |
[INFO] [stdout] 584 | fn clamp_box(bbox: [f32; 4], image_width: f32, image_height: f32) -> [f32; 4] {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `scale_box_to_image` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:593:4
[INFO] [stdout]     |
[INFO] [stdout] 593 | fn scale_box_to_image(box_cxcywh: [f32; 4], image_width: f32, image_height: f32) -> [f32; 4] {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sigmoid_scalar` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:606:4
[INFO] [stdout]     |
[INFO] [stdout] 606 | fn sigmoid_scalar(value: f32) -> f32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rectangles_overlap` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:628:4
[INFO] [stdout]     |
[INFO] [stdout] 628 | fn rectangles_overlap(rect1: &[f32; 4], rect2: &[f32; 4], threshold: f32) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_mostly_contained` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:632:4
[INFO] [stdout]     |
[INFO] [stdout] 632 | fn is_mostly_contained(outer: &[f32; 4], inner: &[f32; 4], threshold: f32) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ImageSlicer` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:673:8
[INFO] [stdout]     |
[INFO] [stdout] 673 | struct ImageSlicer {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `should_slice`, `calculate_slice_params`, and `process_slices_for_detection` are never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:692:8
[INFO] [stdout]     |
[INFO] [stdout] 691 | impl ImageSlicer {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] 692 |     fn should_slice(&self, image: &DynamicImage) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 697 |     fn calculate_slice_params(&self, image: &DynamicImage) -> (u32, u32, usize) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 714 |     fn process_slices_for_detection<F>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_true` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:749:10
[INFO] [stdout]     |
[INFO] [stdout] 749 | const fn default_true() -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_activation_function` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:777:4
[INFO] [stdout]     |
[INFO] [stdout] 777 | fn default_activation_function() -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_decoder_activation_function` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:781:4
[INFO] [stdout]     |
[INFO] [stdout] 781 | fn default_decoder_activation_function() -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_encoder_activation_function` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:785:4
[INFO] [stdout]     |
[INFO] [stdout] 785 | fn default_encoder_activation_function() -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_activation_dropout` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:789:10
[INFO] [stdout]     |
[INFO] [stdout] 789 | const fn default_activation_dropout() -> f64 {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_attention_dropout` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:793:10
[INFO] [stdout]     |
[INFO] [stdout] 793 | const fn default_attention_dropout() -> f64 {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_batch_norm_eps` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:797:10
[INFO] [stdout]     |
[INFO] [stdout] 797 | const fn default_batch_norm_eps() -> f64 {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_d_model` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:801:10
[INFO] [stdout]     |
[INFO] [stdout] 801 | const fn default_d_model() -> usize {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_decoder_attention_heads` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:805:10
[INFO] [stdout]     |
[INFO] [stdout] 805 | const fn default_decoder_attention_heads() -> usize {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_decoder_ffn_dim` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:809:10
[INFO] [stdout]     |
[INFO] [stdout] 809 | const fn default_decoder_ffn_dim() -> usize {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_decoder_in_channels` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:813:4
[INFO] [stdout]     |
[INFO] [stdout] 813 | fn default_decoder_in_channels() -> Vec<usize> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_decoder_layers` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:817:10
[INFO] [stdout]     |
[INFO] [stdout] 817 | const fn default_decoder_layers() -> usize {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_decoder_n_levels` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:821:10
[INFO] [stdout]     |
[INFO] [stdout] 821 | const fn default_decoder_n_levels() -> usize {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_decoder_n_points` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:825:10
[INFO] [stdout]     |
[INFO] [stdout] 825 | const fn default_decoder_n_points() -> usize {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_decoder_offset_scale` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:829:10
[INFO] [stdout]     |
[INFO] [stdout] 829 | const fn default_decoder_offset_scale() -> f64 {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_decoder_method` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:833:4
[INFO] [stdout]     |
[INFO] [stdout] 833 | fn default_decoder_method() -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_dropout` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:837:10
[INFO] [stdout]     |
[INFO] [stdout] 837 | const fn default_dropout() -> f64 {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_encode_proj_layers` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:841:4
[INFO] [stdout]     |
[INFO] [stdout] 841 | fn default_encode_proj_layers() -> Vec<usize> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_encoder_attention_heads` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:845:10
[INFO] [stdout]     |
[INFO] [stdout] 845 | const fn default_encoder_attention_heads() -> usize {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_encoder_ffn_dim` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:849:10
[INFO] [stdout]     |
[INFO] [stdout] 849 | const fn default_encoder_ffn_dim() -> usize {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_encoder_hidden_dim` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:853:10
[INFO] [stdout]     |
[INFO] [stdout] 853 | const fn default_encoder_hidden_dim() -> usize {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_encoder_in_channels` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:857:4
[INFO] [stdout]     |
[INFO] [stdout] 857 | fn default_encoder_in_channels() -> Vec<usize> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_encoder_layers` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:861:10
[INFO] [stdout]     |
[INFO] [stdout] 861 | const fn default_encoder_layers() -> usize {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_feature_strides` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:865:4
[INFO] [stdout]     |
[INFO] [stdout] 865 | fn default_feature_strides() -> Vec<usize> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_freeze_backbone_batch_norms` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:869:10
[INFO] [stdout]     |
[INFO] [stdout] 869 | const fn default_freeze_backbone_batch_norms() -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_hidden_expansion` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:873:10
[INFO] [stdout]     |
[INFO] [stdout] 873 | const fn default_hidden_expansion() -> f64 {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_layer_norm_eps` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:877:10
[INFO] [stdout]     |
[INFO] [stdout] 877 | const fn default_layer_norm_eps() -> f64 {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_learn_initial_query` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:881:10
[INFO] [stdout]     |
[INFO] [stdout] 881 | const fn default_learn_initial_query() -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_normalize_before` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:885:10
[INFO] [stdout]     |
[INFO] [stdout] 885 | const fn default_normalize_before() -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_num_feature_levels` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:889:10
[INFO] [stdout]     |
[INFO] [stdout] 889 | const fn default_num_feature_levels() -> usize {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_num_labels` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:893:10
[INFO] [stdout]     |
[INFO] [stdout] 893 | const fn default_num_labels() -> usize {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_num_queries` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:897:10
[INFO] [stdout]     |
[INFO] [stdout] 897 | const fn default_num_queries() -> usize {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_positional_encoding_temperature` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:901:10
[INFO] [stdout]     |
[INFO] [stdout] 901 | const fn default_positional_encoding_temperature() -> usize {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_image_mean` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:913:4
[INFO] [stdout]     |
[INFO] [stdout] 913 | fn default_image_mean() -> [f32; 3] {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_image_std` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:917:4
[INFO] [stdout]     |
[INFO] [stdout] 917 | fn default_image_std() -> [f32; 3] {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_rescale_factor` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:921:10
[INFO] [stdout]     |
[INFO] [stdout] 921 | const fn default_rescale_factor() -> f32 {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_processor_size` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:925:4
[INFO] [stdout]     |
[INFO] [stdout] 925 | fn default_processor_size() -> ProcessorSize {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_processor_height` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:932:10
[INFO] [stdout]     |
[INFO] [stdout] 932 | const fn default_processor_height() -> usize {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_processor_width` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:936:10
[INFO] [stdout]     |
[INFO] [stdout] 936 | const fn default_processor_width() -> usize {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RTDetrV2Outputs` is never constructed
[INFO] [stdout]   --> src/ml/comic_text_bubble_detector/model.rs:12:19
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub(crate) struct RTDetrV2Outputs {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ActivationKind` is never used
[INFO] [stdout]   --> src/ml/comic_text_bubble_detector/model.rs:18:6
[INFO] [stdout]    |
[INFO] [stdout] 18 | enum ActivationKind {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_name` and `forward` are never used
[INFO] [stdout]   --> src/ml/comic_text_bubble_detector/model.rs:26:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl ActivationKind {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 26 |     fn from_name(name: Option<&str>) -> Result<Self> {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     fn forward(&self, xs: &Tensor) -> candle_core::Result<Tensor> {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_linear` is never used
[INFO] [stdout]   --> src/ml/comic_text_bubble_detector/model.rs:46:4
[INFO] [stdout]    |
[INFO] [stdout] 46 | fn load_linear(vb: VarBuilder, in_dim: usize, out_dim: usize) -> Result<Linear> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_batch_norm` is never used
[INFO] [stdout]   --> src/ml/comic_text_bubble_detector/model.rs:53:4
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn load_batch_norm(vb: VarBuilder, channels: usize, eps: f64) -> Result<BatchNorm> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_conv2d_module` is never used
[INFO] [stdout]   --> src/ml/comic_text_bubble_detector/model.rs:65:4
[INFO] [stdout]    |
[INFO] [stdout] 65 | fn load_conv2d_module(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_layer_norm` is never used
[INFO] [stdout]   --> src/ml/comic_text_bubble_detector/model.rs:94:4
[INFO] [stdout]    |
[INFO] [stdout] 94 | fn load_layer_norm(vb: VarBuilder, hidden_size: usize, eps: f64) -> Result<LayerNorm> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pad_all_sides_one` is never used
[INFO] [stdout]   --> src/ml/comic_text_bubble_detector/model.rs:98:4
[INFO] [stdout]    |
[INFO] [stdout] 98 | fn pad_all_sides_one(xs: &Tensor) -> candle_core::Result<Tensor> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProjectionBlock` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/model.rs:103:8
[INFO] [stdout]     |
[INFO] [stdout] 103 | struct ProjectionBlock {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/model.rs:110:8
[INFO] [stdout]     |
[INFO] [stdout] 108 | impl ProjectionBlock {
[INFO] [stdout]     | -------------------- associated function in this implementation
[INFO] [stdout] 109 |     #[allow(clippy::too_many_arguments)]
[INFO] [stdout] 110 |     fn load(
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RTDetrResNetConvLayer` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/model.rs:142:8
[INFO] [stdout]     |
[INFO] [stdout] 142 | struct RTDetrResNetConvLayer {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/model.rs:149:8
[INFO] [stdout]     |
[INFO] [stdout] 148 | impl RTDetrResNetConvLayer {
[INFO] [stdout]     | -------------------------- associated items in this implementation
[INFO] [stdout] 149 |     fn load(
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |     fn forward(&self, xs: &Tensor) -> Result<Tensor> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RTDetrResNetShortcut` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/model.rs:181:8
[INFO] [stdout]     |
[INFO] [stdout] 181 | struct RTDetrResNetShortcut {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/model.rs:187:8
[INFO] [stdout]     |
[INFO] [stdout] 186 | impl RTDetrResNetShortcut {
[INFO] [stdout]     | ------------------------- associated items in this implementation
[INFO] [stdout] 187 |     fn load(
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 208 |     fn forward(&self, xs: &Tensor) -> Result<Tensor> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RTDetrResNetBottleNeckLayer` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/model.rs:215:8
[INFO] [stdout]     |
[INFO] [stdout] 215 | struct RTDetrResNetBottleNeckLayer {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/model.rs:225:8
[INFO] [stdout]     |
[INFO] [stdout] 224 | impl RTDetrResNetBottleNeckLayer {
[INFO] [stdout]     | -------------------------------- associated items in this implementation
[INFO] [stdout] 225 |     fn load(
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 297 |     fn forward(&self, xs: &Tensor) -> Result<Tensor> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RTDetrResNetStage` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/model.rs:315:8
[INFO] [stdout]     |
[INFO] [stdout] 315 | struct RTDetrResNetStage {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/model.rs:320:8
[INFO] [stdout]     |
[INFO] [stdout] 319 | impl RTDetrResNetStage {
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout] 320 |     fn load(
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 351 |     fn forward(&self, xs: &Tensor) -> Result<Tensor> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RTDetrResNetEmbeddings` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/model.rs:361:8
[INFO] [stdout]     |
[INFO] [stdout] 361 | struct RTDetrResNetEmbeddings {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/model.rs:369:8
[INFO] [stdout]     |
[INFO] [stdout] 368 | impl RTDetrResNetEmbeddings {
[INFO] [stdout]     | --------------------------- associated items in this implementation
[INFO] [stdout] 369 |     fn load(vb: VarBuilder, config: &RTDetrResNetConfig, eps: f64) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 402 |     fn forward(&self, xs: &Tensor) -> Result<Tensor> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RTDetrResNetBackbone` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/model.rs:419:8
[INFO] [stdout]     |
[INFO] [stdout] 419 | struct RTDetrResNetBackbone {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/model.rs:427:8
[INFO] [stdout]     |
[INFO] [stdout] 426 | impl RTDetrResNetBackbone {
[INFO] [stdout]     | ------------------------- associated items in this implementation
[INFO] [stdout] 427 |     fn load(vb: VarBuilder, config: &RTDetrResNetConfig, eps: f64) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 460 |     fn forward(&self, pixel_values: &Tensor) -> Result<Vec<Tensor>> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RTDetrV2ConvEncoder` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/model.rs:482:8
[INFO] [stdout]     |
[INFO] [stdout] 482 | struct RTDetrV2ConvEncoder {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/model.rs:488:8
[INFO] [stdout]     |
[INFO] [stdout] 487 | impl RTDetrV2ConvEncoder {
[INFO] [stdout]     | ------------------------ associated items in this implementation
[INFO] [stdout] 488 |     fn load(vb: VarBuilder, config: &RTDetrV2Config) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 500 |     fn forward(&self, pixel_values: &Tensor) -> Result<Vec<Tensor>> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RTDetrV2MultiheadAttention` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/model.rs:506:8
[INFO] [stdout]     |
[INFO] [stdout] 506 | struct RTDetrV2MultiheadAttention {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/model.rs:517:8
[INFO] [stdout]     |
[INFO] [stdout] 516 | impl RTDetrV2MultiheadAttention {
[INFO] [stdout]     | ------------------------------- associated items in this implementation
[INFO] [stdout] 517 |     fn load(vb: VarBuilder, hidden_size: usize, num_attention_heads: usize) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 535 |     fn forward(
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RTDetrV2FeedForward` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/model.rs:585:8
[INFO] [stdout]     |
[INFO] [stdout] 585 | struct RTDetrV2FeedForward {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/model.rs:592:8
[INFO] [stdout]     |
[INFO] [stdout] 591 | impl RTDetrV2FeedForward {
[INFO] [stdout]     | ------------------------ associated items in this implementation
[INFO] [stdout] 592 |     fn load(
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 605 |     fn forward(&self, xs: &Tensor) -> Result<Tensor> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RTDetrV2EncoderLayer` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/model.rs:613:8
[INFO] [stdout]     |
[INFO] [stdout] 613 | struct RTDetrV2EncoderLayer {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/model.rs:622:8
[INFO] [stdout]     |
[INFO] [stdout] 621 | impl RTDetrV2EncoderLayer {
[INFO] [stdout]     | ------------------------- associated items in this implementation
[INFO] [stdout] 622 |     fn load(vb: VarBuilder, config: &RTDetrV2Config) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 649 |     fn forward(&self, hidden_states: &Tensor, position_embeddings: &Tensor) -> Result<Tensor> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RTDetrV2Encoder` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/model.rs:680:8
[INFO] [stdout]     |
[INFO] [stdout] 680 | struct RTDetrV2Encoder {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/model.rs:685:8
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl RTDetrV2Encoder {
[INFO] [stdout]     | -------------------- associated items in this implementation
[INFO] [stdout] 685 |     fn load(vb: VarBuilder, config: &RTDetrV2Config) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 696 |     fn forward(&self, src: &Tensor, pos_embed: &Tensor) -> Result<Tensor> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RTDetrV2ConvNormLayer` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/model.rs:706:8
[INFO] [stdout]     |
[INFO] [stdout] 706 | struct RTDetrV2ConvNormLayer {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/model.rs:714:8
[INFO] [stdout]     |
[INFO] [stdout] 712 | impl RTDetrV2ConvNormLayer {
[INFO] [stdout]     | -------------------------- associated items in this implementation
[INFO] [stdout] 713 |     #[allow(clippy::too_many_arguments)]
[INFO] [stdout] 714 |     fn load(
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 739 |     fn forward(&self, xs: &Tensor) -> Result<Tensor> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RTDetrV2RepVggBlock` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/model.rs:747:8
[INFO] [stdout]     |
[INFO] [stdout] 747 | struct RTDetrV2RepVggBlock {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/model.rs:754:8
[INFO] [stdout]     |
[INFO] [stdout] 753 | impl RTDetrV2RepVggBlock {
[INFO] [stdout]     | ------------------------ associated items in this implementation
[INFO] [stdout] 754 |     fn load(vb: VarBuilder, config: &RTDetrV2Config) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 781 |     fn forward(&self, xs: &Tensor) -> Result<Tensor> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RTDetrV2CSPRepLayer` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/model.rs:791:8
[INFO] [stdout]     |
[INFO] [stdout] 791 | struct RTDetrV2CSPRepLayer {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/model.rs:799:8
[INFO] [stdout]     |
[INFO] [stdout] 798 | impl RTDetrV2CSPRepLayer {
[INFO] [stdout]     | ------------------------ associated items in this implementation
[INFO] [stdout] 799 |     fn load(vb: VarBuilder, config: &RTDetrV2Config) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 853 |     fn forward(&self, xs: &Tensor) -> Result<Tensor> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RTDetrV2SinePositionEmbedding` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/model.rs:868:8
[INFO] [stdout]     |
[INFO] [stdout] 868 | struct RTDetrV2SinePositionEmbedding {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `forward` are never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/model.rs:874:8
[INFO] [stdout]     |
[INFO] [stdout] 873 | impl RTDetrV2SinePositionEmbedding {
[INFO] [stdout]     | ---------------------------------- associated items in this implementation
[INFO] [stdout] 874 |     fn new(embed_dim: usize, temperature: usize) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 881 |     fn forward(&self, width: usize, height: usize, device: &Device) -> Result<Tensor> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RTDetrV2HybridEncoder` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/model.rs:907:8
[INFO] [stdout]     |
[INFO] [stdout] 907 | struct RTDetrV2HybridEncoder {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/model.rs:920:8
[INFO] [stdout]     |
[INFO] [stdout] 919 | impl RTDetrV2HybridEncoder {
[INFO] [stdout]     | -------------------------- associated items in this implementation
[INFO] [stdout] 920 |     fn load(vb: VarBuilder, config: &RTDetrV2Config) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 981 |     fn forward(&self, feature_maps: &[Tensor]) -> Result<Vec<Tensor>> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RTDetrV2MultiscaleDeformableAttention` is never constructed
[INFO] [stdout]     --> src/ml/comic_text_bubble_detector/model.rs:1034:8
[INFO] [stdout]      |
[INFO] [stdout] 1034 | struct RTDetrV2MultiscaleDeformableAttention {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]     --> src/ml/comic_text_bubble_detector/model.rs:1047:8
[INFO] [stdout]      |
[INFO] [stdout] 1046 | impl RTDetrV2MultiscaleDeformableAttention {
[INFO] [stdout]      | ------------------------------------------ associated items in this implementation
[INFO] [stdout] 1047 |     fn load(vb: VarBuilder, config: &RTDetrV2Config) -> Result<Self> {
[INFO] [stdout]      |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1082 |     fn forward(
[INFO] [stdout]      |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RTDetrV2DecoderLayer` is never constructed
[INFO] [stdout]     --> src/ml/comic_text_bubble_detector/model.rs:1152:8
[INFO] [stdout]      |
[INFO] [stdout] 1152 | struct RTDetrV2DecoderLayer {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]     --> src/ml/comic_text_bubble_detector/model.rs:1162:8
[INFO] [stdout]      |
[INFO] [stdout] 1161 | impl RTDetrV2DecoderLayer {
[INFO] [stdout]      | ------------------------- associated items in this implementation
[INFO] [stdout] 1162 |     fn load(vb: VarBuilder, config: &RTDetrV2Config) -> Result<Self> {
[INFO] [stdout]      |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1197 |     fn forward(
[INFO] [stdout]      |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RTDetrV2MlpPredictionHead` is never constructed
[INFO] [stdout]     --> src/ml/comic_text_bubble_detector/model.rs:1234:8
[INFO] [stdout]      |
[INFO] [stdout] 1234 | struct RTDetrV2MlpPredictionHead {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]     --> src/ml/comic_text_bubble_detector/model.rs:1240:8
[INFO] [stdout]      |
[INFO] [stdout] 1239 | impl RTDetrV2MlpPredictionHead {
[INFO] [stdout]      | ------------------------------ associated items in this implementation
[INFO] [stdout] 1240 |     fn load(
[INFO] [stdout]      |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1268 |     fn forward(&self, xs: &Tensor) -> Result<Tensor> {
[INFO] [stdout]      |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RTDetrV2Decoder` is never constructed
[INFO] [stdout]     --> src/ml/comic_text_bubble_detector/model.rs:1281:8
[INFO] [stdout]      |
[INFO] [stdout] 1281 | struct RTDetrV2Decoder {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]     --> src/ml/comic_text_bubble_detector/model.rs:1289:8
[INFO] [stdout]      |
[INFO] [stdout] 1288 | impl RTDetrV2Decoder {
[INFO] [stdout]      | -------------------- associated items in this implementation
[INFO] [stdout] 1289 |     fn load(vb: VarBuilder, config: &RTDetrV2Config) -> Result<Self> {
[INFO] [stdout]      |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1325 |     fn forward(
[INFO] [stdout]      |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RTDetrV2Model` is never constructed
[INFO] [stdout]     --> src/ml/comic_text_bubble_detector/model.rs:1364:8
[INFO] [stdout]      |
[INFO] [stdout] 1364 | struct RTDetrV2Model {
[INFO] [stdout]      |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]     --> src/ml/comic_text_bubble_detector/model.rs:1378:8
[INFO] [stdout]      |
[INFO] [stdout] 1377 | impl RTDetrV2Model {
[INFO] [stdout]      | ------------------ associated items in this implementation
[INFO] [stdout] 1378 |     fn load(vb: VarBuilder, config: &RTDetrV2Config) -> Result<Self> {
[INFO] [stdout]      |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1451 |     fn forward(&self, pixel_values: &Tensor) -> Result<RTDetrV2Outputs> {
[INFO] [stdout]      |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RTDetrV2ForObjectDetection` is never constructed
[INFO] [stdout]     --> src/ml/comic_text_bubble_detector/model.rs:1513:19
[INFO] [stdout]      |
[INFO] [stdout] 1513 | pub(crate) struct RTDetrV2ForObjectDetection {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]     --> src/ml/comic_text_bubble_detector/model.rs:1518:19
[INFO] [stdout]      |
[INFO] [stdout] 1517 | impl RTDetrV2ForObjectDetection {
[INFO] [stdout]      | ------------------------------- associated items in this implementation
[INFO] [stdout] 1518 |     pub(crate) fn load(vb: VarBuilder, config: &RTDetrV2Config) -> Result<Self> {
[INFO] [stdout]      |                   ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1524 |     pub(crate) fn forward(&self, pixel_values: &Tensor) -> Result<RTDetrV2Outputs> {
[INFO] [stdout]      |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_anchors` is never used
[INFO] [stdout]     --> src/ml/comic_text_bubble_detector/model.rs:1529:4
[INFO] [stdout]      |
[INFO] [stdout] 1529 | fn generate_anchors(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `topk_query_indices` is never used
[INFO] [stdout]     --> src/ml/comic_text_bubble_detector/model.rs:1584:4
[INFO] [stdout]      |
[INFO] [stdout] 1584 | fn topk_query_indices(scores: &Tensor, topk: usize) -> Result<Tensor> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `batch_gather_rows` is never used
[INFO] [stdout]     --> src/ml/comic_text_bubble_detector/model.rs:1604:4
[INFO] [stdout]      |
[INFO] [stdout] 1604 | fn batch_gather_rows(tensor: &Tensor, indices: &Tensor) -> Result<Tensor> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `inverse_sigmoid_tensor` is never used
[INFO] [stdout]     --> src/ml/comic_text_bubble_detector/model.rs:1621:4
[INFO] [stdout]      |
[INFO] [stdout] 1621 | fn inverse_sigmoid_tensor(tensor: &Tensor) -> Result<Tensor> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `inverse_sigmoid_to_sigmoid` is never used
[INFO] [stdout]     --> src/ml/comic_text_bubble_detector/model.rs:1626:4
[INFO] [stdout]      |
[INFO] [stdout] 1626 | fn inverse_sigmoid_to_sigmoid(tensor: &Tensor) -> Result<Tensor> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `multi_scale_deformable_attention` is never used
[INFO] [stdout]     --> src/ml/comic_text_bubble_detector/model.rs:1630:4
[INFO] [stdout]      |
[INFO] [stdout] 1630 | fn multi_scale_deformable_attention(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bilinear_sample_nchw` is never used
[INFO] [stdout]     --> src/ml/comic_text_bubble_detector/model.rs:1788:4
[INFO] [stdout]      |
[INFO] [stdout] 1788 | fn bilinear_sample_nchw(xs: &Tensor, sample_y: &Tensor, sample_x: &Tensor) -> Result<Tensor> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gather_nchw_at` is never used
[INFO] [stdout]     --> src/ml/comic_text_bubble_detector/model.rs:1835:4
[INFO] [stdout]      |
[INFO] [stdout] 1835 | fn gather_nchw_at(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HF_REPO` is never used
[INFO] [stdout]   --> src/ml/comic_text_detector/mod.rs:22:7
[INFO] [stdout]    |
[INFO] [stdout] 22 | const HF_REPO: &str = "mayocream/comic-text-detector";
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CONFIDENCE_THRESHOLD` is never used
[INFO] [stdout]   --> src/ml/comic_text_detector/mod.rs:23:7
[INFO] [stdout]    |
[INFO] [stdout] 23 | const CONFIDENCE_THRESHOLD: f32 = 0.4;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NMS_THRESHOLD` is never used
[INFO] [stdout]   --> src/ml/comic_text_detector/mod.rs:24:7
[INFO] [stdout]    |
[INFO] [stdout] 24 | const NMS_THRESHOLD: f32 = 0.35;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DBNET_BINARIZE_K` is never used
[INFO] [stdout]   --> src/ml/comic_text_detector/mod.rs:25:7
[INFO] [stdout]    |
[INFO] [stdout] 25 | const DBNET_BINARIZE_K: f64 = 50.0;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DILATION_RADIUS` is never used
[INFO] [stdout]   --> src/ml/comic_text_detector/mod.rs:27:7
[INFO] [stdout]    |
[INFO] [stdout] 27 | const DILATION_RADIUS: u32 = 3;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HOLE_CLOSE_RADIUS` is never used
[INFO] [stdout]   --> src/ml/comic_text_detector/mod.rs:28:7
[INFO] [stdout]    |
[INFO] [stdout] 28 | const HOLE_CLOSE_RADIUS: u32 = 10;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BBOX_DILATION` is never used
[INFO] [stdout]   --> src/ml/comic_text_detector/mod.rs:29:7
[INFO] [stdout]    |
[INFO] [stdout] 29 | const BBOX_DILATION: f32 = 1.0;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GPU_DETECT_SIZE` is never used
[INFO] [stdout]   --> src/ml/comic_text_detector/mod.rs:30:7
[INFO] [stdout]    |
[INFO] [stdout] 30 | const GPU_DETECT_SIZE: u32 = 1024;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CPU_DETECT_SIZE` is never used
[INFO] [stdout]   --> src/ml/comic_text_detector/mod.rs:31:7
[INFO] [stdout]    |
[INFO] [stdout] 31 | const CPU_DETECT_SIZE: u32 = 640;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ComicTextDetector` is never constructed
[INFO] [stdout]   --> src/ml/comic_text_detector/mod.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct ComicTextDetector {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/ml/comic_text_detector/mod.rs:41:18
[INFO] [stdout]     |
[INFO] [stdout]  40 | impl ComicTextDetector {
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout]  41 |     pub async fn load(cpu: bool) -> anyhow::Result<Self> {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  45 |     pub async fn load_segmentation_only(cpu: bool) -> anyhow::Result<Self> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  49 |     async fn load_inner(cpu: bool, load_dbnet: bool) -> anyhow::Result<Self> {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  77 |     pub fn inference(&self, image: &DynamicImage) -> anyhow::Result<ComicTextDetection> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub fn inference_segmentation(&self, image: &DynamicImage) -> anyhow::Result<GrayImage> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 118 |     fn forward(&self, image: &Tensor) -> anyhow::Result<(Tensor, Tensor, Tensor)> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     fn forward_mask(&self, image: &Tensor) -> anyhow::Result<Tensor> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `preprocess` is never used
[INFO] [stdout]    --> src/ml/comic_text_detector/mod.rs:151:4
[INFO] [stdout]     |
[INFO] [stdout] 151 | fn preprocess(image: &DynamicImage, device: &Device) -> anyhow::Result<(Tensor, (u32, u32))> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `postprocess_yolo` is never used
[INFO] [stdout]    --> src/ml/comic_text_detector/mod.rs:179:4
[INFO] [stdout]     |
[INFO] [stdout] 179 | fn postprocess_yolo(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `postprocess_mask` is never used
[INFO] [stdout]    --> src/ml/comic_text_detector/mod.rs:232:4
[INFO] [stdout]     |
[INFO] [stdout] 232 | fn postprocess_mask(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `postprocess_unet_mask` is never used
[INFO] [stdout]    --> src/ml/comic_text_detector/mod.rs:282:4
[INFO] [stdout]     |
[INFO] [stdout] 282 | fn postprocess_unet_mask(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tensor_channel_to_gray_resized` is never used
[INFO] [stdout]    --> src/ml/comic_text_detector/mod.rs:295:4
[INFO] [stdout]     |
[INFO] [stdout] 295 | fn tensor_channel_to_gray_resized(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bboxes_to_text_blocks` is never used
[INFO] [stdout]    --> src/ml/comic_text_detector/mod.rs:319:4
[INFO] [stdout]     |
[INFO] [stdout] 319 | fn bboxes_to_text_blocks(mut bboxes: Vec<Bbox<usize>>) -> Vec<TextBlock> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dilate_tensor` is never used
[INFO] [stdout]    --> src/ml/comic_text_detector/mod.rs:339:4
[INFO] [stdout]     |
[INFO] [stdout] 339 | fn dilate_tensor(mask: &Tensor, radius: usize) -> anyhow::Result<Tensor> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `erode_tensor` is never used
[INFO] [stdout]    --> src/ml/comic_text_detector/mod.rs:347:4
[INFO] [stdout]     |
[INFO] [stdout] 347 | fn erode_tensor(mask: &Tensor, radius: usize) -> anyhow::Result<Tensor> {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `morph_close` is never used
[INFO] [stdout]    --> src/ml/comic_text_detector/mod.rs:353:4
[INFO] [stdout]     |
[INFO] [stdout] 353 | fn morph_close(mask: &Tensor, radius: usize) -> anyhow::Result<Tensor> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `prefetch` is never used
[INFO] [stdout]    --> src/ml/comic_text_detector/mod.rs:358:14
[INFO] [stdout]     |
[INFO] [stdout] 358 | pub async fn prefetch() -> anyhow::Result<()> {
[INFO] [stdout]     |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `prefetch_segmentation` is never used
[INFO] [stdout]    --> src/ml/comic_text_detector/mod.rs:365:14
[INFO] [stdout]     |
[INFO] [stdout] 365 | pub async fn prefetch_segmentation() -> anyhow::Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Act` is never used
[INFO] [stdout]  --> src/ml/comic_text_detector/dbnet.rs:8:6
[INFO] [stdout]   |
[INFO] [stdout] 8 | enum Act {
[INFO] [stdout]   |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConvBnAct` is never constructed
[INFO] [stdout]   --> src/ml/comic_text_detector/dbnet.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | struct ConvBnAct {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]   --> src/ml/comic_text_detector/dbnet.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl ConvBnAct {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 20 |     fn load(
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Bottleneck` is never constructed
[INFO] [stdout]   --> src/ml/comic_text_detector/dbnet.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | struct Bottleneck {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]   --> src/ml/comic_text_detector/dbnet.rs:60:8
[INFO] [stdout]    |
[INFO] [stdout] 59 | impl Bottleneck {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 60 |     fn load(vb: VarBuilder, c1: usize, c2: usize, shortcut: bool, act: Act) -> Result<Self> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `C3` is never constructed
[INFO] [stdout]   --> src/ml/comic_text_detector/dbnet.rs:79:8
[INFO] [stdout]    |
[INFO] [stdout] 79 | struct C3 {
[INFO] [stdout]    |        ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]   --> src/ml/comic_text_detector/dbnet.rs:87:8
[INFO] [stdout]    |
[INFO] [stdout] 86 | impl C3 {
[INFO] [stdout]    | ------- associated function in this implementation
[INFO] [stdout] 87 |     fn load(
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DoubleConvUpC3` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_detector/dbnet.rs:127:8
[INFO] [stdout]     |
[INFO] [stdout] 127 | struct DoubleConvUpC3 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]    --> src/ml/comic_text_detector/dbnet.rs:134:8
[INFO] [stdout]     |
[INFO] [stdout] 133 | impl DoubleConvUpC3 {
[INFO] [stdout]     | ------------------- associated function in this implementation
[INFO] [stdout] 134 |     fn load(vb: VarBuilder, c1: usize, c2: usize, act: Act) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConvBnRelu` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_detector/dbnet.rs:158:8
[INFO] [stdout]     |
[INFO] [stdout] 158 | struct ConvBnRelu {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]    --> src/ml/comic_text_detector/dbnet.rs:164:8
[INFO] [stdout]     |
[INFO] [stdout] 163 | impl ConvBnRelu {
[INFO] [stdout]     | --------------- associated function in this implementation
[INFO] [stdout] 164 |     fn load(vb: VarBuilder, c1: usize, c2: usize, k: usize, use_bias: bool) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BinarizeHead` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_detector/dbnet.rs:192:8
[INFO] [stdout]     |
[INFO] [stdout] 192 | struct BinarizeHead {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/comic_text_detector/dbnet.rs:200:8
[INFO] [stdout]     |
[INFO] [stdout] 199 | impl BinarizeHead {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] 200 |     fn load(vb: VarBuilder, c1: usize) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 219 |     fn forward(&self, xs: &Tensor) -> Result<Tensor> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ThreshHead` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_detector/dbnet.rs:228:8
[INFO] [stdout]     |
[INFO] [stdout] 228 | struct ThreshHead {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/comic_text_detector/dbnet.rs:236:8
[INFO] [stdout]     |
[INFO] [stdout] 235 | impl ThreshHead {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 236 |     fn load(vb: VarBuilder, c1: usize) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 255 |     fn forward(&self, xs: &Tensor) -> Result<Tensor> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DbNet` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_detector/dbnet.rs:263:12
[INFO] [stdout]     |
[INFO] [stdout] 263 | pub struct DbNet {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/comic_text_detector/dbnet.rs:272:12
[INFO] [stdout]     |
[INFO] [stdout] 271 | impl DbNet {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout] 272 |     pub fn load(vb: VarBuilder) -> Result<Self> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 283 |     pub fn forward(&self, f80: &Tensor, f40: &Tensor, u40: &Tensor) -> Result<Tensor> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ComicTextDetection` is never constructed
[INFO] [stdout]   --> src/ml/comic_text_detector/postprocess.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct ComicTextDetection {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConvBnAct` is never constructed
[INFO] [stdout]   --> src/ml/comic_text_detector/unet.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | struct ConvBnAct {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]   --> src/ml/comic_text_detector/unet.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl ConvBnAct {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 22 |     fn load(
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Bottleneck` is never constructed
[INFO] [stdout]   --> src/ml/comic_text_detector/unet.rs:56:8
[INFO] [stdout]    |
[INFO] [stdout] 56 | struct Bottleneck {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]   --> src/ml/comic_text_detector/unet.rs:63:8
[INFO] [stdout]    |
[INFO] [stdout] 62 | impl Bottleneck {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 63 |     fn load(vb: VarBuilder, c1: usize, c2: usize, shortcut: bool, act: Act) -> Result<Self> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `C3` is never constructed
[INFO] [stdout]   --> src/ml/comic_text_detector/unet.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 82 | struct C3 {
[INFO] [stdout]    |        ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]   --> src/ml/comic_text_detector/unet.rs:90:8
[INFO] [stdout]    |
[INFO] [stdout] 89 | impl C3 {
[INFO] [stdout]    | ------- associated function in this implementation
[INFO] [stdout] 90 |     fn load(
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DoubleConvC3` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_detector/unet.rs:132:8
[INFO] [stdout]     |
[INFO] [stdout] 132 | struct DoubleConvC3 {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]    --> src/ml/comic_text_detector/unet.rs:138:8
[INFO] [stdout]     |
[INFO] [stdout] 137 | impl DoubleConvC3 {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] 138 |     fn load(vb: VarBuilder, c1: usize, c2: usize, stride: usize, act: Act) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DoubleConvUpC3` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_detector/unet.rs:159:8
[INFO] [stdout]     |
[INFO] [stdout] 159 | struct DoubleConvUpC3 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]    --> src/ml/comic_text_detector/unet.rs:166:8
[INFO] [stdout]     |
[INFO] [stdout] 165 | impl DoubleConvUpC3 {
[INFO] [stdout]     | ------------------- associated function in this implementation
[INFO] [stdout] 166 |     fn load(vb: VarBuilder, c1: usize, c2: usize, act: Act) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UpsampleConv` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_detector/unet.rs:190:8
[INFO] [stdout]     |
[INFO] [stdout] 190 | struct UpsampleConv {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]    --> src/ml/comic_text_detector/unet.rs:195:8
[INFO] [stdout]     |
[INFO] [stdout] 194 | impl UpsampleConv {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] 195 |     fn load(vb: VarBuilder, c1: usize, c2: usize) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UNet` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_detector/unet.rs:214:12
[INFO] [stdout]     |
[INFO] [stdout] 214 | pub struct UNet {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/comic_text_detector/unet.rs:225:12
[INFO] [stdout]     |
[INFO] [stdout] 224 | impl UNet {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout] 225 |     pub fn load(vb: VarBuilder) -> Result<Self> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 238 |     pub fn forward(
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Upsample` is never constructed
[INFO] [stdout]  --> src/ml/comic_text_detector/yolo_v5.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | struct Upsample {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/ml/comic_text_detector/yolo_v5.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Upsample {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 14 |     fn new(scale_factor: usize) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConvBnSiLu` is never constructed
[INFO] [stdout]   --> src/ml/comic_text_detector/yolo_v5.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | struct ConvBnSiLu {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]   --> src/ml/comic_text_detector/yolo_v5.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | impl ConvBnSiLu {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 35 |     fn load(
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Bottleneck` is never constructed
[INFO] [stdout]   --> src/ml/comic_text_detector/yolo_v5.rs:67:8
[INFO] [stdout]    |
[INFO] [stdout] 67 | struct Bottleneck {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]   --> src/ml/comic_text_detector/yolo_v5.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 73 | impl Bottleneck {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 74 |     fn load(vb: VarBuilder, c1: usize, c2: usize, shortcut: bool, expansion: f32) -> Result<Self> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `C3` is never constructed
[INFO] [stdout]   --> src/ml/comic_text_detector/yolo_v5.rs:95:8
[INFO] [stdout]    |
[INFO] [stdout] 95 | struct C3 {
[INFO] [stdout]    |        ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]    --> src/ml/comic_text_detector/yolo_v5.rs:103:8
[INFO] [stdout]     |
[INFO] [stdout] 102 | impl C3 {
[INFO] [stdout]     | ------- associated function in this implementation
[INFO] [stdout] 103 |     fn load(
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Sppf` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_detector/yolo_v5.rs:139:8
[INFO] [stdout]     |
[INFO] [stdout] 139 | struct Sppf {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]    --> src/ml/comic_text_detector/yolo_v5.rs:146:8
[INFO] [stdout]     |
[INFO] [stdout] 145 | impl Sppf {
[INFO] [stdout]     | --------- associated function in this implementation
[INFO] [stdout] 146 |     fn load(vb: VarBuilder, c1: usize, c2: usize, k: usize) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CspDarknet53` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_detector/yolo_v5.rs:175:8
[INFO] [stdout]     |
[INFO] [stdout] 175 | struct CspDarknet53 {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/comic_text_detector/yolo_v5.rs:189:8
[INFO] [stdout]     |
[INFO] [stdout] 188 | impl CspDarknet53 {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] 189 |     fn load(vb: VarBuilder) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 214 |     fn forward(&self, xs: &Tensor) -> Result<(Tensor, Tensor, Tensor, Vec<Tensor>)> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PanetNeck` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_detector/yolo_v5.rs:234:8
[INFO] [stdout]     |
[INFO] [stdout] 234 | struct PanetNeck {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/comic_text_detector/yolo_v5.rs:247:8
[INFO] [stdout]     |
[INFO] [stdout] 246 | impl PanetNeck {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] 247 |     fn load(vb: VarBuilder) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 270 |     fn forward(&self, p3: &Tensor, p4: &Tensor, p5: &Tensor) -> Result<[Tensor; 3]> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `YoloV3Head` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_detector/yolo_v5.rs:291:8
[INFO] [stdout]     |
[INFO] [stdout] 291 | struct YoloV3Head {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load`, `make_grid`, and `forward` are never used
[INFO] [stdout]    --> src/ml/comic_text_detector/yolo_v5.rs:300:8
[INFO] [stdout]     |
[INFO] [stdout] 299 | impl YoloV3Head {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 300 |     fn load(vb: VarBuilder, num_classes: usize, num_anchors: usize) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 334 |     fn make_grid(
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 358 |     fn forward(&self, inputs: &[Tensor; 3]) -> Result<(Tensor, Vec<Tensor>)> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `YoloV5` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_detector/yolo_v5.rs:388:12
[INFO] [stdout]     |
[INFO] [stdout] 388 | pub struct YoloV5 {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/comic_text_detector/yolo_v5.rs:395:12
[INFO] [stdout]     |
[INFO] [stdout] 394 | impl YoloV5 {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout] 395 |     pub fn load(vb: VarBuilder, num_classes: usize, num_anchors: usize) -> Result<Self> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 407 |     pub fn forward(&self, xs: &Tensor) -> Result<(Tensor, Vec<Tensor>)> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FONT_COUNT` is never used
[INFO] [stdout]   --> src/ml/font_detector/mod.rs:13:18
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub(super) const FONT_COUNT: usize = 6_150;
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REGRESSION_START` is never used
[INFO] [stdout]   --> src/ml/font_detector/mod.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const REGRESSION_START: usize = FONT_COUNT + 2;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REGRESSION_DIM` is never used
[INFO] [stdout]   --> src/ml/font_detector/mod.rs:15:18
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub(super) const REGRESSION_DIM: usize = 10;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HF_REPO` is never used
[INFO] [stdout]   --> src/ml/font_detector/mod.rs:17:7
[INFO] [stdout]    |
[INFO] [stdout] 17 | const HF_REPO: &str = "fffonion/yuzumarker-font-detection";
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FontDetector` is never constructed
[INFO] [stdout]   --> src/ml/font_detector/mod.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct FontDetector {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load`, `load_with_kind`, and `inference` are never used
[INFO] [stdout]   --> src/ml/font_detector/mod.rs:31:18
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl FontDetector {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 31 |     pub async fn load(cpu: bool) -> Result<Self> {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub async fn load_with_kind(cpu: bool,
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub fn inference(&self, images: &[DynamicImage], top_k: usize) -> Result<Vec<FontPrediction>> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FontLabel` is never constructed
[INFO] [stdout]    --> src/ml/font_detector/mod.rs:162:12
[INFO] [stdout]     |
[INFO] [stdout] 162 | pub struct FontLabel {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FontLabels` is never constructed
[INFO] [stdout]    --> src/ml/font_detector/mod.rs:169:12
[INFO] [stdout]     |
[INFO] [stdout] 169 | pub struct FontLabels {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load`, `from_path`, `entry`, `name`, and `language` are never used
[INFO] [stdout]    --> src/ml/font_detector/mod.rs:174:18
[INFO] [stdout]     |
[INFO] [stdout] 173 | impl FontLabels {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 174 |     pub async fn load() -> Result<Self> {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 179 |     pub fn from_path(path: &PathBuf) -> Result<Self> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |     pub fn entry(&self, idx: usize) -> Option<&FontLabel> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 199 |     pub fn name(&self, idx: usize) -> Option<&str> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 203 |     pub fn language(&self, idx: usize) -> Option<&str> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FontLabelEntry` is never constructed
[INFO] [stdout]    --> src/ml/font_detector/mod.rs:209:8
[INFO] [stdout]     |
[INFO] [stdout] 209 | struct FontLabelEntry {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `preprocess_image` is never used
[INFO] [stdout]    --> src/ml/font_detector/mod.rs:215:4
[INFO] [stdout]     |
[INFO] [stdout] 215 | fn preprocess_image(image: &DynamicImage, target: usize) -> Result<Tensor> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `top_k_softmax` is never used
[INFO] [stdout]    --> src/ml/font_detector/mod.rs:229:4
[INFO] [stdout]     |
[INFO] [stdout] 229 | fn top_k_softmax(logits: &[f32], top_k: usize) -> Vec<(usize, f32)> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `insert_ranked` is never used
[INFO] [stdout]    --> src/ml/font_detector/mod.rs:252:4
[INFO] [stdout]     |
[INFO] [stdout] 252 | fn insert_ranked(best: &mut Vec<(usize, f32)>, candidate: (usize, f32), limit: usize) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sigmoid_scalar` is never used
[INFO] [stdout]    --> src/ml/font_detector/mod.rs:267:4
[INFO] [stdout]     |
[INFO] [stdout] 267 | fn sigmoid_scalar(value: f32) -> f32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Model` is never constructed
[INFO] [stdout]   --> src/ml/font_detector/models.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct Model {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ModelImpl` is never used
[INFO] [stdout]   --> src/ml/font_detector/models.rs:25:6
[INFO] [stdout]    |
[INFO] [stdout] 25 | enum ModelImpl {
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load`, `input_size`, and `forward` are never used
[INFO] [stdout]   --> src/ml/font_detector/models.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl Model {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 31 |     pub fn load(vb: VarBuilder, kind: ModelKind) -> Result<Self> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn input_size(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn forward(&self, xs: &Tensor, train: bool) -> candle_core::Result<Tensor> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BasicBlock` is never constructed
[INFO] [stdout]   --> src/ml/font_detector/models.rs:84:8
[INFO] [stdout]    |
[INFO] [stdout] 84 | struct BasicBlock {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/font_detector/models.rs:93:8
[INFO] [stdout]     |
[INFO] [stdout]  92 | impl BasicBlock {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout]  93 |     fn load(vb: VarBuilder, in_channels: usize, planes: usize, stride: usize) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 140 |     fn forward(&self, xs: &Tensor, train: bool) -> candle_core::Result<Tensor> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Bottleneck` is never constructed
[INFO] [stdout]    --> src/ml/font_detector/models.rs:161:8
[INFO] [stdout]     |
[INFO] [stdout] 161 | struct Bottleneck {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/font_detector/models.rs:172:8
[INFO] [stdout]     |
[INFO] [stdout] 171 | impl Bottleneck {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 172 |     fn load(
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 230 |     fn forward(&self, xs: &Tensor, train: bool) -> candle_core::Result<Tensor> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ResNet` is never constructed
[INFO] [stdout]    --> src/ml/font_detector/models.rs:254:8
[INFO] [stdout]     |
[INFO] [stdout] 254 | struct ResNet {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ResBlock` is never used
[INFO] [stdout]    --> src/ml/font_detector/models.rs:264:6
[INFO] [stdout]     |
[INFO] [stdout] 264 | enum ResBlock {
[INFO] [stdout]     |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load_basic`, `load_bottleneck`, `load_impl`, `make_layer`, and `forward` are never used
[INFO] [stdout]    --> src/ml/font_detector/models.rs:270:8
[INFO] [stdout]     |
[INFO] [stdout] 269 | impl ResNet {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout] 270 |     fn load_basic(vb: VarBuilder, layers: [usize; 4], expansion: usize) -> Result<Self> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 274 |     fn load_bottleneck(vb: VarBuilder, layers: [usize; 4], expansion: usize) -> Result<Self> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 278 |     fn load_impl(
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 321 |     fn make_layer(
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 364 |     fn forward(&self, xs: &Tensor, train: bool) -> candle_core::Result<Tensor> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `forward` is never used
[INFO] [stdout]    --> src/ml/font_detector/models.rs:392:8
[INFO] [stdout]     |
[INFO] [stdout] 391 | impl ResBlock {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] 392 |     fn forward(&self, xs: &Tensor, train: bool) -> candle_core::Result<Tensor> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `BlockKind` is never used
[INFO] [stdout]    --> src/ml/font_detector/models.rs:401:6
[INFO] [stdout]     |
[INFO] [stdout] 401 | enum BlockKind {
[INFO] [stdout]     |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DeepFont` is never constructed
[INFO] [stdout]    --> src/ml/font_detector/models.rs:406:8
[INFO] [stdout]     |
[INFO] [stdout] 406 | struct DeepFont {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/font_detector/models.rs:420:8
[INFO] [stdout]     |
[INFO] [stdout] 419 | impl DeepFont {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] 420 |     fn load(vb: VarBuilder) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 490 |     fn forward(&self, xs: &Tensor, train: bool) -> candle_core::Result<Tensor> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_batch_norm` is never used
[INFO] [stdout]    --> src/ml/font_detector/models.rs:517:4
[INFO] [stdout]     |
[INFO] [stdout] 517 | fn load_batch_norm(vb: &VarBuilder, channels: usize) -> Result<BatchNorm> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HF_REPO` is never used
[INFO] [stdout]   --> src/ml/lama/mod.rs:23:7
[INFO] [stdout]    |
[INFO] [stdout] 23 | const HF_REPO: &str = "mayocream/lama-manga";
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Lama` is never constructed
[INFO] [stdout]   --> src/ml/lama/mod.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct Lama {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/ml/lama/mod.rs:47:18
[INFO] [stdout]     |
[INFO] [stdout]  46 | impl Lama {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout]  47 |     pub async fn load(cpu: bool) -> Result<Self> {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  58 |     fn forward(&self, image: &Tensor, mask: &Tensor) -> Result<Tensor> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  63 |     pub fn inference_model(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  74 |     pub fn inference(&self, image: &DynamicImage, mask: &DynamicImage) -> Result<DynamicImage> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  79 |     pub fn inference_with_blocks(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     fn inference_crop(&self, image: &RgbImage, mask: &GrayImage) -> Result<RgbImage> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     fn inference_blockwise(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 174 |     fn inference_model_rgb(&self, image: &RgbImage, mask: &GrayImage) -> Result<RgbImage> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 184 |     fn preprocess(&self, image: &DynamicImage, mask: &DynamicImage) -> Result<(Tensor, Tensor)> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 211 |     fn postprocess(&self, output: &Tensor) -> Result<DynamicImage> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FfcChannels` is never constructed
[INFO] [stdout]   --> src/ml/lama/model.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct FfcChannels {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Conv2dPad` is never constructed
[INFO] [stdout]   --> src/ml/lama/model.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | struct Conv2dPad {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]   --> src/ml/lama/model.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl Conv2dPad {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 24 |     fn load(
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     fn forward(&self, xs: &Tensor) -> candle_core::Result<Tensor> {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_batch_norm` is never used
[INFO] [stdout]   --> src/ml/lama/model.rs:58:4
[INFO] [stdout]    |
[INFO] [stdout] 58 | fn load_batch_norm(vb: &VarBuilder, channels: usize) -> Result<BatchNorm> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FourierUnit` is never constructed
[INFO] [stdout]   --> src/ml/lama/model.rs:70:8
[INFO] [stdout]    |
[INFO] [stdout] 70 | struct FourierUnit {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]   --> src/ml/lama/model.rs:77:8
[INFO] [stdout]    |
[INFO] [stdout] 76 | impl FourierUnit {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 77 |     fn load(vb: &VarBuilder, in_channels: usize, out_channels: usize) -> Result<Self> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 97 |     fn forward(&self, xs: &Tensor) -> candle_core::Result<Tensor> {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SpectralTransform` is never constructed
[INFO] [stdout]    --> src/ml/lama/model.rs:120:8
[INFO] [stdout]     |
[INFO] [stdout] 120 | struct SpectralTransform {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/lama/model.rs:129:8
[INFO] [stdout]     |
[INFO] [stdout] 128 | impl SpectralTransform {
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout] 129 |     fn load(
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 169 |     fn forward(&self, xs: &Tensor) -> candle_core::Result<Tensor> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Ffc` is never constructed
[INFO] [stdout]    --> src/ml/lama/model.rs:185:8
[INFO] [stdout]     |
[INFO] [stdout] 185 | struct Ffc {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/lama/model.rs:193:8
[INFO] [stdout]     |
[INFO] [stdout] 192 | impl Ffc {
[INFO] [stdout]     | -------- associated items in this implementation
[INFO] [stdout] 193 |     fn load(
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 277 |     fn forward(
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FFCBnAct` is never constructed
[INFO] [stdout]    --> src/ml/lama/model.rs:309:8
[INFO] [stdout]     |
[INFO] [stdout] 309 | struct FFCBnAct {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/lama/model.rs:316:8
[INFO] [stdout]     |
[INFO] [stdout] 315 | impl FFCBnAct {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] 316 |     fn load(
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 338 |     fn forward(
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FFCResBlock` is never constructed
[INFO] [stdout]    --> src/ml/lama/model.rs:361:8
[INFO] [stdout]     |
[INFO] [stdout] 361 | struct FFCResBlock {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/lama/model.rs:367:8
[INFO] [stdout]     |
[INFO] [stdout] 366 | impl FFCResBlock {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] 367 |     fn load(vb: &VarBuilder, channels: FfcChannels) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 373 |     fn forward(
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Lama` is never constructed
[INFO] [stdout]    --> src/ml/lama/model.rs:391:12
[INFO] [stdout]     |
[INFO] [stdout] 391 | pub struct Lama {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/lama/model.rs:406:12
[INFO] [stdout]     |
[INFO] [stdout] 405 | impl Lama {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout] 406 |     pub fn load(vb: &VarBuilder) -> Result<Self> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 543 |     pub fn forward(&self, image: &Tensor, mask: &Tensor) -> Result<Tensor> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `reflect_pad2d` is never used
[INFO] [stdout]    --> src/ml/lama/model.rs:590:4
[INFO] [stdout]     |
[INFO] [stdout] 590 | fn reflect_pad2d(xs: &Tensor, pad: usize) -> candle_core::Result<Tensor> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_manifest_path` is never used
[INFO] [stdout]  --> src/ml/loading.rs:9:14
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub async fn resolve_manifest_path<F>(manifest: F) -> Result<PathBuf>
[INFO] [stdout]   |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_mmaped_safetensors` is never used
[INFO] [stdout]   --> src/ml/loading.rs:16:14
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub async fn load_mmaped_safetensors<F, T, Build, E>(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_mmaped_safetensors_path` is never used
[INFO] [stdout]   --> src/ml/loading.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn load_mmaped_safetensors_path<T, Build, E>(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_buffered_safetensors` is never used
[INFO] [stdout]   --> src/ml/loading.rs:43:14
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub async fn load_buffered_safetensors<F, T, Build, E>(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_buffered_safetensors_path` is never used
[INFO] [stdout]   --> src/ml/loading.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub fn load_buffered_safetensors_path<T, Build, E>(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hf_download` is never used
[INFO] [stdout]   --> src/ml/loading.rs:80:14
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub async fn hf_download(repo: &str, filename: &str) -> Result<PathBuf> {
[INFO] [stdout]    |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HF_REPO` is never used
[INFO] [stdout]   --> src/ml/manga_ocr/mod.rs:17:7
[INFO] [stdout]    |
[INFO] [stdout] 17 | const HF_REPO: &str = "mayocream/manga-ocr";
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MangaOcr` is never constructed
[INFO] [stdout]   --> src/ml/manga_ocr/mod.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct MangaOcr {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load`, `inference`, and `forward` are never used
[INFO] [stdout]   --> src/ml/manga_ocr/mod.rs:33:18
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl MangaOcr {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 33 |     pub async fn load(cpu: bool) -> Result<Self> {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn inference(&self, images: &[image::DynamicImage]) -> Result<Vec<String>> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 96 |     fn forward(&self, pixel_values: &Tensor) -> Result<Vec<Vec<u32>>> {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `preprocess_images` is never used
[INFO] [stdout]    --> src/ml/manga_ocr/mod.rs:102:4
[INFO] [stdout]     |
[INFO] [stdout] 102 | fn preprocess_images(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `preprocess_single_image` is never used
[INFO] [stdout]    --> src/ml/manga_ocr/mod.rs:129:4
[INFO] [stdout]     |
[INFO] [stdout] 129 | fn preprocess_single_image(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `post_process` is never used
[INFO] [stdout]    --> src/ml/manga_ocr/mod.rs:189:4
[INFO] [stdout]     |
[INFO] [stdout] 189 | fn post_process(text: &str) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `collapse_dots` is never used
[INFO] [stdout]    --> src/ml/manga_ocr/mod.rs:199:4
[INFO] [stdout]     |
[INFO] [stdout] 199 | fn collapse_dots(text: &str) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `halfwidth_to_fullwidth` is never used
[INFO] [stdout]    --> src/ml/manga_ocr/mod.rs:223:4
[INFO] [stdout]     |
[INFO] [stdout] 223 | fn halfwidth_to_fullwidth(text: &str) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/ml/manga_ocr/bert.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct BertConfig {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 16 |     pub vocab_size: usize,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 17 |     pub hidden_size: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 18 |     pub num_hidden_layers: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |     pub num_attention_heads: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 20 |     pub intermediate_size: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 21 |     pub hidden_act: HiddenAct,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 22 |     pub hidden_dropout_prob: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 23 |     pub attention_probs_dropout_prob: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 24 |     pub max_position_embeddings: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 25 |     pub type_vocab_size: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 26 |     pub layer_norm_eps: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 27 |     pub pad_token_id: Option<u32>,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BertConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BertForCausalLM` is never constructed
[INFO] [stdout]   --> src/ml/manga_ocr/bert.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct BertForCausalLM {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `forward` are never used
[INFO] [stdout]   --> src/ml/manga_ocr/bert.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl BertForCausalLM {
[INFO] [stdout]    | -------------------- associated items in this implementation
[INFO] [stdout] 36 |     pub fn new(cfg: &BertConfig, vb: VarBuilder) -> Result<Self> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn forward(
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BertModel` is never constructed
[INFO] [stdout]   --> src/ml/manga_ocr/bert.rs:66:8
[INFO] [stdout]    |
[INFO] [stdout] 66 | struct BertModel {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `forward` are never used
[INFO] [stdout]   --> src/ml/manga_ocr/bert.rs:73:8
[INFO] [stdout]    |
[INFO] [stdout] 72 | impl BertModel {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 73 |     fn new(cfg: &BertConfig, vb: VarBuilder) -> Result<Self> {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 81 |     fn forward(
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BertEmbeddings` is never constructed
[INFO] [stdout]    --> src/ml/manga_ocr/bert.rs:113:8
[INFO] [stdout]     |
[INFO] [stdout] 113 | struct BertEmbeddings {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `forward` are never used
[INFO] [stdout]    --> src/ml/manga_ocr/bert.rs:122:8
[INFO] [stdout]     |
[INFO] [stdout] 121 | impl BertEmbeddings {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout] 122 |     fn new(cfg: &BertConfig, vb: VarBuilder) -> candle_core::Result<Self> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 144 |     fn forward(&self, input_ids: &Tensor, token_type_ids: &Tensor) -> candle_core::Result<Tensor> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Dropout` is never constructed
[INFO] [stdout]    --> src/ml/manga_ocr/bert.rs:161:8
[INFO] [stdout]     |
[INFO] [stdout] 161 | struct Dropout {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/ml/manga_ocr/bert.rs:167:8
[INFO] [stdout]     |
[INFO] [stdout] 166 | impl Dropout {
[INFO] [stdout]     | ------------ associated function in this implementation
[INFO] [stdout] 167 |     fn new(prob: f64) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BertSelfAttention` is never constructed
[INFO] [stdout]    --> src/ml/manga_ocr/bert.rs:178:8
[INFO] [stdout]     |
[INFO] [stdout] 178 | struct BertSelfAttention {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `transpose_for_scores`, and `forward` are never used
[INFO] [stdout]    --> src/ml/manga_ocr/bert.rs:188:8
[INFO] [stdout]     |
[INFO] [stdout] 187 | impl BertSelfAttention {
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout] 188 |     fn new(cfg: &BertConfig, vb: VarBuilder) -> candle_core::Result<Self> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 204 |     fn transpose_for_scores(&self, x: &Tensor) -> candle_core::Result<Tensor> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 215 |     fn forward(
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BertSelfOutput` is never constructed
[INFO] [stdout]    --> src/ml/manga_ocr/bert.rs:247:8
[INFO] [stdout]     |
[INFO] [stdout] 247 | struct BertSelfOutput {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `forward` are never used
[INFO] [stdout]    --> src/ml/manga_ocr/bert.rs:254:8
[INFO] [stdout]     |
[INFO] [stdout] 253 | impl BertSelfOutput {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout] 254 |     fn new(cfg: &BertConfig, vb: VarBuilder) -> candle_core::Result<Self> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 264 |     fn forward(
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BertAttention` is never constructed
[INFO] [stdout]    --> src/ml/manga_ocr/bert.rs:275:8
[INFO] [stdout]     |
[INFO] [stdout] 275 | struct BertAttention {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `forward` are never used
[INFO] [stdout]    --> src/ml/manga_ocr/bert.rs:281:8
[INFO] [stdout]     |
[INFO] [stdout] 280 | impl BertAttention {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] 281 |     fn new(cfg: &BertConfig, vb: VarBuilder) -> candle_core::Result<Self> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 288 |     fn forward(
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BertIntermediate` is never constructed
[INFO] [stdout]    --> src/ml/manga_ocr/bert.rs:301:8
[INFO] [stdout]     |
[INFO] [stdout] 301 | struct BertIntermediate {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `forward` are never used
[INFO] [stdout]    --> src/ml/manga_ocr/bert.rs:307:8
[INFO] [stdout]     |
[INFO] [stdout] 306 | impl BertIntermediate {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] 307 |     fn new(cfg: &BertConfig, vb: VarBuilder) -> candle_core::Result<Self> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 314 |     fn forward(&self, hidden_states: &Tensor) -> candle_core::Result<Tensor> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BertOutput` is never constructed
[INFO] [stdout]    --> src/ml/manga_ocr/bert.rs:323:8
[INFO] [stdout]     |
[INFO] [stdout] 323 | struct BertOutput {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `forward` are never used
[INFO] [stdout]    --> src/ml/manga_ocr/bert.rs:330:8
[INFO] [stdout]     |
[INFO] [stdout] 329 | impl BertOutput {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 330 |     fn new(cfg: &BertConfig, vb: VarBuilder) -> candle_core::Result<Self> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 338 |     fn forward(
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BertLayer` is never constructed
[INFO] [stdout]    --> src/ml/manga_ocr/bert.rs:349:8
[INFO] [stdout]     |
[INFO] [stdout] 349 | struct BertLayer {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `forward` are never used
[INFO] [stdout]    --> src/ml/manga_ocr/bert.rs:357:8
[INFO] [stdout]     |
[INFO] [stdout] 356 | impl BertLayer {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] 357 |     fn new(cfg: &BertConfig, vb: VarBuilder) -> candle_core::Result<Self> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 367 |     fn forward(
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BertEncoder` is never constructed
[INFO] [stdout]    --> src/ml/manga_ocr/bert.rs:390:8
[INFO] [stdout]     |
[INFO] [stdout] 390 | struct BertEncoder {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `forward` are never used
[INFO] [stdout]    --> src/ml/manga_ocr/bert.rs:395:8
[INFO] [stdout]     |
[INFO] [stdout] 394 | impl BertEncoder {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] 395 |     fn new(cfg: &BertConfig, vb: VarBuilder) -> candle_core::Result<Self> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 404 |     fn forward(
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BertPredictionHeadTransform` is never constructed
[INFO] [stdout]    --> src/ml/manga_ocr/bert.rs:424:8
[INFO] [stdout]     |
[INFO] [stdout] 424 | struct BertPredictionHeadTransform {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `forward` are never used
[INFO] [stdout]    --> src/ml/manga_ocr/bert.rs:431:8
[INFO] [stdout]     |
[INFO] [stdout] 430 | impl BertPredictionHeadTransform {
[INFO] [stdout]     | -------------------------------- associated items in this implementation
[INFO] [stdout] 431 |     fn new(cfg: &BertConfig, vb: VarBuilder) -> candle_core::Result<Self> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 441 |     fn forward(&self, hidden_states: &Tensor) -> candle_core::Result<Tensor> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BertLMPredictionHead` is never constructed
[INFO] [stdout]    --> src/ml/manga_ocr/bert.rs:451:8
[INFO] [stdout]     |
[INFO] [stdout] 451 | struct BertLMPredictionHead {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `forward` are never used
[INFO] [stdout]    --> src/ml/manga_ocr/bert.rs:458:8
[INFO] [stdout]     |
[INFO] [stdout] 457 | impl BertLMPredictionHead {
[INFO] [stdout]     | ------------------------- associated items in this implementation
[INFO] [stdout] 458 |     fn new(cfg: &BertConfig, vb: VarBuilder) -> candle_core::Result<Self> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 469 |     fn forward(&self, hidden_states: &Tensor) -> candle_core::Result<Tensor> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `expand_attention_mask` is never used
[INFO] [stdout]    --> src/ml/manga_ocr/bert.rs:476:4
[INFO] [stdout]     |
[INFO] [stdout] 476 | fn expand_attention_mask(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PreprocessorConfig` is never constructed
[INFO] [stdout]   --> src/ml/manga_ocr/model.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct PreprocessorConfig {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VisionEncoderDecoder` is never constructed
[INFO] [stdout]   --> src/ml/manga_ocr/model.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct VisionEncoderDecoder {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_config` and `forward` are never used
[INFO] [stdout]   --> src/ml/manga_ocr/model.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl VisionEncoderDecoder {
[INFO] [stdout]    | ------------------------- associated items in this implementation
[INFO] [stdout] 41 |     pub fn from_config(
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub fn forward(&self, pixel_values: &Tensor) -> Result<Vec<Vec<u32>>> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VisionEncoder` is never constructed
[INFO] [stdout]    --> src/ml/manga_ocr/model.rs:128:8
[INFO] [stdout]     |
[INFO] [stdout] 128 | struct VisionEncoder {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `forward` are never used
[INFO] [stdout]    --> src/ml/manga_ocr/model.rs:135:8
[INFO] [stdout]     |
[INFO] [stdout] 134 | impl VisionEncoder {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] 135 |     fn new(cfg: &VitConfig, vb: VarBuilder) -> Result<Self> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 146 |     fn forward(&self, pixel_values: &Tensor) -> candle_core::Result<Tensor> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_tokenizer` is never used
[INFO] [stdout]  --> src/ml/manga_ocr/tokenizer.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn load_tokenizer(
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REPO` is never used
[INFO] [stdout]   --> src/ml/manga_text_segmentation_2025/mod.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | const REPO: &str = "mayocream/manga-text-segmentation-2025";
[INFO] [stdout]    |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SAFETENSORS_FILENAME` is never used
[INFO] [stdout]   --> src/ml/manga_text_segmentation_2025/mod.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 16 | const SAFETENSORS_FILENAME: &str = "model.safetensors";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IMAGENET_MEAN` is never used
[INFO] [stdout]   --> src/ml/manga_text_segmentation_2025/mod.rs:17:7
[INFO] [stdout]    |
[INFO] [stdout] 17 | const IMAGENET_MEAN: [f32; 3] = [0.485, 0.456, 0.406];
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IMAGENET_STD` is never used
[INFO] [stdout]   --> src/ml/manga_text_segmentation_2025/mod.rs:18:7
[INFO] [stdout]    |
[INFO] [stdout] 18 | const IMAGENET_STD: [f32; 3] = [0.229, 0.224, 0.225];
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GPU_MAX_PIXELS` is never used
[INFO] [stdout]   --> src/ml/manga_text_segmentation_2025/mod.rs:19:7
[INFO] [stdout]    |
[INFO] [stdout] 19 | const GPU_MAX_PIXELS: u64 = 1_536 * 1_536;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CPU_MAX_PIXELS` is never used
[INFO] [stdout]   --> src/ml/manga_text_segmentation_2025/mod.rs:20:7
[INFO] [stdout]    |
[INFO] [stdout] 20 | const CPU_MAX_PIXELS: u64 = 1_280 * 1_280;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MangaTextSegmentation` is never constructed
[INFO] [stdout]   --> src/ml/manga_text_segmentation_2025/mod.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct MangaTextSegmentation {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PreparedInput` is never constructed
[INFO] [stdout]   --> src/ml/manga_text_segmentation_2025/mod.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | struct PreparedInput {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load`, `load_from_path`, `inference`, and `preprocess` are never used
[INFO] [stdout]    --> src/ml/manga_text_segmentation_2025/mod.rs:39:18
[INFO] [stdout]     |
[INFO] [stdout]  38 | impl MangaTextSegmentation {
[INFO] [stdout]     | -------------------------- associated items in this implementation
[INFO] [stdout]  39 |     pub async fn load(cpu: bool) -> Result<Self> {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  44 |     pub fn load_from_path(path: impl AsRef<Path>, cpu: bool) -> Result<Self> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  62 |     pub fn inference(&self, image: &DynamicImage) -> Result<ProbabilityMap> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 |     fn preprocess(&self, image: &DynamicImage) -> Result<PreparedInput> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `prefetch` is never used
[INFO] [stdout]    --> src/ml/manga_text_segmentation_2025/mod.rs:158:14
[INFO] [stdout]     |
[INFO] [stdout] 158 | pub async fn prefetch() -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_safetensors_path` is never used
[INFO] [stdout]    --> src/ml/manga_text_segmentation_2025/mod.rs:163:10
[INFO] [stdout]     |
[INFO] [stdout] 163 | async fn resolve_safetensors_path() -> Result<PathBuf> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ENCODER_CHANNELS` is never used
[INFO] [stdout]   --> src/ml/manga_text_segmentation_2025/model.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const ENCODER_CHANNELS: [usize; 6] = [3, 32, 56, 80, 192, 328];
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DECODER_CHANNELS` is never used
[INFO] [stdout]   --> src/ml/manga_text_segmentation_2025/model.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const DECODER_CHANNELS: [usize; 5] = [256, 128, 64, 32, 16];
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BN_EPS` is never used
[INFO] [stdout]   --> src/ml/manga_text_segmentation_2025/model.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const BN_EPS: f64 = 1e-5;
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GN_EPS` is never used
[INFO] [stdout]   --> src/ml/manga_text_segmentation_2025/model.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const GN_EPS: f64 = 1e-5;
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SCSE_REDUCTION` is never used
[INFO] [stdout]   --> src/ml/manga_text_segmentation_2025/model.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const SCSE_REDUCTION: usize = 16;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Activation` is never used
[INFO] [stdout]   --> src/ml/manga_text_segmentation_2025/model.rs:17:6
[INFO] [stdout]    |
[INFO] [stdout] 17 | enum Activation {
[INFO] [stdout]    |      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_activation` is never used
[INFO] [stdout]   --> src/ml/manga_text_segmentation_2025/model.rs:22:4
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn apply_activation(xs: &Tensor, activation: Activation) -> Result<Tensor> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `conv2d_cfg` is never used
[INFO] [stdout]   --> src/ml/manga_text_segmentation_2025/model.rs:29:4
[INFO] [stdout]    |
[INFO] [stdout] 29 | fn conv2d_cfg(stride: usize, padding: usize, groups: usize) -> Conv2dConfig {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_conv2d_no_bias` is never used
[INFO] [stdout]   --> src/ml/manga_text_segmentation_2025/model.rs:39:4
[INFO] [stdout]    |
[INFO] [stdout] 39 | fn load_conv2d_no_bias(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_conv2d` is never used
[INFO] [stdout]   --> src/ml/manga_text_segmentation_2025/model.rs:57:4
[INFO] [stdout]    |
[INFO] [stdout] 57 | fn load_conv2d(
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_batch_norm` is never used
[INFO] [stdout]   --> src/ml/manga_text_segmentation_2025/model.rs:75:4
[INFO] [stdout]    |
[INFO] [stdout] 75 | fn load_batch_norm(vb: VarBuilder, num_channels: usize) -> Result<BatchNorm> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decoder_group_count` is never used
[INFO] [stdout]   --> src/ml/manga_text_segmentation_2025/model.rs:79:4
[INFO] [stdout]    |
[INFO] [stdout] 79 | fn decoder_group_count(num_channels: usize) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_group_norm` is never used
[INFO] [stdout]   --> src/ml/manga_text_segmentation_2025/model.rs:91:4
[INFO] [stdout]    |
[INFO] [stdout] 91 | fn load_group_norm(vb: VarBuilder, num_channels: usize) -> Result<GroupNorm> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EncoderConvNormAct` is never constructed
[INFO] [stdout]   --> src/ml/manga_text_segmentation_2025/model.rs:96:8
[INFO] [stdout]    |
[INFO] [stdout] 96 | struct EncoderConvNormAct {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConvNormActLoadSpec` is never constructed
[INFO] [stdout]    --> src/ml/manga_text_segmentation_2025/model.rs:103:8
[INFO] [stdout]     |
[INFO] [stdout] 103 | struct ConvNormActLoadSpec {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]    --> src/ml/manga_text_segmentation_2025/model.rs:114:8
[INFO] [stdout]     |
[INFO] [stdout] 113 | impl EncoderConvNormAct {
[INFO] [stdout]     | ----------------------- associated function in this implementation
[INFO] [stdout] 114 |     fn load(conv_vb: VarBuilder, bn_vb: VarBuilder, spec: ConvNormActLoadSpec) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DecoderConvRelu` is never constructed
[INFO] [stdout]    --> src/ml/manga_text_segmentation_2025/model.rs:140:8
[INFO] [stdout]     |
[INFO] [stdout] 140 | struct DecoderConvRelu {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]    --> src/ml/manga_text_segmentation_2025/model.rs:146:8
[INFO] [stdout]     |
[INFO] [stdout] 145 | impl DecoderConvRelu {
[INFO] [stdout]     | -------------------- associated function in this implementation
[INFO] [stdout] 146 |     fn load(vb: VarBuilder, in_channels: usize, out_channels: usize) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SqueezeExcite` is never constructed
[INFO] [stdout]    --> src/ml/manga_text_segmentation_2025/model.rs:163:8
[INFO] [stdout]     |
[INFO] [stdout] 163 | struct SqueezeExcite {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]    --> src/ml/manga_text_segmentation_2025/model.rs:169:8
[INFO] [stdout]     |
[INFO] [stdout] 168 | impl SqueezeExcite {
[INFO] [stdout]     | ------------------ associated function in this implementation
[INFO] [stdout] 169 |     fn load(vb: VarBuilder, in_channels: usize, reduced_channels: usize) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EdgeResidual` is never constructed
[INFO] [stdout]    --> src/ml/manga_text_segmentation_2025/model.rs:204:8
[INFO] [stdout]     |
[INFO] [stdout] 204 | struct EdgeResidual {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]    --> src/ml/manga_text_segmentation_2025/model.rs:211:8
[INFO] [stdout]     |
[INFO] [stdout] 210 | impl EdgeResidual {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] 211 |     fn load(
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InvertedResidual` is never constructed
[INFO] [stdout]    --> src/ml/manga_text_segmentation_2025/model.rs:258:8
[INFO] [stdout]     |
[INFO] [stdout] 258 | struct InvertedResidual {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]    --> src/ml/manga_text_segmentation_2025/model.rs:267:8
[INFO] [stdout]     |
[INFO] [stdout] 266 | impl InvertedResidual {
[INFO] [stdout]     | --------------------- associated function in this implementation
[INFO] [stdout] 267 |     fn load(
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `EfficientNetBlock` is never used
[INFO] [stdout]    --> src/ml/manga_text_segmentation_2025/model.rs:331:6
[INFO] [stdout]     |
[INFO] [stdout] 331 | enum EfficientNetBlock {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EfficientNetEncoder` is never constructed
[INFO] [stdout]    --> src/ml/manga_text_segmentation_2025/model.rs:346:8
[INFO] [stdout]     |
[INFO] [stdout] 346 | struct EfficientNetEncoder {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/manga_text_segmentation_2025/model.rs:352:8
[INFO] [stdout]     |
[INFO] [stdout] 351 | impl EfficientNetEncoder {
[INFO] [stdout]     | ------------------------ associated items in this implementation
[INFO] [stdout] 352 |     fn load(vb: VarBuilder) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 466 |     fn forward(&self, xs: &Tensor) -> Result<Vec<Tensor>> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Scse` is never constructed
[INFO] [stdout]    --> src/ml/manga_text_segmentation_2025/model.rs:488:8
[INFO] [stdout]     |
[INFO] [stdout] 488 | struct Scse {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]    --> src/ml/manga_text_segmentation_2025/model.rs:495:8
[INFO] [stdout]     |
[INFO] [stdout] 494 | impl Scse {
[INFO] [stdout]     | --------- associated function in this implementation
[INFO] [stdout] 495 |     fn load(vb: VarBuilder, in_channels: usize) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DecoderBlock` is never constructed
[INFO] [stdout]    --> src/ml/manga_text_segmentation_2025/model.rs:519:8
[INFO] [stdout]     |
[INFO] [stdout] 519 | struct DecoderBlock {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/manga_text_segmentation_2025/model.rs:527:8
[INFO] [stdout]     |
[INFO] [stdout] 526 | impl DecoderBlock {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] 527 |     fn load(
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 548 |     fn forward(&self, xs: &Tensor, skip: Option<&Tensor>) -> Result<Tensor> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UnetPlusPlusDecoder` is never constructed
[INFO] [stdout]    --> src/ml/manga_text_segmentation_2025/model.rs:562:8
[INFO] [stdout]     |
[INFO] [stdout] 562 | struct UnetPlusPlusDecoder {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/manga_text_segmentation_2025/model.rs:569:8
[INFO] [stdout]     |
[INFO] [stdout] 568 | impl UnetPlusPlusDecoder {
[INFO] [stdout]     | ------------------------ associated items in this implementation
[INFO] [stdout] 569 |     fn load(vb: VarBuilder) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 637 |     fn forward(&self, features: &[Tensor]) -> Result<Tensor> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SegmentationHead` is never constructed
[INFO] [stdout]    --> src/ml/manga_text_segmentation_2025/model.rs:694:8
[INFO] [stdout]     |
[INFO] [stdout] 694 | struct SegmentationHead {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]    --> src/ml/manga_text_segmentation_2025/model.rs:699:8
[INFO] [stdout]     |
[INFO] [stdout] 698 | impl SegmentationHead {
[INFO] [stdout]     | --------------------- associated function in this implementation
[INFO] [stdout] 699 |     fn load(vb: VarBuilder) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MangaTextSegmentationModel` is never constructed
[INFO] [stdout]    --> src/ml/manga_text_segmentation_2025/model.rs:721:12
[INFO] [stdout]     |
[INFO] [stdout] 721 | pub struct MangaTextSegmentationModel {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/manga_text_segmentation_2025/model.rs:728:12
[INFO] [stdout]     |
[INFO] [stdout] 727 | impl MangaTextSegmentationModel {
[INFO] [stdout]     | ------------------------------- associated items in this implementation
[INFO] [stdout] 728 |     pub fn load(vb: VarBuilder) -> Result<Self> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 736 |     pub fn forward(&self, xs: &Tensor) -> Result<Tensor> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HF_REPO` is never used
[INFO] [stdout]   --> src/ml/mit48px_ocr/mod.rs:19:7
[INFO] [stdout]    |
[INFO] [stdout] 19 | const HF_REPO: &str = "mayocream/mit48px-ocr";
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Mit48pxBlockPrediction` is never constructed
[INFO] [stdout]   --> src/ml/mit48px_ocr/mod.rs:55:12
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub struct Mit48pxBlockPrediction {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `inference_text_blocks` are never used
[INFO] [stdout]    --> src/ml/mit48px_ocr/mod.rs:82:18
[INFO] [stdout]     |
[INFO] [stdout]  81 | impl Mit48pxOcr {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout]  82 |     pub async fn load(cpu: bool) -> Result<Self> {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 139 |     pub fn inference_text_blocks(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `average_rgb` is never used
[INFO] [stdout]    --> src/ml/mit48px_ocr/mod.rs:350:4
[INFO] [stdout]     |
[INFO] [stdout] 350 | fn average_rgb(colors: impl Iterator<Item = [u8; 3]>) -> [u8; 3] {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_MAX_NEW_TOKENS` is never used
[INFO] [stdout]   --> src/ml/paddleocr_vl/mod.rs:23:7
[INFO] [stdout]    |
[INFO] [stdout] 23 | const DEFAULT_MAX_NEW_TOKENS: usize = 128;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HF_REPO` is never used
[INFO] [stdout]   --> src/ml/paddleocr_vl/mod.rs:24:7
[INFO] [stdout]    |
[INFO] [stdout] 24 | const HF_REPO: &str = "PaddlePaddle/PaddleOCR-VL-1.5";
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `PaddleOcrVlTask` is never used
[INFO] [stdout]   --> src/ml/paddleocr_vl/mod.rs:33:10
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub enum PaddleOcrVlTask {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `prompt` is never used
[INFO] [stdout]   --> src/ml/paddleocr_vl/mod.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl PaddleOcrVlTask {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] 43 |     fn prompt(self) -> &'static str {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PaddleOcrVlOutput` is never constructed
[INFO] [stdout]   --> src/ml/paddleocr_vl/mod.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub struct PaddleOcrVlOutput {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ModelFiles` is never constructed
[INFO] [stdout]    --> src/ml/paddleocr_vl/mod.rs:140:8
[INFO] [stdout]     |
[INFO] [stdout] 140 | struct ModelFiles {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PaddleOcrVl` is never constructed
[INFO] [stdout]    --> src/ml/paddleocr_vl/mod.rs:164:12
[INFO] [stdout]     |
[INFO] [stdout] 164 | pub struct PaddleOcrVl {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/ml/paddleocr_vl/mod.rs:177:18
[INFO] [stdout]     |
[INFO] [stdout] 176 | impl PaddleOcrVl {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] 177 |     pub async fn load(cpu: bool) -> Result<Self> {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 188 |     pub fn load_from_dir(dir: impl AsRef<Path>, cpu: bool) -> Result<Self> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 206 |     fn load_from_files(files: ModelFiles, cpu: bool) -> Result<Self> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 252 |     pub fn inference(
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 261 |     pub fn inference_with_max_new_tokens(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 296 |     pub fn inference_images(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 408 |     fn generate_batch(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 470 |     fn build_output(
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_eos_token_id` is never used
[INFO] [stdout]    --> src/ml/paddleocr_vl/mod.rs:507:4
[INFO] [stdout]     |
[INFO] [stdout] 507 | fn resolve_eos_token_id(tokenizer: &Tokenizer) -> u32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `preprocess_image` is never used
[INFO] [stdout]    --> src/ml/paddleocr_vl/mod.rs:552:4
[INFO] [stdout]     |
[INFO] [stdout] 552 | fn preprocess_image(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rgb_to_tensor` is never used
[INFO] [stdout]    --> src/ml/paddleocr_vl/mod.rs:607:4
[INFO] [stdout]     |
[INFO] [stdout] 607 | fn rgb_to_tensor(
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_input_tokens` is never used
[INFO] [stdout]    --> src/ml/paddleocr_vl/mod.rs:637:4
[INFO] [stdout]     |
[INFO] [stdout] 637 | fn build_input_tokens(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_batched_input_tokens` is never used
[INFO] [stdout]    --> src/ml/paddleocr_vl/mod.rs:668:4
[INFO] [stdout]     |
[INFO] [stdout] 668 | fn build_batched_input_tokens(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cat_batch` is never used
[INFO] [stdout]    --> src/ml/paddleocr_vl/mod.rs:695:4
[INFO] [stdout]     |
[INFO] [stdout] 695 | fn cat_batch<'a>(tensors: impl IntoIterator<Item = &'a Tensor>) -> Result<Tensor> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HF_REPO` is never used
[INFO] [stdout]   --> src/ml/pp_doclayout_v3/mod.rs:19:7
[INFO] [stdout]    |
[INFO] [stdout] 19 | const HF_REPO: &str = "PaddlePaddle/PP-DocLayoutV3_safetensors";
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load`, `inference`, and `inference_one` are never used
[INFO] [stdout]    --> src/ml/pp_doclayout_v3/mod.rs:36:18
[INFO] [stdout]     |
[INFO] [stdout]  35 | impl PPDocLayoutV3 {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout]  36 |     pub async fn load(cpu: bool) -> Result<Self> {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  65 |     pub fn inference(
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 133 |     pub fn inference_one(
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `num_labels` is never used
[INFO] [stdout]    --> src/ml/pp_doclayout_v3/mod.rs:318:19
[INFO] [stdout]     |
[INFO] [stdout] 317 | impl PPDocLayoutV3Config {
[INFO] [stdout]     | ------------------------ method in this implementation
[INFO] [stdout] 318 |     pub(crate) fn num_labels(&self) -> usize {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_name` is never used
[INFO] [stdout]   --> src/ml/pp_doclayout_v3/model.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl ActivationKind {
[INFO] [stdout]    | ------------------- associated function in this implementation
[INFO] [stdout] 29 |     fn from_name(name: Option<&str>) -> Result<Self> {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_linear` is never used
[INFO] [stdout]   --> src/ml/pp_doclayout_v3/model.rs:49:4
[INFO] [stdout]    |
[INFO] [stdout] 49 | fn load_linear(vb: VarBuilder, in_dim: usize, out_dim: usize) -> Result<Linear> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_linear_with_names` is never used
[INFO] [stdout]   --> src/ml/pp_doclayout_v3/model.rs:56:4
[INFO] [stdout]    |
[INFO] [stdout] 56 | fn load_linear_with_names(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_batch_norm` is never used
[INFO] [stdout]   --> src/ml/pp_doclayout_v3/model.rs:75:4
[INFO] [stdout]    |
[INFO] [stdout] 75 | fn load_batch_norm(vb: VarBuilder, channels: usize, eps: f64) -> Result<BatchNorm> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_conv2d_module` is never used
[INFO] [stdout]   --> src/ml/pp_doclayout_v3/model.rs:87:4
[INFO] [stdout]    |
[INFO] [stdout] 87 | fn load_conv2d_module(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_layer_norm` is never used
[INFO] [stdout]    --> src/ml/pp_doclayout_v3/model.rs:117:4
[INFO] [stdout]     |
[INFO] [stdout] 117 | fn load_layer_norm(vb: VarBuilder, hidden_size: usize, eps: f64) -> Result<LayerNorm> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]    --> src/ml/pp_doclayout_v3/model.rs:133:8
[INFO] [stdout]     |
[INFO] [stdout] 131 | impl ProjectionBlock {
[INFO] [stdout]     | -------------------- associated function in this implementation
[INFO] [stdout] 132 |     #[allow(clippy::too_many_arguments)]
[INFO] [stdout] 133 |     fn load(
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]    --> src/ml/pp_doclayout_v3/model.rs:171:8
[INFO] [stdout]     |
[INFO] [stdout] 170 | impl HGNetV2LearnableAffineBlock {
[INFO] [stdout]     | -------------------------------- associated function in this implementation
[INFO] [stdout] 171 |     fn load(vb: VarBuilder) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]    --> src/ml/pp_doclayout_v3/model.rs:193:8
[INFO] [stdout]     |
[INFO] [stdout] 191 | impl HGNetV2ConvLayer {
[INFO] [stdout]     | --------------------- associated function in this implementation
[INFO] [stdout] 192 |     #[allow(clippy::too_many_arguments)]
[INFO] [stdout] 193 |     fn load(
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]    --> src/ml/pp_doclayout_v3/model.rs:250:8
[INFO] [stdout]     |
[INFO] [stdout] 249 | impl HGNetV2ConvLayerLight {
[INFO] [stdout]     | -------------------------- associated function in this implementation
[INFO] [stdout] 250 |     fn load(
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]    --> src/ml/pp_doclayout_v3/model.rs:317:8
[INFO] [stdout]     |
[INFO] [stdout] 315 | impl HGNetV2BasicLayer {
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] 316 |     #[allow(clippy::too_many_arguments)]
[INFO] [stdout] 317 |     fn load(
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]    --> src/ml/pp_doclayout_v3/model.rs:421:8
[INFO] [stdout]     |
[INFO] [stdout] 420 | impl HGNetV2Stage {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] 421 |     fn load(vb: VarBuilder, config: &HGNetV2Config, stage_index: usize, eps: f64) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]    --> src/ml/pp_doclayout_v3/model.rs:497:8
[INFO] [stdout]     |
[INFO] [stdout] 496 | impl HGNetV2Embeddings {
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] 497 |     fn load(vb: VarBuilder, config: &HGNetV2Config, eps: f64) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]    --> src/ml/pp_doclayout_v3/model.rs:587:8
[INFO] [stdout]     |
[INFO] [stdout] 586 | impl HGNetV2Backbone {
[INFO] [stdout]     | -------------------- associated function in this implementation
[INFO] [stdout] 587 |     fn load(vb: VarBuilder, config: &HGNetV2Config, eps: f64) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]    --> src/ml/pp_doclayout_v3/model.rs:618:8
[INFO] [stdout]     |
[INFO] [stdout] 617 | impl PPDocLayoutV3MLPPredictionHead {
[INFO] [stdout]     | ----------------------------------- associated function in this implementation
[INFO] [stdout] 618 |     fn load(
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]    --> src/ml/pp_doclayout_v3/model.rs:667:8
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl PPDocLayoutV3SelfAttention {
[INFO] [stdout]     | ------------------------------- associated function in this implementation
[INFO] [stdout] 667 |     fn load(vb: VarBuilder, hidden_size: usize, num_attention_heads: usize) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]    --> src/ml/pp_doclayout_v3/model.rs:752:8
[INFO] [stdout]     |
[INFO] [stdout] 751 | impl PPDocLayoutV3FeedForward {
[INFO] [stdout]     | ----------------------------- associated function in this implementation
[INFO] [stdout] 752 |     fn load(
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]    --> src/ml/pp_doclayout_v3/model.rs:782:8
[INFO] [stdout]     |
[INFO] [stdout] 781 | impl PPDocLayoutV3EncoderLayer {
[INFO] [stdout]     | ------------------------------ associated function in this implementation
[INFO] [stdout] 782 |     fn load(vb: VarBuilder, config: &PPDocLayoutV3Config) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]    --> src/ml/pp_doclayout_v3/model.rs:854:8
[INFO] [stdout]     |
[INFO] [stdout] 852 | impl PPDocLayoutV3ConvNormLayer {
[INFO] [stdout]     | ------------------------------- associated function in this implementation
[INFO] [stdout] 853 |     #[allow(clippy::too_many_arguments)]
[INFO] [stdout] 854 |     fn load(
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]    --> src/ml/pp_doclayout_v3/model.rs:897:8
[INFO] [stdout]     |
[INFO] [stdout] 896 | impl PPDocLayoutV3RepVggBlock {
[INFO] [stdout]     | ----------------------------- associated function in this implementation
[INFO] [stdout] 897 |     fn load(vb: VarBuilder, config: &PPDocLayoutV3Config) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]    --> src/ml/pp_doclayout_v3/model.rs:942:8
[INFO] [stdout]     |
[INFO] [stdout] 941 | impl PPDocLayoutV3CSPRepLayer {
[INFO] [stdout]     | ----------------------------- associated function in this implementation
[INFO] [stdout] 942 |     fn load(vb: VarBuilder, config: &PPDocLayoutV3Config) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]     --> src/ml/pp_doclayout_v3/model.rs:1021:8
[INFO] [stdout]      |
[INFO] [stdout] 1020 | impl PPDocLayoutV3SinePositionEmbedding {
[INFO] [stdout]      | --------------------------------------- associated function in this implementation
[INFO] [stdout] 1021 |     fn new(embed_dim: usize, temperature: usize) -> Self {
[INFO] [stdout]      |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]     --> src/ml/pp_doclayout_v3/model.rs:1066:8
[INFO] [stdout]      |
[INFO] [stdout] 1065 | impl PPDocLayoutV3AIFILayer {
[INFO] [stdout]      | --------------------------- associated function in this implementation
[INFO] [stdout] 1066 |     fn load(vb: VarBuilder, config: &PPDocLayoutV3Config) -> Result<Self> {
[INFO] [stdout]      |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]     --> src/ml/pp_doclayout_v3/model.rs:1107:8
[INFO] [stdout]      |
[INFO] [stdout] 1106 | impl PPDocLayoutV3ConvLayer {
[INFO] [stdout]      | --------------------------- associated function in this implementation
[INFO] [stdout] 1107 |     fn load(
[INFO] [stdout]      |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]     --> src/ml/pp_doclayout_v3/model.rs:1152:8
[INFO] [stdout]      |
[INFO] [stdout] 1151 | impl PPDocLayoutV3ScaleHead {
[INFO] [stdout]      | --------------------------- associated function in this implementation
[INFO] [stdout] 1152 |     fn load(
[INFO] [stdout]      |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]     --> src/ml/pp_doclayout_v3/model.rs:1212:8
[INFO] [stdout]      |
[INFO] [stdout] 1211 | impl PPDocLayoutV3MaskFeatFPN {
[INFO] [stdout]      | ----------------------------- associated function in this implementation
[INFO] [stdout] 1212 |     fn load(vb: VarBuilder, config: &PPDocLayoutV3Config) -> Result<Self> {
[INFO] [stdout]      |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]     --> src/ml/pp_doclayout_v3/model.rs:1275:8
[INFO] [stdout]      |
[INFO] [stdout] 1274 | impl PPDocLayoutV3EncoderMaskOutput {
[INFO] [stdout]      | ----------------------------------- associated function in this implementation
[INFO] [stdout] 1275 |     fn load(vb: VarBuilder, in_channels: usize, num_prototypes: usize, eps: f64) -> Result<Self> {
[INFO] [stdout]      |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]     --> src/ml/pp_doclayout_v3/model.rs:1317:8
[INFO] [stdout]      |
[INFO] [stdout] 1316 | impl PPDocLayoutV3HybridEncoder {
[INFO] [stdout]      | ------------------------------- associated function in this implementation
[INFO] [stdout] 1317 |     fn load(vb: VarBuilder, config: &PPDocLayoutV3Config) -> Result<Self> {
[INFO] [stdout]      |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]     --> src/ml/pp_doclayout_v3/model.rs:1450:8
[INFO] [stdout]      |
[INFO] [stdout] 1449 | impl PPDocLayoutV3MultiscaleDeformableAttention {
[INFO] [stdout]      | ----------------------------------------------- associated function in this implementation
[INFO] [stdout] 1450 |     fn load(
[INFO] [stdout]      |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]     --> src/ml/pp_doclayout_v3/model.rs:1563:8
[INFO] [stdout]      |
[INFO] [stdout] 1562 | impl PPDocLayoutV3DecoderLayer {
[INFO] [stdout]      | ------------------------------ associated function in this implementation
[INFO] [stdout] 1563 |     fn load(vb: VarBuilder, config: &PPDocLayoutV3Config) -> Result<Self> {
[INFO] [stdout]      |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]     --> src/ml/pp_doclayout_v3/model.rs:1645:8
[INFO] [stdout]      |
[INFO] [stdout] 1644 | impl PPDocLayoutV3GlobalPointer {
[INFO] [stdout]      | ------------------------------- associated function in this implementation
[INFO] [stdout] 1645 |     fn load(vb: VarBuilder, config: &PPDocLayoutV3Config) -> Result<Self> {
[INFO] [stdout]      |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]     --> src/ml/pp_doclayout_v3/model.rs:1698:8
[INFO] [stdout]      |
[INFO] [stdout] 1697 | impl PPDocLayoutV3Decoder {
[INFO] [stdout]      | ------------------------- associated function in this implementation
[INFO] [stdout] 1698 |     fn load(vb: VarBuilder, config: &PPDocLayoutV3Config) -> Result<Self> {
[INFO] [stdout]      |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]     --> src/ml/pp_doclayout_v3/model.rs:1800:19
[INFO] [stdout]      |
[INFO] [stdout] 1799 | impl PPDocLayoutV3ForObjectDetection {
[INFO] [stdout]      | ------------------------------------ associated function in this implementation
[INFO] [stdout] 1800 |     pub(crate) fn load(
[INFO] [stdout]      |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `zeros`, `to_gray_image`, `threshold`, and `max_value` are never used
[INFO] [stdout]   --> src/ml/probability_map.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl ProbabilityMap {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 13 |     pub fn zeros(width: u32, height: u32) -> Self {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn to_gray_image(&self) -> Result<GrayImage> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn threshold(&self, threshold: f32) -> Result<GrayImage> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn max_value(&self) -> f32 {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HF_REPO` is never used
[INFO] [stdout]   --> src/ml/speech_bubble_segmentation/mod.rs:24:7
[INFO] [stdout]    |
[INFO] [stdout] 24 | const HF_REPO: &str = "mayocream/speech-bubble-segmentation";
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CONFIG_FILENAME` is never used
[INFO] [stdout]   --> src/ml/speech_bubble_segmentation/mod.rs:25:7
[INFO] [stdout]    |
[INFO] [stdout] 25 | const CONFIG_FILENAME: &str = "config.json";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SAFETENSORS_FILENAME` is never used
[INFO] [stdout]   --> src/ml/speech_bubble_segmentation/mod.rs:26:7
[INFO] [stdout]    |
[INFO] [stdout] 26 | const SAFETENSORS_FILENAME: &str = "model.safetensors";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `validate` is never used
[INFO] [stdout]   --> src/ml/speech_bubble_segmentation/mod.rs:97:8
[INFO] [stdout]    |
[INFO] [stdout] 96 | impl SpeechBubbleSegmentationConfig {
[INFO] [stdout]    | ----------------------------------- method in this implementation
[INFO] [stdout] 97 |     fn validate(&self) -> Result<()> {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load`, `load_from_paths`, `inference`, `inference_with_thresholds`, and `preprocess` are never used
[INFO] [stdout]    --> src/ml/speech_bubble_segmentation/mod.rs:131:18
[INFO] [stdout]     |
[INFO] [stdout] 130 | impl SpeechBubbleSegmentation {
[INFO] [stdout]     | ----------------------------- associated items in this implementation
[INFO] [stdout] 131 |     pub async fn load(cpu: bool) -> Result<Self> {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub fn load_from_paths(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 165 |     pub fn inference(&self, image: &DynamicImage) -> Result<SpeechBubbleSegmentationResult> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 174 |     pub fn inference_with_thresholds(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 215 |     fn preprocess(&self, image: &DynamicImage) -> Result<PreparedInput> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `prefetch` is never used
[INFO] [stdout]    --> src/ml/speech_bubble_segmentation/mod.rs:268:14
[INFO] [stdout]     |
[INFO] [stdout] 268 | pub async fn prefetch() -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_model_paths` is never used
[INFO] [stdout]    --> src/ml/speech_bubble_segmentation/mod.rs:273:10
[INFO] [stdout]     |
[INFO] [stdout] 273 | async fn resolve_model_paths() -> Result<(PathBuf, PathBuf)> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `variant_multiples` is never used
[INFO] [stdout]    --> src/ml/speech_bubble_segmentation/mod.rs:283:4
[INFO] [stdout]     |
[INFO] [stdout] 283 | fn variant_multiples(config: &SpeechBubbleSegmentationConfig) -> Result<Multiples> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `postprocess` is never used
[INFO] [stdout]    --> src/ml/speech_bubble_segmentation/mod.rs:290:4
[INFO] [stdout]     |
[INFO] [stdout] 290 | fn postprocess(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_regions` is never used
[INFO] [stdout]    --> src/ml/speech_bubble_segmentation/mod.rs:330:4
[INFO] [stdout]     |
[INFO] [stdout] 330 | fn extract_regions(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_mask_probabilities` is never used
[INFO] [stdout]    --> src/ml/speech_bubble_segmentation/mod.rs:419:4
[INFO] [stdout]     |
[INFO] [stdout] 419 | fn build_mask_probabilities(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `merge_mask_into_probability_map` is never used
[INFO] [stdout]    --> src/ml/speech_bubble_segmentation/mod.rs:494:4
[INFO] [stdout]     |
[INFO] [stdout] 494 | fn merge_mask_into_probability_map(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Multiples` is never constructed
[INFO] [stdout]  --> src/ml/speech_bubble_segmentation/model.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Multiples {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `m` and `filters` are never used
[INFO] [stdout]   --> src/ml/speech_bubble_segmentation/model.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl Multiples {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 15 |     pub fn m() -> Self {
[INFO] [stdout]    |            ^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     fn filters(&self) -> (usize, usize, usize) {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/ml/speech_bubble_segmentation/model.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl Upsample {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 37 |     fn new(scale_factor: usize) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]   --> src/ml/speech_bubble_segmentation/model.rs:56:8
[INFO] [stdout]    |
[INFO] [stdout] 55 | impl ConvBlock {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 56 |     fn load(
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]   --> src/ml/speech_bubble_segmentation/model.rs:92:8
[INFO] [stdout]    |
[INFO] [stdout] 91 | impl Bottleneck {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 92 |     fn load(vb: VarBuilder, c1: usize, c2: usize, shortcut: bool) -> Result<Self> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]    --> src/ml/speech_bubble_segmentation/model.rs:116:8
[INFO] [stdout]     |
[INFO] [stdout] 115 | impl C2f {
[INFO] [stdout]     | -------- associated function in this implementation
[INFO] [stdout] 116 |     fn load(vb: VarBuilder, c1: usize, c2: usize, n: usize, shortcut: bool) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]    --> src/ml/speech_bubble_segmentation/model.rs:158:8
[INFO] [stdout]     |
[INFO] [stdout] 157 | impl Sppf {
[INFO] [stdout]     | --------- associated function in this implementation
[INFO] [stdout] 158 |     fn load(vb: VarBuilder, c1: usize, c2: usize, kernel_size: usize) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]    --> src/ml/speech_bubble_segmentation/model.rs:196:8
[INFO] [stdout]     |
[INFO] [stdout] 195 | impl Dfl {
[INFO] [stdout]     | -------- associated function in this implementation
[INFO] [stdout] 196 |     fn load(vb: VarBuilder, reg_max: usize) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/ml/speech_bubble_segmentation/model.rs:215:5
[INFO] [stdout]     |
[INFO] [stdout] 214 | struct DarkNet {
[INFO] [stdout]     |        ------- fields in this struct
[INFO] [stdout] 215 |     b1_0: ConvBlock,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 216 |     b1_1: ConvBlock,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 217 |     b2_0: C2f,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 218 |     b2_1: ConvBlock,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 219 |     b2_2: C2f,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 220 |     b3_0: ConvBlock,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 221 |     b3_1: C2f,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 222 |     b4_0: ConvBlock,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 223 |     b4_1: C2f,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 224 |     b5: Sppf,
[INFO] [stdout]     |     ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DarkNet` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/speech_bubble_segmentation/model.rs:228:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | impl DarkNet {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout] 228 |     fn load(vb: VarBuilder, multiples: Multiples) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 301 |     fn forward(&self, xs: &Tensor) -> Result<(Tensor, Tensor, Tensor)> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/ml/speech_bubble_segmentation/model.rs:315:5
[INFO] [stdout]     |
[INFO] [stdout] 314 | struct YoloV8Neck {
[INFO] [stdout]     |        ---------- fields in this struct
[INFO] [stdout] 315 |     upsample: Upsample,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 316 |     n1: C2f,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 317 |     n2: C2f,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 318 |     n3: ConvBlock,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 319 |     n4: C2f,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 320 |     n5: ConvBlock,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 321 |     n6: C2f,
[INFO] [stdout]     |     ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `YoloV8Neck` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/speech_bubble_segmentation/model.rs:325:8
[INFO] [stdout]     |
[INFO] [stdout] 324 | impl YoloV8Neck {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 325 |     fn load(vb: VarBuilder, multiples: Multiples) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 377 |     fn forward(&self, p3: &Tensor, p4: &Tensor, p5: &Tensor) -> Result<(Tensor, Tensor, Tensor)> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_anchors` is never used
[INFO] [stdout]    --> src/ml/speech_bubble_segmentation/model.rs:394:4
[INFO] [stdout]     |
[INFO] [stdout] 394 | fn make_anchors(
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dist2bbox` is never used
[INFO] [stdout]    --> src/ml/speech_bubble_segmentation/model.rs:424:4
[INFO] [stdout]     |
[INFO] [stdout] 424 | fn dist2bbox(distance: &Tensor, anchor_points: &Tensor) -> Result<Tensor> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DetectionHeadOut` is never constructed
[INFO] [stdout]    --> src/ml/speech_bubble_segmentation/model.rs:435:8
[INFO] [stdout]     |
[INFO] [stdout] 435 | struct DetectionHeadOut {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `dfl`, `cv2`, `cv3`, `reg_max`, and `no` are never read
[INFO] [stdout]    --> src/ml/speech_bubble_segmentation/model.rs:443:5
[INFO] [stdout]     |
[INFO] [stdout] 442 | struct DetectionHead {
[INFO] [stdout]     |        ------------- fields in this struct
[INFO] [stdout] 443 |     dfl: Dfl,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 444 |     cv2: [(ConvBlock, ConvBlock, Conv2d); 3],
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 445 |     cv3: [(ConvBlock, ConvBlock, Conv2d); 3],
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 446 |     reg_max: usize,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 447 |     no: usize,
[INFO] [stdout]     |     ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DetectionHead` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load`, `load_cv2`, `load_cv3`, and `forward` are never used
[INFO] [stdout]    --> src/ml/speech_bubble_segmentation/model.rs:451:8
[INFO] [stdout]     |
[INFO] [stdout] 450 | impl DetectionHead {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] 451 |     fn load(
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 476 |     fn load_cv2(
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 488 |     fn load_cv3(
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 500 |     fn forward(&self, xs0: &Tensor, xs1: &Tensor, xs2: &Tensor) -> Result<DetectionHeadOut> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `cv1`, `upsample`, `cv2`, and `cv3` are never read
[INFO] [stdout]    --> src/ml/speech_bubble_segmentation/model.rs:547:5
[INFO] [stdout]     |
[INFO] [stdout] 546 | struct Proto {
[INFO] [stdout]     |        ----- fields in this struct
[INFO] [stdout] 547 |     cv1: ConvBlock,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 548 |     upsample: ConvTranspose2d,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 549 |     cv2: ConvBlock,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 550 |     cv3: ConvBlock,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Proto` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/speech_bubble_segmentation/model.rs:554:8
[INFO] [stdout]     |
[INFO] [stdout] 553 | impl Proto {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout] 554 |     fn load(vb: VarBuilder, c1: usize, c_mid: usize, c2: usize) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 578 |     fn forward(&self, xs: &Tensor) -> Result<Tensor> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `detect`, `proto`, `cv4`, and `num_masks` are never read
[INFO] [stdout]    --> src/ml/speech_bubble_segmentation/model.rs:588:5
[INFO] [stdout]     |
[INFO] [stdout] 587 | struct SegmentHead {
[INFO] [stdout]     |        ----------- fields in this struct
[INFO] [stdout] 588 |     detect: DetectionHead,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 589 |     proto: Proto,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 590 |     cv4: [(ConvBlock, ConvBlock, Conv2d); 3],
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 591 |     num_masks: usize,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SegmentHead` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load`, `load_cv4`, and `forward` are never used
[INFO] [stdout]    --> src/ml/speech_bubble_segmentation/model.rs:595:8
[INFO] [stdout]     |
[INFO] [stdout] 594 | impl SegmentHead {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] 595 |     fn load(
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 616 |     fn load_cv4(
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 628 |     fn forward(&self, xs0: &Tensor, xs1: &Tensor, xs2: &Tensor) -> Result<YoloV8SegOutputs> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `backbone`, `neck`, and `head` are never read
[INFO] [stdout]    --> src/ml/speech_bubble_segmentation/model.rs:654:5
[INFO] [stdout]     |
[INFO] [stdout] 653 | pub struct YoloV8Seg {
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] 654 |     backbone: DarkNet,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 655 |     neck: YoloV8Neck,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 656 |     head: SegmentHead,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `YoloV8Seg` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `YoloV8SegOutputs` is never constructed
[INFO] [stdout]    --> src/ml/speech_bubble_segmentation/model.rs:660:12
[INFO] [stdout]     |
[INFO] [stdout] 660 | pub struct YoloV8SegOutputs {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/speech_bubble_segmentation/model.rs:666:12
[INFO] [stdout]     |
[INFO] [stdout] 665 | impl YoloV8Seg {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] 666 |     pub fn load(
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 688 |     pub fn forward(&self, xs: &Tensor) -> Result<YoloV8SegOutputs> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BlobRef` is never constructed
[INFO] [stdout]   --> src/core/mod.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct BlobRef(pub String);
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `hash`, and `is_empty` are never used
[INFO] [stdout]   --> src/core/mod.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl BlobRef {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] 31 |     pub fn new(hash: impl Into<String>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn hash(&self) -> &str {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `new_text_block_id` is never used
[INFO] [stdout]   --> src/core/mod.rs:48:4
[INFO] [stdout]    |
[INFO] [stdout] 48 | fn new_text_block_id() -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TextBlock` is never constructed
[INFO] [stdout]   --> src/core/mod.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct TextBlock {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TextStrokeStyle` is never constructed
[INFO] [stdout]    --> src/core/mod.rs:120:12
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub struct TextStrokeStyle {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_true` is never used
[INFO] [stdout]    --> src/core/mod.rs:139:10
[INFO] [stdout]     |
[INFO] [stdout] 139 | const fn default_true() -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_stroke_color` is never used
[INFO] [stdout]    --> src/core/mod.rs:143:10
[INFO] [stdout]     |
[INFO] [stdout] 143 | const fn default_stroke_color() -> [u8; 4] {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TextAlign` is never used
[INFO] [stdout]    --> src/core/mod.rs:151:10
[INFO] [stdout]     |
[INFO] [stdout] 151 | pub enum TextAlign {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TextStyle` is never constructed
[INFO] [stdout]    --> src/core/mod.rs:160:12
[INFO] [stdout]     |
[INFO] [stdout] 160 | pub struct TextStyle {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BubbleRegion` is never constructed
[INFO] [stdout]    --> src/core/mod.rs:172:12
[INFO] [stdout]     |
[INFO] [stdout] 172 | pub struct BubbleRegion {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DocumentStyle` is never constructed
[INFO] [stdout]    --> src/core/mod.rs:182:12
[INFO] [stdout]     |
[INFO] [stdout] 182 | pub struct DocumentStyle {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Document` is never constructed
[INFO] [stdout]    --> src/core/mod.rs:189:12
[INFO] [stdout]     |
[INFO] [stdout] 189 | pub struct Document {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DeviceInfo` is never constructed
[INFO] [stdout]  --> src/core/commands.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct DeviceInfo {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OpenExternalPayload` is never constructed
[INFO] [stdout]   --> src/core/commands.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct OpenExternalPayload {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ThumbnailResult` is never constructed
[INFO] [stdout]   --> src/core/commands.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct ThumbnailResult {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FileEntry` is never constructed
[INFO] [stdout]   --> src/core/commands.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct FileEntry {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OpenDocumentsPayload` is never constructed
[INFO] [stdout]   --> src/core/commands.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct OpenDocumentsPayload {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FileResult` is never constructed
[INFO] [stdout]   --> src/core/commands.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct FileResult {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LlmCatalogPayload` is never constructed
[INFO] [stdout]   --> src/core/commands.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct LlmCatalogPayload {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LlmLoadParams` is never constructed
[INFO] [stdout]   --> src/core/commands.rs:56:12
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub struct LlmLoadParams {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LlmGenerateParams` is never constructed
[INFO] [stdout]   --> src/core/commands.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub struct LlmGenerateParams {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProcessRequest` is never constructed
[INFO] [stdout]   --> src/core/commands.rs:71:12
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub struct ProcessRequest {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ViewImageParams` is never constructed
[INFO] [stdout]   --> src/core/commands.rs:82:12
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub struct ViewImageParams {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ViewTextBlockParams` is never constructed
[INFO] [stdout]   --> src/core/commands.rs:90:12
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub struct ViewTextBlockParams {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OpenDocumentsParams` is never constructed
[INFO] [stdout]   --> src/core/commands.rs:98:12
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub struct OpenDocumentsParams {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ExportDocumentParams` is never constructed
[INFO] [stdout]    --> src/core/commands.rs:104:12
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub struct ExportDocumentParams {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RenderParams` is never constructed
[INFO] [stdout]    --> src/core/commands.rs:111:12
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub struct RenderParams {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DocumentIdParam` is never constructed
[INFO] [stdout]    --> src/core/commands.rs:119:12
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub struct DocumentIdParam {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DocumentIndexParam` is never constructed
[INFO] [stdout]    --> src/core/commands.rs:125:12
[INFO] [stdout]     |
[INFO] [stdout] 125 | pub struct DocumentIndexParam {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProcessParams` is never constructed
[INFO] [stdout]    --> src/core/commands.rs:131:12
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub struct ProcessParams {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UpdateTextBlockPayload` is never constructed
[INFO] [stdout]    --> src/core/commands.rs:141:12
[INFO] [stdout]     |
[INFO] [stdout] 141 | pub struct UpdateTextBlockPayload {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AddTextBlockPayload` is never constructed
[INFO] [stdout]    --> src/core/commands.rs:157:12
[INFO] [stdout]     |
[INFO] [stdout] 157 | pub struct AddTextBlockPayload {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RemoveTextBlockPayload` is never constructed
[INFO] [stdout]    --> src/core/commands.rs:167:12
[INFO] [stdout]     |
[INFO] [stdout] 167 | pub struct RemoveTextBlockPayload {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MaskMorphPayload` is never constructed
[INFO] [stdout]    --> src/core/commands.rs:174:12
[INFO] [stdout]     |
[INFO] [stdout] 174 | pub struct MaskMorphPayload {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InpaintRegionParams` is never constructed
[INFO] [stdout]    --> src/core/commands.rs:181:12
[INFO] [stdout]     |
[INFO] [stdout] 181 | pub struct InpaintRegionParams {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `DownloadStatus` is never used
[INFO] [stdout]  --> src/core/events.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub enum DownloadStatus {
[INFO] [stdout]   |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DownloadProgress` is never constructed
[INFO] [stdout]   --> src/core/events.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct DownloadProgress {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `PipelineStep` is never used
[INFO] [stdout]   --> src/core/events.rs:25:10
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub enum PipelineStep {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `ALL` is never used
[INFO] [stdout]   --> src/core/events.rs:34:15
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl PipelineStep {
[INFO] [stdout]    | ----------------- associated constant in this implementation
[INFO] [stdout] 34 |     pub const ALL: &[PipelineStep] = &[
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `PipelineStatus` is never used
[INFO] [stdout]   --> src/core/events.rs:45:10
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub enum PipelineStatus {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PipelineProgress` is never constructed
[INFO] [stdout]   --> src/core/events.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct PipelineProgress {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GoogleFontVariant` is never constructed
[INFO] [stdout]  --> src/core/google_fonts.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct GoogleFontVariant {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GoogleFontEntry` is never constructed
[INFO] [stdout]   --> src/core/google_fonts.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct GoogleFontEntry {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GoogleFontCatalog` is never constructed
[INFO] [stdout]   --> src/core/google_fonts.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct GoogleFontCatalog {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `FontSource` is never used
[INFO] [stdout]   --> src/core/google_fonts.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub enum FontSource {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_hex_color` is never used
[INFO] [stdout]  --> src/core/parse.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn parse_hex_color(hex: &str) -> anyhow::Result<[u8; 4]> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FontFaceInfo` is never constructed
[INFO] [stdout]   --> src/core/protocol.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct FontFaceInfo {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MetaInfo` is never constructed
[INFO] [stdout]   --> src/core/protocol.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct MetaInfo {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DocumentSummary` is never constructed
[INFO] [stdout]   --> src/core/protocol.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct DocumentSummary {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TextBlockDetail` is never constructed
[INFO] [stdout]   --> src/core/protocol.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct TextBlockDetail {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DocumentDetail` is never constructed
[INFO] [stdout]    --> src/core/protocol.rs:107:12
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub struct DocumentDetail {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TextBlockInput` is never constructed
[INFO] [stdout]    --> src/core/protocol.rs:133:12
[INFO] [stdout]     |
[INFO] [stdout] 133 | pub struct TextBlockInput {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TextBlockPatch` is never constructed
[INFO] [stdout]    --> src/core/protocol.rs:146:12
[INFO] [stdout]     |
[INFO] [stdout] 146 | pub struct TextBlockPatch {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CreateTextBlock` is never constructed
[INFO] [stdout]    --> src/core/protocol.rs:158:12
[INFO] [stdout]     |
[INFO] [stdout] 158 | pub struct CreateTextBlock {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReorderRequest` is never constructed
[INFO] [stdout]    --> src/core/protocol.rs:167:12
[INFO] [stdout]     |
[INFO] [stdout] 167 | pub struct ReorderRequest {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ImportMode` is never used
[INFO] [stdout]    --> src/core/protocol.rs:173:10
[INFO] [stdout]     |
[INFO] [stdout] 173 | pub enum ImportMode {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ImportResult` is never constructed
[INFO] [stdout]    --> src/core/protocol.rs:180:12
[INFO] [stdout]     |
[INFO] [stdout] 180 | pub struct ImportResult {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ExportLayer` is never used
[INFO] [stdout]    --> src/core/protocol.rs:187:10
[INFO] [stdout]     |
[INFO] [stdout] 187 | pub enum ExportLayer {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ExportResult` is never constructed
[INFO] [stdout]    --> src/core/protocol.rs:194:12
[INFO] [stdout]     |
[INFO] [stdout] 194 | pub struct ExportResult {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `LlmStateStatus` is never used
[INFO] [stdout]    --> src/core/protocol.rs:200:10
[INFO] [stdout]     |
[INFO] [stdout] 200 | pub enum LlmStateStatus {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LlmState` is never constructed
[INFO] [stdout]    --> src/core/protocol.rs:209:12
[INFO] [stdout]     |
[INFO] [stdout] 209 | pub struct LlmState {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LlmGenerationOptions` is never constructed
[INFO] [stdout]    --> src/core/protocol.rs:217:12
[INFO] [stdout]     |
[INFO] [stdout] 217 | pub struct LlmGenerationOptions {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `LlmTargetKind` is never used
[INFO] [stdout]    --> src/core/protocol.rs:225:10
[INFO] [stdout]     |
[INFO] [stdout] 225 | pub enum LlmTargetKind {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LlmTarget` is never constructed
[INFO] [stdout]    --> src/core/protocol.rs:232:12
[INFO] [stdout]     |
[INFO] [stdout] 232 | pub struct LlmTarget {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LlmLoadRequest` is never constructed
[INFO] [stdout]    --> src/core/protocol.rs:240:12
[INFO] [stdout]     |
[INFO] [stdout] 240 | pub struct LlmLoadRequest {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LlmCatalogModel` is never constructed
[INFO] [stdout]    --> src/core/protocol.rs:248:12
[INFO] [stdout]     |
[INFO] [stdout] 248 | pub struct LlmCatalogModel {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `LlmProviderCatalogStatus` is never used
[INFO] [stdout]    --> src/core/protocol.rs:256:10
[INFO] [stdout]     |
[INFO] [stdout] 256 | pub enum LlmProviderCatalogStatus {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LlmProviderCatalog` is never constructed
[INFO] [stdout]    --> src/core/protocol.rs:264:12
[INFO] [stdout]     |
[INFO] [stdout] 264 | pub struct LlmProviderCatalog {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LlmCatalog` is never constructed
[INFO] [stdout]    --> src/core/protocol.rs:278:12
[INFO] [stdout]     |
[INFO] [stdout] 278 | pub struct LlmCatalog {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `JobStatus` is never used
[INFO] [stdout]    --> src/core/protocol.rs:285:10
[INFO] [stdout]     |
[INFO] [stdout] 285 | pub enum JobStatus {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `JobState` is never constructed
[INFO] [stdout]    --> src/core/protocol.rs:295:12
[INFO] [stdout]     |
[INFO] [stdout] 295 | pub struct JobState {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TransferStatus` is never used
[INFO] [stdout]    --> src/core/protocol.rs:310:10
[INFO] [stdout]     |
[INFO] [stdout] 310 | pub enum TransferStatus {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DownloadState` is never constructed
[INFO] [stdout]    --> src/core/protocol.rs:319:12
[INFO] [stdout]     |
[INFO] [stdout] 319 | pub struct DownloadState {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SnapshotEvent` is never constructed
[INFO] [stdout]    --> src/core/protocol.rs:330:12
[INFO] [stdout]     |
[INFO] [stdout] 330 | pub struct SnapshotEvent {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DocumentsChangedEvent` is never constructed
[INFO] [stdout]    --> src/core/protocol.rs:339:12
[INFO] [stdout]     |
[INFO] [stdout] 339 | pub struct DocumentsChangedEvent {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DocumentChangedEvent` is never constructed
[INFO] [stdout]    --> src/core/protocol.rs:345:12
[INFO] [stdout]     |
[INFO] [stdout] 345 | pub struct DocumentChangedEvent {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RenderRequest` is never constructed
[INFO] [stdout]    --> src/core/protocol.rs:352:12
[INFO] [stdout]     |
[INFO] [stdout] 352 | pub struct RenderRequest {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TranslateRequest` is never constructed
[INFO] [stdout]    --> src/core/protocol.rs:360:12
[INFO] [stdout]     |
[INFO] [stdout] 360 | pub struct TranslateRequest {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PipelineLlmRequest` is never constructed
[INFO] [stdout]    --> src/core/protocol.rs:368:12
[INFO] [stdout]     |
[INFO] [stdout] 368 | pub struct PipelineLlmRequest {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PipelineJobRequest` is never constructed
[INFO] [stdout]    --> src/core/protocol.rs:376:12
[INFO] [stdout]     |
[INFO] [stdout] 376 | pub struct PipelineJobRequest {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Region` is never constructed
[INFO] [stdout]    --> src/core/protocol.rs:387:12
[INFO] [stdout]     |
[INFO] [stdout] 387 | pub struct Region {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MaskRegionRequest` is never constructed
[INFO] [stdout]    --> src/core/protocol.rs:407:12
[INFO] [stdout]     |
[INFO] [stdout] 407 | pub struct MaskRegionRequest {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BrushRegionRequest` is never constructed
[INFO] [stdout]    --> src/core/protocol.rs:414:12
[INFO] [stdout]     |
[INFO] [stdout] 414 | pub struct BrushRegionRequest {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InpaintRegionRequest` is never constructed
[INFO] [stdout]    --> src/core/protocol.rs:421:12
[INFO] [stdout]     |
[INFO] [stdout] 421 | pub struct InpaintRegionRequest {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EngineCatalogEntry` is never constructed
[INFO] [stdout]    --> src/core/protocol.rs:427:12
[INFO] [stdout]     |
[INFO] [stdout] 427 | pub struct EngineCatalogEntry {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EngineCatalog` is never constructed
[INFO] [stdout]    --> src/core/protocol.rs:435:12
[INFO] [stdout]     |
[INFO] [stdout] 435 | pub struct EngineCatalog {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DocumentInfo` is never constructed
[INFO] [stdout]  --> src/core/views.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct DocumentInfo {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TextBlockInfo` is never constructed
[INFO] [stdout]   --> src/core/views.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct TextBlockInfo {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TextStyleInfo` is never constructed
[INFO] [stdout]   --> src/core/views.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct TextStyleInfo {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TextStrokeInfo` is never constructed
[INFO] [stdout]   --> src/core/views.rs:46:12
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct TextStrokeInfo {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `to_block_info` is never used
[INFO] [stdout]   --> src/core/views.rs:52:8
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub fn to_block_info(i: usize, block: &TextBlock) -> TextBlockInfo {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `to_doc_info` is never used
[INFO] [stdout]   --> src/core/views.rs:83:8
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub fn to_doc_info(doc: &Document) -> DocumentInfo {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TextShaderEffectFlag` is never used
[INFO] [stdout]   --> src/core/effect.rs:10:6
[INFO] [stdout]    |
[INFO] [stdout] 10 | enum TextShaderEffectFlag {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TextShaderEffect` is never constructed
[INFO] [stdout]   --> src/core/effect.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct TextShaderEffect {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/core/effect.rs:25:15
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl TextShaderEffect {
[INFO] [stdout]    | --------------------- associated items in this implementation
[INFO] [stdout] 25 |     pub const ITALIC_FLAG: u32 = 1 << 0;
[INFO] [stdout]    |               ^^^^^^^^^^^
[INFO] [stdout] 26 |     pub const BOLD_FLAG: u32 = 1 << 1;
[INFO] [stdout]    |               ^^^^^^^^^
[INFO] [stdout] 27 |
[INFO] [stdout] 28 |     pub fn flags(self) -> u32 {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn is_empty(self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn none() -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     fn apply_flag(&mut self, flag: TextShaderEffectFlag) {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     fn enabled_flags(self) -> [Option<TextShaderEffectFlag>; 2] {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `valid_shader_effects` is never used
[INFO] [stdout]   --> src/core/effect.rs:65:4
[INFO] [stdout]    |
[INFO] [stdout] 65 | fn valid_shader_effects() -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TextDirection` is never used
[INFO] [stdout]  --> src/core/font.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub enum TextDirection {
[INFO] [stdout]   |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NamedFontPrediction` is never constructed
[INFO] [stdout]   --> src/core/font.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct NamedFontPrediction {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TopFont` is never constructed
[INFO] [stdout]   --> src/core/font.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct TopFont {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FontPrediction` is never constructed
[INFO] [stdout]   --> src/core/font.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct FontPrediction {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Language` is never used
[INFO] [stdout]   --> src/llm/mod.rs:11:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub enum Language {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `tag` and `parse` are never used
[INFO] [stdout]    --> src/llm/mod.rs:296:12
[INFO] [stdout]     |
[INFO] [stdout] 295 | impl Language {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] 296 |     pub fn tag(self) -> &'static str {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 300 |     pub fn parse(value: &str) -> Option<Self> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `supported_locales` is never used
[INFO] [stdout]    --> src/llm/mod.rs:309:8
[INFO] [stdout]     |
[INFO] [stdout] 309 | pub fn supported_locales() -> Vec<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `language_from_tag` is never used
[INFO] [stdout]    --> src/llm/mod.rs:315:8
[INFO] [stdout]     |
[INFO] [stdout] 315 | pub fn language_from_tag(value: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tags` is never used
[INFO] [stdout]    --> src/llm/mod.rs:321:8
[INFO] [stdout]     |
[INFO] [stdout] 321 | pub fn tags(languages: &[Language]) -> Vec<String> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLOCK_TAG_INSTRUCTIONS` is never used
[INFO] [stdout]    --> src/llm/mod.rs:328:11
[INFO] [stdout]     |
[INFO] [stdout] 328 | pub const BLOCK_TAG_INSTRUCTIONS: &str = "The input uses numbered tags like [1], [2], etc. to mark each text block. Translate only ...
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `system_prompt` is never used
[INFO] [stdout]    --> src/llm/mod.rs:330:8
[INFO] [stdout]     |
[INFO] [stdout] 330 | pub fn system_prompt(target_language: Language) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ModelId` is never used
[INFO] [stdout]    --> src/llm/mod.rs:348:10
[INFO] [stdout]     |
[INFO] [stdout] 348 | pub enum ModelId {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `property`, `default_generate_options`, and `languages` are never used
[INFO] [stdout]    --> src/llm/mod.rs:568:8
[INFO] [stdout]     |
[INFO] [stdout] 567 | impl ModelId {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] 568 |     fn property(&self, name: &str) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 572 |     pub fn default_generate_options(&self) -> GenerateOptions {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 628 |     pub fn languages(&self) -> Vec<Language> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `prefetch` is never used
[INFO] [stdout]    --> src/llm/mod.rs:640:14
[INFO] [stdout]     |
[INFO] [stdout] 640 | pub async fn prefetch() -> anyhow::Result<()> {
[INFO] [stdout]     |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Llm` is never constructed
[INFO] [stdout]   --> src/llm/model.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct Llm {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GenerateOptions` is never constructed
[INFO] [stdout]   --> src/llm/model.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct GenerateOptions {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load`, `id`, and `generate` are never used
[INFO] [stdout]   --> src/llm/model.rs:50:18
[INFO] [stdout]    |
[INFO] [stdout] 49 | impl Llm {
[INFO] [stdout]    | -------- associated items in this implementation
[INFO] [stdout] 50 |     pub async fn load(
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub fn id(&self) -> ModelId {
[INFO] [stdout]    |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 83 |     pub async fn generate(
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rate` is never used
[INFO] [stdout]    --> src/llm/model.rs:106:8
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub fn rate(tokens: usize, duration: Duration) -> f64 {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_system_prompt` is never used
[INFO] [stdout]   --> src/llm/providers/mod.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub(crate) fn resolve_system_prompt(custom: Option<&str>, target_language: Language) -> String {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `API_KEY_SERVICE` is never used
[INFO] [stdout]   --> src/llm/providers/mod.rs:30:7
[INFO] [stdout]    |
[INFO] [stdout] 30 | const API_KEY_SERVICE: &str = "koharu";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OPENAI_COMPATIBLE_ID` is never used
[INFO] [stdout]   --> src/llm/providers/mod.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub const OPENAI_COMPATIBLE_ID: &str = "openai-compatible";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `NO_KEYRING` is never used
[INFO] [stdout]   --> src/llm/providers/mod.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | static NO_KEYRING: AtomicBool = AtomicBool::new(false);
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProviderModelDescriptor` is never constructed
[INFO] [stdout]   --> src/llm/providers/mod.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct ProviderModelDescriptor {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DiscoveredProviderModel` is never constructed
[INFO] [stdout]   --> src/llm/providers/mod.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct DiscoveredProviderModel {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ProviderDiscoveryFuture` is never used
[INFO] [stdout]   --> src/llm/providers/mod.rs:47:10
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub type ProviderDiscoveryFuture =
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ProviderCatalogModels` is never used
[INFO] [stdout]   --> src/llm/providers/mod.rs:50:10
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub enum ProviderCatalogModels {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProviderDescriptor` is never constructed
[INFO] [stdout]   --> src/llm/providers/mod.rs:55:12
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub struct ProviderDescriptor {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `disable_keyring` is never used
[INFO] [stdout]   --> src/llm/providers/mod.rs:64:8
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub fn disable_keyring() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `env_key_var` is never used
[INFO] [stdout]   --> src/llm/providers/mod.rs:68:4
[INFO] [stdout]    |
[INFO] [stdout] 68 | fn env_key_var(provider: &str) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `provider_key_entry` is never used
[INFO] [stdout]   --> src/llm/providers/mod.rs:75:4
[INFO] [stdout]    |
[INFO] [stdout] 75 | fn provider_key_entry(provider: &str) -> anyhow::Result<Entry> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_saved_api_key` is never used
[INFO] [stdout]   --> src/llm/providers/mod.rs:80:8
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub fn get_saved_api_key(provider: &str) -> anyhow::Result<Option<String>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_saved_api_key` is never used
[INFO] [stdout]   --> src/llm/providers/mod.rs:97:8
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub fn set_saved_api_key(provider: &str, api_key: &str) -> anyhow::Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ensure_provider_success` is never used
[INFO] [stdout]    --> src/llm/providers/mod.rs:120:14
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub async fn ensure_provider_success(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `AnyProvider` is never used
[INFO] [stdout]    --> src/llm/providers/mod.rs:148:11
[INFO] [stdout]     |
[INFO] [stdout] 148 | pub trait AnyProvider: Send + Sync {
[INFO] [stdout]     |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProviderConfig` is never constructed
[INFO] [stdout]    --> src/llm/providers/mod.rs:159:12
[INFO] [stdout]     |
[INFO] [stdout] 159 | pub struct ProviderConfig {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OPENAI_MODELS` is never used
[INFO] [stdout]    --> src/llm/providers/mod.rs:167:7
[INFO] [stdout]     |
[INFO] [stdout] 167 | const OPENAI_MODELS: &[ProviderModelDescriptor] = &[ProviderModelDescriptor {
[INFO] [stdout]     |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GEMINI_MODELS` is never used
[INFO] [stdout]    --> src/llm/providers/mod.rs:172:7
[INFO] [stdout]     |
[INFO] [stdout] 172 | const GEMINI_MODELS: &[ProviderModelDescriptor] = &[ProviderModelDescriptor {
[INFO] [stdout]     |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CLAUDE_MODELS` is never used
[INFO] [stdout]    --> src/llm/providers/mod.rs:177:7
[INFO] [stdout]     |
[INFO] [stdout] 177 | const CLAUDE_MODELS: &[ProviderModelDescriptor] = &[ProviderModelDescriptor {
[INFO] [stdout]     |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEEPSEEK_MODELS` is never used
[INFO] [stdout]    --> src/llm/providers/mod.rs:182:7
[INFO] [stdout]     |
[INFO] [stdout] 182 | const DEEPSEEK_MODELS: &[ProviderModelDescriptor] = &[ProviderModelDescriptor {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MT_MODELS` is never used
[INFO] [stdout]    --> src/llm/providers/mod.rs:187:7
[INFO] [stdout]     |
[INFO] [stdout] 187 | const MT_MODELS: &[ProviderModelDescriptor] = &[ProviderModelDescriptor {
[INFO] [stdout]     |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROVIDERS` is never used
[INFO] [stdout]    --> src/llm/providers/mod.rs:192:7
[INFO] [stdout]     |
[INFO] [stdout] 192 | const PROVIDERS: &[ProviderDescriptor] = &[
[INFO] [stdout]     |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `all_provider_descriptors` is never used
[INFO] [stdout]    --> src/llm/providers/mod.rs:251:8
[INFO] [stdout]     |
[INFO] [stdout] 251 | pub fn all_provider_descriptors() -> &'static [ProviderDescriptor] {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_provider_descriptor` is never used
[INFO] [stdout]    --> src/llm/providers/mod.rs:255:8
[INFO] [stdout]     |
[INFO] [stdout] 255 | pub fn find_provider_descriptor(provider_id: &str) -> Option<&'static ProviderDescriptor> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `discover_models` is never used
[INFO] [stdout]    --> src/llm/providers/mod.rs:261:8
[INFO] [stdout]     |
[INFO] [stdout] 261 | pub fn discover_models(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_provider` is never used
[INFO] [stdout]    --> src/llm/providers/mod.rs:282:8
[INFO] [stdout]     |
[INFO] [stdout] 282 | pub fn build_provider(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `required_api_key` is never used
[INFO] [stdout]    --> src/llm/providers/mod.rs:310:4
[INFO] [stdout]     |
[INFO] [stdout] 310 | fn required_api_key(config: &ProviderConfig, provider_id: &str) -> anyhow::Result<String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `required_base_url` is never used
[INFO] [stdout]    --> src/llm/providers/mod.rs:320:4
[INFO] [stdout]     |
[INFO] [stdout] 320 | fn required_base_url(config: &ProviderConfig, provider_id: &str) -> anyhow::Result<String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_openai_provider` is never used
[INFO] [stdout]    --> src/llm/providers/mod.rs:330:4
[INFO] [stdout]     |
[INFO] [stdout] 330 | fn build_openai_provider(config: ProviderConfig) -> anyhow::Result<Box<dyn AnyProvider>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_gemini_provider` is never used
[INFO] [stdout]    --> src/llm/providers/mod.rs:337:4
[INFO] [stdout]     |
[INFO] [stdout] 337 | fn build_gemini_provider(config: ProviderConfig) -> anyhow::Result<Box<dyn AnyProvider>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_claude_provider` is never used
[INFO] [stdout]    --> src/llm/providers/mod.rs:344:4
[INFO] [stdout]     |
[INFO] [stdout] 344 | fn build_claude_provider(config: ProviderConfig) -> anyhow::Result<Box<dyn AnyProvider>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_deepseek_provider` is never used
[INFO] [stdout]    --> src/llm/providers/mod.rs:351:4
[INFO] [stdout]     |
[INFO] [stdout] 351 | fn build_deepseek_provider(config: ProviderConfig) -> anyhow::Result<Box<dyn AnyProvider>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_openai_compatible_provider` is never used
[INFO] [stdout]    --> src/llm/providers/mod.rs:358:4
[INFO] [stdout]     |
[INFO] [stdout] 358 | fn build_openai_compatible_provider(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_deepl_mt_provider` is never used
[INFO] [stdout]    --> src/llm/providers/mod.rs:370:4
[INFO] [stdout]     |
[INFO] [stdout] 370 | fn build_deepl_mt_provider(config: ProviderConfig) -> anyhow::Result<Box<dyn AnyProvider>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_google_translate_mt_provider` is never used
[INFO] [stdout]    --> src/llm/providers/mod.rs:378:4
[INFO] [stdout]     |
[INFO] [stdout] 378 | fn build_google_translate_mt_provider(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `discover_openai_compatible_models` is never used
[INFO] [stdout]    --> src/llm/providers/mod.rs:387:4
[INFO] [stdout]     |
[INFO] [stdout] 387 | fn discover_openai_compatible_models(config: ProviderConfig) -> ProviderDiscoveryFuture {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ChatCompletionsAuth` is never used
[INFO] [stdout]  --> src/llm/providers/chat_completions.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub enum ChatCompletionsAuth {
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ChatCompletionsRequest` is never constructed
[INFO] [stdout]   --> src/llm/providers/chat_completions.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct ChatCompletionsRequest {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ChatMessageContent` is never used
[INFO] [stdout]   --> src/llm/providers/chat_completions.rs:27:6
[INFO] [stdout]    |
[INFO] [stdout] 27 | enum ChatMessageContent {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MultimodalContent` is never used
[INFO] [stdout]   --> src/llm/providers/chat_completions.rs:34:6
[INFO] [stdout]    |
[INFO] [stdout] 34 | enum MultimodalContent {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ImageUrl` is never constructed
[INFO] [stdout]   --> src/llm/providers/chat_completions.rs:40:8
[INFO] [stdout]    |
[INFO] [stdout] 40 | struct ImageUrl {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ChatMessage` is never constructed
[INFO] [stdout]   --> src/llm/providers/chat_completions.rs:45:8
[INFO] [stdout]    |
[INFO] [stdout] 45 | struct ChatMessage {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ChatRequest` is never constructed
[INFO] [stdout]   --> src/llm/providers/chat_completions.rs:51:8
[INFO] [stdout]    |
[INFO] [stdout] 51 | struct ChatRequest<'a> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `send_chat_completion` is never used
[INFO] [stdout]   --> src/llm/providers/chat_completions.rs:60:14
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub async fn send_chat_completion(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ClaudeProvider` is never constructed
[INFO] [stdout]   --> src/llm/providers/claude.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct ClaudeProvider {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UserMessage` is never constructed
[INFO] [stdout]   --> src/llm/providers/claude.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | struct UserMessage {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MessagesRequest` is never constructed
[INFO] [stdout]   --> src/llm/providers/claude.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | struct MessagesRequest<'a> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_BASE_URL_PAID` is never used
[INFO] [stdout]   --> src/llm/providers/deepl.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 16 | const DEFAULT_BASE_URL_PAID: &str = "https://api.deepl.com";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_BASE_URL_FREE` is never used
[INFO] [stdout]   --> src/llm/providers/deepl.rs:17:7
[INFO] [stdout]    |
[INFO] [stdout] 17 | const DEFAULT_BASE_URL_FREE: &str = "https://api-free.deepl.com";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DeeplResponse` is never constructed
[INFO] [stdout]   --> src/llm/providers/deepl.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | struct DeeplResponse {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DeeplTranslation` is never constructed
[INFO] [stdout]   --> src/llm/providers/deepl.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | struct DeeplTranslation {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_free_api_key` is never used
[INFO] [stdout]   --> src/llm/providers/deepl.rs:29:4
[INFO] [stdout]    |
[INFO] [stdout] 29 | fn is_free_api_key(api_key: &str) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `normalize_base_url` is never used
[INFO] [stdout]   --> src/llm/providers/deepl.rs:34:4
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn normalize_base_url(base: Option<&str>, api_key: &str) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `deepl_target_lang` is never used
[INFO] [stdout]   --> src/llm/providers/deepl.rs:47:4
[INFO] [stdout]    |
[INFO] [stdout] 47 | fn deepl_target_lang(language: Language) -> &'static str {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DeeplMtProvider` is never constructed
[INFO] [stdout]   --> src/llm/providers/deepl.rs:92:12
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub struct DeeplMtProvider {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DeepSeekProvider` is never constructed
[INFO] [stdout]   --> src/llm/providers/deepseek.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct DeepSeekProvider {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GeminiProvider` is never constructed
[INFO] [stdout]   --> src/llm/providers/gemini.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct GeminiProvider {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Part` is never constructed
[INFO] [stdout]   --> src/llm/providers/gemini.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | struct Part {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Content` is never constructed
[INFO] [stdout]   --> src/llm/providers/gemini.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | struct Content {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SystemInstruction` is never constructed
[INFO] [stdout]   --> src/llm/providers/gemini.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | struct SystemInstruction {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GenerateRequest` is never constructed
[INFO] [stdout]   --> src/llm/providers/gemini.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | struct GenerateRequest {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GOOGLE_TRANSLATE_URL` is never used
[INFO] [stdout]   --> src/llm/providers/google_translate.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | const GOOGLE_TRANSLATE_URL: &str = "https://translation.googleapis.com/language/translate/v2";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GoogleRequest` is never constructed
[INFO] [stdout]   --> src/llm/providers/google_translate.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | struct GoogleRequest<'a> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GoogleResponse` is never constructed
[INFO] [stdout]   --> src/llm/providers/google_translate.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | struct GoogleResponse {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GoogleData` is never constructed
[INFO] [stdout]   --> src/llm/providers/google_translate.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | struct GoogleData {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GoogleTranslation` is never constructed
[INFO] [stdout]   --> src/llm/providers/google_translate.rs:38:8
[INFO] [stdout]    |
[INFO] [stdout] 38 | struct GoogleTranslation {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GoogleTranslateMtProvider` is never constructed
[INFO] [stdout]   --> src/llm/providers/google_translate.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct GoogleTranslateMtProvider {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OpenAiProvider` is never constructed
[INFO] [stdout]   --> src/llm/providers/openai.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct OpenAiProvider {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OpenAiCompatibleProvider` is never constructed
[INFO] [stdout]   --> src/llm/providers/openai_compatible.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct OpenAiCompatibleProvider {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ModelsResponse` is never constructed
[INFO] [stdout]   --> src/llm/providers/openai_compatible.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | struct ModelsResponse {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ModelEntry` is never constructed
[INFO] [stdout]   --> src/llm/providers/openai_compatible.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | struct ModelEntry {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `normalized_base_url` is never used
[INFO] [stdout]   --> src/llm/providers/openai_compatible.rs:31:4
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn normalized_base_url(base_url: &str) -> anyhow::Result<String> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `list_models` is never used
[INFO] [stdout]   --> src/llm/providers/openai_compatible.rs:39:14
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub async fn list_models(
[INFO] [stdout]    |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `multimodal` is never used
[INFO] [stdout]   --> src/llm/providers/openai_compatible.rs:69:18
[INFO] [stdout]    |
[INFO] [stdout] 68 | impl OpenAiCompatibleProvider {
[INFO] [stdout]    | ----------------------------- method in this implementation
[INFO] [stdout] 69 |     pub async fn multimodal(
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `device` is never used
[INFO] [stdout]   --> src/ml/mod.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub fn device(cpu: bool) -> Result<Device> {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ALPHA_RING_RADIUS` is never used
[INFO] [stdout]  --> src/ml/inpainting.rs:4:7
[INFO] [stdout]   |
[INFO] [stdout] 4 | const ALPHA_RING_RADIUS: u8 = 7;
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `binarize_mask` is never used
[INFO] [stdout]  --> src/ml/inpainting.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn binarize_mask(mask: &DynamicImage) -> GrayImage {
[INFO] [stdout]   |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_alpha` is never used
[INFO] [stdout]   --> src/ml/inpainting.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn extract_alpha(image: &RgbaImage) -> GrayImage {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `restore_alpha_channel` is never used
[INFO] [stdout]   --> src/ml/inpainting.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn restore_alpha_channel(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `median_u8` is never used
[INFO] [stdout]   --> src/ml/inpainting.rs:65:4
[INFO] [stdout]    |
[INFO] [stdout] 65 | fn median_u8(values: &[u8]) -> Option<u8> {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HF_REPO` is never used
[INFO] [stdout]   --> src/ml/aot_inpainting/mod.rs:26:7
[INFO] [stdout]    |
[INFO] [stdout] 26 | const HF_REPO: &str = "mayocream/aot-inpainting";
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CONFIG_FILENAME` is never used
[INFO] [stdout]   --> src/ml/aot_inpainting/mod.rs:27:7
[INFO] [stdout]    |
[INFO] [stdout] 27 | const CONFIG_FILENAME: &str = "config.json";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SAFETENSORS_FILENAME` is never used
[INFO] [stdout]   --> src/ml/aot_inpainting/mod.rs:28:7
[INFO] [stdout]    |
[INFO] [stdout] 28 | const SAFETENSORS_FILENAME: &str = "model.safetensors";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AotInpainting` is never constructed
[INFO] [stdout]   --> src/ml/aot_inpainting/mod.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct AotInpainting {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PreparedInput` is never constructed
[INFO] [stdout]   --> src/ml/aot_inpainting/mod.rs:38:8
[INFO] [stdout]    |
[INFO] [stdout] 38 | struct PreparedInput {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AotInpaintingConfig` is never constructed
[INFO] [stdout]   --> src/ml/aot_inpainting/mod.rs:48:8
[INFO] [stdout]    |
[INFO] [stdout] 48 | struct AotInpaintingConfig {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `validate` and `spec` are never used
[INFO] [stdout]   --> src/ml/aot_inpainting/mod.rs:60:8
[INFO] [stdout]    |
[INFO] [stdout] 59 | impl AotInpaintingConfig {
[INFO] [stdout]    | ------------------------ methods in this implementation
[INFO] [stdout] 60 |     fn validate(&self) -> Result<()> {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 88 |     fn spec(&self) -> AotModelSpec {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load`, `load_from_paths`, `inference`, `inference_with_max_side`, `preprocess`, and `postprocess` are never used
[INFO] [stdout]    --> src/ml/aot_inpainting/mod.rs:100:18
[INFO] [stdout]     |
[INFO] [stdout]  99 | impl AotInpainting {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] 100 |     pub async fn load(cpu: bool) -> Result<Self> {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 |     pub fn load_from_paths(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 126 |     pub fn inference(&self, image: &DynamicImage, mask: &DynamicImage) -> Result<DynamicImage> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn inference_with_max_side(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 174 |     fn preprocess(
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 257 |     fn postprocess(&self, output: &Tensor, prepared: &PreparedInput) -> Result<RgbImage> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `prefetch` is never used
[INFO] [stdout]    --> src/ml/aot_inpainting/mod.rs:294:14
[INFO] [stdout]     |
[INFO] [stdout] 294 | pub async fn prefetch() -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_model_paths` is never used
[INFO] [stdout]    --> src/ml/aot_inpainting/mod.rs:299:10
[INFO] [stdout]     |
[INFO] [stdout] 299 | async fn resolve_model_paths() -> Result<(PathBuf, PathBuf)> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resize_keep_aspect_dims` is never used
[INFO] [stdout]    --> src/ml/aot_inpainting/mod.rs:309:4
[INFO] [stdout]     |
[INFO] [stdout] 309 | fn resize_keep_aspect_dims(width: u32, height: u32, max_side: u32) -> (u32, u32) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `round_up_multiple` is never used
[INFO] [stdout]    --> src/ml/aot_inpainting/mod.rs:317:4
[INFO] [stdout]     |
[INFO] [stdout] 317 | fn round_up_multiple(value: u32, multiple: u32) -> u32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `composite_rgb` is never used
[INFO] [stdout]    --> src/ml/aot_inpainting/mod.rs:325:4
[INFO] [stdout]     |
[INFO] [stdout] 325 | fn composite_rgb(original: &RgbImage, predicted: &RgbImage, mask: &GrayImage) -> RgbImage {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RELU_NF_SCALE` is never used
[INFO] [stdout]  --> src/ml/aot_inpainting/model.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | const RELU_NF_SCALE: f64 = 1.713_958_859_443_664_6;
[INFO] [stdout]   |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WEIGHT_STANDARDIZATION_EPS` is never used
[INFO] [stdout]  --> src/ml/aot_inpainting/model.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | const WEIGHT_STANDARDIZATION_EPS: f32 = 1e-4;
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LAYER_NORM_EPS` is never used
[INFO] [stdout]  --> src/ml/aot_inpainting/model.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 | const LAYER_NORM_EPS: f64 = 1e-9;
[INFO] [stdout]   |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AotModelSpec` is never constructed
[INFO] [stdout]   --> src/ml/aot_inpainting/model.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct AotModelSpec {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GatedWsConvPadded` is never constructed
[INFO] [stdout]   --> src/ml/aot_inpainting/model.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | struct GatedWsConvPadded {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]   --> src/ml/aot_inpainting/model.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl GatedWsConvPadded {
[INFO] [stdout]    | ---------------------- associated items in this implementation
[INFO] [stdout] 28 |     fn load(
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     fn forward(&self, xs: &Tensor) -> candle_core::Result<Tensor> {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GatedWsTransposeConvPadded` is never constructed
[INFO] [stdout]   --> src/ml/aot_inpainting/model.rs:64:8
[INFO] [stdout]    |
[INFO] [stdout] 64 | struct GatedWsTransposeConvPadded {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]   --> src/ml/aot_inpainting/model.rs:70:8
[INFO] [stdout]    |
[INFO] [stdout] 69 | impl GatedWsTransposeConvPadded {
[INFO] [stdout]    | ------------------------------- associated items in this implementation
[INFO] [stdout] 70 |     fn load(
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 92 |     fn forward(&self, xs: &Tensor) -> candle_core::Result<Tensor> {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PaddedConvRelu` is never constructed
[INFO] [stdout]    --> src/ml/aot_inpainting/model.rs:100:8
[INFO] [stdout]     |
[INFO] [stdout] 100 | struct PaddedConvRelu {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/aot_inpainting/model.rs:106:8
[INFO] [stdout]     |
[INFO] [stdout] 105 | impl PaddedConvRelu {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout] 106 |     fn load(
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     fn forward(&self, xs: &Tensor) -> candle_core::Result<Tensor> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PaddedConv` is never constructed
[INFO] [stdout]    --> src/ml/aot_inpainting/model.rs:131:8
[INFO] [stdout]     |
[INFO] [stdout] 131 | struct PaddedConv {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/aot_inpainting/model.rs:137:8
[INFO] [stdout]     |
[INFO] [stdout] 136 | impl PaddedConv {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 137 |     fn load(vb: &VarBuilder, channels: usize, kernel_size: usize) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 144 |     fn forward(&self, xs: &Tensor) -> candle_core::Result<Tensor> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AotBlock` is never constructed
[INFO] [stdout]    --> src/ml/aot_inpainting/model.rs:150:8
[INFO] [stdout]     |
[INFO] [stdout] 150 | struct AotBlock {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/aot_inpainting/model.rs:157:8
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl AotBlock {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] 157 |     fn load(vb: &VarBuilder, channels: usize, dilation_rates: &[usize]) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 176 |     fn forward(&self, xs: &Tensor) -> candle_core::Result<Tensor> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AotGenerator` is never constructed
[INFO] [stdout]    --> src/ml/aot_inpainting/model.rs:192:12
[INFO] [stdout]     |
[INFO] [stdout] 192 | pub struct AotGenerator {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/aot_inpainting/model.rs:205:12
[INFO] [stdout]     |
[INFO] [stdout] 204 | impl AotGenerator {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] 205 |     pub fn load(vb: &VarBuilder, spec: &AotModelSpec) -> Result<Self> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 244 |     pub fn forward(&self, image: &Tensor, mask: &Tensor) -> candle_core::Result<Tensor> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `relu_nf` is never used
[INFO] [stdout]    --> src/ml/aot_inpainting/model.rs:260:4
[INFO] [stdout]     |
[INFO] [stdout] 260 | fn relu_nf(xs: &Tensor) -> candle_core::Result<Tensor> {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `my_layer_norm` is never used
[INFO] [stdout]    --> src/ml/aot_inpainting/model.rs:264:4
[INFO] [stdout]     |
[INFO] [stdout] 264 | fn my_layer_norm(xs: &Tensor) -> candle_core::Result<Tensor> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_plain_conv2d` is never used
[INFO] [stdout]    --> src/ml/aot_inpainting/model.rs:275:4
[INFO] [stdout]     |
[INFO] [stdout] 275 | fn load_plain_conv2d(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_scaled_ws_conv2d` is never used
[INFO] [stdout]    --> src/ml/aot_inpainting/model.rs:297:4
[INFO] [stdout]     |
[INFO] [stdout] 297 | fn load_scaled_ws_conv2d(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_scaled_ws_transpose_conv2d` is never used
[INFO] [stdout]    --> src/ml/aot_inpainting/model.rs:321:4
[INFO] [stdout]     |
[INFO] [stdout] 321 | fn load_scaled_ws_transpose_conv2d(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `standardize_conv2d_weight` is never used
[INFO] [stdout]    --> src/ml/aot_inpainting/model.rs:344:4
[INFO] [stdout]     |
[INFO] [stdout] 344 | fn standardize_conv2d_weight(weight: Tensor, gain: Tensor) -> candle_core::Result<Tensor> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `standardize_transpose_conv2d_weight` is never used
[INFO] [stdout]    --> src/ml/aot_inpainting/model.rs:367:4
[INFO] [stdout]     |
[INFO] [stdout] 367 | fn standardize_transpose_conv2d_weight(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `reflect_pad2d` is never used
[INFO] [stdout]    --> src/ml/aot_inpainting/model.rs:393:4
[INFO] [stdout]     |
[INFO] [stdout] 393 | fn reflect_pad2d(xs: &Tensor, pad: usize) -> candle_core::Result<Tensor> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HF_REPO` is never used
[INFO] [stdout]   --> src/ml/comic_text_bubble_detector/mod.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | const HF_REPO: &str = "ogkalu/comic-text-and-bubble-detector";
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_CONFIDENCE_THRESHOLD` is never used
[INFO] [stdout]   --> src/ml/comic_text_bubble_detector/mod.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 16 | const DEFAULT_CONFIDENCE_THRESHOLD: f32 = 0.3;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DETECTOR_NAME` is never used
[INFO] [stdout]   --> src/ml/comic_text_bubble_detector/mod.rs:17:7
[INFO] [stdout]    |
[INFO] [stdout] 17 | const DETECTOR_NAME: &str = "comic-text-bubble-detector";
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ComicTextBubbleDetector` is never constructed
[INFO] [stdout]   --> src/ml/comic_text_bubble_detector/mod.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct ComicTextBubbleDetector {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load`, `inference`, `inference_with_threshold`, and `detect_single_image` are never used
[INFO] [stdout]   --> src/ml/comic_text_bubble_detector/mod.rs:29:18
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl ComicTextBubbleDetector {
[INFO] [stdout]    | ---------------------------- associated items in this implementation
[INFO] [stdout] 29 |     pub async fn load(cpu: bool) -> Result<Self> {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn inference(&self, image: &DynamicImage) -> Result<ComicTextBubbleDetection> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub fn inference_with_threshold(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 92 |     fn detect_single_image(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ComicTextBubbleDetection` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:105:12
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub struct ComicTextBubbleDetection {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ComicTextBubbleRegion` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:114:12
[INFO] [stdout]     |
[INFO] [stdout] 114 | pub struct ComicTextBubbleRegion {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_bubble` and `is_text` are never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:122:12
[INFO] [stdout]     |
[INFO] [stdout] 121 | impl ComicTextBubbleRegion {
[INFO] [stdout]     | -------------------------- methods in this implementation
[INFO] [stdout] 122 |     pub fn is_bubble(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 126 |     pub fn is_text(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `validate`, `num_labels`, and `label` are never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:211:19
[INFO] [stdout]     |
[INFO] [stdout] 210 | impl RTDetrV2Config {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] 211 |     pub(crate) fn validate(&self) -> Result<()> {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 233 |     pub(crate) fn num_labels(&self) -> usize {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 237 |     pub(crate) fn label(&self, label_id: usize) -> String {
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:248:9
[INFO] [stdout]     |
[INFO] [stdout] 246 | pub(crate) struct RTDetrResNetConfig {
[INFO] [stdout]     |                   ------------------ fields in this struct
[INFO] [stdout] 247 |     #[serde(default = "default_num_channels")]
[INFO] [stdout] 248 |     pub num_channels: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 249 |     #[serde(default = "default_embedding_size")]
[INFO] [stdout] 250 |     pub embedding_size: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 251 |     #[serde(default = "default_hidden_sizes")]
[INFO] [stdout] 252 |     pub hidden_sizes: Vec<usize>,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 253 |     #[serde(default = "default_depths")]
[INFO] [stdout] 254 |     pub depths: Vec<usize>,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 255 |     #[serde(default = "default_layer_type")]
[INFO] [stdout] 256 |     pub layer_type: String,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 257 |     #[serde(default = "default_hidden_act")]
[INFO] [stdout] 258 |     pub hidden_act: String,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 259 |     #[serde(default)]
[INFO] [stdout] 260 |     pub downsample_in_first_stage: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 261 |     #[serde(default)]
[INFO] [stdout] 262 |     pub downsample_in_bottleneck: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 263 |     #[serde(default = "default_out_features")]
[INFO] [stdout] 264 |     pub out_features: Vec<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RTDetrResNetConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `channels` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:284:19
[INFO] [stdout]     |
[INFO] [stdout] 283 | impl RTDetrResNetConfig {
[INFO] [stdout]     | ----------------------- method in this implementation
[INFO] [stdout] 284 |     pub(crate) fn channels(&self) -> Result<Vec<usize>> {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RTDetrImageProcessorConfig` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:312:19
[INFO] [stdout]     |
[INFO] [stdout] 312 | pub(crate) struct RTDetrImageProcessorConfig {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProcessorSize` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:330:19
[INFO] [stdout]     |
[INFO] [stdout] 330 | pub(crate) struct ProcessorSize {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `preprocess_image` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:337:4
[INFO] [stdout]     |
[INFO] [stdout] 337 | fn preprocess_image(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `post_process_object_detection` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:369:4
[INFO] [stdout]     |
[INFO] [stdout] 369 | fn post_process_object_detection(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `detections_to_text_blocks` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:431:4
[INFO] [stdout]     |
[INFO] [stdout] 431 | fn detections_to_text_blocks(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `filter_and_fix_regions` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:469:4
[INFO] [stdout]     |
[INFO] [stdout] 469 | fn filter_and_fix_regions(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `merge_text_regions` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:491:4
[INFO] [stdout]     |
[INFO] [stdout] 491 | fn merge_text_regions(mut regions: Vec<ComicTextBubbleRegion>) -> Vec<ComicTextBubbleRegion> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `merge_slice_regions` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:512:4
[INFO] [stdout]     |
[INFO] [stdout] 512 | fn merge_slice_regions(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clamp_box` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:584:4
[INFO] [stdout]     |
[INFO] [stdout] 584 | fn clamp_box(bbox: [f32; 4], image_width: f32, image_height: f32) -> [f32; 4] {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `scale_box_to_image` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:593:4
[INFO] [stdout]     |
[INFO] [stdout] 593 | fn scale_box_to_image(box_cxcywh: [f32; 4], image_width: f32, image_height: f32) -> [f32; 4] {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sigmoid_scalar` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:606:4
[INFO] [stdout]     |
[INFO] [stdout] 606 | fn sigmoid_scalar(value: f32) -> f32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_iou` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:610:4
[INFO] [stdout]     |
[INFO] [stdout] 610 | fn calculate_iou(rect1: &[f32; 4], rect2: &[f32; 4]) -> f32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `box_area` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:624:4
[INFO] [stdout]     |
[INFO] [stdout] 624 | fn box_area(bbox: [f32; 4]) -> f32 {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rectangles_overlap` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:628:4
[INFO] [stdout]     |
[INFO] [stdout] 628 | fn rectangles_overlap(rect1: &[f32; 4], rect2: &[f32; 4], threshold: f32) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_mostly_contained` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:632:4
[INFO] [stdout]     |
[INFO] [stdout] 632 | fn is_mostly_contained(outer: &[f32; 4], inner: &[f32; 4], threshold: f32) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `contained_relation` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:645:4
[INFO] [stdout]     |
[INFO] [stdout] 645 | fn contained_relation(box1: [f32; 4], box2: [f32; 4], threshold: f32) -> (bool, bool) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `merge_boxes` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:663:4
[INFO] [stdout]     |
[INFO] [stdout] 663 | fn merge_boxes(box1: [f32; 4], box2: [f32; 4]) -> [f32; 4] {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ImageSlicer` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:673:8
[INFO] [stdout]     |
[INFO] [stdout] 673 | struct ImageSlicer {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `should_slice`, `calculate_slice_params`, and `process_slices_for_detection` are never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:692:8
[INFO] [stdout]     |
[INFO] [stdout] 691 | impl ImageSlicer {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] 692 |     fn should_slice(&self, image: &DynamicImage) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 697 |     fn calculate_slice_params(&self, image: &DynamicImage) -> (u32, u32, usize) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 714 |     fn process_slices_for_detection<F>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_true` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:749:10
[INFO] [stdout]     |
[INFO] [stdout] 749 | const fn default_true() -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_activation_function` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:777:4
[INFO] [stdout]     |
[INFO] [stdout] 777 | fn default_activation_function() -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_decoder_activation_function` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:781:4
[INFO] [stdout]     |
[INFO] [stdout] 781 | fn default_decoder_activation_function() -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_encoder_activation_function` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:785:4
[INFO] [stdout]     |
[INFO] [stdout] 785 | fn default_encoder_activation_function() -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_activation_dropout` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:789:10
[INFO] [stdout]     |
[INFO] [stdout] 789 | const fn default_activation_dropout() -> f64 {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_attention_dropout` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:793:10
[INFO] [stdout]     |
[INFO] [stdout] 793 | const fn default_attention_dropout() -> f64 {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_batch_norm_eps` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:797:10
[INFO] [stdout]     |
[INFO] [stdout] 797 | const fn default_batch_norm_eps() -> f64 {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_d_model` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:801:10
[INFO] [stdout]     |
[INFO] [stdout] 801 | const fn default_d_model() -> usize {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_decoder_attention_heads` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:805:10
[INFO] [stdout]     |
[INFO] [stdout] 805 | const fn default_decoder_attention_heads() -> usize {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_decoder_ffn_dim` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:809:10
[INFO] [stdout]     |
[INFO] [stdout] 809 | const fn default_decoder_ffn_dim() -> usize {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_decoder_in_channels` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:813:4
[INFO] [stdout]     |
[INFO] [stdout] 813 | fn default_decoder_in_channels() -> Vec<usize> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_decoder_layers` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:817:10
[INFO] [stdout]     |
[INFO] [stdout] 817 | const fn default_decoder_layers() -> usize {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_decoder_n_levels` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:821:10
[INFO] [stdout]     |
[INFO] [stdout] 821 | const fn default_decoder_n_levels() -> usize {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_decoder_n_points` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:825:10
[INFO] [stdout]     |
[INFO] [stdout] 825 | const fn default_decoder_n_points() -> usize {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_decoder_offset_scale` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:829:10
[INFO] [stdout]     |
[INFO] [stdout] 829 | const fn default_decoder_offset_scale() -> f64 {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_decoder_method` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:833:4
[INFO] [stdout]     |
[INFO] [stdout] 833 | fn default_decoder_method() -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_dropout` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:837:10
[INFO] [stdout]     |
[INFO] [stdout] 837 | const fn default_dropout() -> f64 {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_encode_proj_layers` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:841:4
[INFO] [stdout]     |
[INFO] [stdout] 841 | fn default_encode_proj_layers() -> Vec<usize> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_encoder_attention_heads` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:845:10
[INFO] [stdout]     |
[INFO] [stdout] 845 | const fn default_encoder_attention_heads() -> usize {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_encoder_ffn_dim` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:849:10
[INFO] [stdout]     |
[INFO] [stdout] 849 | const fn default_encoder_ffn_dim() -> usize {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_encoder_hidden_dim` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:853:10
[INFO] [stdout]     |
[INFO] [stdout] 853 | const fn default_encoder_hidden_dim() -> usize {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_encoder_in_channels` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:857:4
[INFO] [stdout]     |
[INFO] [stdout] 857 | fn default_encoder_in_channels() -> Vec<usize> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_encoder_layers` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:861:10
[INFO] [stdout]     |
[INFO] [stdout] 861 | const fn default_encoder_layers() -> usize {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_feature_strides` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:865:4
[INFO] [stdout]     |
[INFO] [stdout] 865 | fn default_feature_strides() -> Vec<usize> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_freeze_backbone_batch_norms` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:869:10
[INFO] [stdout]     |
[INFO] [stdout] 869 | const fn default_freeze_backbone_batch_norms() -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_hidden_expansion` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:873:10
[INFO] [stdout]     |
[INFO] [stdout] 873 | const fn default_hidden_expansion() -> f64 {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_layer_norm_eps` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:877:10
[INFO] [stdout]     |
[INFO] [stdout] 877 | const fn default_layer_norm_eps() -> f64 {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_learn_initial_query` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:881:10
[INFO] [stdout]     |
[INFO] [stdout] 881 | const fn default_learn_initial_query() -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_normalize_before` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:885:10
[INFO] [stdout]     |
[INFO] [stdout] 885 | const fn default_normalize_before() -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_num_feature_levels` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:889:10
[INFO] [stdout]     |
[INFO] [stdout] 889 | const fn default_num_feature_levels() -> usize {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_num_labels` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:893:10
[INFO] [stdout]     |
[INFO] [stdout] 893 | const fn default_num_labels() -> usize {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_num_queries` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:897:10
[INFO] [stdout]     |
[INFO] [stdout] 897 | const fn default_num_queries() -> usize {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_positional_encoding_temperature` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:901:10
[INFO] [stdout]     |
[INFO] [stdout] 901 | const fn default_positional_encoding_temperature() -> usize {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_image_mean` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:913:4
[INFO] [stdout]     |
[INFO] [stdout] 913 | fn default_image_mean() -> [f32; 3] {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_image_std` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:917:4
[INFO] [stdout]     |
[INFO] [stdout] 917 | fn default_image_std() -> [f32; 3] {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_rescale_factor` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:921:10
[INFO] [stdout]     |
[INFO] [stdout] 921 | const fn default_rescale_factor() -> f32 {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_processor_size` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:925:4
[INFO] [stdout]     |
[INFO] [stdout] 925 | fn default_processor_size() -> ProcessorSize {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_processor_height` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:932:10
[INFO] [stdout]     |
[INFO] [stdout] 932 | const fn default_processor_height() -> usize {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_processor_width` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/mod.rs:936:10
[INFO] [stdout]     |
[INFO] [stdout] 936 | const fn default_processor_width() -> usize {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RTDetrV2Outputs` is never constructed
[INFO] [stdout]   --> src/ml/comic_text_bubble_detector/model.rs:12:19
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub(crate) struct RTDetrV2Outputs {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ActivationKind` is never used
[INFO] [stdout]   --> src/ml/comic_text_bubble_detector/model.rs:18:6
[INFO] [stdout]    |
[INFO] [stdout] 18 | enum ActivationKind {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_name` and `forward` are never used
[INFO] [stdout]   --> src/ml/comic_text_bubble_detector/model.rs:26:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl ActivationKind {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 26 |     fn from_name(name: Option<&str>) -> Result<Self> {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     fn forward(&self, xs: &Tensor) -> candle_core::Result<Tensor> {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_linear` is never used
[INFO] [stdout]   --> src/ml/comic_text_bubble_detector/model.rs:46:4
[INFO] [stdout]    |
[INFO] [stdout] 46 | fn load_linear(vb: VarBuilder, in_dim: usize, out_dim: usize) -> Result<Linear> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_batch_norm` is never used
[INFO] [stdout]   --> src/ml/comic_text_bubble_detector/model.rs:53:4
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn load_batch_norm(vb: VarBuilder, channels: usize, eps: f64) -> Result<BatchNorm> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_conv2d_module` is never used
[INFO] [stdout]   --> src/ml/comic_text_bubble_detector/model.rs:65:4
[INFO] [stdout]    |
[INFO] [stdout] 65 | fn load_conv2d_module(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_layer_norm` is never used
[INFO] [stdout]   --> src/ml/comic_text_bubble_detector/model.rs:94:4
[INFO] [stdout]    |
[INFO] [stdout] 94 | fn load_layer_norm(vb: VarBuilder, hidden_size: usize, eps: f64) -> Result<LayerNorm> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pad_all_sides_one` is never used
[INFO] [stdout]   --> src/ml/comic_text_bubble_detector/model.rs:98:4
[INFO] [stdout]    |
[INFO] [stdout] 98 | fn pad_all_sides_one(xs: &Tensor) -> candle_core::Result<Tensor> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProjectionBlock` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/model.rs:103:8
[INFO] [stdout]     |
[INFO] [stdout] 103 | struct ProjectionBlock {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/model.rs:110:8
[INFO] [stdout]     |
[INFO] [stdout] 108 | impl ProjectionBlock {
[INFO] [stdout]     | -------------------- associated function in this implementation
[INFO] [stdout] 109 |     #[allow(clippy::too_many_arguments)]
[INFO] [stdout] 110 |     fn load(
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RTDetrResNetConvLayer` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/model.rs:142:8
[INFO] [stdout]     |
[INFO] [stdout] 142 | struct RTDetrResNetConvLayer {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/model.rs:149:8
[INFO] [stdout]     |
[INFO] [stdout] 148 | impl RTDetrResNetConvLayer {
[INFO] [stdout]     | -------------------------- associated items in this implementation
[INFO] [stdout] 149 |     fn load(
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |     fn forward(&self, xs: &Tensor) -> Result<Tensor> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RTDetrResNetShortcut` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/model.rs:181:8
[INFO] [stdout]     |
[INFO] [stdout] 181 | struct RTDetrResNetShortcut {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/model.rs:187:8
[INFO] [stdout]     |
[INFO] [stdout] 186 | impl RTDetrResNetShortcut {
[INFO] [stdout]     | ------------------------- associated items in this implementation
[INFO] [stdout] 187 |     fn load(
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 208 |     fn forward(&self, xs: &Tensor) -> Result<Tensor> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RTDetrResNetBottleNeckLayer` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/model.rs:215:8
[INFO] [stdout]     |
[INFO] [stdout] 215 | struct RTDetrResNetBottleNeckLayer {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/model.rs:225:8
[INFO] [stdout]     |
[INFO] [stdout] 224 | impl RTDetrResNetBottleNeckLayer {
[INFO] [stdout]     | -------------------------------- associated items in this implementation
[INFO] [stdout] 225 |     fn load(
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 297 |     fn forward(&self, xs: &Tensor) -> Result<Tensor> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RTDetrResNetStage` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/model.rs:315:8
[INFO] [stdout]     |
[INFO] [stdout] 315 | struct RTDetrResNetStage {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/model.rs:320:8
[INFO] [stdout]     |
[INFO] [stdout] 319 | impl RTDetrResNetStage {
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout] 320 |     fn load(
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 351 |     fn forward(&self, xs: &Tensor) -> Result<Tensor> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RTDetrResNetEmbeddings` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/model.rs:361:8
[INFO] [stdout]     |
[INFO] [stdout] 361 | struct RTDetrResNetEmbeddings {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/model.rs:369:8
[INFO] [stdout]     |
[INFO] [stdout] 368 | impl RTDetrResNetEmbeddings {
[INFO] [stdout]     | --------------------------- associated items in this implementation
[INFO] [stdout] 369 |     fn load(vb: VarBuilder, config: &RTDetrResNetConfig, eps: f64) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 402 |     fn forward(&self, xs: &Tensor) -> Result<Tensor> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RTDetrResNetBackbone` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/model.rs:419:8
[INFO] [stdout]     |
[INFO] [stdout] 419 | struct RTDetrResNetBackbone {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/model.rs:427:8
[INFO] [stdout]     |
[INFO] [stdout] 426 | impl RTDetrResNetBackbone {
[INFO] [stdout]     | ------------------------- associated items in this implementation
[INFO] [stdout] 427 |     fn load(vb: VarBuilder, config: &RTDetrResNetConfig, eps: f64) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 460 |     fn forward(&self, pixel_values: &Tensor) -> Result<Vec<Tensor>> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RTDetrV2ConvEncoder` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/model.rs:482:8
[INFO] [stdout]     |
[INFO] [stdout] 482 | struct RTDetrV2ConvEncoder {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/model.rs:488:8
[INFO] [stdout]     |
[INFO] [stdout] 487 | impl RTDetrV2ConvEncoder {
[INFO] [stdout]     | ------------------------ associated items in this implementation
[INFO] [stdout] 488 |     fn load(vb: VarBuilder, config: &RTDetrV2Config) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 500 |     fn forward(&self, pixel_values: &Tensor) -> Result<Vec<Tensor>> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RTDetrV2MultiheadAttention` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/model.rs:506:8
[INFO] [stdout]     |
[INFO] [stdout] 506 | struct RTDetrV2MultiheadAttention {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/model.rs:517:8
[INFO] [stdout]     |
[INFO] [stdout] 516 | impl RTDetrV2MultiheadAttention {
[INFO] [stdout]     | ------------------------------- associated items in this implementation
[INFO] [stdout] 517 |     fn load(vb: VarBuilder, hidden_size: usize, num_attention_heads: usize) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 535 |     fn forward(
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RTDetrV2FeedForward` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/model.rs:585:8
[INFO] [stdout]     |
[INFO] [stdout] 585 | struct RTDetrV2FeedForward {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/model.rs:592:8
[INFO] [stdout]     |
[INFO] [stdout] 591 | impl RTDetrV2FeedForward {
[INFO] [stdout]     | ------------------------ associated items in this implementation
[INFO] [stdout] 592 |     fn load(
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 605 |     fn forward(&self, xs: &Tensor) -> Result<Tensor> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RTDetrV2EncoderLayer` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/model.rs:613:8
[INFO] [stdout]     |
[INFO] [stdout] 613 | struct RTDetrV2EncoderLayer {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/model.rs:622:8
[INFO] [stdout]     |
[INFO] [stdout] 621 | impl RTDetrV2EncoderLayer {
[INFO] [stdout]     | ------------------------- associated items in this implementation
[INFO] [stdout] 622 |     fn load(vb: VarBuilder, config: &RTDetrV2Config) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 649 |     fn forward(&self, hidden_states: &Tensor, position_embeddings: &Tensor) -> Result<Tensor> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RTDetrV2Encoder` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/model.rs:680:8
[INFO] [stdout]     |
[INFO] [stdout] 680 | struct RTDetrV2Encoder {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/model.rs:685:8
[INFO] [stdout]     |
[INFO] [stdout] 684 | impl RTDetrV2Encoder {
[INFO] [stdout]     | -------------------- associated items in this implementation
[INFO] [stdout] 685 |     fn load(vb: VarBuilder, config: &RTDetrV2Config) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 696 |     fn forward(&self, src: &Tensor, pos_embed: &Tensor) -> Result<Tensor> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RTDetrV2ConvNormLayer` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/model.rs:706:8
[INFO] [stdout]     |
[INFO] [stdout] 706 | struct RTDetrV2ConvNormLayer {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/model.rs:714:8
[INFO] [stdout]     |
[INFO] [stdout] 712 | impl RTDetrV2ConvNormLayer {
[INFO] [stdout]     | -------------------------- associated items in this implementation
[INFO] [stdout] 713 |     #[allow(clippy::too_many_arguments)]
[INFO] [stdout] 714 |     fn load(
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 739 |     fn forward(&self, xs: &Tensor) -> Result<Tensor> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RTDetrV2RepVggBlock` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/model.rs:747:8
[INFO] [stdout]     |
[INFO] [stdout] 747 | struct RTDetrV2RepVggBlock {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/model.rs:754:8
[INFO] [stdout]     |
[INFO] [stdout] 753 | impl RTDetrV2RepVggBlock {
[INFO] [stdout]     | ------------------------ associated items in this implementation
[INFO] [stdout] 754 |     fn load(vb: VarBuilder, config: &RTDetrV2Config) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 781 |     fn forward(&self, xs: &Tensor) -> Result<Tensor> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RTDetrV2CSPRepLayer` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/model.rs:791:8
[INFO] [stdout]     |
[INFO] [stdout] 791 | struct RTDetrV2CSPRepLayer {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/model.rs:799:8
[INFO] [stdout]     |
[INFO] [stdout] 798 | impl RTDetrV2CSPRepLayer {
[INFO] [stdout]     | ------------------------ associated items in this implementation
[INFO] [stdout] 799 |     fn load(vb: VarBuilder, config: &RTDetrV2Config) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 853 |     fn forward(&self, xs: &Tensor) -> Result<Tensor> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RTDetrV2SinePositionEmbedding` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/model.rs:868:8
[INFO] [stdout]     |
[INFO] [stdout] 868 | struct RTDetrV2SinePositionEmbedding {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `forward` are never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/model.rs:874:8
[INFO] [stdout]     |
[INFO] [stdout] 873 | impl RTDetrV2SinePositionEmbedding {
[INFO] [stdout]     | ---------------------------------- associated items in this implementation
[INFO] [stdout] 874 |     fn new(embed_dim: usize, temperature: usize) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 881 |     fn forward(&self, width: usize, height: usize, device: &Device) -> Result<Tensor> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RTDetrV2HybridEncoder` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/model.rs:907:8
[INFO] [stdout]     |
[INFO] [stdout] 907 | struct RTDetrV2HybridEncoder {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/comic_text_bubble_detector/model.rs:920:8
[INFO] [stdout]     |
[INFO] [stdout] 919 | impl RTDetrV2HybridEncoder {
[INFO] [stdout]     | -------------------------- associated items in this implementation
[INFO] [stdout] 920 |     fn load(vb: VarBuilder, config: &RTDetrV2Config) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 981 |     fn forward(&self, feature_maps: &[Tensor]) -> Result<Vec<Tensor>> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RTDetrV2MultiscaleDeformableAttention` is never constructed
[INFO] [stdout]     --> src/ml/comic_text_bubble_detector/model.rs:1034:8
[INFO] [stdout]      |
[INFO] [stdout] 1034 | struct RTDetrV2MultiscaleDeformableAttention {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]     --> src/ml/comic_text_bubble_detector/model.rs:1047:8
[INFO] [stdout]      |
[INFO] [stdout] 1046 | impl RTDetrV2MultiscaleDeformableAttention {
[INFO] [stdout]      | ------------------------------------------ associated items in this implementation
[INFO] [stdout] 1047 |     fn load(vb: VarBuilder, config: &RTDetrV2Config) -> Result<Self> {
[INFO] [stdout]      |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1082 |     fn forward(
[INFO] [stdout]      |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RTDetrV2DecoderLayer` is never constructed
[INFO] [stdout]     --> src/ml/comic_text_bubble_detector/model.rs:1152:8
[INFO] [stdout]      |
[INFO] [stdout] 1152 | struct RTDetrV2DecoderLayer {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]     --> src/ml/comic_text_bubble_detector/model.rs:1162:8
[INFO] [stdout]      |
[INFO] [stdout] 1161 | impl RTDetrV2DecoderLayer {
[INFO] [stdout]      | ------------------------- associated items in this implementation
[INFO] [stdout] 1162 |     fn load(vb: VarBuilder, config: &RTDetrV2Config) -> Result<Self> {
[INFO] [stdout]      |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1197 |     fn forward(
[INFO] [stdout]      |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RTDetrV2MlpPredictionHead` is never constructed
[INFO] [stdout]     --> src/ml/comic_text_bubble_detector/model.rs:1234:8
[INFO] [stdout]      |
[INFO] [stdout] 1234 | struct RTDetrV2MlpPredictionHead {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]     --> src/ml/comic_text_bubble_detector/model.rs:1240:8
[INFO] [stdout]      |
[INFO] [stdout] 1239 | impl RTDetrV2MlpPredictionHead {
[INFO] [stdout]      | ------------------------------ associated items in this implementation
[INFO] [stdout] 1240 |     fn load(
[INFO] [stdout]      |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1268 |     fn forward(&self, xs: &Tensor) -> Result<Tensor> {
[INFO] [stdout]      |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RTDetrV2Decoder` is never constructed
[INFO] [stdout]     --> src/ml/comic_text_bubble_detector/model.rs:1281:8
[INFO] [stdout]      |
[INFO] [stdout] 1281 | struct RTDetrV2Decoder {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]     --> src/ml/comic_text_bubble_detector/model.rs:1289:8
[INFO] [stdout]      |
[INFO] [stdout] 1288 | impl RTDetrV2Decoder {
[INFO] [stdout]      | -------------------- associated items in this implementation
[INFO] [stdout] 1289 |     fn load(vb: VarBuilder, config: &RTDetrV2Config) -> Result<Self> {
[INFO] [stdout]      |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1325 |     fn forward(
[INFO] [stdout]      |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RTDetrV2Model` is never constructed
[INFO] [stdout]     --> src/ml/comic_text_bubble_detector/model.rs:1364:8
[INFO] [stdout]      |
[INFO] [stdout] 1364 | struct RTDetrV2Model {
[INFO] [stdout]      |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]     --> src/ml/comic_text_bubble_detector/model.rs:1378:8
[INFO] [stdout]      |
[INFO] [stdout] 1377 | impl RTDetrV2Model {
[INFO] [stdout]      | ------------------ associated items in this implementation
[INFO] [stdout] 1378 |     fn load(vb: VarBuilder, config: &RTDetrV2Config) -> Result<Self> {
[INFO] [stdout]      |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1451 |     fn forward(&self, pixel_values: &Tensor) -> Result<RTDetrV2Outputs> {
[INFO] [stdout]      |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RTDetrV2ForObjectDetection` is never constructed
[INFO] [stdout]     --> src/ml/comic_text_bubble_detector/model.rs:1513:19
[INFO] [stdout]      |
[INFO] [stdout] 1513 | pub(crate) struct RTDetrV2ForObjectDetection {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]     --> src/ml/comic_text_bubble_detector/model.rs:1518:19
[INFO] [stdout]      |
[INFO] [stdout] 1517 | impl RTDetrV2ForObjectDetection {
[INFO] [stdout]      | ------------------------------- associated items in this implementation
[INFO] [stdout] 1518 |     pub(crate) fn load(vb: VarBuilder, config: &RTDetrV2Config) -> Result<Self> {
[INFO] [stdout]      |                   ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1524 |     pub(crate) fn forward(&self, pixel_values: &Tensor) -> Result<RTDetrV2Outputs> {
[INFO] [stdout]      |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_anchors` is never used
[INFO] [stdout]     --> src/ml/comic_text_bubble_detector/model.rs:1529:4
[INFO] [stdout]      |
[INFO] [stdout] 1529 | fn generate_anchors(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `topk_query_indices` is never used
[INFO] [stdout]     --> src/ml/comic_text_bubble_detector/model.rs:1584:4
[INFO] [stdout]      |
[INFO] [stdout] 1584 | fn topk_query_indices(scores: &Tensor, topk: usize) -> Result<Tensor> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `batch_gather_rows` is never used
[INFO] [stdout]     --> src/ml/comic_text_bubble_detector/model.rs:1604:4
[INFO] [stdout]      |
[INFO] [stdout] 1604 | fn batch_gather_rows(tensor: &Tensor, indices: &Tensor) -> Result<Tensor> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `inverse_sigmoid_tensor` is never used
[INFO] [stdout]     --> src/ml/comic_text_bubble_detector/model.rs:1621:4
[INFO] [stdout]      |
[INFO] [stdout] 1621 | fn inverse_sigmoid_tensor(tensor: &Tensor) -> Result<Tensor> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `inverse_sigmoid_to_sigmoid` is never used
[INFO] [stdout]     --> src/ml/comic_text_bubble_detector/model.rs:1626:4
[INFO] [stdout]      |
[INFO] [stdout] 1626 | fn inverse_sigmoid_to_sigmoid(tensor: &Tensor) -> Result<Tensor> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `multi_scale_deformable_attention` is never used
[INFO] [stdout]     --> src/ml/comic_text_bubble_detector/model.rs:1630:4
[INFO] [stdout]      |
[INFO] [stdout] 1630 | fn multi_scale_deformable_attention(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bilinear_sample_nchw` is never used
[INFO] [stdout]     --> src/ml/comic_text_bubble_detector/model.rs:1788:4
[INFO] [stdout]      |
[INFO] [stdout] 1788 | fn bilinear_sample_nchw(xs: &Tensor, sample_y: &Tensor, sample_x: &Tensor) -> Result<Tensor> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gather_nchw_at` is never used
[INFO] [stdout]     --> src/ml/comic_text_bubble_detector/model.rs:1835:4
[INFO] [stdout]      |
[INFO] [stdout] 1835 | fn gather_nchw_at(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HF_REPO` is never used
[INFO] [stdout]   --> src/ml/comic_text_detector/mod.rs:22:7
[INFO] [stdout]    |
[INFO] [stdout] 22 | const HF_REPO: &str = "mayocream/comic-text-detector";
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CONFIDENCE_THRESHOLD` is never used
[INFO] [stdout]   --> src/ml/comic_text_detector/mod.rs:23:7
[INFO] [stdout]    |
[INFO] [stdout] 23 | const CONFIDENCE_THRESHOLD: f32 = 0.4;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NMS_THRESHOLD` is never used
[INFO] [stdout]   --> src/ml/comic_text_detector/mod.rs:24:7
[INFO] [stdout]    |
[INFO] [stdout] 24 | const NMS_THRESHOLD: f32 = 0.35;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DBNET_BINARIZE_K` is never used
[INFO] [stdout]   --> src/ml/comic_text_detector/mod.rs:25:7
[INFO] [stdout]    |
[INFO] [stdout] 25 | const DBNET_BINARIZE_K: f64 = 50.0;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BINARY_THRESHOLD` is never used
[INFO] [stdout]   --> src/ml/comic_text_detector/mod.rs:26:7
[INFO] [stdout]    |
[INFO] [stdout] 26 | const BINARY_THRESHOLD: u8 = 60;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DILATION_RADIUS` is never used
[INFO] [stdout]   --> src/ml/comic_text_detector/mod.rs:27:7
[INFO] [stdout]    |
[INFO] [stdout] 27 | const DILATION_RADIUS: u32 = 3;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HOLE_CLOSE_RADIUS` is never used
[INFO] [stdout]   --> src/ml/comic_text_detector/mod.rs:28:7
[INFO] [stdout]    |
[INFO] [stdout] 28 | const HOLE_CLOSE_RADIUS: u32 = 10;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BBOX_DILATION` is never used
[INFO] [stdout]   --> src/ml/comic_text_detector/mod.rs:29:7
[INFO] [stdout]    |
[INFO] [stdout] 29 | const BBOX_DILATION: f32 = 1.0;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GPU_DETECT_SIZE` is never used
[INFO] [stdout]   --> src/ml/comic_text_detector/mod.rs:30:7
[INFO] [stdout]    |
[INFO] [stdout] 30 | const GPU_DETECT_SIZE: u32 = 1024;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CPU_DETECT_SIZE` is never used
[INFO] [stdout]   --> src/ml/comic_text_detector/mod.rs:31:7
[INFO] [stdout]    |
[INFO] [stdout] 31 | const CPU_DETECT_SIZE: u32 = 640;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ComicTextDetector` is never constructed
[INFO] [stdout]   --> src/ml/comic_text_detector/mod.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct ComicTextDetector {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/ml/comic_text_detector/mod.rs:41:18
[INFO] [stdout]     |
[INFO] [stdout]  40 | impl ComicTextDetector {
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout]  41 |     pub async fn load(cpu: bool) -> anyhow::Result<Self> {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  45 |     pub async fn load_segmentation_only(cpu: bool) -> anyhow::Result<Self> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  49 |     async fn load_inner(cpu: bool, load_dbnet: bool) -> anyhow::Result<Self> {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  77 |     pub fn inference(&self, image: &DynamicImage) -> anyhow::Result<ComicTextDetection> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub fn inference_segmentation(&self, image: &DynamicImage) -> anyhow::Result<GrayImage> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 118 |     fn forward(&self, image: &Tensor) -> anyhow::Result<(Tensor, Tensor, Tensor)> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     fn forward_mask(&self, image: &Tensor) -> anyhow::Result<Tensor> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `preprocess` is never used
[INFO] [stdout]    --> src/ml/comic_text_detector/mod.rs:151:4
[INFO] [stdout]     |
[INFO] [stdout] 151 | fn preprocess(image: &DynamicImage, device: &Device) -> anyhow::Result<(Tensor, (u32, u32))> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `postprocess_yolo` is never used
[INFO] [stdout]    --> src/ml/comic_text_detector/mod.rs:179:4
[INFO] [stdout]     |
[INFO] [stdout] 179 | fn postprocess_yolo(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `postprocess_mask` is never used
[INFO] [stdout]    --> src/ml/comic_text_detector/mod.rs:232:4
[INFO] [stdout]     |
[INFO] [stdout] 232 | fn postprocess_mask(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `postprocess_unet_mask` is never used
[INFO] [stdout]    --> src/ml/comic_text_detector/mod.rs:282:4
[INFO] [stdout]     |
[INFO] [stdout] 282 | fn postprocess_unet_mask(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tensor_channel_to_gray_resized` is never used
[INFO] [stdout]    --> src/ml/comic_text_detector/mod.rs:295:4
[INFO] [stdout]     |
[INFO] [stdout] 295 | fn tensor_channel_to_gray_resized(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bboxes_to_text_blocks` is never used
[INFO] [stdout]    --> src/ml/comic_text_detector/mod.rs:319:4
[INFO] [stdout]     |
[INFO] [stdout] 319 | fn bboxes_to_text_blocks(mut bboxes: Vec<Bbox<usize>>) -> Vec<TextBlock> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dilate_tensor` is never used
[INFO] [stdout]    --> src/ml/comic_text_detector/mod.rs:339:4
[INFO] [stdout]     |
[INFO] [stdout] 339 | fn dilate_tensor(mask: &Tensor, radius: usize) -> anyhow::Result<Tensor> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `erode_tensor` is never used
[INFO] [stdout]    --> src/ml/comic_text_detector/mod.rs:347:4
[INFO] [stdout]     |
[INFO] [stdout] 347 | fn erode_tensor(mask: &Tensor, radius: usize) -> anyhow::Result<Tensor> {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `morph_close` is never used
[INFO] [stdout]    --> src/ml/comic_text_detector/mod.rs:353:4
[INFO] [stdout]     |
[INFO] [stdout] 353 | fn morph_close(mask: &Tensor, radius: usize) -> anyhow::Result<Tensor> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `prefetch` is never used
[INFO] [stdout]    --> src/ml/comic_text_detector/mod.rs:358:14
[INFO] [stdout]     |
[INFO] [stdout] 358 | pub async fn prefetch() -> anyhow::Result<()> {
[INFO] [stdout]     |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `prefetch_segmentation` is never used
[INFO] [stdout]    --> src/ml/comic_text_detector/mod.rs:365:14
[INFO] [stdout]     |
[INFO] [stdout] 365 | pub async fn prefetch_segmentation() -> anyhow::Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Act` is never used
[INFO] [stdout]  --> src/ml/comic_text_detector/dbnet.rs:8:6
[INFO] [stdout]   |
[INFO] [stdout] 8 | enum Act {
[INFO] [stdout]   |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConvBnAct` is never constructed
[INFO] [stdout]   --> src/ml/comic_text_detector/dbnet.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | struct ConvBnAct {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]   --> src/ml/comic_text_detector/dbnet.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl ConvBnAct {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 20 |     fn load(
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Bottleneck` is never constructed
[INFO] [stdout]   --> src/ml/comic_text_detector/dbnet.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | struct Bottleneck {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]   --> src/ml/comic_text_detector/dbnet.rs:60:8
[INFO] [stdout]    |
[INFO] [stdout] 59 | impl Bottleneck {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 60 |     fn load(vb: VarBuilder, c1: usize, c2: usize, shortcut: bool, act: Act) -> Result<Self> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `C3` is never constructed
[INFO] [stdout]   --> src/ml/comic_text_detector/dbnet.rs:79:8
[INFO] [stdout]    |
[INFO] [stdout] 79 | struct C3 {
[INFO] [stdout]    |        ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]   --> src/ml/comic_text_detector/dbnet.rs:87:8
[INFO] [stdout]    |
[INFO] [stdout] 86 | impl C3 {
[INFO] [stdout]    | ------- associated function in this implementation
[INFO] [stdout] 87 |     fn load(
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DoubleConvUpC3` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_detector/dbnet.rs:127:8
[INFO] [stdout]     |
[INFO] [stdout] 127 | struct DoubleConvUpC3 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]    --> src/ml/comic_text_detector/dbnet.rs:134:8
[INFO] [stdout]     |
[INFO] [stdout] 133 | impl DoubleConvUpC3 {
[INFO] [stdout]     | ------------------- associated function in this implementation
[INFO] [stdout] 134 |     fn load(vb: VarBuilder, c1: usize, c2: usize, act: Act) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConvBnRelu` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_detector/dbnet.rs:158:8
[INFO] [stdout]     |
[INFO] [stdout] 158 | struct ConvBnRelu {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]    --> src/ml/comic_text_detector/dbnet.rs:164:8
[INFO] [stdout]     |
[INFO] [stdout] 163 | impl ConvBnRelu {
[INFO] [stdout]     | --------------- associated function in this implementation
[INFO] [stdout] 164 |     fn load(vb: VarBuilder, c1: usize, c2: usize, k: usize, use_bias: bool) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BinarizeHead` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_detector/dbnet.rs:192:8
[INFO] [stdout]     |
[INFO] [stdout] 192 | struct BinarizeHead {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/comic_text_detector/dbnet.rs:200:8
[INFO] [stdout]     |
[INFO] [stdout] 199 | impl BinarizeHead {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] 200 |     fn load(vb: VarBuilder, c1: usize) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 219 |     fn forward(&self, xs: &Tensor) -> Result<Tensor> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ThreshHead` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_detector/dbnet.rs:228:8
[INFO] [stdout]     |
[INFO] [stdout] 228 | struct ThreshHead {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/comic_text_detector/dbnet.rs:236:8
[INFO] [stdout]     |
[INFO] [stdout] 235 | impl ThreshHead {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 236 |     fn load(vb: VarBuilder, c1: usize) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 255 |     fn forward(&self, xs: &Tensor) -> Result<Tensor> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DbNet` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_detector/dbnet.rs:263:12
[INFO] [stdout]     |
[INFO] [stdout] 263 | pub struct DbNet {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/comic_text_detector/dbnet.rs:272:12
[INFO] [stdout]     |
[INFO] [stdout] 271 | impl DbNet {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout] 272 |     pub fn load(vb: VarBuilder) -> Result<Self> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 283 |     pub fn forward(&self, f80: &Tensor, f40: &Tensor, u40: &Tensor) -> Result<Tensor> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FINAL_MASK_DILATE_RADIUS` is never used
[INFO] [stdout]   --> src/ml/comic_text_detector/postprocess.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const FINAL_MASK_DILATE_RADIUS: u8 = 2;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Quad` is never used
[INFO] [stdout]   --> src/ml/comic_text_detector/postprocess.rs:14:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub type Quad = [[f32; 2]; 4];
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ComicTextDetection` is never constructed
[INFO] [stdout]   --> src/ml/comic_text_detector/postprocess.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct ComicTextDetection {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `refine_segmentation_mask` is never used
[INFO] [stdout]   --> src/ml/comic_text_detector/postprocess.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub fn refine_segmentation_mask(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `crop_text_block_bbox` is never used
[INFO] [stdout]   --> src/ml/comic_text_detector/postprocess.rs:79:8
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub fn crop_text_block_bbox(image: &DynamicImage, block: &TextBlock) -> DynamicImage {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_text_block_regions` is never used
[INFO] [stdout]   --> src/ml/comic_text_detector/postprocess.rs:84:8
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub fn extract_text_block_regions(image: &DynamicImage, block: &TextBlock) -> Vec<DynamicImage> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `expanded_text_block_crop_bounds` is never used
[INFO] [stdout]    --> src/ml/comic_text_detector/postprocess.rs:107:4
[INFO] [stdout]     |
[INFO] [stdout] 107 | fn expanded_text_block_crop_bounds(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `warp_line_region` is never used
[INFO] [stdout]    --> src/ml/comic_text_detector/postprocess.rs:170:4
[INFO] [stdout]     |
[INFO] [stdout] 170 | fn warp_line_region(image: &RgbImage, block: &TextBlock, line: &Quad) -> Option<RgbImage> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `maybe_expand_ctd_line` is never used
[INFO] [stdout]    --> src/ml/comic_text_detector/postprocess.rs:243:4
[INFO] [stdout]     |
[INFO] [stdout] 243 | fn maybe_expand_ctd_line(block: &TextBlock, line: &Quad) -> Quad {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clip_quad` is never used
[INFO] [stdout]    --> src/ml/comic_text_detector/postprocess.rs:264:4
[INFO] [stdout]     |
[INFO] [stdout] 264 | fn clip_quad(quad: &Quad, width: f32, height: f32) -> Quad {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `quad_bbox` is never used
[INFO] [stdout]    --> src/ml/comic_text_detector/postprocess.rs:273:4
[INFO] [stdout]     |
[INFO] [stdout] 273 | fn quad_bbox(quad: &Quad) -> [f32; 4] {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `quad_to_tuples` is never used
[INFO] [stdout]    --> src/ml/comic_text_detector/postprocess.rs:287:4
[INFO] [stdout]     |
[INFO] [stdout] 287 | fn quad_to_tuples(quad: &Quad) -> [(f32, f32); 4] {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `quad_axis_lengths` is never used
[INFO] [stdout]    --> src/ml/comic_text_detector/postprocess.rs:296:4
[INFO] [stdout]     |
[INFO] [stdout] 296 | fn quad_axis_lengths(quad: &Quad) -> (f32, f32) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `midpoint` is never used
[INFO] [stdout]    --> src/ml/comic_text_detector/postprocess.rs:314:4
[INFO] [stdout]     |
[INFO] [stdout] 314 | fn midpoint(a: [f32; 2], b: [f32; 2]) -> [f32; 2] {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `vector_norm` is never used
[INFO] [stdout]    --> src/ml/comic_text_detector/postprocess.rs:318:4
[INFO] [stdout]     |
[INFO] [stdout] 318 | fn vector_norm(vector: [f32; 2]) -> f32 {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConvBnAct` is never constructed
[INFO] [stdout]   --> src/ml/comic_text_detector/unet.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | struct ConvBnAct {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]   --> src/ml/comic_text_detector/unet.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl ConvBnAct {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 22 |     fn load(
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Bottleneck` is never constructed
[INFO] [stdout]   --> src/ml/comic_text_detector/unet.rs:56:8
[INFO] [stdout]    |
[INFO] [stdout] 56 | struct Bottleneck {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]   --> src/ml/comic_text_detector/unet.rs:63:8
[INFO] [stdout]    |
[INFO] [stdout] 62 | impl Bottleneck {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 63 |     fn load(vb: VarBuilder, c1: usize, c2: usize, shortcut: bool, act: Act) -> Result<Self> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `C3` is never constructed
[INFO] [stdout]   --> src/ml/comic_text_detector/unet.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 82 | struct C3 {
[INFO] [stdout]    |        ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]   --> src/ml/comic_text_detector/unet.rs:90:8
[INFO] [stdout]    |
[INFO] [stdout] 89 | impl C3 {
[INFO] [stdout]    | ------- associated function in this implementation
[INFO] [stdout] 90 |     fn load(
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DoubleConvC3` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_detector/unet.rs:132:8
[INFO] [stdout]     |
[INFO] [stdout] 132 | struct DoubleConvC3 {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]    --> src/ml/comic_text_detector/unet.rs:138:8
[INFO] [stdout]     |
[INFO] [stdout] 137 | impl DoubleConvC3 {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] 138 |     fn load(vb: VarBuilder, c1: usize, c2: usize, stride: usize, act: Act) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DoubleConvUpC3` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_detector/unet.rs:159:8
[INFO] [stdout]     |
[INFO] [stdout] 159 | struct DoubleConvUpC3 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]    --> src/ml/comic_text_detector/unet.rs:166:8
[INFO] [stdout]     |
[INFO] [stdout] 165 | impl DoubleConvUpC3 {
[INFO] [stdout]     | ------------------- associated function in this implementation
[INFO] [stdout] 166 |     fn load(vb: VarBuilder, c1: usize, c2: usize, act: Act) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UpsampleConv` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_detector/unet.rs:190:8
[INFO] [stdout]     |
[INFO] [stdout] 190 | struct UpsampleConv {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]    --> src/ml/comic_text_detector/unet.rs:195:8
[INFO] [stdout]     |
[INFO] [stdout] 194 | impl UpsampleConv {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] 195 |     fn load(vb: VarBuilder, c1: usize, c2: usize) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UNet` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_detector/unet.rs:214:12
[INFO] [stdout]     |
[INFO] [stdout] 214 | pub struct UNet {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/comic_text_detector/unet.rs:225:12
[INFO] [stdout]     |
[INFO] [stdout] 224 | impl UNet {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout] 225 |     pub fn load(vb: VarBuilder) -> Result<Self> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 238 |     pub fn forward(
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Upsample` is never constructed
[INFO] [stdout]  --> src/ml/comic_text_detector/yolo_v5.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | struct Upsample {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/ml/comic_text_detector/yolo_v5.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Upsample {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 14 |     fn new(scale_factor: usize) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConvBnSiLu` is never constructed
[INFO] [stdout]   --> src/ml/comic_text_detector/yolo_v5.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | struct ConvBnSiLu {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]   --> src/ml/comic_text_detector/yolo_v5.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | impl ConvBnSiLu {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 35 |     fn load(
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Bottleneck` is never constructed
[INFO] [stdout]   --> src/ml/comic_text_detector/yolo_v5.rs:67:8
[INFO] [stdout]    |
[INFO] [stdout] 67 | struct Bottleneck {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]   --> src/ml/comic_text_detector/yolo_v5.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 73 | impl Bottleneck {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 74 |     fn load(vb: VarBuilder, c1: usize, c2: usize, shortcut: bool, expansion: f32) -> Result<Self> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `C3` is never constructed
[INFO] [stdout]   --> src/ml/comic_text_detector/yolo_v5.rs:95:8
[INFO] [stdout]    |
[INFO] [stdout] 95 | struct C3 {
[INFO] [stdout]    |        ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]    --> src/ml/comic_text_detector/yolo_v5.rs:103:8
[INFO] [stdout]     |
[INFO] [stdout] 102 | impl C3 {
[INFO] [stdout]     | ------- associated function in this implementation
[INFO] [stdout] 103 |     fn load(
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Sppf` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_detector/yolo_v5.rs:139:8
[INFO] [stdout]     |
[INFO] [stdout] 139 | struct Sppf {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]    --> src/ml/comic_text_detector/yolo_v5.rs:146:8
[INFO] [stdout]     |
[INFO] [stdout] 145 | impl Sppf {
[INFO] [stdout]     | --------- associated function in this implementation
[INFO] [stdout] 146 |     fn load(vb: VarBuilder, c1: usize, c2: usize, k: usize) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CspDarknet53` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_detector/yolo_v5.rs:175:8
[INFO] [stdout]     |
[INFO] [stdout] 175 | struct CspDarknet53 {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/comic_text_detector/yolo_v5.rs:189:8
[INFO] [stdout]     |
[INFO] [stdout] 188 | impl CspDarknet53 {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] 189 |     fn load(vb: VarBuilder) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 214 |     fn forward(&self, xs: &Tensor) -> Result<(Tensor, Tensor, Tensor, Vec<Tensor>)> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PanetNeck` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_detector/yolo_v5.rs:234:8
[INFO] [stdout]     |
[INFO] [stdout] 234 | struct PanetNeck {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/comic_text_detector/yolo_v5.rs:247:8
[INFO] [stdout]     |
[INFO] [stdout] 246 | impl PanetNeck {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] 247 |     fn load(vb: VarBuilder) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 270 |     fn forward(&self, p3: &Tensor, p4: &Tensor, p5: &Tensor) -> Result<[Tensor; 3]> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `YoloV3Head` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_detector/yolo_v5.rs:291:8
[INFO] [stdout]     |
[INFO] [stdout] 291 | struct YoloV3Head {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load`, `make_grid`, and `forward` are never used
[INFO] [stdout]    --> src/ml/comic_text_detector/yolo_v5.rs:300:8
[INFO] [stdout]     |
[INFO] [stdout] 299 | impl YoloV3Head {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 300 |     fn load(vb: VarBuilder, num_classes: usize, num_anchors: usize) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 334 |     fn make_grid(
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 358 |     fn forward(&self, inputs: &[Tensor; 3]) -> Result<(Tensor, Vec<Tensor>)> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `YoloV5` is never constructed
[INFO] [stdout]    --> src/ml/comic_text_detector/yolo_v5.rs:388:12
[INFO] [stdout]     |
[INFO] [stdout] 388 | pub struct YoloV5 {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/comic_text_detector/yolo_v5.rs:395:12
[INFO] [stdout]     |
[INFO] [stdout] 394 | impl YoloV5 {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout] 395 |     pub fn load(vb: VarBuilder, num_classes: usize, num_anchors: usize) -> Result<Self> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 407 |     pub fn forward(&self, xs: &Tensor) -> Result<(Tensor, Vec<Tensor>)> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FONT_COUNT` is never used
[INFO] [stdout]   --> src/ml/font_detector/mod.rs:13:18
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub(super) const FONT_COUNT: usize = 6_150;
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REGRESSION_START` is never used
[INFO] [stdout]   --> src/ml/font_detector/mod.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const REGRESSION_START: usize = FONT_COUNT + 2;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REGRESSION_DIM` is never used
[INFO] [stdout]   --> src/ml/font_detector/mod.rs:15:18
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub(super) const REGRESSION_DIM: usize = 10;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HF_REPO` is never used
[INFO] [stdout]   --> src/ml/font_detector/mod.rs:17:7
[INFO] [stdout]    |
[INFO] [stdout] 17 | const HF_REPO: &str = "fffonion/yuzumarker-font-detection";
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FontDetector` is never constructed
[INFO] [stdout]   --> src/ml/font_detector/mod.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct FontDetector {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load`, `load_with_kind`, and `inference` are never used
[INFO] [stdout]   --> src/ml/font_detector/mod.rs:31:18
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl FontDetector {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 31 |     pub async fn load(cpu: bool) -> Result<Self> {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub async fn load_with_kind(cpu: bool,
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub fn inference(&self, images: &[DynamicImage], top_k: usize) -> Result<Vec<FontPrediction>> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FontLabel` is never constructed
[INFO] [stdout]    --> src/ml/font_detector/mod.rs:162:12
[INFO] [stdout]     |
[INFO] [stdout] 162 | pub struct FontLabel {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FontLabels` is never constructed
[INFO] [stdout]    --> src/ml/font_detector/mod.rs:169:12
[INFO] [stdout]     |
[INFO] [stdout] 169 | pub struct FontLabels {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load`, `from_path`, `entry`, `name`, and `language` are never used
[INFO] [stdout]    --> src/ml/font_detector/mod.rs:174:18
[INFO] [stdout]     |
[INFO] [stdout] 173 | impl FontLabels {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 174 |     pub async fn load() -> Result<Self> {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 179 |     pub fn from_path(path: &PathBuf) -> Result<Self> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |     pub fn entry(&self, idx: usize) -> Option<&FontLabel> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 199 |     pub fn name(&self, idx: usize) -> Option<&str> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 203 |     pub fn language(&self, idx: usize) -> Option<&str> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FontLabelEntry` is never constructed
[INFO] [stdout]    --> src/ml/font_detector/mod.rs:209:8
[INFO] [stdout]     |
[INFO] [stdout] 209 | struct FontLabelEntry {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `preprocess_image` is never used
[INFO] [stdout]    --> src/ml/font_detector/mod.rs:215:4
[INFO] [stdout]     |
[INFO] [stdout] 215 | fn preprocess_image(image: &DynamicImage, target: usize) -> Result<Tensor> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `top_k_softmax` is never used
[INFO] [stdout]    --> src/ml/font_detector/mod.rs:229:4
[INFO] [stdout]     |
[INFO] [stdout] 229 | fn top_k_softmax(logits: &[f32], top_k: usize) -> Vec<(usize, f32)> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `insert_ranked` is never used
[INFO] [stdout]    --> src/ml/font_detector/mod.rs:252:4
[INFO] [stdout]     |
[INFO] [stdout] 252 | fn insert_ranked(best: &mut Vec<(usize, f32)>, candidate: (usize, f32), limit: usize) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sigmoid_scalar` is never used
[INFO] [stdout]    --> src/ml/font_detector/mod.rs:267:4
[INFO] [stdout]     |
[INFO] [stdout] 267 | fn sigmoid_scalar(value: f32) -> f32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Model` is never constructed
[INFO] [stdout]   --> src/ml/font_detector/models.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct Model {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ModelImpl` is never used
[INFO] [stdout]   --> src/ml/font_detector/models.rs:25:6
[INFO] [stdout]    |
[INFO] [stdout] 25 | enum ModelImpl {
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load`, `input_size`, and `forward` are never used
[INFO] [stdout]   --> src/ml/font_detector/models.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl Model {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 31 |     pub fn load(vb: VarBuilder, kind: ModelKind) -> Result<Self> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn input_size(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn forward(&self, xs: &Tensor, train: bool) -> candle_core::Result<Tensor> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BasicBlock` is never constructed
[INFO] [stdout]   --> src/ml/font_detector/models.rs:84:8
[INFO] [stdout]    |
[INFO] [stdout] 84 | struct BasicBlock {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/font_detector/models.rs:93:8
[INFO] [stdout]     |
[INFO] [stdout]  92 | impl BasicBlock {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout]  93 |     fn load(vb: VarBuilder, in_channels: usize, planes: usize, stride: usize) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 140 |     fn forward(&self, xs: &Tensor, train: bool) -> candle_core::Result<Tensor> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Bottleneck` is never constructed
[INFO] [stdout]    --> src/ml/font_detector/models.rs:161:8
[INFO] [stdout]     |
[INFO] [stdout] 161 | struct Bottleneck {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/font_detector/models.rs:172:8
[INFO] [stdout]     |
[INFO] [stdout] 171 | impl Bottleneck {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 172 |     fn load(
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 230 |     fn forward(&self, xs: &Tensor, train: bool) -> candle_core::Result<Tensor> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ResNet` is never constructed
[INFO] [stdout]    --> src/ml/font_detector/models.rs:254:8
[INFO] [stdout]     |
[INFO] [stdout] 254 | struct ResNet {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ResBlock` is never used
[INFO] [stdout]    --> src/ml/font_detector/models.rs:264:6
[INFO] [stdout]     |
[INFO] [stdout] 264 | enum ResBlock {
[INFO] [stdout]     |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load_basic`, `load_bottleneck`, `load_impl`, `make_layer`, and `forward` are never used
[INFO] [stdout]    --> src/ml/font_detector/models.rs:270:8
[INFO] [stdout]     |
[INFO] [stdout] 269 | impl ResNet {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout] 270 |     fn load_basic(vb: VarBuilder, layers: [usize; 4], expansion: usize) -> Result<Self> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 274 |     fn load_bottleneck(vb: VarBuilder, layers: [usize; 4], expansion: usize) -> Result<Self> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 278 |     fn load_impl(
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 321 |     fn make_layer(
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 364 |     fn forward(&self, xs: &Tensor, train: bool) -> candle_core::Result<Tensor> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `forward` is never used
[INFO] [stdout]    --> src/ml/font_detector/models.rs:392:8
[INFO] [stdout]     |
[INFO] [stdout] 391 | impl ResBlock {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] 392 |     fn forward(&self, xs: &Tensor, train: bool) -> candle_core::Result<Tensor> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `BlockKind` is never used
[INFO] [stdout]    --> src/ml/font_detector/models.rs:401:6
[INFO] [stdout]     |
[INFO] [stdout] 401 | enum BlockKind {
[INFO] [stdout]     |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DeepFont` is never constructed
[INFO] [stdout]    --> src/ml/font_detector/models.rs:406:8
[INFO] [stdout]     |
[INFO] [stdout] 406 | struct DeepFont {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/font_detector/models.rs:420:8
[INFO] [stdout]     |
[INFO] [stdout] 419 | impl DeepFont {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] 420 |     fn load(vb: VarBuilder) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 490 |     fn forward(&self, xs: &Tensor, train: bool) -> candle_core::Result<Tensor> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_batch_norm` is never used
[INFO] [stdout]    --> src/ml/font_detector/models.rs:517:4
[INFO] [stdout]     |
[INFO] [stdout] 517 | fn load_batch_norm(vb: &VarBuilder, channels: usize) -> Result<BatchNorm> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HF_REPO` is never used
[INFO] [stdout]   --> src/ml/lama/mod.rs:23:7
[INFO] [stdout]    |
[INFO] [stdout] 23 | const HF_REPO: &str = "mayocream/lama-manga";
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BALLOON_CANNY_LOW` is never used
[INFO] [stdout]   --> src/ml/lama/mod.rs:27:7
[INFO] [stdout]    |
[INFO] [stdout] 27 | const BALLOON_CANNY_LOW: f32 = 70.0;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BALLOON_CANNY_HIGH` is never used
[INFO] [stdout]   --> src/ml/lama/mod.rs:28:7
[INFO] [stdout]    |
[INFO] [stdout] 28 | const BALLOON_CANNY_HIGH: f32 = 140.0;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BALLOON_WINDOW_RATIO` is never used
[INFO] [stdout]   --> src/ml/lama/mod.rs:29:7
[INFO] [stdout]    |
[INFO] [stdout] 29 | const BALLOON_WINDOW_RATIO: f64 = 1.7;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BALLOON_WINDOW_ASPECT_RATIO` is never used
[INFO] [stdout]   --> src/ml/lama/mod.rs:30:7
[INFO] [stdout]    |
[INFO] [stdout] 30 | const BALLOON_WINDOW_ASPECT_RATIO: f64 = 1.0;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SIMPLE_BG_THRESHOLD_LOW_VARIANCE` is never used
[INFO] [stdout]   --> src/ml/lama/mod.rs:31:7
[INFO] [stdout]    |
[INFO] [stdout] 31 | const SIMPLE_BG_THRESHOLD_LOW_VARIANCE: f64 = 10.0;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SIMPLE_BG_THRESHOLD_HIGH_VARIANCE` is never used
[INFO] [stdout]   --> src/ml/lama/mod.rs:32:7
[INFO] [stdout]    |
[INFO] [stdout] 32 | const SIMPLE_BG_THRESHOLD_HIGH_VARIANCE: f64 = 7.0;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SIMPLE_BG_CHANNEL_STD_SWITCH` is never used
[INFO] [stdout]   --> src/ml/lama/mod.rs:33:7
[INFO] [stdout]    |
[INFO] [stdout] 33 | const SIMPLE_BG_CHANNEL_STD_SWITCH: f64 = 1.0;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Xyxy` is never used
[INFO] [stdout]   --> src/ml/lama/mod.rs:34:6
[INFO] [stdout]    |
[INFO] [stdout] 34 | type Xyxy = [u32; 4];
[INFO] [stdout]    |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BalloonMasks` is never constructed
[INFO] [stdout]   --> src/ml/lama/mod.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | struct BalloonMasks {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Lama` is never constructed
[INFO] [stdout]   --> src/ml/lama/mod.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct Lama {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/ml/lama/mod.rs:47:18
[INFO] [stdout]     |
[INFO] [stdout]  46 | impl Lama {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout]  47 |     pub async fn load(cpu: bool) -> Result<Self> {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  58 |     fn forward(&self, image: &Tensor, mask: &Tensor) -> Result<Tensor> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  63 |     pub fn inference_model(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  74 |     pub fn inference(&self, image: &DynamicImage, mask: &DynamicImage) -> Result<DynamicImage> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  79 |     pub fn inference_with_blocks(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     fn inference_crop(&self, image: &RgbImage, mask: &GrayImage) -> Result<RgbImage> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     fn inference_blockwise(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 174 |     fn inference_model_rgb(&self, image: &RgbImage, mask: &GrayImage) -> Result<RgbImage> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 184 |     fn preprocess(&self, image: &DynamicImage, mask: &DynamicImage) -> Result<(Tensor, Tensor)> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 211 |     fn postprocess(&self, output: &Tensor) -> Result<DynamicImage> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `block_xyxy` is never used
[INFO] [stdout]    --> src/ml/lama/mod.rs:228:4
[INFO] [stdout]     |
[INFO] [stdout] 228 | fn block_xyxy(block: &TextBlock, width: u32, height: u32) -> Option<Xyxy> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `enlarge_window` is never used
[INFO] [stdout]    --> src/ml/lama/mod.rs:246:4
[INFO] [stdout]     |
[INFO] [stdout] 246 | fn enlarge_window(rect: Xyxy, im_w: u32, im_h: u32, ratio: f64, aspect_ratio: f64) -> Xyxy {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `try_fill_balloon` is never used
[INFO] [stdout]    --> src/ml/lama/mod.rs:275:4
[INFO] [stdout]     |
[INFO] [stdout] 275 | fn try_fill_balloon(image: &RgbImage, mask: &GrayImage) -> Option<RgbImage> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_balloon_mask` is never used
[INFO] [stdout]    --> src/ml/lama/mod.rs:305:4
[INFO] [stdout]     |
[INFO] [stdout] 305 | fn extract_balloon_mask(image: &RgbImage, mask: &GrayImage) -> Option<BalloonMasks> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `contour_polygon` is never used
[INFO] [stdout]    --> src/ml/lama/mod.rs:368:4
[INFO] [stdout]     |
[INFO] [stdout] 368 | fn contour_polygon(points: &[Point<i32>]) -> Option<Vec<Point<i32>>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `polygon_bbox` is never used
[INFO] [stdout]    --> src/ml/lama/mod.rs:382:4
[INFO] [stdout]     |
[INFO] [stdout] 382 | fn polygon_bbox(points: &[Point<i32>]) -> Option<Xyxy> {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `polygon_area` is never used
[INFO] [stdout]    --> src/ml/lama/mod.rs:403:4
[INFO] [stdout]     |
[INFO] [stdout] 403 | fn polygon_area(points: &[Point<i32>]) -> f64 {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_binary_border` is never used
[INFO] [stdout]    --> src/ml/lama/mod.rs:413:4
[INFO] [stdout]     |
[INFO] [stdout] 413 | fn draw_binary_border(image: &mut GrayImage) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `subtract_binary_mask` is never used
[INFO] [stdout]    --> src/ml/lama/mod.rs:430:4
[INFO] [stdout]     |
[INFO] [stdout] 430 | fn subtract_binary_mask(image: &mut GrayImage, mask: &GrayImage) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `non_zero_bbox` is never used
[INFO] [stdout]    --> src/ml/lama/mod.rs:438:4
[INFO] [stdout]     |
[INFO] [stdout] 438 | fn non_zero_bbox(mask: &GrayImage) -> Option<Xyxy> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clear_mask_bbox` is never used
[INFO] [stdout]    --> src/ml/lama/mod.rs:465:4
[INFO] [stdout]     |
[INFO] [stdout] 465 | fn clear_mask_bbox(mask: &mut GrayImage, bbox: Xyxy) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `count_nonzero` is never used
[INFO] [stdout]    --> src/ml/lama/mod.rs:473:4
[INFO] [stdout]     |
[INFO] [stdout] 473 | fn count_nonzero(mask: &GrayImage) -> u32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `count_overlap` is never used
[INFO] [stdout]    --> src/ml/lama/mod.rs:477:4
[INFO] [stdout]     |
[INFO] [stdout] 477 | fn count_overlap(left: &GrayImage, right: &GrayImage) -> u32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `median_rgb` is never used
[INFO] [stdout]    --> src/ml/lama/mod.rs:484:4
[INFO] [stdout]     |
[INFO] [stdout] 484 | fn median_rgb(image: &RgbImage, mask: &GrayImage) -> Option<[f64; 3]> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `median_channel` is never used
[INFO] [stdout]    --> src/ml/lama/mod.rs:502:4
[INFO] [stdout]     |
[INFO] [stdout] 502 | fn median_channel(values: &[u8]) -> Option<f64> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `color_stddev` is never used
[INFO] [stdout]    --> src/ml/lama/mod.rs:517:4
[INFO] [stdout]     |
[INFO] [stdout] 517 | fn color_stddev(image: &RgbImage, mask: &GrayImage, median: [f64; 3]) -> [f64; 3] {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `stddev3` is never used
[INFO] [stdout]    --> src/ml/lama/mod.rs:543:4
[INFO] [stdout]     |
[INFO] [stdout] 543 | fn stddev3(values: [f64; 3]) -> f64 {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Rfft2` is never constructed
[INFO] [stdout]   --> src/ml/lama/fft/mod.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | struct Rfft2;
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Irfft2` is never constructed
[INFO] [stdout]   --> src/ml/lama/fft/mod.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | struct Irfft2 {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rfft2` is never used
[INFO] [stdout]   --> src/ml/lama/fft/mod.rs:68:8
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub fn rfft2(xs: &Tensor) -> candle_core::Result<Tensor> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `irfft2` is never used
[INFO] [stdout]   --> src/ml/lama/fft/mod.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub fn irfft2(spectrum: &Tensor, width: usize) -> candle_core::Result<Tensor> {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rfft2` is never used
[INFO] [stdout]  --> src/ml/lama/fft/cpu.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn rfft2(storage: &CpuStorage, layout: &Layout) -> Result<(CpuStorage, Shape)> {
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `irfft2` is never used
[INFO] [stdout]   --> src/ml/lama/fft/cpu.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub fn irfft2(storage: &CpuStorage, layout: &Layout, width: usize) -> Result<(CpuStorage, Shape)> {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FfcChannels` is never constructed
[INFO] [stdout]   --> src/ml/lama/model.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct FfcChannels {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Conv2dPad` is never constructed
[INFO] [stdout]   --> src/ml/lama/model.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | struct Conv2dPad {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]   --> src/ml/lama/model.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl Conv2dPad {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 24 |     fn load(
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     fn forward(&self, xs: &Tensor) -> candle_core::Result<Tensor> {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_batch_norm` is never used
[INFO] [stdout]   --> src/ml/lama/model.rs:58:4
[INFO] [stdout]    |
[INFO] [stdout] 58 | fn load_batch_norm(vb: &VarBuilder, channels: usize) -> Result<BatchNorm> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FourierUnit` is never constructed
[INFO] [stdout]   --> src/ml/lama/model.rs:70:8
[INFO] [stdout]    |
[INFO] [stdout] 70 | struct FourierUnit {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]   --> src/ml/lama/model.rs:77:8
[INFO] [stdout]    |
[INFO] [stdout] 76 | impl FourierUnit {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 77 |     fn load(vb: &VarBuilder, in_channels: usize, out_channels: usize) -> Result<Self> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 97 |     fn forward(&self, xs: &Tensor) -> candle_core::Result<Tensor> {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SpectralTransform` is never constructed
[INFO] [stdout]    --> src/ml/lama/model.rs:120:8
[INFO] [stdout]     |
[INFO] [stdout] 120 | struct SpectralTransform {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/lama/model.rs:129:8
[INFO] [stdout]     |
[INFO] [stdout] 128 | impl SpectralTransform {
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout] 129 |     fn load(
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 169 |     fn forward(&self, xs: &Tensor) -> candle_core::Result<Tensor> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Ffc` is never constructed
[INFO] [stdout]    --> src/ml/lama/model.rs:185:8
[INFO] [stdout]     |
[INFO] [stdout] 185 | struct Ffc {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/lama/model.rs:193:8
[INFO] [stdout]     |
[INFO] [stdout] 192 | impl Ffc {
[INFO] [stdout]     | -------- associated items in this implementation
[INFO] [stdout] 193 |     fn load(
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 277 |     fn forward(
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FFCBnAct` is never constructed
[INFO] [stdout]    --> src/ml/lama/model.rs:309:8
[INFO] [stdout]     |
[INFO] [stdout] 309 | struct FFCBnAct {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/lama/model.rs:316:8
[INFO] [stdout]     |
[INFO] [stdout] 315 | impl FFCBnAct {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] 316 |     fn load(
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 338 |     fn forward(
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FFCResBlock` is never constructed
[INFO] [stdout]    --> src/ml/lama/model.rs:361:8
[INFO] [stdout]     |
[INFO] [stdout] 361 | struct FFCResBlock {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/lama/model.rs:367:8
[INFO] [stdout]     |
[INFO] [stdout] 366 | impl FFCResBlock {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] 367 |     fn load(vb: &VarBuilder, channels: FfcChannels) -> Result<Self> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 373 |     fn forward(
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Lama` is never constructed
[INFO] [stdout]    --> src/ml/lama/model.rs:391:12
[INFO] [stdout]     |
[INFO] [stdout] 391 | pub struct Lama {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `forward` are never used
[INFO] [stdout]    --> src/ml/lama/model.rs:406:12
[INFO] [stdout]     |
[INFO] [stdout] 405 | impl Lama {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout] 406 |     pub fn load(vb: &VarBuilder) -> Result<Self> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 543 |     pub fn forward(&self, image: &Tensor, mask: &Tensor) -> Result<Tensor> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `reflect_pad2d` is never used
[INFO] [stdout]    --> src/ml/lama/model.rs:590:4
[INFO] [stdout]     |
[INFO] [stdout] 590 | fn reflect_pad2d(xs: &Tensor, pad: usize) -> candle_core::Result<Tensor> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_manifest_path` is never used
[INFO] [stdout]  --> src/ml/loading.rs:9:14
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub async fn resolve_manifest_path<F>(manifest: F) -> Result<PathBuf>
[WARN] too many lines in the log, truncating it
