[INFO] fetching crate boxmux 0.240.3373...
[INFO] checking boxmux-0.240.3373 against 011c518242557d21690f7936b5812318dc2fec47 for pr-159877
[INFO] extracting crate boxmux 0.240.3373 into /workspace/builds/worker-2-tc2/source
[INFO] removed /workspace/builds/worker-2-tc2/source/.cargo/config.toml
[INFO] started tweaking crates.io crate boxmux 0.240.3373
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate boxmux 0.240.3373
[INFO] tweaked toml for crates.io crate boxmux 0.240.3373 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate boxmux 0.240.3373 on toolchain 011c518242557d21690f7936b5812318dc2fec47
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+011c518242557d21690f7936b5812318dc2fec47" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate boxmux 0.240.3373 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" "+011c518242557d21690f7936b5812318dc2fec47" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:1fa6594d87c8fa7b311925a7a77a16f539833322d9dfba4ce891f211db2f90b1" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] a31ff1831e13995cd3aa77c412238317f0203799aedabf4aca90f94ba7efbc0c
[INFO] running `Command { std: "docker" "start" "a31ff1831e13995cd3aa77c412238317f0203799aedabf4aca90f94ba7efbc0c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a31ff1831e13995cd3aa77c412238317f0203799aedabf4aca90f94ba7efbc0c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "a31ff1831e13995cd3aa77c412238317f0203799aedabf4aca90f94ba7efbc0c" "/opt/rustwide/cargo-home/bin/cargo" "+011c518242557d21690f7936b5812318dc2fec47" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a31ff1831e13995cd3aa77c412238317f0203799aedabf4aca90f94ba7efbc0c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "a31ff1831e13995cd3aa77c412238317f0203799aedabf4aca90f94ba7efbc0c" "/opt/rustwide/cargo-home/bin/cargo" "+011c518242557d21690f7936b5812318dc2fec47" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]     Checking smallvec v1.15.2
[INFO] [stderr]     Checking log v0.4.33
[INFO] [stderr]     Checking memchr v2.8.2
[INFO] [stderr]     Checking lock_api v0.4.14
[INFO] [stderr]     Checking bytes v1.12.0
[INFO] [stderr]    Compiling libm v0.2.16
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking tracing-core v0.1.36
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]     Checking rand_core v0.10.1
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]     Checking futures-io v0.3.32
[INFO] [stderr]     Checking futures-task v0.3.32
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling num-conv v0.2.2
[INFO] [stderr]    Compiling time-core v0.1.9
[INFO] [stderr]     Checking chacha20 v0.10.1
[INFO] [stderr]     Checking icu_normalizer v2.2.0
[INFO] [stderr]    Compiling openssl v0.10.81
[INFO] [stderr]     Checking num_threads v0.1.7
[INFO] [stderr]     Checking foreign-types-shared v0.1.1
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]     Checking foreign-types v0.3.2
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]     Checking futures-channel v0.3.32
[INFO] [stderr]     Checking utf8parse v0.2.2
[INFO] [stderr]     Checking tinyvec_macros v0.1.1
[INFO] [stderr]     Checking local-waker v0.1.4
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling time-macros v0.2.30
[INFO] [stderr]    Compiling unicode-segmentation v1.13.3
[INFO] [stderr]    Compiling zstd-safe v7.2.4
[INFO] [stderr]     Checking idna_adapter v1.2.2
[INFO] [stderr]    Compiling rustls v0.21.12
[INFO] [stderr]    Compiling native-tls v0.2.18
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking alloc-no-stdlib v2.0.4
[INFO] [stderr]     Checking foldhash v0.2.0
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]    Compiling darling_core v0.21.3
[INFO] [stderr]     Checking alloc-stdlib v0.2.4
[INFO] [stderr]     Checking tinyvec v1.11.0
[INFO] [stderr]    Compiling heapless v0.7.17
[INFO] [stderr]     Checking http v0.2.12
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]    Compiling convert_case v0.10.0
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]     Checking encoding_rs v0.8.35
[INFO] [stderr]     Checking simd-adler32 v0.3.9
[INFO] [stderr]     Checking mime v0.3.17
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]     Checking adler2 v2.0.1
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking http-body v0.4.6
[INFO] [stderr]    Compiling cc v1.2.65
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking unicode-normalization v0.1.25
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking brotli-decompressor v5.0.3
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking bytestring v1.5.1
[INFO] [stderr]     Checking crc32fast v1.5.0
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking mio v1.2.1
[INFO] [stderr]     Checking socket2 v0.6.4
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking socket2 v0.5.10
[INFO] [stderr]     Checking time v0.3.51
[INFO] [stderr]     Checking rand v0.10.1
[INFO] [stderr]     Checking actix-utils v3.0.1
[INFO] [stderr]     Checking tokio v1.52.3
[INFO] [stderr]     Checking anstyle-parse v1.0.0
[INFO] [stderr]     Checking spin v0.9.8
[INFO] [stderr]    Compiling cookie v0.16.2
[INFO] [stderr]     Checking hash32 v0.2.1
[INFO] [stderr]     Checking actix-service v2.0.3
[INFO] [stderr]     Checking anstyle v1.0.14
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling regex-lite v0.1.9
[INFO] [stderr]     Checking anstyle-query v1.1.5
[INFO] [stderr]    Compiling anyhow v1.0.103
[INFO] [stderr]     Checking unicode-properties v0.1.4
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]     Checking either v1.16.0
[INFO] [stderr]     Checking unicode-bidi v0.3.18
[INFO] [stderr]     Checking is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling zerocopy v0.8.52
[INFO] [stderr]     Checking colorchoice v1.0.5
[INFO] [stderr]     Checking anstream v1.0.0
[INFO] [stderr]     Checking brotli v8.0.4
[INFO] [stderr]     Checking flate2 v1.1.9
[INFO] [stderr]     Checking stringprep v0.1.5
[INFO] [stderr]     Checking termios v0.2.2
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]     Checking serial-core v0.4.0
[INFO] [stderr]     Checking ioctl-rs v0.1.6
[INFO] [stderr]     Checking num-iter v0.1.45
[INFO] [stderr]     Checking crossbeam-deque v0.8.6
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]     Checking local-channel v0.1.5
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]     Checking sha1 v0.11.0
[INFO] [stderr]     Checking md-5 v0.11.0
[INFO] [stderr]    Compiling pq-sys v0.7.5
[INFO] [stderr]     Checking instant v0.1.13
[INFO] [stderr]     Checking fallible-iterator v0.2.0
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling prometheus v0.13.4
[INFO] [stderr]     Checking siphasher v1.0.3
[INFO] [stderr]     Checking language-tags v0.3.2
[INFO] [stderr]     Checking allocator-api2 v0.2.21
[INFO] [stderr]     Checking base64 v0.21.7
[INFO] [stderr]     Checking clap_lex v1.1.0
[INFO] [stderr]    Compiling diesel_derives v2.3.9
[INFO] [stderr]    Compiling openssl-sys v0.9.117
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling zstd-sys v2.0.16+zstd.1.5.7
[INFO] [stderr]    Compiling darling_macro v0.21.3
[INFO] [stderr]     Checking bit-vec v0.6.3
[INFO] [stderr]    Compiling protobuf v2.28.0
[INFO] [stderr]     Checking strsim v0.11.1
[INFO] [stderr]    Compiling darling v0.21.3
[INFO] [stderr]     Checking bit-set v0.5.3
[INFO] [stderr]     Checking rustls-pemfile v1.0.4
[INFO] [stderr]    Compiling actix-router v0.5.4
[INFO] [stderr]     Checking clap_builder v4.6.0
[INFO] [stderr]    Compiling dsl_auto_type v0.2.0
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking toml_datetime v0.6.11
[INFO] [stderr]     Checking serde_spanned v0.6.9
[INFO] [stderr]     Checking hashbrown v0.16.1
[INFO] [stderr]     Checking postgres-protocol v0.6.12
[INFO] [stderr]     Checking phf_shared v0.13.1
[INFO] [stderr]     Checking regex v1.12.4
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]     Checking num v0.4.3
[INFO] [stderr]     Checking parking_lot_core v0.8.6
[INFO] [stderr]     Checking rstar v0.11.0
[INFO] [stderr]     Checking serial-unix v0.4.0
[INFO] [stderr]     Checking memoffset v0.6.5
[INFO] [stderr]     Checking itertools v0.11.0
[INFO] [stderr]    Compiling actix-web-codegen v4.3.0
[INFO] [stderr]     Checking uuid v1.23.4
[INFO] [stderr]     Checking mio v0.8.11
[INFO] [stderr]     Checking approx v0.5.1
[INFO] [stderr]     Checking derive_more v2.1.1
[INFO] [stderr]     Checking crossbeam-channel v0.5.15
[INFO] [stderr]     Checking nom v8.0.0
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]     Checking sharded-slab v0.1.7
[INFO] [stderr]    Compiling actix-macros v0.2.4
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling diesel_table_macro_syntax v0.3.0
[INFO] [stderr]     Checking thread_local v1.1.9
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]     Checking impl-more v0.3.1
[INFO] [stderr]     Checking bitflags v1.3.2
[INFO] [stderr]     Checking winnow v0.7.15
[INFO] [stderr]     Checking robust v1.2.0
[INFO] [stderr]     Checking toml_write v0.1.2
[INFO] [stderr]     Checking nu-ansi-term v0.50.3
[INFO] [stderr]     Checking webpki-roots v0.25.4
[INFO] [stderr]     Checking termcolor v1.4.1
[INFO] [stderr]     Checking sync_wrapper v0.1.2
[INFO] [stderr]    Compiling prometheus v0.12.0
[INFO] [stderr]     Checking iana-time-zone v0.1.65
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]     Checking spade v2.15.1
[INFO] [stderr]    Compiling strum_macros v0.25.3
[INFO] [stderr]     Checking chrono v0.4.45
[INFO] [stderr]     Checking earcutr v0.4.3
[INFO] [stderr]     Checking nix v0.25.1
[INFO] [stderr]     Checking signal-hook-mio v0.2.5
[INFO] [stderr]     Checking geo-types v0.7.19
[INFO] [stderr]     Checking fancy-regex v0.11.0
[INFO] [stderr]     Checking serial v0.4.0
[INFO] [stderr]     Checking parking_lot v0.11.2
[INFO] [stderr]     Checking postgres-types v0.2.14
[INFO] [stderr]     Checking clap v4.6.1
[INFO] [stderr]     Checking phf v0.13.1
[INFO] [stderr]     Checking rayon-core v1.13.0
[INFO] [stderr]     Checking fraction v0.13.1
[INFO] [stderr]     Checking toml_edit v0.22.27
[INFO] [stderr]     Checking whoami v2.1.2
[INFO] [stderr]     Checking filedescriptor v0.8.3
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking actix-rt v2.11.0
[INFO] [stderr]     Checking is-terminal v0.4.17
[INFO] [stderr]     Checking crossbeam-queue v0.3.12
[INFO] [stderr]     Checking geographiclib-rs v0.2.7
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling vte_generate_state_changes v0.1.2
[INFO] [stderr]     Checking bytecount v0.6.9
[INFO] [stderr]     Checking num-cmp v0.1.0
[INFO] [stderr]     Checking actix-server v2.6.0
[INFO] [stderr]     Checking float_next_after v1.0.0
[INFO] [stderr]     Checking humantime v2.3.0
[INFO] [stderr]     Checking arrayvec v0.7.7
[INFO] [stderr]     Checking downcast-rs v2.0.2
[INFO] [stderr]     Checking downcast-rs v1.2.1
[INFO] [stderr]     Checking symlink v0.1.0
[INFO] [stderr]     Checking h2 v0.3.27
[INFO] [stderr]     Checking actix-codec v0.5.2
[INFO] [stderr]     Checking fixedbitset v0.4.2
[INFO] [stderr]     Checking shell-words v1.1.1
[INFO] [stderr]     Checking unsafe-libyaml v0.2.11
[INFO] [stderr]     Checking petgraph v0.6.5
[INFO] [stderr]     Checking env_logger v0.10.2
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking vte v0.11.1
[INFO] [stderr]     Checking tracing-appender v0.2.5
[INFO] [stderr]     Checking tempfile v3.27.0
[INFO] [stderr]     Checking geo v0.27.0
[INFO] [stderr]     Checking crossbeam v0.8.4
[INFO] [stderr]     Checking tokio-postgres v0.7.18
[INFO] [stderr]     Checking rayon v1.12.0
[INFO] [stderr]     Checking strum v0.25.0
[INFO] [stderr]     Checking toml v0.8.23
[INFO] [stderr]     Checking serde_yaml v0.9.34+deprecated
[INFO] [stderr]     Checking crossterm v0.27.0
[INFO] [stderr]     Checking iso8601 v0.6.3
[INFO] [stderr]     Checking simplelog v0.12.2
[INFO] [stderr]     Checking sct v0.7.1
[INFO] [stderr]     Checking rustls-webpki v0.101.7
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking fern v0.6.2
[INFO] [stderr]     Checking libloading v0.8.9
[INFO] [stderr]     Checking shutil v0.1.2
[INFO] [stderr]     Checking diesel v2.3.10
[INFO] [stderr]     Checking portable-pty v0.8.1
[INFO] [stderr]     Checking zstd v0.13.3
[INFO] [stderr]     Checking tokio-rustls v0.24.1
[INFO] [stderr]     Checking hyper v0.14.32
[INFO] [stderr]     Checking actix-http v3.13.1
[INFO] [stderr]     Checking actix-web v4.14.0
[INFO] [stderr]     Checking hyper-tls v0.5.0
[INFO] [stderr]     Checking hyper-rustls v0.24.2
[INFO] [stderr]     Checking reqwest v0.11.27
[INFO] [stderr]     Checking jsonschema v0.17.1
[INFO] [stderr]     Checking actix-web-prom v0.6.0
[INFO] [stderr]     Checking boxmux v0.240.3373 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::model::common::ScreenBuffer`
[INFO] [stdout]    --> src/components/selection_styles.rs:556:9
[INFO] [stdout]     |
[INFO] [stdout] 556 |     use crate::model::common::ScreenBuffer;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Bounds` and `ScreenBuffer`
[INFO] [stdout]  --> src/components/event_system_tests.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 |     use crate::{Bounds, ScreenBuffer};
[INFO] [stdout]   |                 ^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::SystemTime`
[INFO] [stdout]  --> src/components/event_system_tests.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 |     use std::time::SystemTime;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TerminalCapture` and `VisualAssertions`
[INFO] [stdout]  --> src/tests/visual_testing/animation_testing.rs:4:50
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::tests::visual_testing::{BoxMuxTester, TerminalCapture, VisualAssertions};
[INFO] [stdout]   |                                                  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Message`
[INFO] [stdout]  --> src/tests/visual_testing/terminal_capture.rs:5:18
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::{App, Message};
[INFO] [stdout]   |                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> src/tests/visual_testing/terminal_capture.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::time::{Duration, Instant};
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TerminalCell`
[INFO] [stdout]  --> src/tests/visual_testing/visual_assertions.rs:4:31
[INFO] [stdout]   |
[INFO] [stdout] 4 | use super::terminal_capture::{TerminalCell, TerminalFrame};
[INFO] [stdout]   |                               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tests::test_utils::TestDataFactory`
[INFO] [stdout]  --> src/tests/visual_basic_box_tests.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 |     use crate::tests::test_utils::TestDataFactory;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TestConfig`
[INFO] [stdout]  --> src/tests/visual_basic_box_tests.rs:7:54
[INFO] [stdout]   |
[INFO] [stdout] 7 |     use crate::tests::visual_testing::{BoxMuxTester, TestConfig, VisualAssertions};
[INFO] [stdout]   |                                                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> src/tests/visual_basic_box_tests.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |     use std::time::Duration;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `VisualAssertions`
[INFO] [stdout]  --> src/tests/visual_animation_demo.rs:5:83
[INFO] [stdout]   |
[INFO] [stdout] 5 |         AnimationConfig, AnimationTesting, BoxMuxTester, DynamicContentSimulator, VisualAssertions,
[INFO] [stdout]   |                                                                                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StreamSource`
[INFO] [stdout]  --> src/tests/box_renderer_tests.rs:4:63
[INFO] [stdout]   |
[INFO] [stdout] 4 |     use crate::model::common::{Bounds, ExecutionMode, Stream, StreamSource, StreamType};
[INFO] [stdout]   |                                                               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BoxRenderer`
[INFO] [stdout]  --> src/tests/coordinate_translation_tests.rs:3:58
[INFO] [stdout]   |
[INFO] [stdout] 3 |     use crate::components::box_renderer::{BoxDimensions, BoxRenderer};
[INFO] [stdout]   |                                                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]  --> src/tests/variable_tests.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 |     use super::*;
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]  --> src/tests/plugin_dynamic_tests.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 |     use super::*;
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]  --> src/tests/table_tests.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 |     use super::*;
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::model::app::App`
[INFO] [stdout]  --> src/tests/table_tests.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 |     use crate::model::app::App;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppContext` and `Config`
[INFO] [stdout]  --> src/tests/table_tests.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 |     use crate::{AppContext, Config};
[INFO] [stdout]   |                 ^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `App`
[INFO] [stdout]  --> src/tests/layout_validation_tests.rs:3:49
[INFO] [stdout]   |
[INFO] [stdout] 3 |     use crate::model::app::{load_app_from_yaml, App};
[INFO] [stdout]   |                                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]  --> src/tests/auto_scroll_tests.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 |     use super::*;
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Anchor` and `InputBounds`
[INFO] [stdout]  --> src/tests/hotkey_tests.rs:8:32
[INFO] [stdout]   |
[INFO] [stdout] 8 |     use crate::model::common::{Anchor, InputBounds};
[INFO] [stdout]   |                                ^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::model::layout::Layout`
[INFO] [stdout]  --> src/tests/hotkey_tests.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 |     use crate::model::layout::Layout;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::model::muxbox::MuxBox`
[INFO] [stdout]   --> src/tests/hotkey_tests.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |     use crate::model::muxbox::MuxBox;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::model::layout::Layout`
[INFO] [stdout]  --> src/tests/mouse_click_tests.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |     use crate::model::layout::Layout;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::model::muxbox::MuxBox`
[INFO] [stdout]  --> src/tests/mouse_click_tests.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 |     use crate::model::muxbox::MuxBox;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]   --> src/tests/choice_click_bounds_tests.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |     use std::time::Duration;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TestConfig`
[INFO] [stdout]  --> src/tests/choice_execution_debug_test.rs:3:54
[INFO] [stdout]   |
[INFO] [stdout] 3 |     use crate::tests::visual_testing::{BoxMuxTester, TestConfig};
[INFO] [stdout]   |                                                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `KeyCode` and `KeyEvent`
[INFO] [stdout]  --> src/tests/choice_execution_debug_test.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 |         KeyCode, KeyEvent, KeyModifiers, MouseButton, MouseEvent, MouseEventKind,
[INFO] [stdout]   |         ^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/tests/choice_redirect_debug.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 |     use std::path::Path;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::model::app::AppContext`
[INFO] [stdout]  --> src/tests/pty_input_tests.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::model::app::AppContext;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::mpsc`
[INFO] [stdout]  --> src/tests/pty_resize_tests.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::mpsc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::AppContext`
[INFO] [stdout]  --> src/tests/pty_scrollback_tests.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::AppContext;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/tests/pty_scrollback_tests.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `WrappedChoice`
[INFO] [stdout]  --> src/tests/text_wrapping_tests.rs:3:72
[INFO] [stdout]   |
[INFO] [stdout] 3 |     use crate::draw_utils::{wrap_choices_to_width, wrap_text_to_width, WrappedChoice};
[INFO] [stdout]   |                                                                        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Message`
[INFO] [stdout]   --> src/tests/yaml_live_persistence_tests.rs:10:21
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::{Config, Message};
[INFO] [stdout]    |                     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ResizeEdge`
[INFO] [stdout]  --> src/tests/resize_100_percent_debug.rs:5:48
[INFO] [stdout]   |
[INFO] [stdout] 5 |     use crate::draw_loop::{detect_resize_edge, ResizeEdge};
[INFO] [stdout]   |                                                ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::model::app::AppContext`
[INFO] [stdout]  --> src/tests/terminal_compatibility_tests.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::model::app::AppContext;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::pty_manager::PtyManager`
[INFO] [stdout]  --> src/tests/terminal_compatibility_tests.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::pty_manager::PtyManager;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::process::Command`
[INFO] [stdout]   --> src/tests/terminal_compatibility_tests.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::process::Command;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]   --> src/tests/terminal_compatibility_tests.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::thread;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]   --> src/tests/terminal_compatibility_tests.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::time::Duration;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ResizeEdge`
[INFO] [stdout]  --> src/tests/terminal_100_width_reality_test.rs:5:48
[INFO] [stdout]   |
[INFO] [stdout] 5 |     use crate::draw_loop::{detect_resize_edge, ResizeEdge};
[INFO] [stdout]   |                                                ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::model::muxbox::MuxBox`
[INFO] [stdout]  --> src/tests/close_button_integration_test.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 |     use crate::model::muxbox::MuxBox;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `indexmap::IndexMap`
[INFO] [stdout]   --> src/tests/scrollable_tabs_tests.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |     use indexmap::IndexMap;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::model::muxbox::MuxBox`
[INFO] [stdout]  --> src/tests/unified_execution_architecture_tests.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 |     use crate::model::muxbox::MuxBox;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tests::test_utils::TestDataFactory`
[INFO] [stdout]  --> src/tests/unified_execution_architecture_tests.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 |     use crate::tests::test_utils::TestDataFactory;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::thread_manager::Message`
[INFO] [stdout]  --> src/tests/unified_execution_architecture_tests.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |     use crate::thread_manager::Message;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DirtyRegion`
[INFO] [stdout]  --> src/tests/performance_optimization_tests.rs:6:44
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::ansi_processor::{AnsiProcessor, DirtyRegion};
[INFO] [stdout]   |                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/input_loop.rs:1068:29
[INFO] [stdout]      |
[INFO] [stdout] 1068 | ...                   _ => continue, // Ignore other mouse events
[INFO] [stdout]      |                       ^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]     --> src/input_loop.rs:1068:29
[INFO] [stdout]      |
[INFO] [stdout] 1026 | ...                   MouseEventKind::ScrollUp => {
[INFO] [stdout]      |                       ------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1030 | ...                   MouseEventKind::ScrollDown => {
[INFO] [stdout]      |                       -------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1034 | ...                   MouseEventKind::ScrollLeft => {
[INFO] [stdout]      |                       -------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1038 | ...                   MouseEventKind::ScrollRight => {
[INFO] [stdout]      |                       --------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1068 | ...                   _ => continue, // Ignore other mouse events
[INFO] [stdout]      |                       ^ ...and 3 other patterns collectively make this unreachable
[INFO] [stdout]      = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `hover_start_time` is never read
[INFO] [stdout]   --> src/draw_loop.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 56 | struct HoverState {
[INFO] [stdout]    |        ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 60 |     hover_start_time: Option<std::time::SystemTime>, // When current hover started
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HoverState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `validate_against_schema_content` is never used
[INFO] [stdout]    --> src/validation.rs:319:8
[INFO] [stdout]     |
[INFO] [stdout] 133 | impl SchemaValidator {
[INFO] [stdout]     | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 319 |     fn validate_against_schema_content(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `updated_app_context`
[INFO] [stdout]     --> src/thread_manager.rs:2050:14
[INFO] [stdout]      |
[INFO] [stdout] 2050 |         let (updated_app_context, messages) = runnable.receive_updates();
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_updated_app_context`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `messages`
[INFO] [stdout]     --> src/thread_manager.rs:2062:13
[INFO] [stdout]      |
[INFO] [stdout] 2062 |         let messages = vec![Message::Start, Message::Pause, Message::Terminate];
[INFO] [stdout]      |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_messages`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `uuid1`
[INFO] [stdout]     --> src/thread_manager.rs:2171:13
[INFO] [stdout]      |
[INFO] [stdout] 2171 |         let uuid1 = manager.spawn_thread(runnable1);
[INFO] [stdout]      |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_uuid1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `uuid2`
[INFO] [stdout]     --> src/thread_manager.rs:2172:13
[INFO] [stdout]      |
[INFO] [stdout] 2172 |         let uuid2 = manager.spawn_thread(runnable2);
[INFO] [stdout]      |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_uuid2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `uuid1`
[INFO] [stdout]     --> src/thread_manager.rs:2214:13
[INFO] [stdout]      |
[INFO] [stdout] 2214 |         let uuid1 = manager.spawn_thread(runnable1);
[INFO] [stdout]      |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_uuid1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `uuid2`
[INFO] [stdout]     --> src/thread_manager.rs:2215:13
[INFO] [stdout]      |
[INFO] [stdout] 2215 |         let uuid2 = manager.spawn_thread(runnable2);
[INFO] [stdout]      |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_uuid2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `uuid`
[INFO] [stdout]     --> src/thread_manager.rs:2257:13
[INFO] [stdout]      |
[INFO] [stdout] 2257 |         let uuid = manager.spawn_thread(runnable);
[INFO] [stdout]      |             ^^^^ help: if this is intentional, prefix it with an underscore: `_uuid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `alt_content`
[INFO] [stdout]     --> src/ansi_processor.rs:3832:13
[INFO] [stdout]      |
[INFO] [stdout] 3832 |         let alt_content = processor.get_processed_text();
[INFO] [stdout]      |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_alt_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `restored_content`
[INFO] [stdout]     --> src/ansi_processor.rs:3839:13
[INFO] [stdout]      |
[INFO] [stdout] 3839 |         let restored_content = processor.get_processed_text();
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_restored_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `restored_lines`
[INFO] [stdout]     --> src/ansi_processor.rs:3907:13
[INFO] [stdout]      |
[INFO] [stdout] 3907 |         let restored_lines = processor.get_terminal_content_lines(false);
[INFO] [stdout]      |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_restored_lines`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dy`
[INFO] [stdout]    --> src/components/dimensions/mouse_dimensions.rs:523:18
[INFO] [stdout]     |
[INFO] [stdout] 523 |         let (dx, dy) = mouse_dims.calculate_scroll_to_visible(2, 5);
[INFO] [stdout]     |                  ^^ help: if this is intentional, prefix it with an underscore: `_dy`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dy`
[INFO] [stdout]    --> src/components/dimensions/mouse_dimensions.rs:527:18
[INFO] [stdout]     |
[INFO] [stdout] 527 |         let (dx, dy) = mouse_dims.calculate_scroll_to_visible(25, 5);
[INFO] [stdout]     |                  ^^ help: if this is intentional, prefix it with an underscore: `_dy`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/components/selection_styles.rs:634:13
[INFO] [stdout]     |
[INFO] [stdout] 634 |         let mut choice = Choice {
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fg`
[INFO] [stdout]    --> src/components/selection_styles.rs:748:14
[INFO] [stdout]     |
[INFO] [stdout] 748 |         let (fg, bg, text) = renderer.calculate_style_colors_and_text(
[INFO] [stdout]     |              ^^ help: if this is intentional, prefix it with an underscore: `_fg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bg`
[INFO] [stdout]    --> src/components/selection_styles.rs:748:18
[INFO] [stdout]     |
[INFO] [stdout] 748 |         let (fg, bg, text) = renderer.calculate_style_colors_and_text(
[INFO] [stdout]     |                  ^^ help: if this is intentional, prefix it with an underscore: `_bg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `text`
[INFO] [stdout]    --> src/components/selection_styles.rs:781:22
[INFO] [stdout]     |
[INFO] [stdout] 781 |         let (fg, bg, text) = renderer.calculate_style_colors_and_text(
[INFO] [stdout]     |                      ^^^^ help: if this is intentional, prefix it with an underscore: `_text`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/components/event_system_tests.rs:63:13
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let mut choices = vec![
[INFO] [stdout]    |             ----^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/components/event_system_tests.rs:147:13
[INFO] [stdout]     |
[INFO] [stdout] 147 |         let mut choices = vec![Choice {
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/components/event_system_tests.rs:186:13
[INFO] [stdout]     |
[INFO] [stdout] 186 |         let mut choices = vec![Choice {
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/components/event_system_tests.rs:409:13
[INFO] [stdout]     |
[INFO] [stdout] 409 |         let mut choices = vec![Choice {
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/input_loop.rs:1068:29
[INFO] [stdout]      |
[INFO] [stdout] 1068 | ...                   _ => continue, // Ignore other mouse events
[INFO] [stdout]      |                       ^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]     --> src/input_loop.rs:1068:29
[INFO] [stdout]      |
[INFO] [stdout] 1026 | ...                   MouseEventKind::ScrollUp => {
[INFO] [stdout]      |                       ------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1030 | ...                   MouseEventKind::ScrollDown => {
[INFO] [stdout]      |                       -------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1034 | ...                   MouseEventKind::ScrollLeft => {
[INFO] [stdout]      |                       -------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1038 | ...                   MouseEventKind::ScrollRight => {
[INFO] [stdout]      |                       --------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1068 | ...                   _ => continue, // Ignore other mouse events
[INFO] [stdout]      |                       ^ ...and 3 other patterns collectively make this unreachable
[INFO] [stdout]      = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tests/debug_coord_test.rs:56:13
[INFO] [stdout]    |
[INFO] [stdout] 56 |         let mut box_renderer = BoxRenderer::new(&muxbox, "debug_renderer".to_string());
[INFO] [stdout]    |             ----^^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tx`
[INFO] [stdout]    --> src/tests/test_utils.rs:428:14
[INFO] [stdout]     |
[INFO] [stdout] 428 |         let (tx, rx) = std::sync::mpsc::channel();
[INFO] [stdout]     |              ^^ help: if this is intentional, prefix it with an underscore: `_tx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timeout`
[INFO] [stdout]    --> src/tests/visual_testing/boxmux_tester.rs:352:9
[INFO] [stdout]     |
[INFO] [stdout] 352 |         timeout: Duration,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeout`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]    --> src/tests/visual_testing/boxmux_tester.rs:413:14
[INFO] [stdout]     |
[INFO] [stdout] 413 |         for (y, (row1, row2)) in frame1.buffer.iter().zip(frame2.buffer.iter()).enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/tests/visual_testing/boxmux_tester.rs:414:18
[INFO] [stdout]     |
[INFO] [stdout] 414 |             for (x, (cell1, cell2)) in row1.iter().zip(row2.iter()).enumerate() {
[INFO] [stdout]     |                  ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `muxbox`
[INFO] [stdout]    --> src/tests/visual_testing/terminal_capture.rs:193:9
[INFO] [stdout]     |
[INFO] [stdout] 193 |         muxbox: &crate::model::muxbox::MuxBox,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_muxbox`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app`
[INFO] [stdout]    --> src/tests/visual_testing/terminal_capture.rs:325:77
[INFO] [stdout]     |
[INFO] [stdout] 325 |     fn extract_muxbox_content(&self, muxbox: &crate::model::muxbox::MuxBox, app: &App) -> String {
[INFO] [stdout]     |                                                                             ^^^ help: if this is intentional, prefix it with an underscore: `_app`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app`
[INFO] [stdout]    --> src/tests/visual_testing/terminal_capture.rs:379:39
[INFO] [stdout]     |
[INFO] [stdout] 379 |     fn extract_cursor_position(&self, app: &App) -> (u16, u16) {
[INFO] [stdout]     |                                       ^^^ help: if this is intentional, prefix it with an underscore: `_app`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app`
[INFO] [stdout]    --> src/tests/visual_testing/terminal_capture.rs:386:41
[INFO] [stdout]     |
[INFO] [stdout] 386 |     fn extract_cursor_visibility(&self, app: &App) -> bool {
[INFO] [stdout]     |                                         ^^^ help: if this is intentional, prefix it with an underscore: `_app`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]    --> src/tests/visual_testing/visual_assertions.rs:311:14
[INFO] [stdout]     |
[INFO] [stdout] 311 |         for (y, row) in self.buffer.iter().enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tests/visual_demo_test.rs:67:13
[INFO] [stdout]    |
[INFO] [stdout] 67 |         let mut tester = BoxMuxTester::new();
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `smoothness_result`
[INFO] [stdout]    --> src/tests/visual_animation_demo.rs:133:13
[INFO] [stdout]     |
[INFO] [stdout] 133 |         let smoothness_result = tester.assert_animation_smooth(&capture, 0.1);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_smoothness_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tests/box_renderer_tests.rs:18:13
[INFO] [stdout]    |
[INFO] [stdout] 18 |         let mut renderer = BoxRenderer::new(&muxbox, "test_renderer".to_string());
[INFO] [stdout]    |             ----^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `renderer`
[INFO] [stdout]   --> src/tests/box_renderer_tests.rs:18:13
[INFO] [stdout]    |
[INFO] [stdout] 18 |         let mut renderer = BoxRenderer::new(&muxbox, "test_renderer".to_string());
[INFO] [stdout]    |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_renderer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tests/box_renderer_tests.rs:89:13
[INFO] [stdout]    |
[INFO] [stdout] 89 |         let mut stream = Stream::new(
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tests/box_renderer_tests.rs:183:13
[INFO] [stdout]     |
[INFO] [stdout] 183 |         let mut stream = Stream::new(
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tests/box_renderer_tests.rs:264:13
[INFO] [stdout]     |
[INFO] [stdout] 264 |         let mut renderer = BoxRenderer::new(&muxbox, "state_renderer".to_string());
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `renderer`
[INFO] [stdout]    --> src/tests/box_renderer_tests.rs:264:13
[INFO] [stdout]     |
[INFO] [stdout] 264 |         let mut renderer = BoxRenderer::new(&muxbox, "state_renderer".to_string());
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_renderer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tests/box_renderer_tests.rs:334:13
[INFO] [stdout]     |
[INFO] [stdout] 334 |         let mut stream = Stream::new(
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tests/integration_tests.rs:299:13
[INFO] [stdout]     |
[INFO] [stdout] 299 |         let mut app = TestDataFactory::create_test_app();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `original_muxbox_count`
[INFO] [stdout]    --> src/tests/integration_tests.rs:300:13
[INFO] [stdout]     |
[INFO] [stdout] 300 |         let original_muxbox_count = app.layouts[0].children.as_ref().unwrap().len();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_original_muxbox_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]    --> src/tests/edge_case_tests.rs:127:17
[INFO] [stdout]     |
[INFO] [stdout] 127 |             let result = handle_keypress(key, &key_mappings);
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]    --> src/tests/edge_case_tests.rs:137:13
[INFO] [stdout]     |
[INFO] [stdout] 137 |         let result = run_script(None, &vec![]);
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]    --> src/tests/edge_case_tests.rs:142:13
[INFO] [stdout]     |
[INFO] [stdout] 142 |         let result = run_script(None, &empty_commands);
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]    --> src/tests/edge_case_tests.rs:147:13
[INFO] [stdout]     |
[INFO] [stdout] 147 |         let result = run_script(None, &vec![long_command]);
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tests/edge_case_tests.rs:234:13
[INFO] [stdout]     |
[INFO] [stdout] 234 |         let mut layout = TestDataFactory::create_test_layout("circular", None);
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layout`
[INFO] [stdout]    --> src/tests/edge_case_tests.rs:234:13
[INFO] [stdout]     |
[INFO] [stdout] 234 |         let mut layout = TestDataFactory::create_test_layout("circular", None);
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_layout`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `graph`
[INFO] [stdout]    --> src/tests/edge_case_tests.rs:249:13
[INFO] [stdout]     |
[INFO] [stdout] 249 |         let graph = problematic_app.generate_graph();
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_graph`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]    --> src/tests/edge_case_tests.rs:360:13
[INFO] [stdout]     |
[INFO] [stdout] 360 |         let result = handle_keypress("ctrl+ñ", &unicode_mappings);
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tests/execution_mode_schema_validation_tests.rs:100:13
[INFO] [stdout]     |
[INFO] [stdout] 100 |         let mut temp_file = NamedTempFile::new().expect("Failed to create temp file");
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tests/execution_mode_schema_validation_tests.rs:121:13
[INFO] [stdout]     |
[INFO] [stdout] 121 |         let mut temp_file = NamedTempFile::new().expect("Failed to create temp file");
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tests/execution_mode_schema_validation_tests.rs:142:13
[INFO] [stdout]     |
[INFO] [stdout] 142 |         let mut temp_file = NamedTempFile::new().expect("Failed to create temp file");
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tests/execution_mode_schema_validation_tests.rs:173:13
[INFO] [stdout]     |
[INFO] [stdout] 173 |         let mut temp_file = NamedTempFile::new().expect("Failed to create temp file");
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tests/execution_mode_schema_validation_tests.rs:196:13
[INFO] [stdout]     |
[INFO] [stdout] 196 |         let mut temp_file = NamedTempFile::new().expect("Failed to create temp file");
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tests/execution_mode_schema_validation_tests.rs:218:13
[INFO] [stdout]     |
[INFO] [stdout] 218 |         let mut temp_file = NamedTempFile::new().expect("Failed to create temp file");
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tests/execution_mode_schema_validation_tests.rs:239:13
[INFO] [stdout]     |
[INFO] [stdout] 239 |         let mut temp_file = NamedTempFile::new().expect("Failed to create temp file");
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tests/execution_mode_schema_validation_tests.rs:262:13
[INFO] [stdout]     |
[INFO] [stdout] 262 |         let mut temp_file = NamedTempFile::new().expect("Failed to create temp file");
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tests/execution_mode_schema_validation_tests.rs:329:13
[INFO] [stdout]     |
[INFO] [stdout] 329 |         let mut temp_file = NamedTempFile::new().expect("Failed to create temp file");
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tests/execution_mode_schema_validation_tests.rs:358:13
[INFO] [stdout]     |
[INFO] [stdout] 358 |         let mut temp_file = NamedTempFile::new().expect("Failed to create temp file");
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tests/execution_mode_schema_validation_tests.rs:392:13
[INFO] [stdout]     |
[INFO] [stdout] 392 |         let mut temp_file = NamedTempFile::new().expect("Failed to create temp file");
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tests/execution_mode_schema_validation_tests.rs:434:13
[INFO] [stdout]     |
[INFO] [stdout] 434 |         let mut temp_file = NamedTempFile::new().expect("Failed to create temp file");
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tests/execution_mode_schema_validation_tests.rs:468:13
[INFO] [stdout]     |
[INFO] [stdout] 468 |         let mut temp_file = NamedTempFile::new().expect("Failed to create temp file");
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tests/integration_yaml_tests.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |         let mut temp_file = NamedTempFile::new().expect("Failed to create temp file");
[INFO] [stdout]    |             ----^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tests/integration_yaml_tests.rs:70:13
[INFO] [stdout]    |
[INFO] [stdout] 70 |         let mut temp_file = NamedTempFile::new().expect("Failed to create temp file");
[INFO] [stdout]    |             ----^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tests/integration_yaml_tests.rs:98:13
[INFO] [stdout]    |
[INFO] [stdout] 98 |         let mut temp_file = NamedTempFile::new().expect("Failed to create temp file");
[INFO] [stdout]    |             ----^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tests/integration_yaml_tests.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |         let mut temp_file = NamedTempFile::new().expect("Failed to create temp file");
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tests/integration_yaml_tests.rs:157:13
[INFO] [stdout]     |
[INFO] [stdout] 157 |         let mut temp_file = NamedTempFile::new().expect("Failed to create temp file");
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tests/integration_yaml_tests.rs:202:13
[INFO] [stdout]     |
[INFO] [stdout] 202 |         let mut temp_file = NamedTempFile::new().expect("Failed to create temp file");
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tests/plugin_dynamic_tests.rs:329:13
[INFO] [stdout]     |
[INFO] [stdout] 329 |         let mut registry = PluginRegistry::new();
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tests/mouse_click_tests.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let mut muxbox1 = TestDataFactory::create_test_muxbox("muxbox1");
[INFO] [stdout]    |             ----^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tests/mouse_click_tests.rs:61:13
[INFO] [stdout]    |
[INFO] [stdout] 61 |         let mut muxbox2 = TestDataFactory::create_test_muxbox("muxbox2");
[INFO] [stdout]    |             ----^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `found_muxbox`
[INFO] [stdout]   --> src/tests/mouse_click_tests.rs:71:13
[INFO] [stdout]    |
[INFO] [stdout] 71 |         let found_muxbox = layout.find_muxbox_at_coordinates(50, 25);
[INFO] [stdout]    |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_found_muxbox`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `not_found`
[INFO] [stdout]   --> src/tests/mouse_click_tests.rs:74:13
[INFO] [stdout]    |
[INFO] [stdout] 74 |         let not_found = layout.find_muxbox_at_coordinates(1000, 1000);
[INFO] [stdout]    |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_not_found`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tests/coordinate_system_validation.rs:105:13
[INFO] [stdout]     |
[INFO] [stdout] 105 |         let mut unscrolled_muxbox = MuxBox::default();
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `after_focus_frame`
[INFO] [stdout]   --> src/tests/choice_execution_debug_test.rs:59:13
[INFO] [stdout]    |
[INFO] [stdout] 59 |         let after_focus_frame = tester
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_after_focus_frame`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `box_title`
[INFO] [stdout]    --> src/tests/choice_execution_debug_test.rs:272:9
[INFO] [stdout]     |
[INFO] [stdout] 272 |         box_title: &str,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_box_title`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]    --> src/tests/tab_bar_component_tests.rs:152:13
[INFO] [stdout]     |
[INFO] [stdout] 152 |         let result = TabBar::calculate_tab_click_index(
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `no_close_result`
[INFO] [stdout]    --> src/tests/tab_bar_component_tests.rs:280:13
[INFO] [stdout]     |
[INFO] [stdout] 280 |         let no_close_result = TabBar::calculate_tab_close_click(
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_no_close_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tests/pty_scrollback_tests.rs:19:13
[INFO] [stdout]    |
[INFO] [stdout] 19 |         let mut muxbox = create_test_pty_muxbox();
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tests/z_index_tests.rs:81:13
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let mut layout = Layout {
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tests/z_index_tests.rs:112:13
[INFO] [stdout]     |
[INFO] [stdout] 112 |         let mut layout = Layout {
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tests/muxbox_resize_tests.rs:113:13
[INFO] [stdout]     |
[INFO] [stdout] 113 |         let mut temp_file = NamedTempFile::new().expect("Failed to create temp file");
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tests/yaml_live_persistence_tests.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let mut temp_file = NamedTempFile::new().expect("Failed to create temp file");
[INFO] [stdout]    |         ----^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tests/yaml_live_persistence_tests.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |     let mut temp_file = NamedTempFile::new().expect("Failed to create temp file");
[INFO] [stdout]    |         ----^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tests/yaml_live_persistence_tests.rs:166:9
[INFO] [stdout]     |
[INFO] [stdout] 166 |     let mut temp_file = NamedTempFile::new().expect("Failed to create temp file");
[INFO] [stdout]     |         ----^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tests/yaml_live_persistence_tests.rs:229:9
[INFO] [stdout]     |
[INFO] [stdout] 229 |     let mut temp_file = NamedTempFile::new().expect("Failed to create temp file");
[INFO] [stdout]     |         ----^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tests/yaml_live_persistence_tests.rs:321:9
[INFO] [stdout]     |
[INFO] [stdout] 321 |     let mut temp_file = NamedTempFile::new().expect("Failed to create temp file");
[INFO] [stdout]     |         ----^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tests/yaml_live_persistence_tests.rs:359:9
[INFO] [stdout]     |
[INFO] [stdout] 359 |     let mut temp_file = NamedTempFile::new().expect("Failed to create temp file");
[INFO] [stdout]     |         ----^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tests/pty_box_resize_integration_tests.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 |         let mut muxbox = MuxBox {
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `initial_bounds`
[INFO] [stdout]   --> src/tests/pty_box_resize_integration_tests.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |         let initial_bounds = Bounds::new(0, 0, 79, 23);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_initial_bounds`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `initial_cols`
[INFO] [stdout]   --> src/tests/pty_box_resize_integration_tests.rs:39:14
[INFO] [stdout]    |
[INFO] [stdout] 39 |         let (initial_cols, initial_rows) = (80u16, 24u16);
[INFO] [stdout]    |              ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_initial_cols`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `initial_rows`
[INFO] [stdout]   --> src/tests/pty_box_resize_integration_tests.rs:39:28
[INFO] [stdout]    |
[INFO] [stdout] 39 |         let (initial_cols, initial_rows) = (80u16, 24u16);
[INFO] [stdout]    |                            ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_initial_rows`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `original_content`
[INFO] [stdout]    --> src/tests/pty_box_resize_integration_tests.rs:182:13
[INFO] [stdout]     |
[INFO] [stdout] 182 |         let original_content = processor.get_processed_text();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_original_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tests/periodic_source_stability_tests.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |     let mut muxbox = MuxBox {
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tests/periodic_source_stability_tests.rs:65:9
[INFO] [stdout]    |
[INFO] [stdout] 65 |     let mut muxbox1 = MuxBox {
[INFO] [stdout]    |         ----^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tests/periodic_source_stability_tests.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |     let mut muxbox2 = MuxBox {
[INFO] [stdout]    |         ----^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tests/periodic_source_stability_tests.rs:114:9
[INFO] [stdout]     |
[INFO] [stdout] 114 |     let mut muxbox = MuxBox {
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `after_click_frame`
[INFO] [stdout]   --> src/tests/interactive_visual_tests.rs:61:13
[INFO] [stdout]    |
[INFO] [stdout] 61 |         let after_click_frame = tester
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_after_click_frame`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `after_down_frame`
[INFO] [stdout]    --> src/tests/interactive_visual_tests.rs:106:13
[INFO] [stdout]     |
[INFO] [stdout] 106 |         let after_down_frame = tester.wait_for_frame().expect("Failed to capture frame");
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_after_down_frame`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `after_up_frame`
[INFO] [stdout]    --> src/tests/interactive_visual_tests.rs:111:13
[INFO] [stdout]     |
[INFO] [stdout] 111 |         let after_up_frame = tester.wait_for_frame().expect("Failed to capture frame");
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_after_up_frame`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `after_tab_frame`
[INFO] [stdout]    --> src/tests/interactive_visual_tests.rs:117:13
[INFO] [stdout]     |
[INFO] [stdout] 117 |         let after_tab_frame = tester.wait_for_frame().expect("Failed to capture frame");
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_after_tab_frame`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_test_app_context` is never used
[INFO] [stdout]     --> src/model/muxbox.rs:3438:8
[INFO] [stdout]      |
[INFO] [stdout] 3438 |     fn create_test_app_context() -> AppContext {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `hover_start_time` is never read
[INFO] [stdout]   --> src/draw_loop.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 56 | struct HoverState {
[INFO] [stdout]    |        ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 60 |     hover_start_time: Option<std::time::SystemTime>, // When current hover started
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HoverState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_test_pty_muxbox` is never used
[INFO] [stdout]    --> src/tests/terminal_compatibility_tests.rs:270:8
[INFO] [stdout]     |
[INFO] [stdout] 270 |     fn create_test_pty_muxbox() -> MuxBox {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> src/components/progress_bar.rs:681:17
[INFO] [stdout]     |
[INFO] [stdout] 681 |         assert!(elapsed.as_millis() >= 0);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stdout]   --> src/tests/choice_execution_debug_test.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |         drop(initial_frame); // Release the frame reference
[INFO] [stdout]    |         ^^^^^-------------^
[INFO] [stdout]    |              |
[INFO] [stdout]    |              argument has type `&TerminalFrame`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dropping_references)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]    |
[INFO] [stdout] 26 -         drop(initial_frame); // Release the frame reference
[INFO] [stdout] 26 +         let _ = initial_frame; // Release the frame reference
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stdout]   --> src/tests/choice_execution_debug_test.rs:89:9
[INFO] [stdout]    |
[INFO] [stdout] 89 |         drop(after_external_frame);
[INFO] [stdout]    |         ^^^^^--------------------^
[INFO] [stdout]    |              |
[INFO] [stdout]    |              argument has type `&TerminalFrame`
[INFO] [stdout]    |
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]    |
[INFO] [stdout] 89 -         drop(after_external_frame);
[INFO] [stdout] 89 +         let _ = after_external_frame;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stdout]    --> src/tests/choice_execution_debug_test.rs:147:9
[INFO] [stdout]     |
[INFO] [stdout] 147 |         drop(after_deploy_frame);
[INFO] [stdout]     |         ^^^^^------------------^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              argument has type `&TerminalFrame`
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 147 -         drop(after_deploy_frame);
[INFO] [stdout] 147 +         let _ = after_deploy_frame;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stdout]    --> src/tests/choice_execution_debug_test.rs:179:9
[INFO] [stdout]     |
[INFO] [stdout] 179 |         drop(after_monitor_frame);
[INFO] [stdout]     |         ^^^^^-------------------^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              argument has type `&TerminalFrame`
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 179 -         drop(after_monitor_frame);
[INFO] [stdout] 179 +         let _ = after_monitor_frame;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stdout]    --> src/tests/choice_execution_debug_test.rs:211:9
[INFO] [stdout]     |
[INFO] [stdout] 211 |         drop(after_pty_frame);
[INFO] [stdout]     |         ^^^^^---------------^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              argument has type `&TerminalFrame`
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 211 -         drop(after_pty_frame);
[INFO] [stdout] 211 +         let _ = after_pty_frame;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]   --> src/tests/ansi_processor_tests.rs:71:17
[INFO] [stdout]    |
[INFO] [stdout] 71 |         assert!(processor.get_cursor_x() >= 0);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> src/tests/tab_bar_component_tests.rs:179:21
[INFO] [stdout]     |
[INFO] [stdout] 179 |             assert!(tab_index >= 0, "Tab index should be non-negative");
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]   --> src/tests/muxbox_bounds_clipping_tests.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |         calculated_bounds.x1 >= 0,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]   --> src/tests/muxbox_bounds_clipping_tests.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |         calculated_bounds.y1 >= 0,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> src/tests/muxbox_bounds_clipping_tests.rs:143:9
[INFO] [stdout]     |
[INFO] [stdout] 143 |         calculated_bounds.x1 >= 0,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> src/tests/muxbox_bounds_clipping_tests.rs:147:9
[INFO] [stdout]     |
[INFO] [stdout] 147 |         calculated_bounds.y1 >= 0,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> src/tests/muxbox_bounds_clipping_tests.rs:232:9
[INFO] [stdout]     |
[INFO] [stdout] 232 |         muxbox_width >= 0,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> src/tests/muxbox_bounds_clipping_tests.rs:236:9
[INFO] [stdout]     |
[INFO] [stdout] 236 |         muxbox_height >= 0,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> src/tests/muxbox_bounds_clipping_tests.rs:450:13
[INFO] [stdout]     |
[INFO] [stdout] 450 |             calculated_bounds.x1 >= 0,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> src/tests/muxbox_bounds_clipping_tests.rs:456:13
[INFO] [stdout]     |
[INFO] [stdout] 456 |             calculated_bounds.y1 >= 0,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 57s
[INFO] running `Command { std: "docker" "inspect" "a31ff1831e13995cd3aa77c412238317f0203799aedabf4aca90f94ba7efbc0c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a31ff1831e13995cd3aa77c412238317f0203799aedabf4aca90f94ba7efbc0c", kill_on_drop: false }`
[INFO] [stdout] a31ff1831e13995cd3aa77c412238317f0203799aedabf4aca90f94ba7efbc0c
