[INFO] cloning repository https://github.com/Hackbotics/Daybreak
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Hackbotics/Daybreak" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FHackbotics%2FDaybreak", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FHackbotics%2FDaybreak'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 07748c2642e84dbe2c60e9945e86ba224e4e813b
[INFO] checking Hackbotics/Daybreak against master#6eda7419e71fdbc1185ed5be7e6bff1a474ab5cd for pr-153721
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FHackbotics%2FDaybreak" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Hackbotics/Daybreak
[INFO] finished tweaking git repo https://github.com/Hackbotics/Daybreak
[INFO] tweaked toml for git repo https://github.com/Hackbotics/Daybreak written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Hackbotics/Daybreak on toolchain 6eda7419e71fdbc1185ed5be7e6bff1a474ab5cd
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+6eda7419e71fdbc1185ed5be7e6bff1a474ab5cd" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Hackbotics/Daybreak 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" "+6eda7419e71fdbc1185ed5be7e6bff1a474ab5cd" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded termion v4.0.3
[INFO] [stderr]   Downloaded redox_syscall v0.5.7
[INFO] [stderr]   Downloaded redox_termios v0.1.3
[INFO] [stderr]   Downloaded instability v0.3.2
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.95
[INFO] [stderr]   Downloaded fastrand v2.1.1
[INFO] [stderr]   Downloaded indoc v2.0.5
[INFO] [stderr]   Downloaded protoc v2.28.0
[INFO] [stderr]   Downloaded protoc-rust v2.28.0
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.95
[INFO] [stderr]   Downloaded protobuf-support v3.7.1
[INFO] [stderr]   Downloaded signal-hook-mio v0.2.4
[INFO] [stderr]   Downloaded thiserror-impl v1.0.65
[INFO] [stderr]   Downloaded wasm-bindgen-backend v0.2.95
[INFO] [stderr]   Downloaded thiserror v1.0.65
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.95
[INFO] [stderr]   Downloaded unicode-ident v1.0.13
[INFO] [stderr]   Downloaded foldhash v0.1.3
[INFO] [stderr]   Downloaded tempfile v3.13.0
[INFO] [stderr]   Downloaded protobuf-codegen v2.28.0
[INFO] [stderr]   Downloaded anyhow v1.0.91
[INFO] [stderr]   Downloaded ssh2 v0.9.4
[INFO] [stderr]   Downloaded rustversion v1.0.18
[INFO] [stderr]   Downloaded uuid v1.11.0
[INFO] [stderr]   Downloaded gilrs-core v0.6.0
[INFO] [stderr]   Downloaded mach2 v0.4.2
[INFO] [stderr]   Downloaded js-sys v0.3.72
[INFO] [stderr]   Downloaded allocator-api2 v0.2.19
[INFO] [stderr]   Downloaded protobuf-codegen v3.7.1
[INFO] [stderr]   Downloaded protobuf-parse v3.7.1
[INFO] [stderr]   Downloaded compact_str v0.8.0
[INFO] [stderr]   Downloaded cc v1.1.31
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.95
[INFO] [stderr]   Downloaded indexmap v2.6.0
[INFO] [stderr]   Downloaded gilrs v0.11.0
[INFO] [stderr]   Downloaded hashbrown v0.15.0
[INFO] [stderr]   Downloaded protobuf v2.28.0
[INFO] [stderr]   Downloaded numtoa v0.2.4
[INFO] [stderr]   Downloaded protobuf v3.7.1
[INFO] [stderr]   Downloaded syn v2.0.85
[INFO] [stderr]   Downloaded rustix v0.38.38
[INFO] [stderr]   Downloaded libc v0.2.161
[INFO] [stderr]   Downloaded ratatui v0.29.0
[INFO] [stderr]   Downloaded libssh2-sys v0.3.0
[INFO] [stderr]   Downloaded regex-automata v0.4.8
[INFO] [stderr]   Downloaded web-sys v0.3.72
[INFO] [stderr]   Downloaded libz-sys v1.1.20
[INFO] [stderr]   Downloaded proc-macro2 v1.0.89
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/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:3e793bdf10248eb2ddbd6b0faebed8155c11b4589982e2893733958d93e8d540" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] bdad607c3bcb5381684e130a0b0bd74f50c72ca3084405aa94a12202854bafad
[INFO] running `Command { std: "docker" "start" "bdad607c3bcb5381684e130a0b0bd74f50c72ca3084405aa94a12202854bafad", 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" "bdad607c3bcb5381684e130a0b0bd74f50c72ca3084405aa94a12202854bafad" "/opt/rustwide/cargo-home/bin/cargo" "+6eda7419e71fdbc1185ed5be7e6bff1a474ab5cd" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bdad607c3bcb5381684e130a0b0bd74f50c72ca3084405aa94a12202854bafad", 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" "bdad607c3bcb5381684e130a0b0bd74f50c72ca3084405aa94a12202854bafad" "/opt/rustwide/cargo-home/bin/cargo" "+6eda7419e71fdbc1185ed5be7e6bff1a474ab5cd" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.161
[INFO] [stderr]    Compiling proc-macro2 v1.0.89
[INFO] [stderr]    Compiling unicode-ident v1.0.13
[INFO] [stderr]    Compiling once_cell v1.20.2
[INFO] [stderr]    Compiling thiserror v1.0.65
[INFO] [stderr]    Compiling rustix v0.38.38
[INFO] [stderr]    Compiling bitflags v2.6.0
[INFO] [stderr]    Compiling linux-raw-sys v0.4.14
[INFO] [stderr]    Compiling crunchy v0.2.2
[INFO] [stderr]    Compiling cc v1.1.31
[INFO] [stderr]     Checking smallvec v1.13.2
[INFO] [stderr]    Compiling home v0.5.9
[INFO] [stderr]    Compiling rustversion v1.0.18
[INFO] [stderr]    Compiling either v1.13.0
[INFO] [stderr]    Compiling protobuf v3.7.1
[INFO] [stderr]     Checking log v0.4.22
[INFO] [stderr]    Compiling protobuf v2.28.0
[INFO] [stderr]    Compiling fastrand v2.1.1
[INFO] [stderr]    Compiling anyhow v1.0.91
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]    Compiling equivalent v1.0.1
[INFO] [stderr]    Compiling hashbrown v0.15.0
[INFO] [stderr]    Compiling cfg_aliases v0.2.1
[INFO] [stderr]    Compiling regex-automata v0.4.8
[INFO] [stderr]    Compiling libudev-sys v0.1.4
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]     Checking allocator-api2 v0.2.19
[INFO] [stderr]     Checking foldhash v0.1.3
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]    Compiling quote v1.0.37
[INFO] [stderr]     Checking unicode-width v0.1.14
[INFO] [stderr]     Checking uuid v1.11.0
[INFO] [stderr]    Compiling indexmap v2.6.0
[INFO] [stderr]     Checking castaway v0.2.3
[INFO] [stderr]    Compiling syn v2.0.85
[INFO] [stderr]     Checking itoa v1.0.11
[INFO] [stderr]     Checking vec_map v0.8.2
[INFO] [stderr]    Compiling gilrs v0.11.0
[INFO] [stderr]     Checking numtoa v0.2.4
[INFO] [stderr]     Checking unicode-width v0.2.0
[INFO] [stderr]     Checking compact_str v0.8.0
[INFO] [stderr]     Checking cassowary v0.3.0
[INFO] [stderr]    Compiling indoc v2.0.5
[INFO] [stderr]     Checking linked-hash-map v0.5.6
[INFO] [stderr]    Compiling getrandom v0.2.15
[INFO] [stderr]    Compiling libz-sys v1.1.20
[INFO] [stderr]    Compiling openssl-sys v0.9.104
[INFO] [stderr]    Compiling libssh2-sys v0.3.0
[INFO] [stderr]    Compiling const-random-macro v0.1.16
[INFO] [stderr]     Checking signal-hook-registry v1.4.2
[INFO] [stderr]     Checking mio v1.0.2
[INFO] [stderr]     Checking inotify-sys v0.1.5
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]     Checking parking_lot_core v0.8.6
[INFO] [stderr]     Checking lru v0.12.5
[INFO] [stderr]     Checking signal-hook v0.3.17
[INFO] [stderr]     Checking termion v4.0.3
[INFO] [stderr]     Checking inotify v0.11.0
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]     Checking const-random v0.1.18
[INFO] [stderr]     Checking dlv-list v0.5.2
[INFO] [stderr]     Checking parking_lot v0.11.2
[INFO] [stderr]     Checking signal-hook-mio v0.2.4
[INFO] [stderr]     Checking ordered-multimap v0.7.3
[INFO] [stderr]     Checking crossterm v0.28.1
[INFO] [stderr]     Checking gilrs-core v0.6.0
[INFO] [stderr]     Checking unicode-truncate v1.1.0
[INFO] [stderr]     Checking rust-ini v0.21.1
[INFO] [stderr]    Compiling which v4.4.2
[INFO] [stderr]    Compiling tempfile v3.13.0
[INFO] [stderr]    Compiling protoc v2.28.0
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling protobuf-codegen v2.28.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.65
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling instability v0.3.2
[INFO] [stderr]    Compiling protoc-rust v2.28.0
[INFO] [stderr]    Compiling protobuf-support v3.7.1
[INFO] [stderr]     Checking ssh2 v0.9.4
[INFO] [stderr]     Checking strum v0.26.3
[INFO] [stderr]     Checking ratatui v0.29.0
[INFO] [stderr]    Compiling protobuf-parse v3.7.1
[INFO] [stderr]    Compiling protobuf-codegen v3.7.1
[INFO] [stderr]    Compiling daybreak v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `borrow::BorrowMut` and `collections::LinkedList`
[INFO] [stdout]  --> src/daemon.rs:2:15
[INFO] [stdout]   |
[INFO] [stdout] 2 |     use std::{borrow::BorrowMut, collections::LinkedList, fs, io::{Read, Write}, os::unix::net::{UnixListener, UnixStream}, path::Pat...
[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: `Mode`, `RunMode`, and `daemon::daemonhandler`
[INFO] [stdout]  --> src/daemon.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 |     use crate::{daemon::daemonhandler, robot::robotmanager::{run_mode::{Mode, RunMode}, Robot}};
[INFO] [stdout]   |                 ^^^^^^^^^^^^^^^^^^^^^                                   ^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EnumOrUnknown` and `SpecialFields`
[INFO] [stdout]  --> src/daemon.rs:4:20
[INFO] [stdout]   |
[INFO] [stdout] 4 |     use protobuf::{EnumOrUnknown, SpecialFields};
[INFO] [stdout]   |                    ^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `collections::LinkedList`
[INFO] [stdout]  --> src/robot.rs:2:15
[INFO] [stdout]   |
[INFO] [stdout] 2 |     use std::{collections::LinkedList, fs, io::{Read, Write}, net::{SocketAddr, TcpStream}, os::unix::net::UnixListener, str::FromStr...
[INFO] [stdout]   |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Param`
[INFO] [stdout]  --> src/robot.rs:4:27
[INFO] [stdout]   |
[INFO] [stdout] 4 |     use device::{DevData, Param};
[INFO] [stdout]   |                           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Source`
[INFO] [stdout]  --> src/robot.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 |     use input::{Input, Source, UserInputs};
[INFO] [stdout]   |                        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::daemon`
[INFO] [stdout]   --> src/robot.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |     use crate::daemon;
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Event`, `KeyEvent`, `self`, and `style::Stylize`
[INFO] [stdout]  --> src/tui.rs:2:29
[INFO] [stdout]   |
[INFO] [stdout] 2 |     use crossterm::{event::{self, Event, KeyEvent}, style::Stylize};
[INFO] [stdout]   |                             ^^^^  ^^^^^  ^^^^^^^^   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Alignment`, `Block`, `Frame`, `Layout`, `Paragraph`, `Style`, `Text`, `ToLine`, `ToText`, and `Wrap`
[INFO] [stdout]  --> src/tui.rs:3:28
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...out::{Alignment, Constraint, Layout}, style::{Style}, text::{Text, ToLine, ToText}, widgets::{Block, Paragraph, Wrap}, Frame};
[INFO] [stdout]   |          ^^^^^^^^^              ^^^^^^           ^^^^^          ^^^^  ^^^^^^  ^^^^^^             ^^^^^  ^^^^^^^^^  ^^^^   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Fill`, `Length`, `Min`, and `Percentage`
[INFO] [stdout]  --> src/tui.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 |     use Constraint::{Fill, Length, Min, Percentage};
[INFO] [stdout]   |                      ^^^^  ^^^^^^  ^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Read`, `Receiver`, `channel`, and `net::TcpStream`
[INFO] [stdout]  --> src/tui_runrobot.rs:2:46
[INFO] [stdout]   |
[INFO] [stdout] 2 | ...::{Read, Write}, net::TcpStream, os::unix::net::UnixStream, process::exit, sync::{atomic::{AtomicBool, Ordering}, mpsc::{channel, Receiver}, ...
[INFO] [stdout]   |       ^^^^          ^^^^^^^^^^^^^^                                                                                          ^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `borrow::BorrowMut` and `collections::LinkedList`
[INFO] [stdout]  --> src/daemon.rs:2:15
[INFO] [stdout]   |
[INFO] [stdout] 2 |     use std::{borrow::BorrowMut, collections::LinkedList, fs, io::{Read, Write}, os::unix::net::{UnixListener, UnixStream}, path::Pat...
[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: `Mode`, `RunMode`, and `daemon::daemonhandler`
[INFO] [stdout]  --> src/daemon.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 |     use crate::{daemon::daemonhandler, robot::robotmanager::{run_mode::{Mode, RunMode}, Robot}};
[INFO] [stdout]   |                 ^^^^^^^^^^^^^^^^^^^^^                                   ^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EnumOrUnknown` and `SpecialFields`
[INFO] [stdout]  --> src/daemon.rs:4:20
[INFO] [stdout]   |
[INFO] [stdout] 4 |     use protobuf::{EnumOrUnknown, SpecialFields};
[INFO] [stdout]   |                    ^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `collections::LinkedList`
[INFO] [stdout]  --> src/robot.rs:2:15
[INFO] [stdout]   |
[INFO] [stdout] 2 |     use std::{collections::LinkedList, fs, io::{Read, Write}, net::{SocketAddr, TcpStream}, os::unix::net::UnixListener, str::FromStr...
[INFO] [stdout]   |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Param`
[INFO] [stdout]  --> src/robot.rs:4:27
[INFO] [stdout]   |
[INFO] [stdout] 4 |     use device::{DevData, Param};
[INFO] [stdout]   |                           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Source`
[INFO] [stdout]  --> src/robot.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 |     use input::{Input, Source, UserInputs};
[INFO] [stdout]   |                        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::daemon`
[INFO] [stdout]   --> src/robot.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |     use crate::daemon;
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Event`, `KeyEvent`, `self`, and `style::Stylize`
[INFO] [stdout]  --> src/tui.rs:2:29
[INFO] [stdout]   |
[INFO] [stdout] 2 |     use crossterm::{event::{self, Event, KeyEvent}, style::Stylize};
[INFO] [stdout]   |                             ^^^^  ^^^^^  ^^^^^^^^   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Alignment`, `Block`, `Frame`, `Layout`, `Paragraph`, `Style`, `Text`, `ToLine`, `ToText`, and `Wrap`
[INFO] [stdout]  --> src/tui.rs:3:28
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...out::{Alignment, Constraint, Layout}, style::{Style}, text::{Text, ToLine, ToText}, widgets::{Block, Paragraph, Wrap}, Frame};
[INFO] [stdout]   |          ^^^^^^^^^              ^^^^^^           ^^^^^          ^^^^  ^^^^^^  ^^^^^^             ^^^^^  ^^^^^^^^^  ^^^^   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Fill`, `Length`, `Min`, and `Percentage`
[INFO] [stdout]  --> src/tui.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 |     use Constraint::{Fill, Length, Min, Percentage};
[INFO] [stdout]   |                      ^^^^  ^^^^^^  ^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Read`, `Receiver`, `channel`, and `net::TcpStream`
[INFO] [stdout]  --> src/tui_runrobot.rs:2:46
[INFO] [stdout]   |
[INFO] [stdout] 2 | ...::{Read, Write}, net::TcpStream, os::unix::net::UnixStream, process::exit, sync::{atomic::{AtomicBool, Ordering}, mpsc::{channel, Receiver}, ...
[INFO] [stdout]   |       ^^^^          ^^^^^^^^^^^^^^                                                                                          ^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/daemon.rs:486:25
[INFO] [stdout]     |
[INFO] [stdout] 486 |                         _ => {
[INFO] [stdout]     |                         ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/daemon.rs:486:25
[INFO] [stdout]     |
[INFO] [stdout] 112 |                         MsgDaemonType::Kill => {
[INFO] [stdout]     |                         ------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 122 |                         MsgDaemonType::Connect => {
[INFO] [stdout]     |                         ---------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 165 |                         MsgDaemonType::Download => {
[INFO] [stdout]     |                         ----------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 275 |                         MsgDaemonType::Upload => {
[INFO] [stdout]     |                         --------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 486 |                         _ => {
[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: unreachable pattern
[INFO] [stdout]    --> src/daemon.rs:486:25
[INFO] [stdout]     |
[INFO] [stdout] 486 |                         _ => {
[INFO] [stdout]     |                         ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/daemon.rs:486:25
[INFO] [stdout]     |
[INFO] [stdout] 112 |                         MsgDaemonType::Kill => {
[INFO] [stdout]     |                         ------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 122 |                         MsgDaemonType::Connect => {
[INFO] [stdout]     |                         ---------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 165 |                         MsgDaemonType::Download => {
[INFO] [stdout]     |                         ----------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 275 |                         MsgDaemonType::Upload => {
[INFO] [stdout]     |                         --------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 486 |                         _ => {
[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: unused variable: `addr`
[INFO] [stdout]   --> src/daemon.rs:92:29
[INFO] [stdout]    |
[INFO] [stdout] 92 |                 Ok((socket, addr)) => {
[INFO] [stdout]    |                             ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]   --> src/daemon.rs:92:29
[INFO] [stdout]    |
[INFO] [stdout] 92 |                 Ok((socket, addr)) => {
[INFO] [stdout]    |                             ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/tui_readdevices.rs:114:25
[INFO] [stdout]     |
[INFO] [stdout] 114 |                         _ => {
[INFO] [stdout]     |                         ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/tui_readdevices.rs:114:25
[INFO] [stdout]     |
[INFO] [stdout] 105 |                         Val::Bval(val) => {
[INFO] [stdout]     |                         -------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 108 |                         Val::Fval(val) => {
[INFO] [stdout]     |                         -------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 111 |                         Val::Ival(val) => {
[INFO] [stdout]     |                         -------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 114 |                         _ => {
[INFO] [stdout]     |                         ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/tui_readdevices.rs:114:25
[INFO] [stdout]     |
[INFO] [stdout] 114 |                         _ => {
[INFO] [stdout]     |                         ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/tui_readdevices.rs:114:25
[INFO] [stdout]     |
[INFO] [stdout] 105 |                         Val::Bval(val) => {
[INFO] [stdout]     |                         -------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 108 |                         Val::Fval(val) => {
[INFO] [stdout]     |                         -------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 111 |                         Val::Ival(val) => {
[INFO] [stdout]     |                         -------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 114 |                         _ => {
[INFO] [stdout]     |                         ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `event`
[INFO] [stdout]    --> src/tui_runrobot.rs:396:40
[INFO] [stdout]     |
[INFO] [stdout] 396 |             while let Some(Event { id, event, time, .. }) = gilrs.next_event() {
[INFO] [stdout]     |                                        ^^^^^ help: try ignoring the field: `event: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time`
[INFO] [stdout]    --> src/tui_runrobot.rs:396:47
[INFO] [stdout]     |
[INFO] [stdout] 396 |             while let Some(Event { id, event, time, .. }) = gilrs.next_event() {
[INFO] [stdout]     |                                               ^^^^ help: try ignoring the field: `time: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `event`
[INFO] [stdout]    --> src/tui_runrobot.rs:396:40
[INFO] [stdout]     |
[INFO] [stdout] 396 |             while let Some(Event { id, event, time, .. }) = gilrs.next_event() {
[INFO] [stdout]     |                                        ^^^^^ help: try ignoring the field: `event: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time`
[INFO] [stdout]    --> src/tui_runrobot.rs:396:47
[INFO] [stdout]     |
[INFO] [stdout] 396 |             while let Some(Event { id, event, time, .. }) = gilrs.next_event() {
[INFO] [stdout]     |                                               ^^^^ help: try ignoring the field: `time: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crossterm::event`
[INFO] [stdout]  --> src/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crossterm::event;
[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: `Axis`, `Button`, `Event`, `GamepadId`, and `Gilrs`
[INFO] [stdout]  --> src/main.rs:2:13
[INFO] [stdout]   |
[INFO] [stdout] 2 | use gilrs::{Axis, Button, Event, GamepadId, Gilrs};
[INFO] [stdout]   |             ^^^^  ^^^^^^  ^^^^^  ^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EnumOrUnknown` and `SpecialFields`
[INFO] [stdout]  --> src/main.rs:5:16
[INFO] [stdout]   |
[INFO] [stdout] 5 | use protobuf::{EnumOrUnknown, Message, SpecialFields};
[INFO] [stdout]   |                ^^^^^^^^^^^^^           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Block`, `Layout`, `ListItem`, `ListState`, `List`, `Style`, and `Stylize`
[INFO] [stdout]  --> src/main.rs:6:24
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ratatui::{layout::{Layout, Constraint}, style::{Style, Stylize}, widgets::{Block, List, ListItem, ListState}};
[INFO] [stdout]   |                        ^^^^^^                       ^^^^^  ^^^^^^^             ^^^^^  ^^^^  ^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Fill`, `Length`, `Min`, and `Percentage`
[INFO] [stdout]  --> src/main.rs:7:18
[INFO] [stdout]   |
[INFO] [stdout] 7 | use Constraint::{Fill, Length, Min, Percentage};
[INFO] [stdout]   |                  ^^^^  ^^^^^^  ^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `collections::HashMap`
[INFO] [stdout]  --> src/main.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::{collections::HashMap, env, fs, io::{Read, Write}, os::unix::net::UnixStream, sync::{atomic::AtomicBool, Arc, Mutex}, thread...
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DevData`, `Input`, `Source`, `keymap::gamepad_mapped`, `param::Val`, `self`, and `tui::tui::App`
[INFO] [stdout]   --> src/main.rs:10:39
[INFO] [stdout]    |
[INFO] [stdout] 10 | ...r, keymap::gamepad_mapped, robot::robotmanager::{device::{param::Val, DevData}, input::{Input, Source}}, tui::tui::App, tui_readdevices::{self, r...
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^                                 ^^^^^^^^^^  ^^^^^^^           ^^^^^  ^^^^^^    ^^^^^^^^^^^^^                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crossterm::event`
[INFO] [stdout]  --> src/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crossterm::event;
[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: `Axis`, `Button`, `Event`, `GamepadId`, and `Gilrs`
[INFO] [stdout]  --> src/main.rs:2:13
[INFO] [stdout]   |
[INFO] [stdout] 2 | use gilrs::{Axis, Button, Event, GamepadId, Gilrs};
[INFO] [stdout]   |             ^^^^  ^^^^^^  ^^^^^  ^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EnumOrUnknown` and `SpecialFields`
[INFO] [stdout]  --> src/main.rs:5:16
[INFO] [stdout]   |
[INFO] [stdout] 5 | use protobuf::{EnumOrUnknown, Message, SpecialFields};
[INFO] [stdout]   |                ^^^^^^^^^^^^^           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Block`, `Layout`, `ListItem`, `ListState`, `List`, `Style`, and `Stylize`
[INFO] [stdout]  --> src/main.rs:6:24
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ratatui::{layout::{Layout, Constraint}, style::{Style, Stylize}, widgets::{Block, List, ListItem, ListState}};
[INFO] [stdout]   |                        ^^^^^^                       ^^^^^  ^^^^^^^             ^^^^^  ^^^^  ^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Fill`, `Length`, `Min`, and `Percentage`
[INFO] [stdout]  --> src/main.rs:7:18
[INFO] [stdout]   |
[INFO] [stdout] 7 | use Constraint::{Fill, Length, Min, Percentage};
[INFO] [stdout]   |                  ^^^^  ^^^^^^  ^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `collections::HashMap`
[INFO] [stdout]  --> src/main.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::{collections::HashMap, env, fs, io::{Read, Write}, os::unix::net::UnixStream, sync::{atomic::AtomicBool, Arc, Mutex}, thread...
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DevData`, `Input`, `Source`, `keymap::gamepad_mapped`, `param::Val`, `self`, and `tui::tui::App`
[INFO] [stdout]   --> src/main.rs:10:39
[INFO] [stdout]    |
[INFO] [stdout] 10 | ...r, keymap::gamepad_mapped, robot::robotmanager::{device::{param::Val, DevData}, input::{Input, Source}}, tui::tui::App, tui_readdevices::{self, r...
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^                                 ^^^^^^^^^^  ^^^^^^^           ^^^^^  ^^^^^^    ^^^^^^^^^^^^^                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Message`
[INFO] [stdout]  --> src/main.rs:5:31
[INFO] [stdout]   |
[INFO] [stdout] 5 | use protobuf::{EnumOrUnknown, Message, SpecialFields};
[INFO] [stdout]   |                               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Message`
[INFO] [stdout]  --> src/main.rs:5:31
[INFO] [stdout]   |
[INFO] [stdout] 5 | use protobuf::{EnumOrUnknown, Message, SpecialFields};
[INFO] [stdout]   |                               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `duration`
[INFO] [stdout]    --> src/main.rs:217:21
[INFO] [stdout]     |
[INFO] [stdout] 217 |                 let duration = Duration::from_millis(frequency);
[INFO] [stdout]     |                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_duration`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `duration`
[INFO] [stdout]    --> src/main.rs:217:21
[INFO] [stdout]     |
[INFO] [stdout] 217 |                 let duration = Duration::from_millis(frequency);
[INFO] [stdout]     |                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_duration`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 43.84s
[INFO] running `Command { std: "docker" "inspect" "bdad607c3bcb5381684e130a0b0bd74f50c72ca3084405aa94a12202854bafad", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bdad607c3bcb5381684e130a0b0bd74f50c72ca3084405aa94a12202854bafad", kill_on_drop: false }`
[INFO] [stdout] bdad607c3bcb5381684e130a0b0bd74f50c72ca3084405aa94a12202854bafad
