[INFO] cloning repository https://github.com/aaronsb/playtui
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/aaronsb/playtui" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faaronsb%2Fplaytui", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faaronsb%2Fplaytui'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 1a01342f125b5d20067cd3866d3e98ad9f8f8e7f
[INFO] testing aaronsb/playtui against nightly-2025-01-18+rustflags=-Zrandomize-layout for randomize-layout-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faaronsb%2Fplaytui" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/aaronsb/playtui on toolchain nightly-2025-01-18
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly-2025-01-18" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/aaronsb/playtui
[INFO] finished tweaking git repo https://github.com/aaronsb/playtui
[INFO] tweaked toml for git repo https://github.com/aaronsb/playtui written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/aaronsb/playtui 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" "+nightly-2025-01-18" "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:819108c5571ea2e421544af4d832f968d213c87fbe3707a016657f43d2f853bc" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2025-01-18" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 94ff16e6710a48658c45be6c291baefb8a15abd31bec1169e2d6c08402eaecb1
[INFO] running `Command { std: "docker" "start" "-a" "94ff16e6710a48658c45be6c291baefb8a15abd31bec1169e2d6c08402eaecb1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "94ff16e6710a48658c45be6c291baefb8a15abd31bec1169e2d6c08402eaecb1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "94ff16e6710a48658c45be6c291baefb8a15abd31bec1169e2d6c08402eaecb1", kill_on_drop: false }`
[INFO] [stdout] 94ff16e6710a48658c45be6c291baefb8a15abd31bec1169e2d6c08402eaecb1
[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 -Zrandomize-layout" "-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:819108c5571ea2e421544af4d832f968d213c87fbe3707a016657f43d2f853bc" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2025-01-18" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f65f246ad2fb7f9f0cf158c5cd48dc71ca5f5ea0c341160ee46e39564e0fc1f1
[INFO] running `Command { std: "docker" "start" "-a" "f65f246ad2fb7f9f0cf158c5cd48dc71ca5f5ea0c341160ee46e39564e0fc1f1", kill_on_drop: false }`
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling bytemuck v1.20.0
[INFO] [stderr]    Compiling libc v0.2.165
[INFO] [stderr]    Compiling arrayvec v0.7.6
[INFO] [stderr]    Compiling proc-macro2 v1.0.92
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling unicode-ident v1.0.14
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling signal-hook v0.3.17
[INFO] [stderr]    Compiling rustversion v1.0.18
[INFO] [stderr]    Compiling smallvec v1.13.2
[INFO] [stderr]    Compiling equivalent v1.0.1
[INFO] [stderr]    Compiling foldhash v0.1.3
[INFO] [stderr]    Compiling bitflags v2.6.0
[INFO] [stderr]    Compiling paste v1.0.15
[INFO] [stderr]    Compiling adler2 v2.0.0
[INFO] [stderr]    Compiling allocator-api2 v0.2.20
[INFO] [stderr]    Compiling serde v1.0.215
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]    Compiling crc32fast v1.4.2
[INFO] [stderr]    Compiling miniz_oxide v0.8.0
[INFO] [stderr]    Compiling extended v0.1.0
[INFO] [stderr]    Compiling option-ext v0.2.0
[INFO] [stderr]    Compiling tinyvec_macros v0.1.1
[INFO] [stderr]    Compiling either v1.13.0
[INFO] [stderr]    Compiling anyhow v1.0.93
[INFO] [stderr]    Compiling serde_json v1.0.133
[INFO] [stderr]    Compiling tinyvec v1.8.0
[INFO] [stderr]    Compiling ogg v0.8.0
[INFO] [stderr]    Compiling symphonia-core v0.5.4
[INFO] [stderr]    Compiling hex v0.4.3
[INFO] [stderr]    Compiling unicode-segmentation v1.12.0
[INFO] [stderr]    Compiling cassowary v0.3.0
[INFO] [stderr]    Compiling itertools v0.11.0
[INFO] [stderr]    Compiling unicode-width v0.1.14
[INFO] [stderr]    Compiling hashbrown v0.15.2
[INFO] [stderr]    Compiling itoa v1.0.14
[INFO] [stderr]    Compiling ryu v1.0.18
[INFO] [stderr]    Compiling lru v0.12.5
[INFO] [stderr]    Compiling indoc v2.0.5
[INFO] [stderr]    Compiling memchr v2.7.4
[INFO] [stderr]    Compiling quote v1.0.37
[INFO] [stderr]    Compiling syn v2.0.89
[INFO] [stderr]    Compiling lewton v0.10.2
[INFO] [stderr]    Compiling flate2 v1.0.35
[INFO] [stderr]    Compiling metaflac v0.2.7
[INFO] [stderr]    Compiling id3 v1.15.0
[INFO] [stderr]    Compiling signal-hook-registry v1.4.2
[INFO] [stderr]    Compiling mio v0.8.11
[INFO] [stderr]    Compiling dirs-sys v0.4.1
[INFO] [stderr]    Compiling symphonia-metadata v0.5.4
[INFO] [stderr]    Compiling symphonia-codec-adpcm v0.5.4
[INFO] [stderr]    Compiling symphonia-codec-pcm v0.5.4
[INFO] [stderr]    Compiling parking_lot v0.12.3
[INFO] [stderr]    Compiling directories v5.0.1
[INFO] [stderr]    Compiling symphonia-utils-xiph v0.5.4
[INFO] [stderr]    Compiling symphonia-bundle-mp3 v0.5.4
[INFO] [stderr]    Compiling symphonia-format-riff v0.5.4
[INFO] [stderr]    Compiling symphonia-bundle-flac v0.5.4
[INFO] [stderr]    Compiling symphonia-format-mkv v0.5.4
[INFO] [stderr]    Compiling symphonia-codec-vorbis v0.5.4
[INFO] [stderr]    Compiling symphonia-format-ogg v0.5.4
[INFO] [stderr]    Compiling signal-hook-mio v0.2.4
[INFO] [stderr]    Compiling crossterm v0.27.0
[INFO] [stderr]    Compiling symphonia v0.5.4
[INFO] [stderr]    Compiling serde_derive v1.0.215
[INFO] [stderr]    Compiling strum_macros v0.25.3
[INFO] [stderr]    Compiling strum v0.25.0
[INFO] [stderr]    Compiling ratatui v0.24.0
[INFO] [stderr]    Compiling playtui v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Component`
[INFO] [stdout]  --> src/app/state.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     Component, LibraryBrowser, TrackList, TrackDetails,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EventResult` and `Event`
[INFO] [stdout]   --> src/app/mod.rs:13:21
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::events::{Event, Action, EventResult};
[INFO] [stdout]    |                     ^^^^^          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EventHandler`
[INFO] [stdout]  --> src/components/library_browser/events.rs:1:63
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::events::{Event, Action, KeyEvent, NavigationEvent, EventHandler, EventResult, MouseEvent};
[INFO] [stdout]   |                                                               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `select_next` and `select_previous`
[INFO] [stdout]   --> src/components/playlist/mod.rs:53:27
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub(self) use selection::{select_next, select_previous};
[INFO] [stdout]    |                           ^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]  --> src/preferences/manager/save_handler.rs:3:18
[INFO] [stdout]   |
[INFO] [stdout] 3 | use log::{error, warn, debug};
[INFO] [stdout]   |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Action`
[INFO] [stdout]   --> src/state/mod.rs:12:21
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::events::{Action, TrackMetadata};
[INFO] [stdout]    |                     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::components::Component`
[INFO] [stdout]  --> src/components/controls/events/handlers.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::components::Component;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buffer`
[INFO] [stdout]   --> src/audio/formats/audio_reader.rs:23:28
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn read(&mut self, buffer: &mut [f32]) -> Result<usize, Box<dyn Error>> {
[INFO] [stdout]    |                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_buffer`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]   --> src/audio/formats/flac.rs:14:32
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn read_flac_header(&self, path: &Path) -> Result<AudioFormat, Box<dyn Error>> {
[INFO] [stdout]    |                                ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]   --> src/audio/formats/mp3.rs:14:31
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn read_mp3_header(&self, path: &Path) -> Result<AudioFormat, Box<dyn Error>> {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `header`
[INFO] [stdout]   --> src/audio/formats/mp3.rs:30:34
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn parse_frame_header(&self, header: u32) -> Option<(u32, u16)> {
[INFO] [stdout]    |                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]   --> src/audio/formats/ogg.rs:14:31
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn read_ogg_header(&self, path: &Path) -> Result<AudioFormat, Box<dyn Error>> {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `header`
[INFO] [stdout]   --> src/audio/formats/ogg.rs:30:33
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn validate_ogg_page(&self, header: &[u8]) -> bool {
[INFO] [stdout]    |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `header`
[INFO] [stdout]   --> src/audio/formats/ogg.rs:39:35
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn parse_vorbis_header(&self, header: &[u8]) -> Option<(u32, u16)> {
[INFO] [stdout]    |                                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]   --> src/audio/formats/wav.rs:14:31
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn read_wav_header(&self, path: &Path) -> Result<AudioFormat, Box<dyn Error>> {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `header`
[INFO] [stdout]   --> src/audio/formats/wav.rs:30:36
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn validate_riff_header(&self, header: &[u8]) -> bool {
[INFO] [stdout]    |                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chunk`
[INFO] [stdout]   --> src/audio/formats/wav.rs:39:31
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn parse_fmt_chunk(&self, chunk: &[u8]) -> Option<(u16, u32, u16)> {
[INFO] [stdout]    |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_chunk`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_data`
[INFO] [stdout]   --> src/audio/formats/wav.rs:49:31
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn find_data_chunk(&self, file_data: &[u8]) -> Option<(usize, usize)> {
[INFO] [stdout]    |                               ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `event`
[INFO] [stdout]    --> src/components/now_playing.rs:118:32
[INFO] [stdout]     |
[INFO] [stdout] 118 |     fn handle_event(&mut self, event: Event) -> Option<Action> {
[INFO] [stdout]     |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_event`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `App` is never constructed
[INFO] [stdout]   --> src/app/state.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct App {
[INFO] [stdout]    |            ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `update_component_area` is never used
[INFO] [stdout]   --> src/app/state.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl App {
[INFO] [stdout]    | -------- method in this implementation
[INFO] [stdout] 37 |     /// Updates the area for a component during rendering
[INFO] [stdout] 38 |     pub fn update_component_area(&mut self, component_name: &str, area: Rect) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `update_position` is never used
[INFO] [stdout]   --> src/audio/player.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl PlaybackEngine {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 25 |     fn update_position(&mut self) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `buffer` is never read
[INFO] [stdout]  --> src/audio/formats/audio_reader.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct AudioReader {
[INFO] [stdout]   |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 8 |     buffer: Vec<f32>, // Normalized float samples
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `parse_frame_header` is never used
[INFO] [stdout]   --> src/audio/formats/mp3.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 9  | impl Mp3Decoder {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 30 |     fn parse_frame_header(&self, header: u32) -> Option<(u32, u16)> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `validate_ogg_page` and `parse_vorbis_header` are never used
[INFO] [stdout]   --> src/audio/formats/ogg.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 9  | impl OggDecoder {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 30 |     fn validate_ogg_page(&self, header: &[u8]) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     fn parse_vorbis_header(&self, header: &[u8]) -> Option<(u32, u16)> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `validate_riff_header`, `parse_fmt_chunk`, and `find_data_chunk` are never used
[INFO] [stdout]   --> src/audio/formats/wav.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 9  | impl WavDecoder {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 30 |     fn validate_riff_header(&self, header: &[u8]) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     fn parse_fmt_chunk(&self, chunk: &[u8]) -> Option<(u16, u32, u16)> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     fn find_data_chunk(&self, file_data: &[u8]) -> Option<(usize, usize)> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_config` is never used
[INFO] [stdout]  --> src/preferences/validation.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn validate_config(config: &mut PreferencesConfig) {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_volume` is never used
[INFO] [stdout]   --> src/preferences/validation.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn validate_volume(config: &mut PreferencesConfig) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_theme` is never used
[INFO] [stdout]   --> src/preferences/validation.rs:22:4
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn validate_theme(config: &mut PreferencesConfig) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_directory` is never used
[INFO] [stdout]   --> src/preferences/validation.rs:37:4
[INFO] [stdout]    |
[INFO] [stdout] 37 | fn validate_directory(config: &mut PreferencesConfig) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_fs_writable` and `save_failures` are never used
[INFO] [stdout]   --> src/preferences/manager/save_handler.rs:61:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl SaveHandler {
[INFO] [stdout]    | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub fn is_fs_writable(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub fn save_failures(&self) -> u32 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 27.48s
[INFO] running `Command { std: "docker" "inspect" "f65f246ad2fb7f9f0cf158c5cd48dc71ca5f5ea0c341160ee46e39564e0fc1f1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f65f246ad2fb7f9f0cf158c5cd48dc71ca5f5ea0c341160ee46e39564e0fc1f1", kill_on_drop: false }`
[INFO] [stdout] f65f246ad2fb7f9f0cf158c5cd48dc71ca5f5ea0c341160ee46e39564e0fc1f1
[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 -Zrandomize-layout" "-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:819108c5571ea2e421544af4d832f968d213c87fbe3707a016657f43d2f853bc" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2025-01-18" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e48698bc6ca9aa96f05e4e29b848faf6b10eb08fe88495559ba5b3b53d013719
[INFO] running `Command { std: "docker" "start" "-a" "e48698bc6ca9aa96f05e4e29b848faf6b10eb08fe88495559ba5b3b53d013719", kill_on_drop: false }`
[INFO] [stderr]    Compiling bitflags v2.6.0
[INFO] [stderr]    Compiling futures-sink v0.3.31
[INFO] [stderr]    Compiling pin-project-lite v0.2.15
[INFO] [stderr]    Compiling futures-io v0.3.31
[INFO] [stderr]    Compiling syn v2.0.89
[INFO] [stderr]    Compiling rustix v0.38.41
[INFO] [stderr]    Compiling linux-raw-sys v0.4.14
[INFO] [stderr]    Compiling sdd v3.0.4
[INFO] [stderr]    Compiling once_cell v1.20.2
[INFO] [stderr]    Compiling fastrand v2.2.0
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling scc v2.2.5
[INFO] [stderr]    Compiling crossterm v0.27.0
[INFO] [stderr]    Compiling id3 v1.15.0
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling tempfile v3.14.0
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling strum_macros v0.25.3
[INFO] [stderr]    Compiling serde_derive v1.0.215
[INFO] [stderr]    Compiling serial_test_derive v3.2.0
[INFO] [stderr]    Compiling serial_test v3.2.0
[INFO] [stderr]    Compiling strum v0.25.0
[INFO] [stderr]    Compiling ratatui v0.24.0
[INFO] [stderr]    Compiling serde v1.0.215
[INFO] [stderr]    Compiling serde_json v1.0.133
[INFO] [stderr]    Compiling playtui v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Component`
[INFO] [stdout]  --> src/app/state.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     Component, LibraryBrowser, TrackList, TrackDetails,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EventResult` and `Event`
[INFO] [stdout]   --> src/app/mod.rs:13:21
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::events::{Event, Action, EventResult};
[INFO] [stdout]    |                     ^^^^^          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EventHandler`
[INFO] [stdout]  --> src/components/library_browser/events.rs:1:63
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::events::{Event, Action, KeyEvent, NavigationEvent, EventHandler, EventResult, MouseEvent};
[INFO] [stdout]   |                                                               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `select_next` and `select_previous`
[INFO] [stdout]   --> src/components/playlist/mod.rs:53:27
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub(self) use selection::{select_next, select_previous};
[INFO] [stdout]    |                           ^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]  --> src/preferences/manager/save_handler.rs:3:18
[INFO] [stdout]   |
[INFO] [stdout] 3 | use log::{error, warn, debug};
[INFO] [stdout]   |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Action`
[INFO] [stdout]   --> src/state/mod.rs:12:21
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::events::{Action, TrackMetadata};
[INFO] [stdout]    |                     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Component`
[INFO] [stdout]  --> src/app/state.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     Component, LibraryBrowser, TrackList, TrackDetails,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EventResult` and `Event`
[INFO] [stdout]   --> src/app/mod.rs:13:21
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::events::{Event, Action, EventResult};
[INFO] [stdout]    |                     ^^^^^          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/app/mod.rs:132:9
[INFO] [stdout]     |
[INFO] [stdout] 132 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EventHandler`
[INFO] [stdout]  --> src/components/library_browser/events.rs:1:63
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::events::{Event, Action, KeyEvent, NavigationEvent, EventHandler, EventResult, MouseEvent};
[INFO] [stdout]   |                                                               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MouseEvent`
[INFO] [stdout]  --> src/components/volume_control/tests.rs:2:46
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::events::{Event, Action, KeyEvent, MouseEvent};
[INFO] [stdout]   |                                              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ratatui::prelude::*`
[INFO] [stdout]  --> src/components/volume_control/tests.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ratatui::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `select_next` and `select_previous`
[INFO] [stdout]   --> src/components/playlist/mod.rs:53:27
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub(self) use selection::{select_next, select_previous};
[INFO] [stdout]    |                           ^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]  --> src/preferences/manager/save_handler.rs:3:18
[INFO] [stdout]   |
[INFO] [stdout] 3 | use log::{error, warn, debug};
[INFO] [stdout]   |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Action`
[INFO] [stdout]   --> src/state/mod.rs:12:21
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::events::{Action, TrackMetadata};
[INFO] [stdout]    |                     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::components::Component`
[INFO] [stdout]  --> src/components/controls/events/handlers.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::components::Component;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buffer`
[INFO] [stdout]   --> src/audio/formats/audio_reader.rs:23:28
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn read(&mut self, buffer: &mut [f32]) -> Result<usize, Box<dyn Error>> {
[INFO] [stdout]    |                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_buffer`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]   --> src/audio/formats/flac.rs:14:32
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn read_flac_header(&self, path: &Path) -> Result<AudioFormat, Box<dyn Error>> {
[INFO] [stdout]    |                                ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]   --> src/audio/formats/mp3.rs:14:31
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn read_mp3_header(&self, path: &Path) -> Result<AudioFormat, Box<dyn Error>> {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `header`
[INFO] [stdout]   --> src/audio/formats/mp3.rs:30:34
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn parse_frame_header(&self, header: u32) -> Option<(u32, u16)> {
[INFO] [stdout]    |                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]   --> src/audio/formats/ogg.rs:14:31
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn read_ogg_header(&self, path: &Path) -> Result<AudioFormat, Box<dyn Error>> {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `header`
[INFO] [stdout]   --> src/audio/formats/ogg.rs:30:33
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn validate_ogg_page(&self, header: &[u8]) -> bool {
[INFO] [stdout]    |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `header`
[INFO] [stdout]   --> src/audio/formats/ogg.rs:39:35
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn parse_vorbis_header(&self, header: &[u8]) -> Option<(u32, u16)> {
[INFO] [stdout]    |                                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]   --> src/audio/formats/wav.rs:14:31
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn read_wav_header(&self, path: &Path) -> Result<AudioFormat, Box<dyn Error>> {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `header`
[INFO] [stdout]   --> src/audio/formats/wav.rs:30:36
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn validate_riff_header(&self, header: &[u8]) -> bool {
[INFO] [stdout]    |                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chunk`
[INFO] [stdout]   --> src/audio/formats/wav.rs:39:31
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn parse_fmt_chunk(&self, chunk: &[u8]) -> Option<(u16, u32, u16)> {
[INFO] [stdout]    |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_chunk`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_data`
[INFO] [stdout]   --> src/audio/formats/wav.rs:49:31
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn find_data_chunk(&self, file_data: &[u8]) -> Option<(usize, usize)> {
[INFO] [stdout]    |                               ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `event`
[INFO] [stdout]    --> src/components/now_playing.rs:118:32
[INFO] [stdout]     |
[INFO] [stdout] 118 |     fn handle_event(&mut self, event: Event) -> Option<Action> {
[INFO] [stdout]     |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_event`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `App` is never constructed
[INFO] [stdout]   --> src/app/state.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct App {
[INFO] [stdout]    |            ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `update_component_area` is never used
[INFO] [stdout]   --> src/app/state.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl App {
[INFO] [stdout]    | -------- method in this implementation
[INFO] [stdout] 37 |     /// Updates the area for a component during rendering
[INFO] [stdout] 38 |     pub fn update_component_area(&mut self, component_name: &str, area: Rect) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `update_position` is never used
[INFO] [stdout]   --> src/audio/player.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl PlaybackEngine {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 25 |     fn update_position(&mut self) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `buffer` is never read
[INFO] [stdout]  --> src/audio/formats/audio_reader.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct AudioReader {
[INFO] [stdout]   |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 8 |     buffer: Vec<f32>, // Normalized float samples
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `parse_frame_header` is never used
[INFO] [stdout]   --> src/audio/formats/mp3.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 9  | impl Mp3Decoder {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 30 |     fn parse_frame_header(&self, header: u32) -> Option<(u32, u16)> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `validate_ogg_page` and `parse_vorbis_header` are never used
[INFO] [stdout]   --> src/audio/formats/ogg.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 9  | impl OggDecoder {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 30 |     fn validate_ogg_page(&self, header: &[u8]) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     fn parse_vorbis_header(&self, header: &[u8]) -> Option<(u32, u16)> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `validate_riff_header`, `parse_fmt_chunk`, and `find_data_chunk` are never used
[INFO] [stdout]   --> src/audio/formats/wav.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 9  | impl WavDecoder {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 30 |     fn validate_riff_header(&self, header: &[u8]) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     fn parse_fmt_chunk(&self, chunk: &[u8]) -> Option<(u16, u32, u16)> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     fn find_data_chunk(&self, file_data: &[u8]) -> Option<(usize, usize)> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_config` is never used
[INFO] [stdout]  --> src/preferences/validation.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn validate_config(config: &mut PreferencesConfig) {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_volume` is never used
[INFO] [stdout]   --> src/preferences/validation.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn validate_volume(config: &mut PreferencesConfig) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_theme` is never used
[INFO] [stdout]   --> src/preferences/validation.rs:22:4
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn validate_theme(config: &mut PreferencesConfig) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_directory` is never used
[INFO] [stdout]   --> src/preferences/validation.rs:37:4
[INFO] [stdout]    |
[INFO] [stdout] 37 | fn validate_directory(config: &mut PreferencesConfig) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_fs_writable` and `save_failures` are never used
[INFO] [stdout]   --> src/preferences/manager/save_handler.rs:61:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl SaveHandler {
[INFO] [stdout]    | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub fn is_fs_writable(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub fn save_failures(&self) -> u32 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::components::Component`
[INFO] [stdout]  --> src/components/controls/events/handlers.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::components::Component;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buffer`
[INFO] [stdout]   --> src/audio/formats/audio_reader.rs:23:28
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn read(&mut self, buffer: &mut [f32]) -> Result<usize, Box<dyn Error>> {
[INFO] [stdout]    |                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_buffer`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]   --> src/audio/formats/flac.rs:14:32
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn read_flac_header(&self, path: &Path) -> Result<AudioFormat, Box<dyn Error>> {
[INFO] [stdout]    |                                ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]   --> src/audio/formats/mp3.rs:14:31
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn read_mp3_header(&self, path: &Path) -> Result<AudioFormat, Box<dyn Error>> {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `header`
[INFO] [stdout]   --> src/audio/formats/mp3.rs:30:34
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn parse_frame_header(&self, header: u32) -> Option<(u32, u16)> {
[INFO] [stdout]    |                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]   --> src/audio/formats/ogg.rs:14:31
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn read_ogg_header(&self, path: &Path) -> Result<AudioFormat, Box<dyn Error>> {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `header`
[INFO] [stdout]   --> src/audio/formats/ogg.rs:30:33
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn validate_ogg_page(&self, header: &[u8]) -> bool {
[INFO] [stdout]    |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `header`
[INFO] [stdout]   --> src/audio/formats/ogg.rs:39:35
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn parse_vorbis_header(&self, header: &[u8]) -> Option<(u32, u16)> {
[INFO] [stdout]    |                                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]   --> src/audio/formats/wav.rs:14:31
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn read_wav_header(&self, path: &Path) -> Result<AudioFormat, Box<dyn Error>> {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `header`
[INFO] [stdout]   --> src/audio/formats/wav.rs:30:36
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn validate_riff_header(&self, header: &[u8]) -> bool {
[INFO] [stdout]    |                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chunk`
[INFO] [stdout]   --> src/audio/formats/wav.rs:39:31
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn parse_fmt_chunk(&self, chunk: &[u8]) -> Option<(u16, u32, u16)> {
[INFO] [stdout]    |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_chunk`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_data`
[INFO] [stdout]   --> src/audio/formats/wav.rs:49:31
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn find_data_chunk(&self, file_data: &[u8]) -> Option<(usize, usize)> {
[INFO] [stdout]    |                               ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `event`
[INFO] [stdout]    --> src/components/now_playing.rs:118:32
[INFO] [stdout]     |
[INFO] [stdout] 118 |     fn handle_event(&mut self, event: Event) -> Option<Action> {
[INFO] [stdout]     |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_event`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `App` is never constructed
[INFO] [stdout]   --> src/app/state.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct App {
[INFO] [stdout]    |            ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `update_component_area` is never used
[INFO] [stdout]   --> src/app/state.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl App {
[INFO] [stdout]    | -------- method in this implementation
[INFO] [stdout] 37 |     /// Updates the area for a component during rendering
[INFO] [stdout] 38 |     pub fn update_component_area(&mut self, component_name: &str, area: Rect) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `update_position` is never used
[INFO] [stdout]   --> src/audio/player.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl PlaybackEngine {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 25 |     fn update_position(&mut self) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `buffer` is never read
[INFO] [stdout]  --> src/audio/formats/audio_reader.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct AudioReader {
[INFO] [stdout]   |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 8 |     buffer: Vec<f32>, // Normalized float samples
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `parse_frame_header` is never used
[INFO] [stdout]   --> src/audio/formats/mp3.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 9  | impl Mp3Decoder {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 30 |     fn parse_frame_header(&self, header: u32) -> Option<(u32, u16)> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `validate_ogg_page` and `parse_vorbis_header` are never used
[INFO] [stdout]   --> src/audio/formats/ogg.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 9  | impl OggDecoder {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 30 |     fn validate_ogg_page(&self, header: &[u8]) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     fn parse_vorbis_header(&self, header: &[u8]) -> Option<(u32, u16)> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `validate_riff_header`, `parse_fmt_chunk`, and `find_data_chunk` are never used
[INFO] [stdout]   --> src/audio/formats/wav.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 9  | impl WavDecoder {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 30 |     fn validate_riff_header(&self, header: &[u8]) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     fn parse_fmt_chunk(&self, chunk: &[u8]) -> Option<(u16, u32, u16)> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     fn find_data_chunk(&self, file_data: &[u8]) -> Option<(usize, usize)> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 22.78s
[INFO] running `Command { std: "docker" "inspect" "e48698bc6ca9aa96f05e4e29b848faf6b10eb08fe88495559ba5b3b53d013719", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e48698bc6ca9aa96f05e4e29b848faf6b10eb08fe88495559ba5b3b53d013719", kill_on_drop: false }`
[INFO] [stdout] e48698bc6ca9aa96f05e4e29b848faf6b10eb08fe88495559ba5b3b53d013719
[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 -Zrandomize-layout" "-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:819108c5571ea2e421544af4d832f968d213c87fbe3707a016657f43d2f853bc" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2025-01-18" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 8fde5bc3ff618ad21cf16706b0acf1e6a083b861c87a23b06f88a33a5c98de22
[INFO] running `Command { std: "docker" "start" "-a" "8fde5bc3ff618ad21cf16706b0acf1e6a083b861c87a23b06f88a33a5c98de22", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `Component`
[INFO] [stderr]  --> src/app/state.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 |     Component, LibraryBrowser, TrackList, TrackDetails,
[INFO] [stderr]   |     ^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `EventResult` and `Event`
[INFO] [stderr]   --> src/app/mod.rs:13:21
[INFO] [stderr]    |
[INFO] [stderr] 13 | use crate::events::{Event, Action, EventResult};
[INFO] [stderr]    |                     ^^^^^          ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `EventHandler`
[INFO] [stderr]  --> src/components/library_browser/events.rs:1:63
[INFO] [stderr]   |
[INFO] [stderr] 1 | use crate::events::{Event, Action, KeyEvent, NavigationEvent, EventHandler, EventResult, MouseEvent};
[INFO] [stderr]   |                                                               ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `select_next` and `select_previous`
[INFO] [stderr]   --> src/components/playlist/mod.rs:53:27
[INFO] [stderr]    |
[INFO] [stderr] 53 | pub(self) use selection::{select_next, select_previous};
[INFO] [stderr]    |                           ^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `warn`
[INFO] [stderr]  --> src/preferences/manager/save_handler.rs:3:18
[INFO] [stderr]   |
[INFO] [stderr] 3 | use log::{error, warn, debug};
[INFO] [stderr]   |                  ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Action`
[INFO] [stderr]   --> src/state/mod.rs:12:21
[INFO] [stderr]    |
[INFO] [stderr] 12 | use crate::events::{Action, TrackMetadata};
[INFO] [stderr]    |                     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::components::Component`
[INFO] [stderr]  --> src/components/controls/events/handlers.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use crate::components::Component;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `buffer`
[INFO] [stderr]   --> src/audio/formats/audio_reader.rs:23:28
[INFO] [stderr]    |
[INFO] [stderr] 23 |     pub fn read(&mut self, buffer: &mut [f32]) -> Result<usize, Box<dyn Error>> {
[INFO] [stderr]    |                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_buffer`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `path`
[INFO] [stderr]   --> src/audio/formats/flac.rs:14:32
[INFO] [stderr]    |
[INFO] [stderr] 14 |     fn read_flac_header(&self, path: &Path) -> Result<AudioFormat, Box<dyn Error>> {
[INFO] [stderr]    |                                ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `path`
[INFO] [stderr]   --> src/audio/formats/mp3.rs:14:31
[INFO] [stderr]    |
[INFO] [stderr] 14 |     fn read_mp3_header(&self, path: &Path) -> Result<AudioFormat, Box<dyn Error>> {
[INFO] [stderr]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `header`
[INFO] [stderr]   --> src/audio/formats/mp3.rs:30:34
[INFO] [stderr]    |
[INFO] [stderr] 30 |     fn parse_frame_header(&self, header: u32) -> Option<(u32, u16)> {
[INFO] [stderr]    |                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `path`
[INFO] [stderr]   --> src/audio/formats/ogg.rs:14:31
[INFO] [stderr]    |
[INFO] [stderr] 14 |     fn read_ogg_header(&self, path: &Path) -> Result<AudioFormat, Box<dyn Error>> {
[INFO] [stderr]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `header`
[INFO] [stderr]   --> src/audio/formats/ogg.rs:30:33
[INFO] [stderr]    |
[INFO] [stderr] 30 |     fn validate_ogg_page(&self, header: &[u8]) -> bool {
[INFO] [stderr]    |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `header`
[INFO] [stderr]   --> src/audio/formats/ogg.rs:39:35
[INFO] [stderr]    |
[INFO] [stderr] 39 |     fn parse_vorbis_header(&self, header: &[u8]) -> Option<(u32, u16)> {
[INFO] [stderr]    |                                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `path`
[INFO] [stderr]   --> src/audio/formats/wav.rs:14:31
[INFO] [stderr]    |
[INFO] [stderr] 14 |     fn read_wav_header(&self, path: &Path) -> Result<AudioFormat, Box<dyn Error>> {
[INFO] [stderr]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `header`
[INFO] [stderr]   --> src/audio/formats/wav.rs:30:36
[INFO] [stderr]    |
[INFO] [stderr] 30 |     fn validate_riff_header(&self, header: &[u8]) -> bool {
[INFO] [stderr]    |                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `chunk`
[INFO] [stderr]   --> src/audio/formats/wav.rs:39:31
[INFO] [stderr]    |
[INFO] [stderr] 39 |     fn parse_fmt_chunk(&self, chunk: &[u8]) -> Option<(u16, u32, u16)> {
[INFO] [stderr]    |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_chunk`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `file_data`
[INFO] [stderr]   --> src/audio/formats/wav.rs:49:31
[INFO] [stderr]    |
[INFO] [stderr] 49 |     fn find_data_chunk(&self, file_data: &[u8]) -> Option<(usize, usize)> {
[INFO] [stderr]    |                               ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_data`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `event`
[INFO] [stderr]    --> src/components/now_playing.rs:118:32
[INFO] [stderr]     |
[INFO] [stderr] 118 |     fn handle_event(&mut self, event: Event) -> Option<Action> {
[INFO] [stderr]     |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_event`
[INFO] [stderr] 
[INFO] [stderr] warning: struct `App` is never constructed
[INFO] [stderr]   --> src/app/state.rs:15:12
[INFO] [stderr]    |
[INFO] [stderr] 15 | pub struct App {
[INFO] [stderr]    |            ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: method `update_component_area` is never used
[INFO] [stderr]   --> src/app/state.rs:38:12
[INFO] [stderr]    |
[INFO] [stderr] 36 | impl App {
[INFO] [stderr]    | -------- method in this implementation
[INFO] [stderr] 37 |     /// Updates the area for a component during rendering
[INFO] [stderr] 38 |     pub fn update_component_area(&mut self, component_name: &str, area: Rect) {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `update_position` is never used
[INFO] [stderr]   --> src/audio/player.rs:25:8
[INFO] [stderr]    |
[INFO] [stderr] 14 | impl PlaybackEngine {
[INFO] [stderr]    | ------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 25 |     fn update_position(&mut self) {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `buffer` is never read
[INFO] [stderr]  --> src/audio/formats/audio_reader.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub struct AudioReader {
[INFO] [stderr]   |            ----------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 8 |     buffer: Vec<f32>, // Normalized float samples
[INFO] [stderr]   |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `parse_frame_header` is never used
[INFO] [stderr]   --> src/audio/formats/mp3.rs:30:8
[INFO] [stderr]    |
[INFO] [stderr] 9  | impl Mp3Decoder {
[INFO] [stderr]    | --------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 30 |     fn parse_frame_header(&self, header: u32) -> Option<(u32, u16)> {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `validate_ogg_page` and `parse_vorbis_header` are never used
[INFO] [stderr]   --> src/audio/formats/ogg.rs:30:8
[INFO] [stderr]    |
[INFO] [stderr] 9  | impl OggDecoder {
[INFO] [stderr]    | --------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 30 |     fn validate_ogg_page(&self, header: &[u8]) -> bool {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 39 |     fn parse_vorbis_header(&self, header: &[u8]) -> Option<(u32, u16)> {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `validate_riff_header`, `parse_fmt_chunk`, and `find_data_chunk` are never used
[INFO] [stderr]   --> src/audio/formats/wav.rs:30:8
[INFO] [stderr]    |
[INFO] [stderr] 9  | impl WavDecoder {
[INFO] [stderr]    | --------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 30 |     fn validate_riff_header(&self, header: &[u8]) -> bool {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 39 |     fn parse_fmt_chunk(&self, chunk: &[u8]) -> Option<(u16, u32, u16)> {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 49 |     fn find_data_chunk(&self, file_data: &[u8]) -> Option<(usize, usize)> {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `validate_config` is never used
[INFO] [stderr]  --> src/preferences/validation.rs:6:8
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub fn validate_config(config: &mut PreferencesConfig) {
[INFO] [stderr]   |        ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `validate_volume` is never used
[INFO] [stderr]   --> src/preferences/validation.rs:13:4
[INFO] [stderr]    |
[INFO] [stderr] 13 | fn validate_volume(config: &mut PreferencesConfig) {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `validate_theme` is never used
[INFO] [stderr]   --> src/preferences/validation.rs:22:4
[INFO] [stderr]    |
[INFO] [stderr] 22 | fn validate_theme(config: &mut PreferencesConfig) {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `validate_directory` is never used
[INFO] [stderr]   --> src/preferences/validation.rs:37:4
[INFO] [stderr]    |
[INFO] [stderr] 37 | fn validate_directory(config: &mut PreferencesConfig) {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `is_fs_writable` and `save_failures` are never used
[INFO] [stderr]   --> src/preferences/manager/save_handler.rs:61:12
[INFO] [stderr]    |
[INFO] [stderr] 19 | impl SaveHandler {
[INFO] [stderr]    | ---------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 61 |     pub fn is_fs_writable(&self) -> bool {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 66 |     pub fn save_failures(&self) -> u32 {
[INFO] [stderr]    |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `playtui` (lib) generated 31 warnings (run `cargo fix --lib -p playtui` to apply 6 suggestions)
[INFO] [stderr] warning: unused import: `super::*`
[INFO] [stderr]    --> src/app/mod.rs:132:9
[INFO] [stderr]     |
[INFO] [stderr] 132 |     use super::*;
[INFO] [stderr]     |         ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `MouseEvent`
[INFO] [stderr]  --> src/components/volume_control/tests.rs:2:46
[INFO] [stderr]   |
[INFO] [stderr] 2 | use crate::events::{Event, Action, KeyEvent, MouseEvent};
[INFO] [stderr]   |                                              ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ratatui::prelude::*`
[INFO] [stderr]  --> src/components/volume_control/tests.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use ratatui::prelude::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `playtui` (lib test) generated 29 warnings (26 duplicates) (run `cargo fix --lib -p playtui --tests` to apply 3 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.78s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/playtui-8a142d3191276b3a)
[INFO] [stdout] 
[INFO] [stdout] running 91 tests
[INFO] [stdout] test app::focus::tests::test_frame_specific_events_require_focus ... ok
[INFO] [stdout] test audio::formats::flac::tests::test_can_decode ... ok
[INFO] [stdout] test audio::formats::flac::tests::test_decode_invalid_extension ... ok
[INFO] [stdout] test audio::formats::flac::tests::test_probe_invalid_extension ... ok
[INFO] [stdout] test app::focus::tests::test_global_events_always_processed ... ok
[INFO] [stdout] test audio::formats::mp3::tests::test_decode_invalid_extension ... ok
[INFO] [stdout] test app::focus::tests::test_set_focus ... ok
[INFO] [stdout] test audio::formats::mp3::tests::test_can_decode ... ok
[INFO] [stdout] test audio::formats::mp3::tests::test_probe_invalid_extension ... ok
[INFO] [stdout] test audio::formats::ogg::tests::test_can_decode ... ok
[INFO] [stdout] test audio::formats::ogg::tests::test_decode_invalid_extension ... ok
[INFO] [stdout] test audio::formats::ogg::tests::test_probe_invalid_extension ... ok
[INFO] [stdout] test audio::formats::tests::test_audio_reader_creation ... ok
[INFO] [stdout] test audio::formats::tests::test_decoder_factory ... ok
[INFO] [stdout] test audio::formats::wav::tests::test_can_decode ... ok
[INFO] [stdout] test audio::formats::wav::tests::test_decode_invalid_extension ... ok
[INFO] [stdout] test audio::formats::wav::tests::test_probe_invalid_extension ... ok
[INFO] [stdout] test audio::player::tests::test_basic_state_transitions ... ok
[INFO] [stdout] test audio::player::tests::test_new_playback_engine ... ok
[INFO] [stdout] test audio::stream::tests::test_open_close_stream ... ok
[INFO] [stdout] test audio::stream::tests::test_new_audio_stream ... ok
[INFO] [stdout] test audio::stream::tests::test_write_to_closed_stream ... ok
[INFO] [stdout] test components::controls::tests::test_key_events_blocked_when_not_focused ... ok
[INFO] [stdout] test components::controls::tests::test_mouse_events_blocked_when_not_focused ... ok
[INFO] [stdout] test components::controls::tests::test_navigation_events_work_regardless_of_focus ... ok
[INFO] [stdout] test components::controls::tests::test_volume_section_navigation ... ok
[INFO] [stdout] test components::tests::events::test_focused_event_handling ... ok
[INFO] [stdout] test components::controls::tests::test_button_focus_wraps_correctly ... ok
[INFO] [stdout] test components::tests::events::test_navigation_events_require_focus ... ok
[INFO] [stdout] test components::tests::events::test_playback_events_ignore_focus ... ok
[INFO] [stdout] test components::tests::events::test_system_events_ignore_focus ... ok
[INFO] [stdout] test components::tests::mock::tests::test_focus_state_changes ... ok
[INFO] [stdout] test components::tests::mock::tests::test_mock_component_creation ... ok
[INFO] [stdout] test components::tests::mock::tests::test_mock_component_event_handling ... ok
[INFO] [stdout] test components::tests::state::test_component_state_clone ... ok
[INFO] [stdout] test components::tests::state::test_component_state_default ... ok
[INFO] [stdout] test components::tests::state::test_component_state_equality ... ok
[INFO] [stdout] test components::tests::state::test_component_state_modification ... ok
[INFO] [stdout] test components::tests::theme::tests::test_theme_creation ... ok
[INFO] [stdout] test components::tests::theme::tests::test_create_block ... ok
[INFO] [stdout] test components::track_details::tests::test_track_details_event_handling ... ok
[INFO] [stdout] test components::track_details::tests::test_track_details_metadata_clear ... ignored
[INFO] [stdout] test components::track_details::tests::test_track_details_metadata_display ... ignored
[INFO] [stdout] test components::track_details::tests::test_track_details_partial_metadata ... ignored
[INFO] [stdout] test components::track_details::tests::test_track_details_focus ... ok
[INFO] [stdout] test components::track_details::tests::test_track_details_new ... ok
[INFO] [stdout] test components::track_list::tests::test_empty_list_navigation ... ok
[INFO] [stdout] test components::track_list::tests::test_mouse_scroll ... ok
[INFO] [stdout] test components::track_list::tests::test_track_list_bounds ... ok
[INFO] [stdout] test components::track_list::tests::test_track_list_navigation ... ok
[INFO] [stdout] test components::track_details::tests::test_track_details_render ... ok
[INFO] [stdout] test components::track_list::tests::test_unfocused_events ... ok
[INFO] [stdout] test components::track_list::tests::test_track_list_selection ... ok
[INFO] [stdout] test components::volume_control::events::tests::test_mouse_click ... ok
[INFO] [stdout] test components::track_list::tests::test_mouse_click ... ok
[INFO] [stdout] test components::tests::tests::test_setup_test_component ... ok
[INFO] [stdout] test components::volume_control::events::tests::test_mouse_scroll ... ok
[INFO] [stdout] test components::volume_control::events::tests::test_unfocused_events ... ok
[INFO] [stdout] test components::volume_control::tests::test_default_volume ... ok
[INFO] [stdout] test components::volume_control::tests::test_key_events ... ok
[INFO] [stdout] test components::volume_control::tests::test_set_volume ... ok
[INFO] [stdout] test components::volume_control::tests::test_unfocused_control ... ok
[INFO] [stdout] test components::volume_control::tests::test_volume_down ... ok
[INFO] [stdout] test components::volume_control::tests::test_volume_limits ... ok
[INFO] [stdout] test components::volume_control::tests::test_volume_up ... ok
[INFO] [stdout] test metadata::formats::flac_meta::tests::test_supports_format ... ok
[INFO] [stdout] test metadata::formats::id3::tests::test_supports_format ... ok
[INFO] [stdout] test metadata::formats::vorbis::tests::test_supports_format ... ok
[INFO] [stdout] test metadata::parser::tests::test_metadata_manager ... ok
[INFO] [stdout] test metadata::formats::flac_meta::tests::test_parse_flac ... ok
[INFO] [stdout] test preferences::config::tests::test_custom_theme ... ok
[INFO] [stdout] test metadata::formats::id3::tests::test_parse_mp3 ... ok
[INFO] [stdout] test preferences::config::tests::test_preferences_serialization ... ok
[INFO] [stdout] test preferences::config::tests::test_volume_bounds ... ok
[INFO] [stdout] test preferences::manager::tests::test_preferences_manager ... ok
[INFO] [stdout] test preferences::persistence::tests::test_ensure_preferences_dir ... ok
[INFO] [stdout] test preferences::persistence::tests::test_preferences_path ... ok
[INFO] [stdout] test preferences::persistence::tests::test_save_and_load ... ok
[INFO] [stdout] test preferences::validation::tests::test_directory_validation ... ok
[INFO] [stdout] test preferences::validation::tests::test_full_validation ... ok
[INFO] [stdout] test state::history::tests::test_history_recording ... ok
[INFO] [stdout] test state::validation::tests::test_playlist_state_validation ... ok
[INFO] [stdout] test state::history::tests::test_history_size_limit ... ok
[INFO] [stdout] test preferences::validation::tests::test_volume_validation ... ok
[INFO] [stdout] test state::validation::tests::test_player_state_validation ... ok
[INFO] [stdout] test metadata::formats::vorbis::tests::test_parse_ogg ... ok
[INFO] [stdout] test metadata::cache::tests::test_cleanup ... ok
[INFO] [stdout] test preferences::validation::tests::test_theme_validation ... FAILED
[INFO] [stdout] test preferences::manager::tests::test_save_retry_timing ... FAILED
[INFO] [stdout] test metadata::cache::tests::test_cache_operations ... ok
[INFO] [stdout] test preferences::manager::tests::test_unwritable_location_handling ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- preferences::validation::tests::test_theme_validation stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'preferences::validation::tests::test_theme_validation' panicked at src/preferences/validation.rs:71:51:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5af0a38c20ca - std::backtrace_rs::backtrace::libunwind::trace::hb059275cfc8d6126
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/../../backtrace/src/backtrace/libunwind.rs:116:5
[INFO] [stdout]    1:     0x5af0a38c20ca - std::backtrace_rs::backtrace::trace_unsynchronized::h2da071e4327ce3ee
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x5af0a38c20ca - std::sys::backtrace::_print_fmt::h842a1474e6f8d23f
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x5af0a38c20ca - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h71a62eb3b9696b12
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x5af0a38ebe03 - core::fmt::rt::Argument::fmt::hdb6b616786b41dc1
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/fmt/rt.rs:177:76
[INFO] [stdout]    5:     0x5af0a38ebe03 - core::fmt::write::h2cc1698af7e2d686
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/fmt/mod.rs:1440:21
[INFO] [stdout]    6:     0x5af0a38be433 - std::io::Write::write_fmt::hab1b4cd059a79022
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/io/mod.rs:1887:15
[INFO] [stdout]    7:     0x5af0a38c1f12 - std::sys::backtrace::BacktraceLock::print::h147fe35b4ea13b08
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    8:     0x5af0a38c34ef - std::panicking::default_hook::{{closure}}::hbd44223dbdc0d208
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:298:22
[INFO] [stdout]    9:     0x5af0a38c3308 - std::panicking::default_hook::h20f81eb0576efcec
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:322:9
[INFO] [stdout]   10:     0x5af0a3668d43 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hdb53814c496a4d34
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/alloc/src/boxed.rs:2027:9
[INFO] [stdout]   11:     0x5af0a3668d43 - test::test_main::{{closure}}::hc0a4963c59427c24
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:134:21
[INFO] [stdout]   12:     0x5af0a38c3fe3 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h591b2225413a77e9
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/alloc/src/boxed.rs:2027:9
[INFO] [stdout]   13:     0x5af0a38c3fe3 - std::panicking::rust_panic_with_hook::h625eea43051b2edc
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:839:13
[INFO] [stdout]   14:     0x5af0a38c3c9a - std::panicking::begin_panic_handler::{{closure}}::h4f9159cfbc3f6bd3
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:704:13
[INFO] [stdout]   15:     0x5af0a38c25c9 - std::sys::backtrace::__rust_end_short_backtrace::h0390abce48353151
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:168:18
[INFO] [stdout]   16:     0x5af0a38c392d - rust_begin_unwind
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:695:5
[INFO] [stdout]   17:     0x5af0a38ea7e0 - core::panicking::panic_fmt::h9e7c637e9e5f29c9
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/panicking.rs:75:14
[INFO] [stdout]   18:     0x5af0a38eac56 - core::result::unwrap_failed::h7979f09313fe1849
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/result.rs:1704:5
[INFO] [stdout]   19:     0x5af0a35c35bf - core::result::Result<T,E>::unwrap::h34f1c57119455f2d
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/result.rs:1109:23
[INFO] [stdout]   20:     0x5af0a35c35bf - playtui::preferences::validation::tests::test_theme_validation::hf12309e63914e033
[INFO] [stdout]                                at /opt/rustwide/workdir/src/preferences/validation.rs:71:9
[INFO] [stdout]   21:     0x5af0a35c3477 - playtui::preferences::validation::tests::test_theme_validation::{{closure}}::h88a3298d76c0a748
[INFO] [stdout]                                at /opt/rustwide/workdir/src/preferences/validation.rs:66:31
[INFO] [stdout]   22:     0x5af0a35b9556 - core::ops::function::FnOnce::call_once::h599f798d10cceeed
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x5af0a366e49b - core::ops::function::FnOnce::call_once::he27718dfdd183f43
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5af0a366e49b - test::__rust_begin_short_backtrace::h4e84902998457a5d
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:632:18
[INFO] [stdout]   25:     0x5af0a366d3d3 - test::run_test_in_process::{{closure}}::h7176fd18fc1feca0
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:655:60
[INFO] [stdout]   26:     0x5af0a366d3d3 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hf79cff2a624d8cf7
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   27:     0x5af0a366d3d3 - std::panicking::try::do_call::h3da0561d9ab99c25
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:587:40
[INFO] [stdout]   28:     0x5af0a366d3d3 - std::panicking::try::h41c9fa508bc61df6
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:550:19
[INFO] [stdout]   29:     0x5af0a366d3d3 - std::panic::catch_unwind::h6b3ff07bb5afad93
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panic.rs:358:14
[INFO] [stdout]   30:     0x5af0a366d3d3 - test::run_test_in_process::hc7253dd11b39b9f4
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:655:27
[INFO] [stdout]   31:     0x5af0a366d3d3 - test::run_test::{{closure}}::hfb2007f8649c30bb
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:576:43
[INFO] [stdout]   32:     0x5af0a36304b5 - test::run_test::{{closure}}::h56a17aa7a282a9f4
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:606:41
[INFO] [stdout]   33:     0x5af0a36304b5 - std::sys::backtrace::__rust_begin_short_backtrace::hd2d2d2fb8e8c6aac
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:152:18
[INFO] [stdout]   34:     0x5af0a3633d9a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h4faa3f9db6133423
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/thread/mod.rs:559:17
[INFO] [stdout]   35:     0x5af0a3633d9a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hf2e855a36a4ea846
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   36:     0x5af0a3633d9a - std::panicking::try::do_call::h2f73af3616c35465
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:587:40
[INFO] [stdout]   37:     0x5af0a3633d9a - std::panicking::try::hd1660ce9efadef5a
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:550:19
[INFO] [stdout]   38:     0x5af0a3633d9a - std::panic::catch_unwind::h5ee8d7823b8ca744
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panic.rs:358:14
[INFO] [stdout]   39:     0x5af0a3633d9a - std::thread::Builder::spawn_unchecked_::{{closure}}::h53c3a1894dce8407
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/thread/mod.rs:557:30
[INFO] [stdout]   40:     0x5af0a3633d9a - core::ops::function::FnOnce::call_once{{vtable.shim}}::h048ce291ad4f62bf
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x5af0a38c821b - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::ha52bedf99a3b4981
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/alloc/src/boxed.rs:2013:9
[INFO] [stdout]   42:     0x5af0a38c821b - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h567748934d80ccf8
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/alloc/src/boxed.rs:2013:9
[INFO] [stdout]   43:     0x5af0a38c821b - std::sys::pal::unix::thread::Thread::new::thread_start::h2d970728ae887adc
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/pal/unix/thread.rs:106:17
[INFO] [stdout]   44:     0x794d2fa1aac3 - <unknown>
[INFO] [stdout]   45:     0x794d2faaba04 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- preferences::manager::tests::test_save_retry_timing stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'preferences::manager::tests::test_save_retry_timing' panicked at src/preferences/manager/tests.rs:138:5:
[INFO] [stdout] assertion failed: !manager.save_handler.is_fs_writable()
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5af0a38c20ca - std::backtrace_rs::backtrace::libunwind::trace::hb059275cfc8d6126
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/../../backtrace/src/backtrace/libunwind.rs:116:5
[INFO] [stdout]    1:     0x5af0a38c20ca - std::backtrace_rs::backtrace::trace_unsynchronized::h2da071e4327ce3ee
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x5af0a38c20ca - std::sys::backtrace::_print_fmt::h842a1474e6f8d23f
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x5af0a38c20ca - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h71a62eb3b9696b12
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x5af0a38ebe03 - core::fmt::rt::Argument::fmt::hdb6b616786b41dc1
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/fmt/rt.rs:177:76
[INFO] [stdout]    5:     0x5af0a38ebe03 - core::fmt::write::h2cc1698af7e2d686
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/fmt/mod.rs:1440:21
[INFO] [stdout]    6:     0x5af0a38be433 - std::io::Write::write_fmt::hab1b4cd059a79022
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/io/mod.rs:1887:15
[INFO] [stdout]    7:     0x5af0a38c1f12 - std::sys::backtrace::BacktraceLock::print::h147fe35b4ea13b08
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    8:     0x5af0a38c34ef - std::panicking::default_hook::{{closure}}::hbd44223dbdc0d208
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:298:22
[INFO] [stdout]    9:     0x5af0a38c3308 - std::panicking::default_hook::h20f81eb0576efcec
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:322:9
[INFO] [stdout]   10:     0x5af0a3668d43 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hdb53814c496a4d34
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/alloc/src/boxed.rs:2027:9
[INFO] [stdout]   11:     0x5af0a3668d43 - test::test_main::{{closure}}::hc0a4963c59427c24
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:134:21
[INFO] [stdout]   12:     0x5af0a38c3fe3 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h591b2225413a77e9
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/alloc/src/boxed.rs:2027:9
[INFO] [stdout]   13:     0x5af0a38c3fe3 - std::panicking::rust_panic_with_hook::h625eea43051b2edc
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:839:13
[INFO] [stdout]   14:     0x5af0a38c3c66 - std::panicking::begin_panic_handler::{{closure}}::h4f9159cfbc3f6bd3
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:697:13
[INFO] [stdout]   15:     0x5af0a38c25c9 - std::sys::backtrace::__rust_end_short_backtrace::h0390abce48353151
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:168:18
[INFO] [stdout]   16:     0x5af0a38c392d - rust_begin_unwind
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:695:5
[INFO] [stdout]   17:     0x5af0a38ea7e0 - core::panicking::panic_fmt::h9e7c637e9e5f29c9
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/panicking.rs:75:14
[INFO] [stdout]   18:     0x5af0a38ea86c - core::panicking::panic::haa3255ea20181a33
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/panicking.rs:145:5
[INFO] [stdout]   19:     0x5af0a35c5cb3 - playtui::preferences::manager::tests::test_save_retry_timing::{{closure}}::h769d422fd481a92a
[INFO] [stdout]                                at /opt/rustwide/workdir/src/preferences/manager/tests.rs:138:5
[INFO] [stdout]   20:     0x5af0a35ba66e - core::ops::function::FnOnce::call_once::hef785980c6e311d8
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   21:     0x5af0a3678d13 - serial_test::serial_code_lock::local_serial_core::h03188efe2a2ccf0d
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serial_test-3.2.0/src/serial_code_lock.rs:36:5
[INFO] [stdout]   22:     0x5af0a35c577b - playtui::preferences::manager::tests::test_save_retry_timing::hd4b3966b163b1f58
[INFO] [stdout]                                at /opt/rustwide/workdir/src/preferences/manager/tests.rs:117:1
[INFO] [stdout]   23:     0x5af0a35c56f7 - playtui::preferences::manager::tests::test_save_retry_timing::{{closure}}::h1177fd8c74cc494a
[INFO] [stdout]                                at /opt/rustwide/workdir/src/preferences/manager/tests.rs:118:28
[INFO] [stdout]   24:     0x5af0a35b95d6 - core::ops::function::FnOnce::call_once::h5ab3bdb9c547a304
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5af0a366e49b - core::ops::function::FnOnce::call_once::he27718dfdd183f43
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x5af0a366e49b - test::__rust_begin_short_backtrace::h4e84902998457a5d
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:632:18
[INFO] [stdout]   27:     0x5af0a366d3d3 - test::run_test_in_process::{{closure}}::h7176fd18fc1feca0
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:655:60
[INFO] [stdout]   28:     0x5af0a366d3d3 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hf79cff2a624d8cf7
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   29:     0x5af0a366d3d3 - std::panicking::try::do_call::h3da0561d9ab99c25
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:587:40
[INFO] [stdout]   30:     0x5af0a366d3d3 - std::panicking::try::h41c9fa508bc61df6
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:550:19
[INFO] [stdout]   31:     0x5af0a366d3d3 - std::panic::catch_unwind::h6b3ff07bb5afad93
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panic.rs:358:14
[INFO] [stdout]   32:     0x5af0a366d3d3 - test::run_test_in_process::hc7253dd11b39b9f4
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:655:27
[INFO] [stdout]   33:     0x5af0a366d3d3 - test::run_test::{{closure}}::hfb2007f8649c30bb
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:576:43
[INFO] [stdout]   34:     0x5af0a36304b5 - test::run_test::{{closure}}::h56a17aa7a282a9f4
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:606:41
[INFO] [stdout]   35:     0x5af0a36304b5 - std::sys::backtrace::__rust_begin_short_backtrace::hd2d2d2fb8e8c6aac
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:152:18
[INFO] [stdout]   36:     0x5af0a3633d9a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h4faa3f9db6133423
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/thread/mod.rs:559:17
[INFO] [stdout]   37:     0x5af0a3633d9a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hf2e855a36a4ea846
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   38:     0x5af0a3633d9a - std::panicking::try::do_call::h2f73af3616c35465
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:587:40
[INFO] [stdout]   39:     0x5af0a3633d9a - std::panicking::try::hd1660ce9efadef5a
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:550:19
[INFO] [stdout]   40:     0x5af0a3633d9a - std::panic::catch_unwind::h5ee8d7823b8ca744
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panic.rs:358:14
[INFO] [stdout]   41:     0x5af0a3633d9a - std::thread::Builder::spawn_unchecked_::{{closure}}::h53c3a1894dce8407
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/thread/mod.rs:557:30
[INFO] [stdout]   42:     0x5af0a3633d9a - core::ops::function::FnOnce::call_once{{vtable.shim}}::h048ce291ad4f62bf
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x5af0a38c821b - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::ha52bedf99a3b4981
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/alloc/src/boxed.rs:2013:9
[INFO] [stdout]   44:     0x5af0a38c821b - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h567748934d80ccf8
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/alloc/src/boxed.rs:2013:9
[INFO] [stdout]   45:     0x5af0a38c821b - std::sys::pal::unix::thread::Thread::new::thread_start::h2d970728ae887adc
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/pal/unix/thread.rs:106:17
[INFO] [stdout]   46:     0x794d2fa1aac3 - <unknown>
[INFO] [stdout]   47:     0x794d2faaba04 - clone
[INFO] [stdout]   48:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- preferences::manager::tests::test_unwritable_location_handling stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'preferences::manager::tests::test_unwritable_location_handling' panicked at src/preferences/manager/tests.rs:98:5:
[INFO] [stdout] assertion failed: !manager.save_handler.is_fs_writable()
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5af0a38c20ca - std::backtrace_rs::backtrace::libunwind::trace::hb059275cfc8d6126
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/../../backtrace/src/backtrace/libunwind.rs:116:5
[INFO] [stdout]    1:     0x5af0a38c20ca - std::backtrace_rs::backtrace::trace_unsynchronized::h2da071e4327ce3ee
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x5af0a38c20ca - std::sys::backtrace::_print_fmt::h842a1474e6f8d23f
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x5af0a38c20ca - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h71a62eb3b9696b12
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x5af0a38ebe03 - core::fmt::rt::Argument::fmt::hdb6b616786b41dc1
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/fmt/rt.rs:177:76
[INFO] [stdout]    5:     0x5af0a38ebe03 - core::fmt::write::h2cc1698af7e2d686
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/fmt/mod.rs:1440:21
[INFO] [stdout]    6:     0x5af0a38be433 - std::io::Write::write_fmt::hab1b4cd059a79022
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/io/mod.rs:1887:15
[INFO] [stdout]    7:     0x5af0a38c1f12 - std::sys::backtrace::BacktraceLock::print::h147fe35b4ea13b08
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    8:     0x5af0a38c34ef - std::panicking::default_hook::{{closure}}::hbd44223dbdc0d208
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:298:22
[INFO] [stdout]    9:     0x5af0a38c3308 - std::panicking::default_hook::h20f81eb0576efcec
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:322:9
[INFO] [stdout]   10:     0x5af0a3668d43 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hdb53814c496a4d34
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/alloc/src/boxed.rs:2027:9
[INFO] [stdout]   11:     0x5af0a3668d43 - test::test_main::{{closure}}::hc0a4963c59427c24
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:134:21
[INFO] [stdout]   12:     0x5af0a38c3fe3 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h591b2225413a77e9
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/alloc/src/boxed.rs:2027:9
[INFO] [stdout]   13:     0x5af0a38c3fe3 - std::panicking::rust_panic_with_hook::h625eea43051b2edc
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:839:13
[INFO] [stdout]   14:     0x5af0a38c3c66 - std::panicking::begin_panic_handler::{{closure}}::h4f9159cfbc3f6bd3
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:697:13
[INFO] [stdout]   15:     0x5af0a38c25c9 - std::sys::backtrace::__rust_end_short_backtrace::h0390abce48353151
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:168:18
[INFO] [stdout]   16:     0x5af0a38c392d - rust_begin_unwind
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:695:5
[INFO] [stdout]   17:     0x5af0a38ea7e0 - core::panicking::panic_fmt::h9e7c637e9e5f29c9
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/panicking.rs:75:14
[INFO] [stdout]   18:     0x5af0a38ea86c - core::panicking::panic::haa3255ea20181a33
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/panicking.rs:145:5
[INFO] [stdout]   19:     0x5af0a35c5094 - playtui::preferences::manager::tests::test_unwritable_location_handling::{{closure}}::h5e520356f2b0e4e1
[INFO] [stdout]                                at /opt/rustwide/workdir/src/preferences/manager/tests.rs:98:5
[INFO] [stdout]   20:     0x5af0a35ba78e - core::ops::function::FnOnce::call_once::hfdba30c81b47b546
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   21:     0x5af0a3678d13 - serial_test::serial_code_lock::local_serial_core::h03188efe2a2ccf0d
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serial_test-3.2.0/src/serial_code_lock.rs:36:5
[INFO] [stdout]   22:     0x5af0a35c4d5b - playtui::preferences::manager::tests::test_unwritable_location_handling::hefb2616f1c146785
[INFO] [stdout]                                at /opt/rustwide/workdir/src/preferences/manager/tests.rs:77:1
[INFO] [stdout]   23:     0x5af0a35c4cd7 - playtui::preferences::manager::tests::test_unwritable_location_handling::{{closure}}::he38c2baa27a8cb4d
[INFO] [stdout]                                at /opt/rustwide/workdir/src/preferences/manager/tests.rs:78:39
[INFO] [stdout]   24:     0x5af0a35ba3e6 - core::ops::function::FnOnce::call_once::hda3b29ab833f5d0e
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5af0a366e49b - core::ops::function::FnOnce::call_once::he27718dfdd183f43
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x5af0a366e49b - test::__rust_begin_short_backtrace::h4e84902998457a5d
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:632:18
[INFO] [stdout]   27:     0x5af0a366d3d3 - test::run_test_in_process::{{closure}}::h7176fd18fc1feca0
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:655:60
[INFO] [stdout]   28:     0x5af0a366d3d3 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hf79cff2a624d8cf7
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   29:     0x5af0a366d3d3 - std::panicking::try::do_call::h3da0561d9ab99c25
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:587:40
[INFO] [stdout]   30:     0x5af0a366d3d3 - std::panicking::try::h41c9fa508bc61df6
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:550:19
[INFO] [stdout]   31:     0x5af0a366d3d3 - std::panic::catch_unwind::h6b3ff07bb5afad93
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panic.rs:358:14
[INFO] [stdout]   32:     0x5af0a366d3d3 - test::run_test_in_process::hc7253dd11b39b9f4
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:655:27
[INFO] [stdout]   33:     0x5af0a366d3d3 - test::run_test::{{closure}}::hfb2007f8649c30bb
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:576:43
[INFO] [stdout]   34:     0x5af0a36304b5 - test::run_test::{{closure}}::h56a17aa7a282a9f4
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:606:41
[INFO] [stdout]   35:     0x5af0a36304b5 - std::sys::backtrace::__rust_begin_short_backtrace::hd2d2d2fb8e8c6aac
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:152:18
[INFO] [stdout]   36:     0x5af0a3633d9a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h4faa3f9db6133423
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/thread/mod.rs:559:17
[INFO] [stdout]   37:     0x5af0a3633d9a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hf2e855a36a4ea846
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   38:     0x5af0a3633d9a - std::panicking::try::do_call::h2f73af3616c35465
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:587:40
[INFO] [stdout]   39:     0x5af0a3633d9a - std::panicking::try::hd1660ce9efadef5a
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:550:19
[INFO] [stdout]   40:     0x5af0a3633d9a - std::panic::catch_unwind::h5ee8d7823b8ca744
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panic.rs:358:14
[INFO] [stdout]   41:     0x5af0a3633d9a - std::thread::Builder::spawn_unchecked_::{{closure}}::h53c3a1894dce8407
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/thread/mod.rs:557:30
[INFO] [stdout]   42:     0x5af0a3633d9a - core::ops::function::FnOnce::call_once{{vtable.shim}}::h048ce291ad4f62bf
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x5af0a38c821b - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::ha52bedf99a3b4981
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/alloc/src/boxed.rs:2013:9
[INFO] [stdout]   44:     0x5af0a38c821b - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h567748934d80ccf8
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/alloc/src/boxed.rs:2013:9
[INFO] [stdout]   45:     0x5af0a38c821b - std::sys::pal::unix::thread::Thread::new::thread_start::h2d970728ae887adc
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/pal/unix/thread.rs:106:17
[INFO] [stdout]   46:     0x794d2fa1aac3 - <unknown>
[INFO] [stdout]   47:     0x794d2faaba04 - clone
[INFO] [stdout]   48:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     preferences::manager::tests::test_save_retry_timing
[INFO] [stdout]     preferences::manager::tests::test_unwritable_location_handling
[INFO] [stdout]     preferences::validation::tests::test_theme_validation
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 85 passed; 3 failed; 3 ignored; 0 measured; 0 filtered out; finished in 1.30s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "8fde5bc3ff618ad21cf16706b0acf1e6a083b861c87a23b06f88a33a5c98de22", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8fde5bc3ff618ad21cf16706b0acf1e6a083b861c87a23b06f88a33a5c98de22", kill_on_drop: false }`
[INFO] [stdout] 8fde5bc3ff618ad21cf16706b0acf1e6a083b861c87a23b06f88a33a5c98de22
