[INFO] cloning repository https://github.com/OdyNobody/verse-vault [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/OdyNobody/verse-vault" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FOdyNobody%2Fverse-vault", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FOdyNobody%2Fverse-vault'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] b0fe59e531b1edb45da2a63155de572489949b64 [INFO] checking OdyNobody/verse-vault against try#53f0b05ecbcf011a1f77f1c627304e87ebd05801 for pr-154492 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FOdyNobody%2Fverse-vault" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/OdyNobody/verse-vault [INFO] finished tweaking git repo https://github.com/OdyNobody/verse-vault [INFO] tweaked toml for git repo https://github.com/OdyNobody/verse-vault written to /workspace/builds/worker-4-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/OdyNobody/verse-vault on toolchain 53f0b05ecbcf011a1f77f1c627304e87ebd05801 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+53f0b05ecbcf011a1f77f1c627304e87ebd05801" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/OdyNobody/verse-vault 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" "+53f0b05ecbcf011a1f77f1c627304e87ebd05801" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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" "+53f0b05ecbcf011a1f77f1c627304e87ebd05801" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] c4b4d48052da3b10462fc550121de31807f3f21f25236b8d2ff74e01bc3a726d [INFO] running `Command { std: "docker" "start" "-a" "c4b4d48052da3b10462fc550121de31807f3f21f25236b8d2ff74e01bc3a726d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c4b4d48052da3b10462fc550121de31807f3f21f25236b8d2ff74e01bc3a726d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c4b4d48052da3b10462fc550121de31807f3f21f25236b8d2ff74e01bc3a726d", kill_on_drop: false }` [INFO] [stdout] c4b4d48052da3b10462fc550121de31807f3f21f25236b8d2ff74e01bc3a726d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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" "+53f0b05ecbcf011a1f77f1c627304e87ebd05801" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 1fa27c2b4887f7aea13f9893ef2dae570da972c0fd6c7d22756e8a29242bce59 [INFO] running `Command { std: "docker" "start" "-a" "1fa27c2b4887f7aea13f9893ef2dae570da972c0fd6c7d22756e8a29242bce59", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Checking log v0.4.29 [INFO] [stderr] Compiling libc v0.2.183 [INFO] [stderr] Checking once_cell v1.21.4 [INFO] [stderr] Checking pin-project-lite v0.2.17 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Checking linux-raw-sys v0.12.1 [INFO] [stderr] Checking slab v0.4.12 [INFO] [stderr] Compiling quote v1.0.45 [INFO] [stderr] Checking dlib v0.5.3 [INFO] [stderr] Compiling wayland-sys v0.31.10 [INFO] [stderr] Checking num-traits v0.2.19 [INFO] [stderr] Compiling wayland-backend v0.3.14 [INFO] [stderr] Compiling memchr v2.8.0 [INFO] [stderr] Compiling wayland-client v0.31.13 [INFO] [stderr] Checking core_maths v0.1.1 [INFO] [stderr] Compiling zerocopy v0.8.47 [INFO] [stderr] Checking futures-sink v0.3.32 [INFO] [stderr] Checking ttf-parser v0.25.1 [INFO] [stderr] Checking futures-task v0.3.32 [INFO] [stderr] Compiling winnow v1.0.0 [INFO] [stderr] Checking futures-channel v0.3.32 [INFO] [stderr] Checking bytes v1.11.1 [INFO] [stderr] Compiling toml_datetime v1.1.0+spec-1.1.0 [INFO] [stderr] Checking tinyvec v1.11.0 [INFO] [stderr] Compiling winnow v0.7.15 [INFO] [stderr] Checking tracing-core v0.1.36 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Checking event-listener v5.4.1 [INFO] [stderr] Checking encoding_rs v0.8.35 [INFO] [stderr] Checking spirv v0.3.0+sdk-1.3.268.0 [INFO] [stderr] Checking gpu-alloc-types v0.3.0 [INFO] [stderr] Checking gpu-descriptor-types v0.2.0 [INFO] [stderr] Checking unicode-segmentation v1.13.1 [INFO] [stderr] Checking x11rb-protocol v0.13.2 [INFO] [stderr] Checking gpu-alloc v0.6.0 [INFO] [stderr] Checking gpu-descriptor v0.3.2 [INFO] [stderr] Compiling quick-xml v0.39.2 [INFO] [stderr] Checking event-listener-strategy v0.5.4 [INFO] [stderr] Checking futures-lite v2.6.1 [INFO] [stderr] Checking ordered-float v5.1.0 [INFO] [stderr] Checking rustix v0.38.44 [INFO] [stderr] Checking euclid v0.22.14 [INFO] [stderr] Checking async-channel v2.5.0 [INFO] [stderr] Checking ctor-lite v0.1.2 [INFO] [stderr] Checking piper v0.2.5 [INFO] [stderr] Checking async-lock v3.4.2 [INFO] [stderr] Compiling alsa-sys v0.4.0 [INFO] [stderr] Compiling mundy v0.2.2 [INFO] [stderr] Checking blocking v1.6.2 [INFO] [stderr] Checking async-executor v1.14.0 [INFO] [stderr] Checking async-broadcast v0.7.2 [INFO] [stderr] Checking etagere v0.2.15 [INFO] [stderr] Checking guillotiere v0.6.2 [INFO] [stderr] Checking ordered-stream v0.2.0 [INFO] [stderr] Compiling winit v0.30.13 [INFO] [stderr] Checking kurbo v0.10.4 [INFO] [stderr] Checking memmap2 v0.9.10 [INFO] [stderr] Checking parking_lot_core v0.9.12 [INFO] [stderr] Checking errno v0.3.14 [INFO] [stderr] Compiling toml_parser v1.1.0+spec-1.1.0 [INFO] [stderr] Checking socket2 v0.6.3 [INFO] [stderr] Checking signal-hook-registry v1.4.8 [INFO] [stderr] Checking mio v1.1.1 [INFO] [stderr] Checking getrandom v0.4.2 [INFO] [stderr] Checking khronos-egl v6.0.0 [INFO] [stderr] Compiling wayland-scanner v0.31.9 [INFO] [stderr] Checking parking_lot v0.12.5 [INFO] [stderr] Checking getrandom v0.3.4 [INFO] [stderr] Checking uuid v1.22.0 [INFO] [stderr] Checking x11-dl v2.21.0 [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Checking xkbcommon-dl v0.4.2 [INFO] [stderr] Compiling zmij v1.0.21 [INFO] [stderr] Compiling cpal v0.17.3 [INFO] [stderr] Compiling toml_edit v0.25.8+spec-1.1.0 [INFO] [stderr] Checking regex-syntax v0.8.10 [INFO] [stderr] Checking extended v0.1.0 [INFO] [stderr] Checking num-bigint v0.4.6 [INFO] [stderr] Checking fontdb v0.23.0 [INFO] [stderr] Checking owned_ttf_parser v0.25.1 [INFO] [stderr] Checking rand v0.10.0 [INFO] [stderr] Checking ab_glyph v0.2.32 [INFO] [stderr] Compiling anyhow v1.0.102 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Checking alsa v0.11.0 [INFO] [stderr] Checking option-ext v0.2.0 [INFO] [stderr] Checking dirs-sys v0.5.0 [INFO] [stderr] Checking tracing-log v0.2.0 [INFO] [stderr] Checking thread_local v1.1.9 [INFO] [stderr] Checking iana-time-zone v0.1.65 [INFO] [stderr] Checking itoa v1.0.18 [INFO] [stderr] Checking rtrb v0.3.3 [INFO] [stderr] Checking nu-ansi-term v0.50.3 [INFO] [stderr] Compiling proc-macro-crate v3.5.0 [INFO] [stderr] Checking num-rational v0.4.2 [INFO] [stderr] Checking rand_distr v0.6.0 [INFO] [stderr] Checking directories v6.0.0 [INFO] [stderr] Checking regex-automata v0.4.14 [INFO] [stderr] Checking matchers v0.2.0 [INFO] [stderr] Compiling bytemuck_derive v1.10.2 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling zerocopy-derive v0.8.47 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling futures-macro v0.3.32 [INFO] [stderr] Compiling tokio-macros v2.6.1 [INFO] [stderr] Compiling enumflags2_derive v0.7.12 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling serde_repr v0.1.20 [INFO] [stderr] Compiling async-recursion v1.1.1 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Checking tokio v1.50.0 [INFO] [stderr] Checking polling v3.11.0 [INFO] [stderr] Checking gethostname v1.1.0 [INFO] [stderr] Checking tempfile v3.27.0 [INFO] [stderr] Checking thiserror v2.0.18 [INFO] [stderr] Checking bytemuck v1.25.0 [INFO] [stderr] Checking iced_core v0.14.0 [INFO] [stderr] Checking futures-util v0.3.32 [INFO] [stderr] Checking font-types v0.10.1 [INFO] [stderr] Checking symphonia-core v0.5.5 [INFO] [stderr] Checking wgpu-types v27.0.1 [INFO] [stderr] Checking tiny-skia-path v0.11.4 [INFO] [stderr] Checking async-io v2.6.0 [INFO] [stderr] Checking thiserror v1.0.69 [INFO] [stderr] Checking tracing v0.1.44 [INFO] [stderr] Checking calloop v0.13.0 [INFO] [stderr] Checking calloop v0.14.4 [INFO] [stderr] Checking tiny-xlib v0.2.4 [INFO] [stderr] Checking tracing-subscriber v0.3.23 [INFO] [stderr] Checking read-fonts v0.35.0 [INFO] [stderr] Checking async-signal v0.2.13 [INFO] [stderr] Checking tiny-skia v0.11.4 [INFO] [stderr] Checking symphonia-metadata v0.5.5 [INFO] [stderr] Checking symphonia-codec-pcm v0.5.5 [INFO] [stderr] Checking async-process v2.5.0 [INFO] [stderr] Checking symphonia-codec-aac v0.5.5 [INFO] [stderr] Checking symphonia-utils-xiph v0.5.5 [INFO] [stderr] Checking symphonia-format-riff v0.5.5 [INFO] [stderr] Checking symphonia-bundle-mp3 v0.5.5 [INFO] [stderr] Checking symphonia-codec-vorbis v0.5.5 [INFO] [stderr] Checking wayland-csd-frame v0.3.0 [INFO] [stderr] Checking symphonia-bundle-flac v0.5.5 [INFO] [stderr] Checking symphonia-format-ogg v0.5.5 [INFO] [stderr] Checking symphonia-format-isomp4 v0.5.5 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Checking symphonia v0.5.5 [INFO] [stderr] Checking enumflags2 v0.7.12 [INFO] [stderr] Checking zvariant_utils v3.3.0 [INFO] [stderr] Checking chrono v0.4.44 [INFO] [stderr] Checking rodio v0.22.2 [INFO] [stderr] Checking futures-executor v0.3.32 [INFO] [stderr] Checking futures v0.3.32 [INFO] [stderr] Compiling zvariant_derive v5.10.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 calloop-wayland-source v0.3.0 [INFO] [stderr] Compiling zvariant v5.10.0 [INFO] [stderr] Checking half v2.7.1 [INFO] [stderr] Checking ahash v0.8.12 [INFO] [stderr] Checking iced_futures v0.14.0 [INFO] [stderr] Checking naga v27.0.3 [INFO] [stderr] Checking iced_debug v0.14.0 [INFO] [stderr] Checking iced_runtime v0.14.0 [INFO] [stderr] Checking x11rb v0.13.2 [INFO] [stderr] Checking skrifa v0.37.0 [INFO] [stderr] Checking harfrust v0.3.2 [INFO] [stderr] Checking zbus_names v4.3.1 [INFO] [stderr] Checking softbuffer v0.4.8 [INFO] [stderr] Checking clipboard_x11 v0.4.3 [INFO] [stderr] Compiling zbus_macros v5.14.0 [INFO] [stderr] Checking wayland-protocols-wlr v0.3.11 [INFO] [stderr] Checking wayland-protocols-misc v0.3.11 [INFO] [stderr] Checking wayland-protocols-experimental v20250721.0.1 [INFO] [stderr] Checking wayland-protocols-plasma v0.3.11 [INFO] [stderr] Checking swash v0.2.6 [INFO] [stderr] Checking smithay-client-toolkit v0.20.0 [INFO] [stderr] Checking smithay-client-toolkit v0.19.2 [INFO] [stderr] Checking zbus v5.14.0 [INFO] [stderr] Checking smithay-clipboard v0.7.3 [INFO] [stderr] Checking sctk-adwaita v0.10.1 [INFO] [stderr] Checking clipboard_wayland v0.2.2 [INFO] [stderr] Checking window_clipboard v0.5.1 [INFO] [stderr] Checking cosmic-text v0.15.0 [INFO] [stderr] Checking iced_graphics v0.14.0 [INFO] [stderr] Checking iced_tiny_skia v0.14.0 [INFO] [stderr] Checking iced_program v0.14.0 [INFO] [stderr] Checking wgpu-hal v27.0.4 [INFO] [stderr] Checking iced_winit v0.14.0 [INFO] [stderr] Checking wgpu-core-deps-windows-linux-android v27.0.0 [INFO] [stderr] Checking wgpu-core v27.0.3 [INFO] [stderr] Checking wgpu v27.0.1 [INFO] [stderr] Checking cryoglyph v0.1.0 [INFO] [stderr] Checking iced_wgpu v0.14.0 [INFO] [stderr] Checking iced_renderer v0.14.0 [INFO] [stderr] Checking iced_widget v0.14.2 [INFO] [stderr] Checking iced v0.14.0 [INFO] [stderr] Checking verse-vault v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/models.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 25 | impl Verse { [INFO] [stdout] | ---------- associated function in this implementation [INFO] [stdout] 26 | pub fn new(reference: String, text: String) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `as_str` is never used [INFO] [stdout] --> src/models.rs:74:12 [INFO] [stdout] | [INFO] [stdout] 73 | impl MemorizationMode { [INFO] [stdout] | --------------------- method in this implementation [INFO] [stdout] 74 | pub fn as_str(&self) -> &'static str { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `engine` and `cache_path` are never read [INFO] [stdout] --> src/models.rs:134:9 [INFO] [stdout] | [INFO] [stdout] 133 | pub struct TtsConfig { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 134 | pub engine: TtsEngine, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 138 | pub cache_path: Option, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TtsConfig` 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: variants `Kokoro` and `System` are never constructed [INFO] [stdout] --> src/models.rs:156:5 [INFO] [stdout] | [INFO] [stdout] 155 | pub enum TtsEngine { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 156 | Kokoro, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 157 | EdgeTts, [INFO] [stdout] 158 | System, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TtsEngine` 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 `UiConfig` is never constructed [INFO] [stdout] --> src/models.rs:163:12 [INFO] [stdout] | [INFO] [stdout] 163 | pub struct UiConfig { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_words` is never used [INFO] [stdout] --> src/models.rs:196:8 [INFO] [stdout] | [INFO] [stdout] 196 | pub fn parse_words(text: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `base_path`, `collections_cache`, and `progress_cache` are never read [INFO] [stdout] --> src/storage.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 23 | pub struct StorageManager { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 24 | base_path: PathBuf, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 25 | library_path: PathBuf, [INFO] [stdout] 26 | collections_cache: Mutex>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 27 | progress_cache: Mutex>, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/storage.rs:49:12 [INFO] [stdout] | [INFO] [stdout] 30 | impl StorageManager { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn library_path(&self) -> &Path { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 78 | pub fn verse_exists(&self, reference: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 84 | pub fn save_verse(&self, verse: &Verse) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 118 | pub fn delete_verse(&self, reference: &str) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 198 | fn collections_path(&self) -> PathBuf { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 203 | pub fn load_collections(&self) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 218 | pub fn save_collections(&self, collections: &[Collection]) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 230 | fn progress_path(&self) -> PathBuf { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 235 | pub fn load_progress(&self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 252 | pub fn save_progress(&self, progress: &Progress) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `VOICES` is never used [INFO] [stdout] --> src/tts.rs:15:11 [INFO] [stdout] | [INFO] [stdout] 15 | pub const VOICES: &[(&str, &str)] = &[ [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/tts.rs:36:18 [INFO] [stdout] | [INFO] [stdout] 29 | impl TtsManager { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 36 | pub async fn list_voices() -> Result> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub async fn generate_audio(&self, text: &str) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | async fn generate_edge_tts(&self, text: &str) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 141 | async fn generate_kokoro(&self, _text: &str) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 147 | async fn generate_system_tts(&self, _text: &str) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 154 | pub fn estimate_timestamps(&self, text: &str, audio_duration_ms: u64) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 190 | pub async fn process_verse(&self, text: &str, cache_path: Option) -> Result<(Vec, AudioMetadata)> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 227 | fn text_to_cache_key(text: &str, voice: &Option, speed: &f32) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 236 | async fn load_from_cache(&self, cache_path: &PathBuf, cache_key: &str) -> Result, AudioMetadata)>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 253 | async fn save_to_cache( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `duration_ms` and `current_position_ms` are never used [INFO] [stdout] --> src/audio.rs:202:12 [INFO] [stdout] | [INFO] [stdout] 27 | impl AudioPlayer { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 202 | pub fn duration_ms(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 243 | pub fn current_position_ms(&self) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `current_word_index`, `is_playing`, `is_paused`, and `timestamps` are never read [INFO] [stdout] --> src/audio.rs:255:5 [INFO] [stdout] | [INFO] [stdout] 254 | pub struct AudioHandle { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 255 | current_word_index: Arc>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 256 | is_playing: Arc, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 257 | is_paused: Arc, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 258 | timestamps: Vec, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/audio.rs:263:12 [INFO] [stdout] | [INFO] [stdout] 261 | impl AudioHandle { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] 262 | /// Get the current word index [INFO] [stdout] 263 | pub fn current_word_index(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 268 | pub fn is_playing(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 273 | pub fn is_paused(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 278 | pub fn word_at_time(&self, time_ms: u64) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 287 | pub fn current_word(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 293 | pub fn word_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 298 | pub fn update_word_index(&self, new_index: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 304 | pub fn timestamps(&self) -> &[WordTimestamp] { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate_progress` is never used [INFO] [stdout] --> src/audio.rs:310:8 [INFO] [stdout] | [INFO] [stdout] 310 | pub fn calculate_progress(current_ms: u64, duration_ms: u64) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `format_duration` is never used [INFO] [stdout] --> src/audio.rs:318:8 [INFO] [stdout] | [INFO] [stdout] 318 | pub fn format_duration(ms: u64) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `LoadVerse` is never constructed [INFO] [stdout] --> src/ui.rs:71:5 [INFO] [stdout] | [INFO] [stdout] 63 | pub enum Message { [INFO] [stdout] | ------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 71 | LoadVerse(String), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Message` 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 `as_str` is never used [INFO] [stdout] --> src/models.rs:74:12 [INFO] [stdout] | [INFO] [stdout] 73 | impl MemorizationMode { [INFO] [stdout] | --------------------- method in this implementation [INFO] [stdout] 74 | pub fn as_str(&self) -> &'static str { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `engine` and `cache_path` are never read [INFO] [stdout] --> src/models.rs:134:9 [INFO] [stdout] | [INFO] [stdout] 133 | pub struct TtsConfig { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 134 | pub engine: TtsEngine, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 138 | pub cache_path: Option, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TtsConfig` 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: variants `Kokoro` and `System` are never constructed [INFO] [stdout] --> src/models.rs:156:5 [INFO] [stdout] | [INFO] [stdout] 155 | pub enum TtsEngine { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 156 | Kokoro, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 157 | EdgeTts, [INFO] [stdout] 158 | System, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TtsEngine` 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 `UiConfig` is never constructed [INFO] [stdout] --> src/models.rs:163:12 [INFO] [stdout] | [INFO] [stdout] 163 | pub struct UiConfig { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `base_path`, `collections_cache`, and `progress_cache` are never read [INFO] [stdout] --> src/storage.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 23 | pub struct StorageManager { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 24 | base_path: PathBuf, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 25 | library_path: PathBuf, [INFO] [stdout] 26 | collections_cache: Mutex>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 27 | progress_cache: Mutex>, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/storage.rs:49:12 [INFO] [stdout] | [INFO] [stdout] 30 | impl StorageManager { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn library_path(&self) -> &Path { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 118 | pub fn delete_verse(&self, reference: &str) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 198 | fn collections_path(&self) -> PathBuf { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 203 | pub fn load_collections(&self) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 218 | pub fn save_collections(&self, collections: &[Collection]) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 230 | fn progress_path(&self) -> PathBuf { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 235 | pub fn load_progress(&self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 252 | pub fn save_progress(&self, progress: &Progress) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `VOICES` is never used [INFO] [stdout] --> src/tts.rs:15:11 [INFO] [stdout] | [INFO] [stdout] 15 | pub const VOICES: &[(&str, &str)] = &[ [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/tts.rs:36:18 [INFO] [stdout] | [INFO] [stdout] 29 | impl TtsManager { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 36 | pub async fn list_voices() -> Result> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub async fn generate_audio(&self, text: &str) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | async fn generate_edge_tts(&self, text: &str) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 141 | async fn generate_kokoro(&self, _text: &str) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 147 | async fn generate_system_tts(&self, _text: &str) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 190 | pub async fn process_verse(&self, text: &str, cache_path: Option) -> Result<(Vec, AudioMetadata)> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 227 | fn text_to_cache_key(text: &str, voice: &Option, speed: &f32) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 236 | async fn load_from_cache(&self, cache_path: &PathBuf, cache_key: &str) -> Result, AudioMetadata)>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 253 | async fn save_to_cache( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `duration_ms` and `current_position_ms` are never used [INFO] [stdout] --> src/audio.rs:202:12 [INFO] [stdout] | [INFO] [stdout] 27 | impl AudioPlayer { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 202 | pub fn duration_ms(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 243 | pub fn current_position_ms(&self) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `current_word_index`, `is_playing`, and `is_paused` are never read [INFO] [stdout] --> src/audio.rs:255:5 [INFO] [stdout] | [INFO] [stdout] 254 | pub struct AudioHandle { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 255 | current_word_index: Arc>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 256 | is_playing: Arc, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 257 | is_paused: Arc, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/audio.rs:263:12 [INFO] [stdout] | [INFO] [stdout] 261 | impl AudioHandle { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] 262 | /// Get the current word index [INFO] [stdout] 263 | pub fn current_word_index(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 268 | pub fn is_playing(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 273 | pub fn is_paused(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 287 | pub fn current_word(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 293 | pub fn word_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 298 | pub fn update_word_index(&self, new_index: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 304 | pub fn timestamps(&self) -> &[WordTimestamp] { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `LoadVerse` is never constructed [INFO] [stdout] --> src/ui.rs:71:5 [INFO] [stdout] | [INFO] [stdout] 63 | pub enum Message { [INFO] [stdout] | ------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 71 | LoadVerse(String), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Message` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 36s [INFO] running `Command { std: "docker" "inspect" "1fa27c2b4887f7aea13f9893ef2dae570da972c0fd6c7d22756e8a29242bce59", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1fa27c2b4887f7aea13f9893ef2dae570da972c0fd6c7d22756e8a29242bce59", kill_on_drop: false }` [INFO] [stdout] 1fa27c2b4887f7aea13f9893ef2dae570da972c0fd6c7d22756e8a29242bce59