[INFO] cloning repository https://github.com/Baolinh0305/Instant-Narrator
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Baolinh0305/Instant-Narrator" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBaolinh0305%2FInstant-Narrator", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBaolinh0305%2FInstant-Narrator'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 7a62132ee3b0f138cd9d02aa5b1485072d6a7dcf
[INFO] checking Baolinh0305/Instant-Narrator against master#c756124775121dea0e640652c5ee3c89e3dd0eb4 for pr-154971
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBaolinh0305%2FInstant-Narrator" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Baolinh0305/Instant-Narrator
[INFO] finished tweaking git repo https://github.com/Baolinh0305/Instant-Narrator
[INFO] tweaked toml for git repo https://github.com/Baolinh0305/Instant-Narrator written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Baolinh0305/Instant-Narrator on toolchain c756124775121dea0e640652c5ee3c89e3dd0eb4
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c756124775121dea0e640652c5ee3c89e3dd0eb4" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Baolinh0305/Instant-Narrator 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" "+c756124775121dea0e640652c5ee3c89e3dd0eb4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded ureq-proto v0.5.3
[INFO] [stderr]   Downloaded symphonia v0.5.5
[INFO] [stderr]   Downloaded symphonia-utils-xiph v0.5.5
[INFO] [stderr]   Downloaded tungstenite v0.27.0
[INFO] [stderr]   Downloaded wayland-protocols-misc v0.3.11
[INFO] [stderr]   Downloaded extended v0.1.0
[INFO] [stderr]   Downloaded uds_windows v1.2.0
[INFO] [stderr]   Downloaded objc2-core-audio v0.3.2
[INFO] [stderr]   Downloaded objc2-core-audio-types v0.3.2
[INFO] [stderr]   Downloaded jni-macros v0.22.2
[INFO] [stderr]   Downloaded webbrowser v1.2.0
[INFO] [stderr]   Downloaded calloop v0.14.4
[INFO] [stderr]   Downloaded symphonia-core v0.5.5
[INFO] [stderr]   Downloaded cpal v0.16.0
[INFO] [stderr]   Downloaded wayland-protocols-plasma v0.3.11
[INFO] [stderr]   Downloaded ureq v3.2.0
[INFO] [stderr]   Downloaded symphonia-bundle-mp3 v0.5.5
[INFO] [stderr]   Downloaded wgpu v24.0.5
[INFO] [stderr]   Downloaded objc2-audio-toolbox v0.3.2
[INFO] [stderr]   Downloaded jni v0.22.3
[INFO] [stderr]   Downloaded rodio v0.21.1
[INFO] [stderr]   Downloaded wgpu-core v24.0.5
[INFO] [stderr]   Downloaded coreaudio-rs v0.13.0
[INFO] [stderr]   Downloaded symphonia-format-isomp4 v0.5.5
[INFO] [stderr]   Downloaded symphonia-metadata v0.5.5
[INFO] [stderr]   Downloaded symphonia-codec-vorbis v0.5.5
[INFO] [stderr]   Downloaded symphonia-bundle-flac v0.5.5
[INFO] [stderr]   Downloaded symphonia-codec-aac v0.5.5
[INFO] [stderr]   Downloaded symphonia-codec-pcm v0.5.5
[INFO] [stderr]   Downloaded symphonia-format-ogg v0.5.5
[INFO] [stderr]   Downloaded symphonia-format-riff v0.5.5
[INFO] [stderr]   Downloaded wayland-cursor v0.31.13
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/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" "+c756124775121dea0e640652c5ee3c89e3dd0eb4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e6e961568e3a8e5c8cda1cc849f5dae42b386c261aaf882f99c2a4990c5edc50
[INFO] running `Command { std: "docker" "start" "-a" "e6e961568e3a8e5c8cda1cc849f5dae42b386c261aaf882f99c2a4990c5edc50", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e6e961568e3a8e5c8cda1cc849f5dae42b386c261aaf882f99c2a4990c5edc50", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e6e961568e3a8e5c8cda1cc849f5dae42b386c261aaf882f99c2a4990c5edc50", kill_on_drop: false }`
[INFO] [stdout] e6e961568e3a8e5c8cda1cc849f5dae42b386c261aaf882f99c2a4990c5edc50
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/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" "+c756124775121dea0e640652c5ee3c89e3dd0eb4" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a27a249566b415c7aecc4821951879a4098d2b2c625604588602ca00bdf9ae20
[INFO] running `Command { std: "docker" "start" "-a" "a27a249566b415c7aecc4821951879a4098d2b2c625604588602ca00bdf9ae20", kill_on_drop: false }`
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling cc v1.2.56
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]    Compiling zerocopy v0.8.42
[INFO] [stderr]     Checking dlib v0.5.3
[INFO] [stderr]    Compiling wayland-sys v0.31.10
[INFO] [stderr]    Compiling toml_datetime v1.0.0+spec-1.1.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]    Compiling bytemuck_derive v1.10.2
[INFO] [stderr]    Compiling enumflags2_derive v0.7.12
[INFO] [stderr]    Compiling zvariant_utils v2.1.0
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]     Checking tracing-core v0.1.36
[INFO] [stderr]     Checking futures-lite v2.6.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling static_assertions v1.1.0
[INFO] [stderr]    Compiling endi v1.1.1
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]     Checking piper v0.2.5
[INFO] [stderr]     Checking concurrent-queue v2.5.0
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]     Checking event-listener v5.4.1
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking enumflags2 v0.7.12
[INFO] [stderr]     Checking quick-xml v0.30.0
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking bytemuck v1.25.0
[INFO] [stderr]     Checking ttf-parser v0.25.1
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]     Checking event-listener-strategy v0.5.4
[INFO] [stderr]     Checking async-channel v2.5.0
[INFO] [stderr]     Checking symphonia-core v0.5.5
[INFO] [stderr]     Checking async-lock v3.4.2
[INFO] [stderr]    Compiling wayland-backend v0.3.14
[INFO] [stderr]     Checking async-executor v1.14.0
[INFO] [stderr]     Checking blocking v1.6.2
[INFO] [stderr]     Checking async-broadcast v0.7.2
[INFO] [stderr]     Checking ordered-stream v0.2.0
[INFO] [stderr]    Compiling serde_repr v0.1.20
[INFO] [stderr]     Checking xdg-home v1.3.0
[INFO] [stderr]     Checking async-fs v2.2.0
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]     Checking cursor-icon v1.2.0
[INFO] [stderr]     Checking ab_glyph_rasterizer v0.1.10
[INFO] [stderr]    Compiling toml_parser v1.0.9+spec-1.1.0
[INFO] [stderr]     Checking xkeysym v0.2.1
[INFO] [stderr]    Compiling xml-rs v0.8.28
[INFO] [stderr]     Checking xcursor v0.3.10
[INFO] [stderr]     Checking memmap2 v0.9.10
[INFO] [stderr]    Compiling smithay-client-toolkit v0.19.2
[INFO] [stderr]     Checking strict-num v0.1.1
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking tiny-skia-path v0.11.4
[INFO] [stderr]     Checking x11-dl v2.21.0
[INFO] [stderr]     Checking as-raw-xcb-connection v1.0.1
[INFO] [stderr]     Checking yoke v0.8.1
[INFO] [stderr]     Checking x11rb-protocol v0.13.2
[INFO] [stderr]    Compiling openssl-sys v0.9.111
[INFO] [stderr]     Checking flate2 v1.1.9
[INFO] [stderr]     Checking zerovec v0.11.5
[INFO] [stderr]     Checking symphonia-metadata v0.5.5
[INFO] [stderr]    Compiling toml_edit v0.25.4+spec-1.1.0
[INFO] [stderr]     Checking zerotrie v0.2.3
[INFO] [stderr]     Checking tiny-skia v0.11.4
[INFO] [stderr]     Checking symphonia-utils-xiph v0.5.5
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]     Checking emath v0.31.1
[INFO] [stderr]    Compiling gl_generator v0.14.0
[INFO] [stderr]    Compiling winit v0.30.13
[INFO] [stderr]     Checking immutable-chunkmap v2.1.2
[INFO] [stderr]     Checking tinystr v0.8.2
[INFO] [stderr]    Compiling proc-macro-crate v3.5.0
[INFO] [stderr]     Checking icu_locale_core v2.1.1
[INFO] [stderr]     Checking potential_utf v0.1.4
[INFO] [stderr]     Checking accesskit_consumer v0.26.0
[INFO] [stderr]     Checking owned_ttf_parser v0.25.1
[INFO] [stderr]     Checking icu_collections v2.1.1
[INFO] [stderr]     Checking ab_glyph v0.2.32
[INFO] [stderr]     Checking polling v3.11.0
[INFO] [stderr]     Checking gethostname v1.1.0
[INFO] [stderr]    Compiling glutin_egl_sys v0.7.1
[INFO] [stderr]    Compiling glutin_glx_sys v0.6.1
[INFO] [stderr]     Checking async-io v2.6.0
[INFO] [stderr]    Compiling zvariant_derive v4.2.0
[INFO] [stderr]    Compiling zbus_macros v4.4.0
[INFO] [stderr]     Checking calloop v0.14.4
[INFO] [stderr]     Checking ecolor v0.31.1
[INFO] [stderr]     Checking icu_provider v2.1.1
[INFO] [stderr]     Checking thiserror v2.0.18
[INFO] [stderr]     Checking xkbcommon-dl v0.4.2
[INFO] [stderr]    Compiling smithay-client-toolkit v0.20.0
[INFO] [stderr]     Checking zune-core v0.5.1
[INFO] [stderr]     Checking dpi v0.1.2
[INFO] [stderr]     Checking pxfm v0.1.28
[INFO] [stderr]     Checking epaint_default_fonts v0.31.1
[INFO] [stderr]     Checking wayland-client v0.31.13
[INFO] [stderr]     Checking wayland-csd-frame v0.3.0
[INFO] [stderr]     Checking icu_properties v2.1.2
[INFO] [stderr]     Checking icu_normalizer v2.1.1
[INFO] [stderr]     Checking quick-error v2.0.1
[INFO] [stderr]     Checking smol_str v0.2.2
[INFO] [stderr]     Checking gif v0.14.1
[INFO] [stderr]     Checking zune-jpeg v0.5.12
[INFO] [stderr]     Checking image-webp v0.2.4
[INFO] [stderr]    Compiling zvariant v4.2.0
[INFO] [stderr]     Checking png v0.18.1
[INFO] [stderr]     Checking form_urlencoded v1.2.2
[INFO] [stderr]    Compiling glutin v0.32.3
[INFO] [stderr]     Checking alsa-sys v0.3.1
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]    Compiling glutin-winit v0.5.0
[INFO] [stderr]     Checking epaint v0.31.1
[INFO] [stderr]     Checking extended v0.1.0
[INFO] [stderr]    Compiling cpal v0.16.0
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]    Compiling rustls v0.23.37
[INFO] [stderr]    Compiling openssl v0.10.75
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking wayland-protocols v0.32.11
[INFO] [stderr]     Checking wayland-cursor v0.31.13
[INFO] [stderr]     Checking calloop-wayland-source v0.4.1
[INFO] [stderr]     Checking symphonia-format-riff v0.5.5
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking alsa v0.9.1
[INFO] [stderr]     Checking symphonia-codec-vorbis v0.5.5
[INFO] [stderr]     Checking calloop v0.13.0
[INFO] [stderr]     Checking webbrowser v1.2.0
[INFO] [stderr]     Checking symphonia-format-ogg v0.5.5
[INFO] [stderr]     Checking symphonia-format-isomp4 v0.5.5
[INFO] [stderr]     Checking symphonia-bundle-flac v0.5.5
[INFO] [stderr]     Checking egui v0.31.1
[INFO] [stderr]     Checking symphonia-bundle-mp3 v0.5.5
[INFO] [stderr]     Checking zbus_names v3.0.0
[INFO] [stderr]     Checking calloop-wayland-source v0.3.0
[INFO] [stderr]     Checking symphonia-codec-pcm v0.5.5
[INFO] [stderr]     Checking symphonia-codec-aac v0.5.5
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]     Checking moxcms v0.7.11
[INFO] [stderr]     Checking web-time v1.1.0
[INFO] [stderr]     Checking glow v0.16.0
[INFO] [stderr]     Checking dasp_sample v0.11.0
[INFO] [stderr]     Checking ureq-proto v0.5.3
[INFO] [stderr]    Compiling native-tls v0.2.18
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]     Checking webpki-roots v1.0.6
[INFO] [stderr]     Checking hound v3.5.1
[INFO] [stderr]     Checking rustls-webpki v0.103.9
[INFO] [stderr]     Checking zbus_xml v4.0.0
[INFO] [stderr]     Checking zbus v4.4.0
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]     Checking symphonia v0.5.5
[INFO] [stderr]     Checking zbus-lockstep v0.4.4
[INFO] [stderr]     Checking rodio v0.21.1
[INFO] [stderr]     Checking tungstenite v0.27.0
[INFO] [stderr]    Compiling zbus-lockstep-macros v0.4.4
[INFO] [stderr]     Checking egui_glow v0.31.1
[INFO] [stderr]     Checking ureq v3.2.0
[INFO] [stderr]     Checking wayland-protocols-wlr v0.3.11
[INFO] [stderr]     Checking wayland-protocols-plasma v0.3.11
[INFO] [stderr]     Checking wayland-protocols-experimental v20250721.0.1
[INFO] [stderr]     Checking wayland-protocols-misc v0.3.11
[INFO] [stderr]     Checking image v0.25.9
[INFO] [stderr]     Checking x11rb v0.13.2
[INFO] [stderr]     Checking sctk-adwaita v0.10.1
[INFO] [stderr]     Checking smithay-clipboard v0.7.3
[INFO] [stderr]     Checking atspi-common v0.6.0
[INFO] [stderr]     Checking arboard v3.6.1
[INFO] [stderr]     Checking atspi-proxies v0.6.0
[INFO] [stderr]     Checking accesskit_atspi_common v0.10.1
[INFO] [stderr]     Checking atspi-connection v0.6.0
[INFO] [stderr]     Checking atspi v0.22.0
[INFO] [stderr]     Checking accesskit_unix v0.13.1
[INFO] [stderr]     Checking accesskit_winit v0.23.1
[INFO] [stderr]     Checking egui-winit v0.31.1
[INFO] [stderr]     Checking eframe v0.31.1
[INFO] [stderr]     Checking instant_tts_gemini v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `hidden`
[INFO] [stdout]      --> src/main.rs:13440:43
[INFO] [stdout]       |
[INFO] [stdout] 13440 | fn launch_qwen_service_process(port: u16, hidden: bool) -> Result<()> {
[INFO] [stdout]       |                                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_hidden`
[INFO] [stdout]       |
[INFO] [stdout]       = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BOOK_GEMINI_SPACING_MS` is never used
[INFO] [stdout]   --> src/main.rs:42:7
[INFO] [stdout]    |
[INFO] [stdout] 42 | const BOOK_GEMINI_SPACING_MS: u64 = 10_000;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GEMINI_LONG_LINE_SPLIT_THRESHOLD` is never used
[INFO] [stdout]   --> src/main.rs:45:7
[INFO] [stdout]    |
[INFO] [stdout] 45 | const GEMINI_LONG_LINE_SPLIT_THRESHOLD: usize = 380;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `label` is never used
[INFO] [stdout]    --> src/main.rs:162:8
[INFO] [stdout]     |
[INFO] [stdout] 161 | impl VideoResolution {
[INFO] [stdout]     | -------------------- method in this implementation
[INFO] [stdout] 162 |     fn label(self) -> &'static str {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `label` is never used
[INFO] [stdout]    --> src/main.rs:184:8
[INFO] [stdout]     |
[INFO] [stdout] 183 | impl VideoFrameRate {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] 184 |     fn label(self) -> &'static str {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SrtReady` is never constructed
[INFO] [stdout]    --> src/main.rs:511:5
[INFO] [stdout]     |
[INFO] [stdout] 505 | enum VideoEvent {
[INFO] [stdout]     |      ---------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 511 |     SrtReady {
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `LineRendered` and `CharacterBatchDone` are never constructed
[INFO] [stdout]    --> src/main.rs:585:5
[INFO] [stdout]     |
[INFO] [stdout] 561 | enum QwenEvent {
[INFO] [stdout]     |      --------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 585 |     LineRendered {
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 597 |     CharacterBatchDone {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `show_export_exclusion_picker` is never read
[INFO] [stdout]    --> src/main.rs:713:5
[INFO] [stdout]     |
[INFO] [stdout] 642 | struct TtsApp {
[INFO] [stdout]     |        ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 713 |     show_export_exclusion_picker: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `preview_video_lines`, `can_export_full_audio`, `start_render_selected_character_lines`, `start_render_selected_character_lines_grouped`, and `start_render_selected_character_lines_with_mode` are never used
[INFO] [stdout]     --> src/main.rs:1349:8
[INFO] [stdout]      |
[INFO] [stdout]  967 | impl TtsApp {
[INFO] [stdout]      | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1349 |     fn preview_video_lines(&self) -> Vec<String> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2155 |     fn can_export_full_audio(&self) -> bool {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2920 |     fn start_render_selected_character_lines(&mut self) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2924 |     fn start_render_selected_character_lines_grouped(&mut self) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3034 |     fn start_render_selected_character_lines_with_mode(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `should_retry_split_gemini_line` is never used
[INFO] [stdout]     --> src/main.rs:7957:4
[INFO] [stdout]      |
[INFO] [stdout] 7957 | fn should_retry_split_gemini_line(text: &str, error_message: &str) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chunk_text_parts` is never used
[INFO] [stdout]     --> src/main.rs:8184:4
[INFO] [stdout]      |
[INFO] [stdout] 8184 | fn chunk_text_parts(parts: &[String], max_chars: usize) -> Vec<String> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `split_book_paragraphs` is never used
[INFO] [stdout]     --> src/main.rs:8780:4
[INFO] [stdout]      |
[INFO] [stdout] 8780 | fn split_book_paragraphs(input: &str) -> Vec<String> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `paragraph_needs_gemini` is never used
[INFO] [stdout]     --> src/main.rs:8790:4
[INFO] [stdout]      |
[INFO] [stdout] 8790 | fn paragraph_needs_gemini(paragraph: &str) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `recover_missing_source_chunks` is never used
[INFO] [stdout]     --> src/main.rs:9309:4
[INFO] [stdout]      |
[INFO] [stdout] 9309 | fn recover_missing_source_chunks(source_text: &str, formatted: &str) -> String {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_best_source_chunk_index` is never used
[INFO] [stdout]     --> src/main.rs:9382:4
[INFO] [stdout]      |
[INFO] [stdout] 9382 | fn find_best_source_chunk_index(block: &str, source_norms: &[String]) -> Option<usize> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shared_prefix_len` is never used
[INFO] [stdout]     --> src/main.rs:9415:4
[INFO] [stdout]      |
[INFO] [stdout] 9415 | fn shared_prefix_len(left: &str, right: &str) -> usize {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GeminiWordTimingPayload` is never constructed
[INFO] [stdout]      --> src/main.rs:10056:8
[INFO] [stdout]       |
[INFO] [stdout] 10056 | struct GeminiWordTimingPayload {
[INFO] [stdout]       |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GeminiWordTimingSegment` is never constructed
[INFO] [stdout]      --> src/main.rs:10061:8
[INFO] [stdout]       |
[INFO] [stdout] 10061 | struct GeminiWordTimingSegment {
[INFO] [stdout]       |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WordItem` is never constructed
[INFO] [stdout]      --> src/main.rs:10098:8
[INFO] [stdout]       |
[INFO] [stdout] 10098 | struct WordItem {
[INFO] [stdout]       |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `collect_word_items` is never used
[INFO] [stdout]      --> src/main.rs:10150:4
[INFO] [stdout]       |
[INFO] [stdout] 10150 | fn collect_word_items(timed_lines: &[TimedBookLine]) -> Vec<WordItem> {
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_word_timing_file` is never used
[INFO] [stdout]      --> src/main.rs:10269:4
[INFO] [stdout]       |
[INFO] [stdout] 10269 | fn load_word_timing_file(path: &Path) -> Result<Vec<TimedWordSegment>> {
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gemini_sentence_batches` is never used
[INFO] [stdout]      --> src/main.rs:10719:4
[INFO] [stdout]       |
[INFO] [stdout] 10719 | fn gemini_sentence_batches(sentence_items: &[SentenceItem]) -> Vec<(usize, usize)> {
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `request_gemini_single_sentence_timing` is never used
[INFO] [stdout]      --> src/main.rs:10841:4
[INFO] [stdout]       |
[INFO] [stdout] 10841 | fn request_gemini_single_sentence_timing(
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `request_gemini_sentence_timing_batch_recursive` is never used
[INFO] [stdout]      --> src/main.rs:10928:4
[INFO] [stdout]       |
[INFO] [stdout] 10928 | fn request_gemini_sentence_timing_batch_recursive(
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_subtitle_lead_to_word_segments` is never used
[INFO] [stdout]      --> src/main.rs:11286:4
[INFO] [stdout]       |
[INFO] [stdout] 11286 | fn apply_subtitle_lead_to_word_segments(segments: &mut [TimedWordSegment], lead_seconds: f64) {
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `analyze_word_timing_with_gemini` is never used
[INFO] [stdout]      --> src/main.rs:11608:4
[INFO] [stdout]       |
[INFO] [stdout] 11608 | fn analyze_word_timing_with_gemini(
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `active_word_index_for_line` is never used
[INFO] [stdout]      --> src/main.rs:12763:4
[INFO] [stdout]       |
[INFO] [stdout] 12763 | fn active_word_index_for_line(
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hidden`
[INFO] [stdout]      --> src/main.rs:13440:43
[INFO] [stdout]       |
[INFO] [stdout] 13440 | fn launch_qwen_service_process(port: u16, hidden: bool) -> Result<()> {
[INFO] [stdout]       |                                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_hidden`
[INFO] [stdout]       |
[INFO] [stdout]       = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BOOK_GEMINI_SPACING_MS` is never used
[INFO] [stdout]   --> src/main.rs:42:7
[INFO] [stdout]    |
[INFO] [stdout] 42 | const BOOK_GEMINI_SPACING_MS: u64 = 10_000;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GEMINI_LONG_LINE_SPLIT_THRESHOLD` is never used
[INFO] [stdout]   --> src/main.rs:45:7
[INFO] [stdout]    |
[INFO] [stdout] 45 | const GEMINI_LONG_LINE_SPLIT_THRESHOLD: usize = 380;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `label` is never used
[INFO] [stdout]    --> src/main.rs:162:8
[INFO] [stdout]     |
[INFO] [stdout] 161 | impl VideoResolution {
[INFO] [stdout]     | -------------------- method in this implementation
[INFO] [stdout] 162 |     fn label(self) -> &'static str {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `label` is never used
[INFO] [stdout]    --> src/main.rs:184:8
[INFO] [stdout]     |
[INFO] [stdout] 183 | impl VideoFrameRate {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] 184 |     fn label(self) -> &'static str {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SrtReady` is never constructed
[INFO] [stdout]    --> src/main.rs:511:5
[INFO] [stdout]     |
[INFO] [stdout] 505 | enum VideoEvent {
[INFO] [stdout]     |      ---------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 511 |     SrtReady {
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `LineRendered` and `CharacterBatchDone` are never constructed
[INFO] [stdout]    --> src/main.rs:585:5
[INFO] [stdout]     |
[INFO] [stdout] 561 | enum QwenEvent {
[INFO] [stdout]     |      --------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 585 |     LineRendered {
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 597 |     CharacterBatchDone {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `show_export_exclusion_picker` is never read
[INFO] [stdout]    --> src/main.rs:713:5
[INFO] [stdout]     |
[INFO] [stdout] 642 | struct TtsApp {
[INFO] [stdout]     |        ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 713 |     show_export_exclusion_picker: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `preview_video_lines`, `can_export_full_audio`, `start_render_selected_character_lines`, `start_render_selected_character_lines_grouped`, and `start_render_selected_character_lines_with_mode` are never used
[INFO] [stdout]     --> src/main.rs:1349:8
[INFO] [stdout]      |
[INFO] [stdout]  967 | impl TtsApp {
[INFO] [stdout]      | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1349 |     fn preview_video_lines(&self) -> Vec<String> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2155 |     fn can_export_full_audio(&self) -> bool {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2920 |     fn start_render_selected_character_lines(&mut self) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2924 |     fn start_render_selected_character_lines_grouped(&mut self) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3034 |     fn start_render_selected_character_lines_with_mode(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `should_retry_split_gemini_line` is never used
[INFO] [stdout]     --> src/main.rs:7957:4
[INFO] [stdout]      |
[INFO] [stdout] 7957 | fn should_retry_split_gemini_line(text: &str, error_message: &str) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chunk_text_parts` is never used
[INFO] [stdout]     --> src/main.rs:8184:4
[INFO] [stdout]      |
[INFO] [stdout] 8184 | fn chunk_text_parts(parts: &[String], max_chars: usize) -> Vec<String> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `split_book_paragraphs` is never used
[INFO] [stdout]     --> src/main.rs:8780:4
[INFO] [stdout]      |
[INFO] [stdout] 8780 | fn split_book_paragraphs(input: &str) -> Vec<String> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `paragraph_needs_gemini` is never used
[INFO] [stdout]     --> src/main.rs:8790:4
[INFO] [stdout]      |
[INFO] [stdout] 8790 | fn paragraph_needs_gemini(paragraph: &str) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `recover_missing_source_chunks` is never used
[INFO] [stdout]     --> src/main.rs:9309:4
[INFO] [stdout]      |
[INFO] [stdout] 9309 | fn recover_missing_source_chunks(source_text: &str, formatted: &str) -> String {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_best_source_chunk_index` is never used
[INFO] [stdout]     --> src/main.rs:9382:4
[INFO] [stdout]      |
[INFO] [stdout] 9382 | fn find_best_source_chunk_index(block: &str, source_norms: &[String]) -> Option<usize> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shared_prefix_len` is never used
[INFO] [stdout]     --> src/main.rs:9415:4
[INFO] [stdout]      |
[INFO] [stdout] 9415 | fn shared_prefix_len(left: &str, right: &str) -> usize {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GeminiWordTimingPayload` is never constructed
[INFO] [stdout]      --> src/main.rs:10056:8
[INFO] [stdout]       |
[INFO] [stdout] 10056 | struct GeminiWordTimingPayload {
[INFO] [stdout]       |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GeminiWordTimingSegment` is never constructed
[INFO] [stdout]      --> src/main.rs:10061:8
[INFO] [stdout]       |
[INFO] [stdout] 10061 | struct GeminiWordTimingSegment {
[INFO] [stdout]       |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WordItem` is never constructed
[INFO] [stdout]      --> src/main.rs:10098:8
[INFO] [stdout]       |
[INFO] [stdout] 10098 | struct WordItem {
[INFO] [stdout]       |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `collect_word_items` is never used
[INFO] [stdout]      --> src/main.rs:10150:4
[INFO] [stdout]       |
[INFO] [stdout] 10150 | fn collect_word_items(timed_lines: &[TimedBookLine]) -> Vec<WordItem> {
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_word_timing_file` is never used
[INFO] [stdout]      --> src/main.rs:10269:4
[INFO] [stdout]       |
[INFO] [stdout] 10269 | fn load_word_timing_file(path: &Path) -> Result<Vec<TimedWordSegment>> {
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gemini_sentence_batches` is never used
[INFO] [stdout]      --> src/main.rs:10719:4
[INFO] [stdout]       |
[INFO] [stdout] 10719 | fn gemini_sentence_batches(sentence_items: &[SentenceItem]) -> Vec<(usize, usize)> {
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `request_gemini_single_sentence_timing` is never used
[INFO] [stdout]      --> src/main.rs:10841:4
[INFO] [stdout]       |
[INFO] [stdout] 10841 | fn request_gemini_single_sentence_timing(
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `request_gemini_sentence_timing_batch_recursive` is never used
[INFO] [stdout]      --> src/main.rs:10928:4
[INFO] [stdout]       |
[INFO] [stdout] 10928 | fn request_gemini_sentence_timing_batch_recursive(
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_subtitle_lead_to_word_segments` is never used
[INFO] [stdout]      --> src/main.rs:11286:4
[INFO] [stdout]       |
[INFO] [stdout] 11286 | fn apply_subtitle_lead_to_word_segments(segments: &mut [TimedWordSegment], lead_seconds: f64) {
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `analyze_word_timing_with_gemini` is never used
[INFO] [stdout]      --> src/main.rs:11608:4
[INFO] [stdout]       |
[INFO] [stdout] 11608 | fn analyze_word_timing_with_gemini(
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `active_word_index_for_line` is never used
[INFO] [stdout]      --> src/main.rs:12763:4
[INFO] [stdout]       |
[INFO] [stdout] 12763 | fn active_word_index_for_line(
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 26s
[INFO] running `Command { std: "docker" "inspect" "a27a249566b415c7aecc4821951879a4098d2b2c625604588602ca00bdf9ae20", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a27a249566b415c7aecc4821951879a4098d2b2c625604588602ca00bdf9ae20", kill_on_drop: false }`
[INFO] [stdout] a27a249566b415c7aecc4821951879a4098d2b2c625604588602ca00bdf9ae20
