[INFO] cloning repository https://github.com/Acorx/LinguaFlow
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Acorx/LinguaFlow" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAcorx%2FLinguaFlow", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAcorx%2FLinguaFlow'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] d6ae0a97cfe3722050ccc343e992f791525bbf48
[INFO] checking Acorx/LinguaFlow against try#3857be5045fe74bd0f296f6f4c23db10f8857f73 for pr-156807
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAcorx%2FLinguaFlow" "/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/Acorx/LinguaFlow
[INFO] finished tweaking git repo https://github.com/Acorx/LinguaFlow
[INFO] tweaked toml for git repo https://github.com/Acorx/LinguaFlow written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Acorx/LinguaFlow on toolchain 3857be5045fe74bd0f296f6f4c23db10f8857f73
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3857be5045fe74bd0f296f6f4c23db10f8857f73" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Acorx/LinguaFlow 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" "+3857be5045fe74bd0f296f6f4c23db10f8857f73" "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" "+3857be5045fe74bd0f296f6f4c23db10f8857f73" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b20235fc09406a1c10f1833b1f747dda026a3ebd43742dd942d6ac4d9da9ef94
[INFO] running `Command { std: "docker" "start" "-a" "b20235fc09406a1c10f1833b1f747dda026a3ebd43742dd942d6ac4d9da9ef94", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b20235fc09406a1c10f1833b1f747dda026a3ebd43742dd942d6ac4d9da9ef94", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b20235fc09406a1c10f1833b1f747dda026a3ebd43742dd942d6ac4d9da9ef94", kill_on_drop: false }`
[INFO] [stdout] b20235fc09406a1c10f1833b1f747dda026a3ebd43742dd942d6ac4d9da9ef94
[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" "+3857be5045fe74bd0f296f6f4c23db10f8857f73" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3f46dd1488686420fa1c28d7136d38227a5f9f590b23919a3531575c34fb2245
[INFO] running `Command { std: "docker" "start" "-a" "3f46dd1488686420fa1c28d7136d38227a5f9f590b23919a3531575c34fb2245", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.184
[INFO] [stderr]    Compiling cc v1.2.59
[INFO] [stderr]    Compiling winnow v1.0.1
[INFO] [stderr]    Compiling wayland-sys v0.31.11
[INFO] [stderr]    Compiling toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling indexmap v2.13.1
[INFO] [stderr]    Compiling enumflags2_derive v0.7.12
[INFO] [stderr]    Compiling zvariant_utils v2.1.0
[INFO] [stderr]    Compiling wayland-client v0.31.14
[INFO] [stderr]    Compiling wayland-scanner v0.31.10
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]     Checking fastrand v2.4.0
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]    Compiling bytemuck_derive v1.10.2
[INFO] [stderr]    Compiling static_assertions v1.1.0
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]     Checking quick-xml v0.30.0
[INFO] [stderr]    Compiling serde_repr v0.1.20
[INFO] [stderr]     Checking calloop v0.13.0
[INFO] [stderr]     Checking accesskit v0.16.3
[INFO] [stderr]     Checking icu_normalizer v2.2.0
[INFO] [stderr]     Checking futures-lite v2.6.1
[INFO] [stderr]     Checking enumflags2 v0.7.12
[INFO] [stderr]     Checking piper v0.2.5
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking immutable-chunkmap v2.1.2
[INFO] [stderr]     Checking simd-adler32 v0.3.9
[INFO] [stderr]     Checking calloop v0.14.4
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking epaint_default_fonts v0.29.1
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking accesskit_consumer v0.24.3
[INFO] [stderr]    Compiling glutin v0.32.3
[INFO] [stderr]     Checking blocking v1.6.2
[INFO] [stderr]     Checking async-executor v1.14.0
[INFO] [stderr]     Checking async-io v2.6.0
[INFO] [stderr]     Checking async-fs v2.2.0
[INFO] [stderr]    Compiling toml_parser v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling unicase v2.9.0
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking bytemuck v1.25.0
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking xdg-home v1.3.0
[INFO] [stderr]     Checking socket2 v0.6.3
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking mio v1.2.0
[INFO] [stderr]    Compiling wayland-backend v0.3.15
[INFO] [stderr]    Compiling openssl-sys v0.9.112
[INFO] [stderr]     Checking ahash v0.8.12
[INFO] [stderr]     Checking memmap2 v0.9.10
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking tiny-skia-path v0.11.4
[INFO] [stderr]     Checking x11-dl v2.21.0
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking emath v0.29.1
[INFO] [stderr]     Checking x11rb v0.13.2
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking thiserror v2.0.18
[INFO] [stderr]     Checking flate2 v1.1.9
[INFO] [stderr]    Compiling libsqlite3-sys v0.30.1
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]     Checking tokio v1.51.0
[INFO] [stderr]    Compiling openssl v0.10.76
[INFO] [stderr]     Checking tiny-skia v0.11.4
[INFO] [stderr]    Compiling toml_edit v0.25.10+spec-1.1.0
[INFO] [stderr]    Compiling native-tls v0.2.18
[INFO] [stderr]     Checking ecolor v0.29.1
[INFO] [stderr]     Checking fdeflate v0.3.7
[INFO] [stderr]    Compiling glutin-winit v0.5.0
[INFO] [stderr]     Checking alsa-sys v0.3.1
[INFO] [stderr]     Checking epaint v0.29.1
[INFO] [stderr]     Checking png v0.18.1
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking webbrowser v1.2.0
[INFO] [stderr]     Checking wayland-csd-frame v0.3.0
[INFO] [stderr]     Checking moxcms v0.8.1
[INFO] [stderr]    Compiling litrs v1.0.0
[INFO] [stderr]     Checking egui v0.29.1
[INFO] [stderr]    Compiling proc-macro-crate v3.5.0
[INFO] [stderr]     Checking web-time v1.1.0
[INFO] [stderr]     Checking glow v0.14.2
[INFO] [stderr]     Checking option-ext v0.2.0
[INFO] [stderr]     Checking dirs-sys v0.4.1
[INFO] [stderr]     Checking regex v1.12.3
[INFO] [stderr]     Checking anstream v1.0.0
[INFO] [stderr]     Checking hashlink v0.9.1
[INFO] [stderr]     Checking alsa v0.9.1
[INFO] [stderr]     Checking jiff v0.2.23
[INFO] [stderr]    Compiling document-features v0.2.12
[INFO] [stderr]     Checking dirs v5.0.1
[INFO] [stderr]    Compiling zvariant_derive v4.2.0
[INFO] [stderr]    Compiling zbus_macros v4.4.0
[INFO] [stderr]     Checking arboard v3.6.1
[INFO] [stderr]     Checking env_filter v1.0.1
[INFO] [stderr]     Checking wayland-protocols v0.32.12
[INFO] [stderr]     Checking wayland-cursor v0.31.14
[INFO] [stderr]     Checking calloop-wayland-source v0.3.0
[INFO] [stderr]     Checking calloop-wayland-source v0.4.1
[INFO] [stderr]     Checking cpal v0.15.3
[INFO] [stderr]     Checking zvariant v4.2.0
[INFO] [stderr]     Checking glutin_glx_sys v0.6.1
[INFO] [stderr]     Checking egui_glow v0.29.1
[INFO] [stderr]     Checking env_logger v0.11.10
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking image v0.25.10
[INFO] [stderr]     Checking zbus_names v3.0.0
[INFO] [stderr]     Checking h2 v0.4.13
[INFO] [stderr]     Checking tower-http v0.6.8
[INFO] [stderr]     Checking zbus_xml v4.0.0
[INFO] [stderr]     Checking zbus v4.4.0
[INFO] [stderr]     Checking zbus-lockstep v0.4.4
[INFO] [stderr]    Compiling zbus-lockstep-macros v0.4.4
[INFO] [stderr]     Checking wayland-protocols-wlr v0.3.12
[INFO] [stderr]     Checking wayland-protocols-plasma v0.3.12
[INFO] [stderr]     Checking wayland-protocols-misc v0.3.12
[INFO] [stderr]     Checking wayland-protocols-experimental v20250721.0.1
[INFO] [stderr]     Checking hyper v1.9.0
[INFO] [stderr]     Checking smithay-client-toolkit v0.19.2
[INFO] [stderr]     Checking smithay-client-toolkit v0.20.0
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking sctk-adwaita v0.10.1
[INFO] [stderr]     Checking smithay-clipboard v0.7.3
[INFO] [stderr]     Checking winit v0.30.13
[INFO] [stderr]     Checking atspi-common v0.6.0
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]     Checking rusqlite v0.32.1
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]     Checking atspi-proxies v0.6.0
[INFO] [stderr]     Checking accesskit_atspi_common v0.9.3
[INFO] [stderr]     Checking atspi-connection v0.6.0
[INFO] [stderr]     Checking atspi v0.22.0
[INFO] [stderr]     Checking accesskit_unix v0.12.3
[INFO] [stderr]     Checking accesskit_winit v0.22.4
[INFO] [stderr]     Checking egui-winit v0.29.1
[INFO] [stderr]     Checking eframe v0.29.1
[INFO] [stderr]     Checking linguaflow v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::tts::TTSProvider as TTSProviderEnum`
[INFO] [stdout]   --> src/app.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::tts::TTSProvider as TTSProviderEnum;
[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 imports: `debug` and `error`
[INFO] [stdout]   --> src/app.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | use log::{debug, error, info};
[INFO] [stdout]    |           ^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tts::TTSProvider as TTSProviderEnum`
[INFO] [stdout]   --> src/app.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::tts::TTSProvider as TTSProviderEnum;
[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 imports: `debug` and `error`
[INFO] [stdout]   --> src/app.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | use log::{debug, error, info};
[INFO] [stdout]    |           ^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cfg`
[INFO] [stdout]    --> src/audio.rs:202:25
[INFO] [stdout]     |
[INFO] [stdout] 202 |             if let Some(cfg) = configs.into_iter().next() {
[INFO] [stdout]     |                         ^^^ help: if this is intentional, prefix it with an underscore: `_cfg`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cfg`
[INFO] [stdout]    --> src/audio.rs:202:25
[INFO] [stdout]     |
[INFO] [stdout] 202 |             if let Some(cfg) = configs.into_iter().next() {
[INFO] [stdout]     |                         ^^^ help: if this is intentional, prefix it with an underscore: `_cfg`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `vocabulary` and `timestamp` are never read
[INFO] [stdout]   --> src/app.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct ChatMessage {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub vocabulary: Vec<String>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 31 |     /// When the message was sent
[INFO] [stdout] 32 |     pub timestamp: std::time::SystemTime,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ChatMessage` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AudioProvider` is never used
[INFO] [stdout]   --> src/audio.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub enum AudioProvider {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SAMPLE_RATE` is never used
[INFO] [stdout]   --> src/audio.rs:23:11
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub const SAMPLE_RATE: u32 = 16_000;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VAD_THRESHOLD` is never used
[INFO] [stdout]   --> src/audio.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub const VAD_THRESHOLD: f64 = 0.008;
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SILENCE_SAMPLES` is never used
[INFO] [stdout]   --> src/audio.rs:28:11
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub const SILENCE_SAMPLES: usize = 8000;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RecordShared` is never constructed
[INFO] [stdout]   --> src/audio.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | struct RecordShared {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `buffer` is never read
[INFO] [stdout]   --> src/audio.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub struct AudioRecorder {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 41 |     pub is_recording: Arc<AtomicBool>,
[INFO] [stdout] 42 |     pub buffer: Arc<Mutex<Vec<f32>>>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `record_until_silence`, `find_matching_config`, `compute_rms`, `save_wav`, `ensure_cache_dir`, and `linguaflow_dir` are never used
[INFO] [stdout]    --> src/audio.rs:66:12
[INFO] [stdout]     |
[INFO] [stdout]  56 | impl AudioRecorder {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  66 |     pub fn record_until_silence(&self) -> Option<(Vec<f32>, PathBuf)> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 185 |     fn find_matching_config(&self, device: &cpal::Device) -> Option<cpal::StreamConfig> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 215 |     fn compute_rms(samples: &[f32]) -> f64 {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 224 |     fn save_wav(&self, samples: &[f32], sample_rate: u32) -> PathBuf {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 261 |     fn ensure_cache_dir(&self) -> PathBuf {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 269 |     fn linguaflow_dir() -> PathBuf {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `stop` is never used
[INFO] [stdout]    --> src/audio.rs:376:12
[INFO] [stdout]     |
[INFO] [stdout] 294 | impl AudioPlayer {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 376 |     pub fn stop(&self) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_recording` is never used
[INFO] [stdout]    --> src/audio.rs:409:12
[INFO] [stdout]     |
[INFO] [stdout] 396 | impl AudioState {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 409 |     pub fn is_recording(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `with_provider`, `with_system_prompt`, and `switch_to_ollama` are never used
[INFO] [stdout]    --> src/llm.rs:131:12
[INFO] [stdout]     |
[INFO] [stdout]  84 | impl LLMClient {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn with_provider(provider: LLMProvider) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 146 |     pub fn with_system_prompt(provider: LLMProvider, prompt: String) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 392 |     pub fn switch_to_ollama(&mut self, host: String) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `context`, `lang`, and `last_seen` are never read
[INFO] [stdout]   --> src/memory.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct ErrorRecord {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub context: String,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 25 |     pub lang: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 26 |     pub count: i64,
[INFO] [stdout] 27 |     pub last_seen: String,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ErrorRecord` 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 `VocabularyEntry` is never constructed
[INFO] [stdout]   --> src/memory.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct VocabularyEntry {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConversationEntry` is never constructed
[INFO] [stdout]   --> src/memory.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct ConversationEntry {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_error`, `add_vocabulary`, `get_vocabulary`, `mark_known`, and `get_recent_context` are never used
[INFO] [stdout]    --> src/memory.rs:188:12
[INFO] [stdout]     |
[INFO] [stdout]  57 | impl UserMemory {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 188 |     pub fn add_error(&self, error_text: &str, correction: &str, context: &str, lang: &str) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 255 |     pub fn add_vocabulary(&self, word: &str, translation: &str, context: &str, lang: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 289 |     pub fn get_vocabulary(&self, lang: &str, known_only: bool) -> Vec<VocabularyEntry> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 332 |     pub fn mark_known(&self, word: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 366 |     pub fn get_recent_context(&self, limit: usize) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `api_key` is never read
[INFO] [stdout]   --> src/stt.rs:16:14
[INFO] [stdout]    |
[INFO] [stdout] 16 |     OpenAI { api_key: String },
[INFO] [stdout]    |     ------   ^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `STTProvider` 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: field `model_path` is never read
[INFO] [stdout]   --> src/stt.rs:17:18
[INFO] [stdout]    |
[INFO] [stdout] 17 |     WhisperCpp { model_path: String },
[INFO] [stdout]    |     ----------   ^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `STTProvider` 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 `OpenAITranscription` is never constructed
[INFO] [stdout]   --> src/stt.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | struct OpenAITranscription {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `transcribe` is never used
[INFO] [stdout]   --> src/stt.rs:34:14
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub async fn transcribe(wav_path: &str, provider: &STTProvider) -> String {
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `transcribe_openai` is never used
[INFO] [stdout]   --> src/stt.rs:46:10
[INFO] [stdout]    |
[INFO] [stdout] 46 | async fn transcribe_openai(wav_path: &str, api_key: &str) -> String {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `transcribe_whisper_cpp` is never used
[INFO] [stdout]    --> src/stt.rs:117:10
[INFO] [stdout]     |
[INFO] [stdout] 117 | async fn transcribe_whisper_cpp(wav_path: &str, model_path: &str) -> String {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `with_provider` is never used
[INFO] [stdout]   --> src/tts.rs:60:12
[INFO] [stdout]    |
[INFO] [stdout] 34 | impl TTSClient {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub fn with_provider(provider: TTSProvider) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `vocabulary` and `timestamp` are never read
[INFO] [stdout]   --> src/app.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct ChatMessage {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub vocabulary: Vec<String>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 31 |     /// When the message was sent
[INFO] [stdout] 32 |     pub timestamp: std::time::SystemTime,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ChatMessage` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AudioProvider` is never used
[INFO] [stdout]   --> src/audio.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub enum AudioProvider {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SAMPLE_RATE` is never used
[INFO] [stdout]   --> src/audio.rs:23:11
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub const SAMPLE_RATE: u32 = 16_000;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VAD_THRESHOLD` is never used
[INFO] [stdout]   --> src/audio.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub const VAD_THRESHOLD: f64 = 0.008;
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SILENCE_SAMPLES` is never used
[INFO] [stdout]   --> src/audio.rs:28:11
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub const SILENCE_SAMPLES: usize = 8000;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RecordShared` is never constructed
[INFO] [stdout]   --> src/audio.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | struct RecordShared {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `buffer` is never read
[INFO] [stdout]   --> src/audio.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub struct AudioRecorder {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 41 |     pub is_recording: Arc<AtomicBool>,
[INFO] [stdout] 42 |     pub buffer: Arc<Mutex<Vec<f32>>>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `record_until_silence`, `find_matching_config`, `compute_rms`, `save_wav`, `ensure_cache_dir`, and `linguaflow_dir` are never used
[INFO] [stdout]    --> src/audio.rs:66:12
[INFO] [stdout]     |
[INFO] [stdout]  56 | impl AudioRecorder {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  66 |     pub fn record_until_silence(&self) -> Option<(Vec<f32>, PathBuf)> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 185 |     fn find_matching_config(&self, device: &cpal::Device) -> Option<cpal::StreamConfig> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 215 |     fn compute_rms(samples: &[f32]) -> f64 {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 224 |     fn save_wav(&self, samples: &[f32], sample_rate: u32) -> PathBuf {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 261 |     fn ensure_cache_dir(&self) -> PathBuf {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 269 |     fn linguaflow_dir() -> PathBuf {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `stop` is never used
[INFO] [stdout]    --> src/audio.rs:376:12
[INFO] [stdout]     |
[INFO] [stdout] 294 | impl AudioPlayer {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 376 |     pub fn stop(&self) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_recording` is never used
[INFO] [stdout]    --> src/audio.rs:409:12
[INFO] [stdout]     |
[INFO] [stdout] 396 | impl AudioState {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 409 |     pub fn is_recording(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `with_provider`, `with_system_prompt`, and `switch_to_ollama` are never used
[INFO] [stdout]    --> src/llm.rs:131:12
[INFO] [stdout]     |
[INFO] [stdout]  84 | impl LLMClient {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn with_provider(provider: LLMProvider) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 146 |     pub fn with_system_prompt(provider: LLMProvider, prompt: String) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 392 |     pub fn switch_to_ollama(&mut self, host: String) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `context`, `lang`, and `last_seen` are never read
[INFO] [stdout]   --> src/memory.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct ErrorRecord {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub context: String,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 25 |     pub lang: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 26 |     pub count: i64,
[INFO] [stdout] 27 |     pub last_seen: String,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ErrorRecord` 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 `VocabularyEntry` is never constructed
[INFO] [stdout]   --> src/memory.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct VocabularyEntry {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConversationEntry` is never constructed
[INFO] [stdout]   --> src/memory.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct ConversationEntry {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_error`, `add_vocabulary`, `get_vocabulary`, `mark_known`, and `get_recent_context` are never used
[INFO] [stdout]    --> src/memory.rs:188:12
[INFO] [stdout]     |
[INFO] [stdout]  57 | impl UserMemory {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 188 |     pub fn add_error(&self, error_text: &str, correction: &str, context: &str, lang: &str) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 255 |     pub fn add_vocabulary(&self, word: &str, translation: &str, context: &str, lang: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 289 |     pub fn get_vocabulary(&self, lang: &str, known_only: bool) -> Vec<VocabularyEntry> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 332 |     pub fn mark_known(&self, word: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 366 |     pub fn get_recent_context(&self, limit: usize) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `api_key` is never read
[INFO] [stdout]   --> src/stt.rs:16:14
[INFO] [stdout]    |
[INFO] [stdout] 16 |     OpenAI { api_key: String },
[INFO] [stdout]    |     ------   ^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `STTProvider` 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: field `model_path` is never read
[INFO] [stdout]   --> src/stt.rs:17:18
[INFO] [stdout]    |
[INFO] [stdout] 17 |     WhisperCpp { model_path: String },
[INFO] [stdout]    |     ----------   ^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `STTProvider` 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 `OpenAITranscription` is never constructed
[INFO] [stdout]   --> src/stt.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | struct OpenAITranscription {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `transcribe` is never used
[INFO] [stdout]   --> src/stt.rs:34:14
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub async fn transcribe(wav_path: &str, provider: &STTProvider) -> String {
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `transcribe_openai` is never used
[INFO] [stdout]   --> src/stt.rs:46:10
[INFO] [stdout]    |
[INFO] [stdout] 46 | async fn transcribe_openai(wav_path: &str, api_key: &str) -> String {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `transcribe_whisper_cpp` is never used
[INFO] [stdout]    --> src/stt.rs:117:10
[INFO] [stdout]     |
[INFO] [stdout] 117 | async fn transcribe_whisper_cpp(wav_path: &str, model_path: &str) -> String {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `with_provider` is never used
[INFO] [stdout]   --> src/tts.rs:60:12
[INFO] [stdout]    |
[INFO] [stdout] 34 | impl TTSClient {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub fn with_provider(provider: TTSProvider) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 53.42s
[INFO] running `Command { std: "docker" "inspect" "3f46dd1488686420fa1c28d7136d38227a5f9f590b23919a3531575c34fb2245", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3f46dd1488686420fa1c28d7136d38227a5f9f590b23919a3531575c34fb2245", kill_on_drop: false }`
[INFO] [stdout] 3f46dd1488686420fa1c28d7136d38227a5f9f590b23919a3531575c34fb2245
