[INFO] cloning repository https://github.com/vulbyte/cockatiel_tui_v2-rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/vulbyte/cockatiel_tui_v2-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvulbyte%2Fcockatiel_tui_v2-rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvulbyte%2Fcockatiel_tui_v2-rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] d23ba13de17e4caafff4f46b24839a60efccb000
[INFO] checking vulbyte/cockatiel_tui_v2-rs against 52995a223f2919dd3e2e427231db90a257350ded for pr-129249-4
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvulbyte%2Fcockatiel_tui_v2-rs" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/vulbyte/cockatiel_tui_v2-rs
[INFO] finished tweaking git repo https://github.com/vulbyte/cockatiel_tui_v2-rs
[INFO] tweaked toml for git repo https://github.com/vulbyte/cockatiel_tui_v2-rs written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/vulbyte/cockatiel_tui_v2-rs on toolchain 52995a223f2919dd3e2e427231db90a257350ded
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+52995a223f2919dd3e2e427231db90a257350ded" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/vulbyte/cockatiel_tui_v2-rs 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" "+52995a223f2919dd3e2e427231db90a257350ded" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:c0af3998e971868164375a7dfb646c9933ddd1a3bdb00fa2041266763dc1eeab" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 4f5d962b6ef248fe1afb2adc4cacc22bc1c0eebb7b287bc30ba6d8ea8600cf7f
[INFO] running `Command { std: "docker" "start" "4f5d962b6ef248fe1afb2adc4cacc22bc1c0eebb7b287bc30ba6d8ea8600cf7f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4f5d962b6ef248fe1afb2adc4cacc22bc1c0eebb7b287bc30ba6d8ea8600cf7f", 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" "4f5d962b6ef248fe1afb2adc4cacc22bc1c0eebb7b287bc30ba6d8ea8600cf7f" "/opt/rustwide/cargo-home/bin/cargo" "+52995a223f2919dd3e2e427231db90a257350ded" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4f5d962b6ef248fe1afb2adc4cacc22bc1c0eebb7b287bc30ba6d8ea8600cf7f", 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" "4f5d962b6ef248fe1afb2adc4cacc22bc1c0eebb7b287bc30ba6d8ea8600cf7f" "/opt/rustwide/cargo-home/bin/cargo" "+52995a223f2919dd3e2e427231db90a257350ded" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling syn v3.0.5
[INFO] [stderr]    Compiling either v1.18.0
[INFO] [stderr]    Compiling cc v1.4.6
[INFO] [stderr]    Compiling anyhow v1.0.104
[INFO] [stderr]    Compiling zerocopy v0.8.57
[INFO] [stderr]    Compiling prettyplease v0.2.37
[INFO] [stderr]    Compiling bytes v1.12.1
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]    Compiling regex-syntax v0.8.11
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]    Compiling fastrand v2.5.0
[INFO] [stderr]    Compiling fixedbitset v0.5.7
[INFO] [stderr]    Compiling protoc-bin-vendored-win32 v3.2.0
[INFO] [stderr]    Compiling protoc-bin-vendored-linux-x86_32 v3.2.0
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling petgraph v0.7.1
[INFO] [stderr]    Compiling protoc-bin-vendored-macos-x86_64 v3.2.0
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]    Compiling protoc-bin-vendored-linux-s390_64 v3.2.0
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling protoc-bin-vendored-macos-aarch_64 v3.2.0
[INFO] [stderr]    Compiling protoc-bin-vendored-linux-x86_64 v3.2.0
[INFO] [stderr]    Compiling protoc-bin-vendored-linux-ppcle_64 v3.2.0
[INFO] [stderr]    Compiling protoc-bin-vendored-linux-aarch_64 v3.2.0
[INFO] [stderr]    Compiling multimap v0.10.1
[INFO] [stderr]     Checking sha1 v0.10.7
[INFO] [stderr]     Checking webpki-roots v1.0.9
[INFO] [stderr]    Compiling protoc-bin-vendored v3.2.0
[INFO] [stderr]     Checking futures-sink v0.3.34
[INFO] [stderr]     Checking futures-core v0.3.34
[INFO] [stderr]     Checking webpki-roots v0.26.11
[INFO] [stderr]     Checking is-docker v0.2.0
[INFO] [stderr]     Checking compact_str v0.8.2
[INFO] [stderr]     Checking is-wsl v0.4.0
[INFO] [stderr]     Checking uuid v1.26.1
[INFO] [stderr]     Checking crossterm v0.28.1
[INFO] [stderr]     Checking rustls-pemfile v2.2.0
[INFO] [stderr]     Checking chrono v0.4.45
[INFO] [stderr]     Checking open v5.4.4
[INFO] [stderr]    Compiling cmake v0.1.58
[INFO] [stderr]    Compiling regex-automata v0.4.18
[INFO] [stderr]    Compiling aws-lc-sys v0.45.0
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]     Checking unicode-truncate v1.1.0
[INFO] [stderr]    Compiling darling_core v0.24.1
[INFO] [stderr]    Compiling regex v1.13.1
[INFO] [stderr]    Compiling tokio-macros v2.7.2
[INFO] [stderr]    Compiling futures-macro v0.3.34
[INFO] [stderr]    Compiling prost-derive v0.13.5
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling prost-derive v0.14.4
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]     Checking tokio v1.53.1
[INFO] [stderr]     Checking futures-util v0.3.34
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking prost v0.14.4
[INFO] [stderr]    Compiling prost v0.13.5
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling prost-types v0.13.5
[INFO] [stderr]     Checking strum v0.26.3
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.8
[INFO] [stderr]    Compiling darling_macro v0.24.1
[INFO] [stderr]    Compiling darling v0.24.1
[INFO] [stderr]    Compiling instability v0.3.13
[INFO] [stderr]     Checking serde v1.0.229
[INFO] [stderr]    Compiling prost-build v0.13.5
[INFO] [stderr]     Checking ratatui v0.29.0
[INFO] [stderr]    Compiling cockatiel-proto v0.1.0 (https://github.com/vulbyte/cockatiel_proto?rev=add269d583155fbb7764a6e76f1a86af4c97765e#add269d5)
[INFO] [stderr]    Compiling aws-lc-rs v1.18.1
[INFO] [stderr]    Compiling rustls v0.23.45
[INFO] [stderr]     Checking rustls-webpki v0.103.15
[INFO] [stderr]     Checking tokio-rustls v0.26.5
[INFO] [stderr]     Checking tungstenite v0.24.0
[INFO] [stderr]     Checking tokio-tungstenite v0.24.0
[INFO] [stderr]     Checking cockatiel-client v0.1.0 (https://github.com/vulbyte/cockatiel_client-rs?rev=a3e2533daf17b3c735e1cfc850cd26ce465f0be5#a3e2533d)
[INFO] [stderr]     Checking cockatiel-tui-v2 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::windows::ModulesWindow`
[INFO] [stdout]     --> src/main.rs:4699:13
[INFO] [stdout]      |
[INFO] [stdout] 4699 |         use crate::windows::ModulesWindow;
[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 import: `crate::windows::ModulesWindow`
[INFO] [stdout]     --> src/main.rs:5007:13
[INFO] [stdout]      |
[INFO] [stdout] 5007 |         use crate::windows::ModulesWindow;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `commendations`, `reprimands`, `flags`, `total_score`, and `messages_sent` are never read
[INFO] [stdout]   --> src/db.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct UserSummary {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub commendations: i32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 59 |     pub reprimands: i32,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub flags: String,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 63 |     /// Lifetime score earned (never reduced by spending).
[INFO] [stdout] 64 |     pub total_score: i32,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 65 |     /// Chat messages this user has sent.
[INFO] [stdout] 66 |     pub messages_sent: i32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UserSummary` 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: field `revision` is never read
[INFO] [stdout]    --> src/db.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub struct StreamControlStatusView {
[INFO] [stdout]     |            ----------------------- field in this struct
[INFO] [stdout] 114 |     pub platform: String,
[INFO] [stdout] 115 |     pub revision: u64,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `StreamControlStatusView` 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: fields `dragging` and `drag_start` are never read
[INFO] [stdout]   --> src/layout.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub struct LayoutState {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub dragging: Option<DragEdge>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 16 |     pub drag_start: Option<(u16, u16)>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LayoutState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `LeftVertical`, `HorizontalTopBottom`, `HorizontalLogoLog`, and `VerticalChartPrompts` are never constructed
[INFO] [stdout]   --> src/layout.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub enum DragEdge {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout] 21 |     LeftVertical,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 22 |     HorizontalTopBottom,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 23 |     HorizontalLogoLog,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     VerticalChartPrompts,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DragEdge` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LayoutAreas` is never constructed
[INFO] [stdout]   --> src/layout.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct LayoutAreas {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `compute`, `hit_test_border`, and `update_from_drag` are never used
[INFO] [stdout]    --> src/layout.rs:58:12
[INFO] [stdout]     |
[INFO] [stdout]  57 | impl LayoutState {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout]  58 |     pub fn compute(&self, terminal: Rect) -> LayoutAreas {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     pub fn hit_test_border(&self, terminal: Rect, x: u16, y: u16) -> Option<DragEdge> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |     pub fn update_from_drag(&mut self, terminal: Rect, edge: DragEdge, x: u16, y: u16) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `Vec<u8>`
[INFO] [stdout]    --> src/ws_client.rs:238:38
[INFO] [stdout]     |
[INFO] [stdout] 238 |         write.send(WsMessage::Binary(buf.into())).await?;
[INFO] [stdout]     |                                      ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: `#[deny(self_type_conversion)]` on by default
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 238 -         write.send(WsMessage::Binary(buf.into())).await?;
[INFO] [stdout] 238 +         write.send(WsMessage::Binary(buf)).await?;
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 238 -         write.send(WsMessage::Binary(buf.into())).await?;
[INFO] [stdout] 238 +         write.send(WsMessage::Binary(<Vec<u8> as Into<_>>::into(buf))).await?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `Vec<u8>`
[INFO] [stdout]    --> src/ws_client.rs:305:62
[INFO] [stdout]     |
[INFO] [stdout] 305 |                         let _ = write.send(WsMessage::Binary(rb.into())).await;
[INFO] [stdout]     |                                                              ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 305 -                         let _ = write.send(WsMessage::Binary(rb.into())).await;
[INFO] [stdout] 305 +                         let _ = write.send(WsMessage::Binary(rb)).await;
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 305 -                         let _ = write.send(WsMessage::Binary(rb.into())).await;
[INFO] [stdout] 305 +                         let _ = write.send(WsMessage::Binary(<Vec<u8> as Into<_>>::into(rb))).await;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `Vec<u8>`
[INFO] [stdout]    --> src/ws_client.rs:445:75
[INFO] [stdout]     |
[INFO] [stdout] 445 | ...                   let _ = out_tx.send(WsMessage::Binary(buf.into()));
[INFO] [stdout]     |                                                             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 445 -                                     let _ = out_tx.send(WsMessage::Binary(buf.into()));
[INFO] [stdout] 445 +                                     let _ = out_tx.send(WsMessage::Binary(buf));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 445 -                                     let _ = out_tx.send(WsMessage::Binary(buf.into()));
[INFO] [stdout] 445 +                                     let _ = out_tx.send(WsMessage::Binary(<Vec<u8> as Into<_>>::into(buf)));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `Vec<u8>`
[INFO] [stdout]    --> src/ws_client.rs:559:83
[INFO] [stdout]     |
[INFO] [stdout] 559 | ...                   let _ = out_tx.send(WsMessage::Binary(rb.into()));
[INFO] [stdout]     |                                                             ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 559 -                                             let _ = out_tx.send(WsMessage::Binary(rb.into()));
[INFO] [stdout] 559 +                                             let _ = out_tx.send(WsMessage::Binary(rb));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 559 -                                             let _ = out_tx.send(WsMessage::Binary(rb.into()));
[INFO] [stdout] 559 +                                             let _ = out_tx.send(WsMessage::Binary(<Vec<u8> as Into<_>>::into(rb)));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `Vec<u8>`
[INFO] [stdout]    --> src/ws_client.rs:598:75
[INFO] [stdout]     |
[INFO] [stdout] 598 | ...                   let _ = out_tx.send(WsMessage::Binary(buf.into()));
[INFO] [stdout]     |                                                             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 598 -                                     let _ = out_tx.send(WsMessage::Binary(buf.into()));
[INFO] [stdout] 598 +                                     let _ = out_tx.send(WsMessage::Binary(buf));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 598 -                                     let _ = out_tx.send(WsMessage::Binary(buf.into()));
[INFO] [stdout] 598 +                                     let _ = out_tx.send(WsMessage::Binary(<Vec<u8> as Into<_>>::into(buf)));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `Vec<u8>`
[INFO] [stdout]    --> src/ws_client.rs:621:75
[INFO] [stdout]     |
[INFO] [stdout] 621 | ...                   let _ = out_tx.send(WsMessage::Binary(buf.into()));
[INFO] [stdout]     |                                                             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 621 -                                     let _ = out_tx.send(WsMessage::Binary(buf.into()));
[INFO] [stdout] 621 +                                     let _ = out_tx.send(WsMessage::Binary(buf));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 621 -                                     let _ = out_tx.send(WsMessage::Binary(buf.into()));
[INFO] [stdout] 621 +                                     let _ = out_tx.send(WsMessage::Binary(<Vec<u8> as Into<_>>::into(buf)));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `Vec<u8>`
[INFO] [stdout]    --> src/ws_client.rs:637:75
[INFO] [stdout]     |
[INFO] [stdout] 637 | ...                   let _ = out_tx.send(WsMessage::Binary(buf.into()));
[INFO] [stdout]     |                                                             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 637 -                                     let _ = out_tx.send(WsMessage::Binary(buf.into()));
[INFO] [stdout] 637 +                                     let _ = out_tx.send(WsMessage::Binary(buf));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 637 -                                     let _ = out_tx.send(WsMessage::Binary(buf.into()));
[INFO] [stdout] 637 +                                     let _ = out_tx.send(WsMessage::Binary(<Vec<u8> as Into<_>>::into(buf)));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `Vec<u8>`
[INFO] [stdout]    --> src/ws_client.rs:666:71
[INFO] [stdout]     |
[INFO] [stdout] 666 | ...                   let _ = out_tx.send(WsMessage::Binary(buf.into()));
[INFO] [stdout]     |                                                             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 666 -                                 let _ = out_tx.send(WsMessage::Binary(buf.into()));
[INFO] [stdout] 666 +                                 let _ = out_tx.send(WsMessage::Binary(buf));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 666 -                                 let _ = out_tx.send(WsMessage::Binary(buf.into()));
[INFO] [stdout] 666 +                                 let _ = out_tx.send(WsMessage::Binary(<Vec<u8> as Into<_>>::into(buf)));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `Vec<u8>`
[INFO] [stdout]    --> src/ws_server.rs:113:25
[INFO] [stdout]     |
[INFO] [stdout] 113 |                         return_msg.encode_to_vec().into(),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 113 -                         return_msg.encode_to_vec().into(),
[INFO] [stdout] 113 +                         return_msg.encode_to_vec(),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 113 -                         return_msg.encode_to_vec().into(),
[INFO] [stdout] 113 +                         <Vec<u8> as Into<_>>::into(return_msg.encode_to_vec()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `Vec<u8>`
[INFO] [stdout]    --> src/ws_server.rs:163:21
[INFO] [stdout]     |
[INFO] [stdout] 163 |                     msg.encode_to_vec().into(),
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 163 -                     msg.encode_to_vec().into(),
[INFO] [stdout] 163 +                     msg.encode_to_vec(),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 163 -                     msg.encode_to_vec().into(),
[INFO] [stdout] 163 +                     <Vec<u8> as Into<_>>::into(msg.encode_to_vec()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `Vec<u8>`
[INFO] [stdout]    --> src/ws_server.rs:192:29
[INFO] [stdout]     |
[INFO] [stdout] 192 | ...                   msg.encode_to_vec().into(),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 192 -                             msg.encode_to_vec().into(),
[INFO] [stdout] 192 +                             msg.encode_to_vec(),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 192 -                             msg.encode_to_vec().into(),
[INFO] [stdout] 192 +                             <Vec<u8> as Into<_>>::into(msg.encode_to_vec()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `Vec<u8>`
[INFO] [stdout]    --> src/ws_server.rs:214:29
[INFO] [stdout]     |
[INFO] [stdout] 214 | ...                   msg.encode_to_vec().into(),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 214 -                             msg.encode_to_vec().into(),
[INFO] [stdout] 214 +                             msg.encode_to_vec(),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 214 -                             msg.encode_to_vec().into(),
[INFO] [stdout] 214 +                             <Vec<u8> as Into<_>>::into(msg.encode_to_vec()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `Vec<u8>`
[INFO] [stdout]    --> src/ws_server.rs:233:29
[INFO] [stdout]     |
[INFO] [stdout] 233 | ...                   msg.encode_to_vec().into(),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 233 -                             msg.encode_to_vec().into(),
[INFO] [stdout] 233 +                             msg.encode_to_vec(),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 233 -                             msg.encode_to_vec().into(),
[INFO] [stdout] 233 +                             <Vec<u8> as Into<_>>::into(msg.encode_to_vec()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `Vec<u8>`
[INFO] [stdout]    --> src/ws_server.rs:253:29
[INFO] [stdout]     |
[INFO] [stdout] 253 | ...                   msg.encode_to_vec().into(),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 253 -                             msg.encode_to_vec().into(),
[INFO] [stdout] 253 +                             msg.encode_to_vec(),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 253 -                             msg.encode_to_vec().into(),
[INFO] [stdout] 253 +                             <Vec<u8> as Into<_>>::into(msg.encode_to_vec()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `Vec<u8>`
[INFO] [stdout]    --> src/ws_server.rs:273:29
[INFO] [stdout]     |
[INFO] [stdout] 273 | ...                   msg.encode_to_vec().into(),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 273 -                             msg.encode_to_vec().into(),
[INFO] [stdout] 273 +                             msg.encode_to_vec(),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 273 -                             msg.encode_to_vec().into(),
[INFO] [stdout] 273 +                             <Vec<u8> as Into<_>>::into(msg.encode_to_vec()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `cockatiel-tui-v2` (bin "cockatiel-tui-v2") due to 15 previous errors; 6 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/app.rs:1090:13
[INFO] [stdout]      |
[INFO] [stdout] 1090 |         let mut s = AppState::new(
[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: fields `commendations`, `reprimands`, `flags`, `total_score`, and `messages_sent` are never read
[INFO] [stdout]   --> src/db.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct UserSummary {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub commendations: i32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 59 |     pub reprimands: i32,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub flags: String,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 63 |     /// Lifetime score earned (never reduced by spending).
[INFO] [stdout] 64 |     pub total_score: i32,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 65 |     /// Chat messages this user has sent.
[INFO] [stdout] 66 |     pub messages_sent: i32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UserSummary` 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: field `revision` is never read
[INFO] [stdout]    --> src/db.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub struct StreamControlStatusView {
[INFO] [stdout]     |            ----------------------- field in this struct
[INFO] [stdout] 114 |     pub platform: String,
[INFO] [stdout] 115 |     pub revision: u64,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `StreamControlStatusView` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `drag_start` is never read
[INFO] [stdout]   --> src/layout.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub struct LayoutState {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub drag_start: Option<(u16, u16)>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LayoutState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `status_bar` is never read
[INFO] [stdout]   --> src/layout.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct LayoutAreas {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub status_bar: Rect,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LayoutAreas` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `Vec<u8>`
[INFO] [stdout]    --> src/ws_client.rs:238:38
[INFO] [stdout]     |
[INFO] [stdout] 238 |         write.send(WsMessage::Binary(buf.into())).await?;
[INFO] [stdout]     |                                      ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: `#[deny(self_type_conversion)]` on by default
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 238 -         write.send(WsMessage::Binary(buf.into())).await?;
[INFO] [stdout] 238 +         write.send(WsMessage::Binary(buf)).await?;
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 238 -         write.send(WsMessage::Binary(buf.into())).await?;
[INFO] [stdout] 238 +         write.send(WsMessage::Binary(<Vec<u8> as Into<_>>::into(buf))).await?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `Vec<u8>`
[INFO] [stdout]    --> src/ws_client.rs:305:62
[INFO] [stdout]     |
[INFO] [stdout] 305 |                         let _ = write.send(WsMessage::Binary(rb.into())).await;
[INFO] [stdout]     |                                                              ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 305 -                         let _ = write.send(WsMessage::Binary(rb.into())).await;
[INFO] [stdout] 305 +                         let _ = write.send(WsMessage::Binary(rb)).await;
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 305 -                         let _ = write.send(WsMessage::Binary(rb.into())).await;
[INFO] [stdout] 305 +                         let _ = write.send(WsMessage::Binary(<Vec<u8> as Into<_>>::into(rb))).await;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `Vec<u8>`
[INFO] [stdout]    --> src/ws_client.rs:445:75
[INFO] [stdout]     |
[INFO] [stdout] 445 | ...                   let _ = out_tx.send(WsMessage::Binary(buf.into()));
[INFO] [stdout]     |                                                             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 445 -                                     let _ = out_tx.send(WsMessage::Binary(buf.into()));
[INFO] [stdout] 445 +                                     let _ = out_tx.send(WsMessage::Binary(buf));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 445 -                                     let _ = out_tx.send(WsMessage::Binary(buf.into()));
[INFO] [stdout] 445 +                                     let _ = out_tx.send(WsMessage::Binary(<Vec<u8> as Into<_>>::into(buf)));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `Vec<u8>`
[INFO] [stdout]    --> src/ws_client.rs:559:83
[INFO] [stdout]     |
[INFO] [stdout] 559 | ...                   let _ = out_tx.send(WsMessage::Binary(rb.into()));
[INFO] [stdout]     |                                                             ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 559 -                                             let _ = out_tx.send(WsMessage::Binary(rb.into()));
[INFO] [stdout] 559 +                                             let _ = out_tx.send(WsMessage::Binary(rb));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 559 -                                             let _ = out_tx.send(WsMessage::Binary(rb.into()));
[INFO] [stdout] 559 +                                             let _ = out_tx.send(WsMessage::Binary(<Vec<u8> as Into<_>>::into(rb)));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `Vec<u8>`
[INFO] [stdout]    --> src/ws_client.rs:598:75
[INFO] [stdout]     |
[INFO] [stdout] 598 | ...                   let _ = out_tx.send(WsMessage::Binary(buf.into()));
[INFO] [stdout]     |                                                             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 598 -                                     let _ = out_tx.send(WsMessage::Binary(buf.into()));
[INFO] [stdout] 598 +                                     let _ = out_tx.send(WsMessage::Binary(buf));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 598 -                                     let _ = out_tx.send(WsMessage::Binary(buf.into()));
[INFO] [stdout] 598 +                                     let _ = out_tx.send(WsMessage::Binary(<Vec<u8> as Into<_>>::into(buf)));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `Vec<u8>`
[INFO] [stdout]    --> src/ws_client.rs:621:75
[INFO] [stdout]     |
[INFO] [stdout] 621 | ...                   let _ = out_tx.send(WsMessage::Binary(buf.into()));
[INFO] [stdout]     |                                                             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 621 -                                     let _ = out_tx.send(WsMessage::Binary(buf.into()));
[INFO] [stdout] 621 +                                     let _ = out_tx.send(WsMessage::Binary(buf));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 621 -                                     let _ = out_tx.send(WsMessage::Binary(buf.into()));
[INFO] [stdout] 621 +                                     let _ = out_tx.send(WsMessage::Binary(<Vec<u8> as Into<_>>::into(buf)));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `Vec<u8>`
[INFO] [stdout]    --> src/ws_client.rs:637:75
[INFO] [stdout]     |
[INFO] [stdout] 637 | ...                   let _ = out_tx.send(WsMessage::Binary(buf.into()));
[INFO] [stdout]     |                                                             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 637 -                                     let _ = out_tx.send(WsMessage::Binary(buf.into()));
[INFO] [stdout] 637 +                                     let _ = out_tx.send(WsMessage::Binary(buf));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 637 -                                     let _ = out_tx.send(WsMessage::Binary(buf.into()));
[INFO] [stdout] 637 +                                     let _ = out_tx.send(WsMessage::Binary(<Vec<u8> as Into<_>>::into(buf)));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `Vec<u8>`
[INFO] [stdout]    --> src/ws_client.rs:666:71
[INFO] [stdout]     |
[INFO] [stdout] 666 | ...                   let _ = out_tx.send(WsMessage::Binary(buf.into()));
[INFO] [stdout]     |                                                             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 666 -                                 let _ = out_tx.send(WsMessage::Binary(buf.into()));
[INFO] [stdout] 666 +                                 let _ = out_tx.send(WsMessage::Binary(buf));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 666 -                                 let _ = out_tx.send(WsMessage::Binary(buf.into()));
[INFO] [stdout] 666 +                                 let _ = out_tx.send(WsMessage::Binary(<Vec<u8> as Into<_>>::into(buf)));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `Vec<u8>`
[INFO] [stdout]    --> src/ws_server.rs:113:25
[INFO] [stdout]     |
[INFO] [stdout] 113 |                         return_msg.encode_to_vec().into(),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 113 -                         return_msg.encode_to_vec().into(),
[INFO] [stdout] 113 +                         return_msg.encode_to_vec(),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 113 -                         return_msg.encode_to_vec().into(),
[INFO] [stdout] 113 +                         <Vec<u8> as Into<_>>::into(return_msg.encode_to_vec()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `Vec<u8>`
[INFO] [stdout]    --> src/ws_server.rs:163:21
[INFO] [stdout]     |
[INFO] [stdout] 163 |                     msg.encode_to_vec().into(),
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 163 -                     msg.encode_to_vec().into(),
[INFO] [stdout] 163 +                     msg.encode_to_vec(),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 163 -                     msg.encode_to_vec().into(),
[INFO] [stdout] 163 +                     <Vec<u8> as Into<_>>::into(msg.encode_to_vec()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `Vec<u8>`
[INFO] [stdout]    --> src/ws_server.rs:192:29
[INFO] [stdout]     |
[INFO] [stdout] 192 | ...                   msg.encode_to_vec().into(),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 192 -                             msg.encode_to_vec().into(),
[INFO] [stdout] 192 +                             msg.encode_to_vec(),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 192 -                             msg.encode_to_vec().into(),
[INFO] [stdout] 192 +                             <Vec<u8> as Into<_>>::into(msg.encode_to_vec()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `Vec<u8>`
[INFO] [stdout]    --> src/ws_server.rs:214:29
[INFO] [stdout]     |
[INFO] [stdout] 214 | ...                   msg.encode_to_vec().into(),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 214 -                             msg.encode_to_vec().into(),
[INFO] [stdout] 214 +                             msg.encode_to_vec(),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 214 -                             msg.encode_to_vec().into(),
[INFO] [stdout] 214 +                             <Vec<u8> as Into<_>>::into(msg.encode_to_vec()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `Vec<u8>`
[INFO] [stdout]    --> src/ws_server.rs:233:29
[INFO] [stdout]     |
[INFO] [stdout] 233 | ...                   msg.encode_to_vec().into(),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 233 -                             msg.encode_to_vec().into(),
[INFO] [stdout] 233 +                             msg.encode_to_vec(),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 233 -                             msg.encode_to_vec().into(),
[INFO] [stdout] 233 +                             <Vec<u8> as Into<_>>::into(msg.encode_to_vec()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `Vec<u8>`
[INFO] [stdout]    --> src/ws_server.rs:253:29
[INFO] [stdout]     |
[INFO] [stdout] 253 | ...                   msg.encode_to_vec().into(),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 253 -                             msg.encode_to_vec().into(),
[INFO] [stdout] 253 +                             msg.encode_to_vec(),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 253 -                             msg.encode_to_vec().into(),
[INFO] [stdout] 253 +                             <Vec<u8> as Into<_>>::into(msg.encode_to_vec()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `Vec<u8>`
[INFO] [stdout]    --> src/ws_server.rs:273:29
[INFO] [stdout]     |
[INFO] [stdout] 273 | ...                   msg.encode_to_vec().into(),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 273 -                             msg.encode_to_vec().into(),
[INFO] [stdout] 273 +                             msg.encode_to_vec(),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 273 -                             msg.encode_to_vec().into(),
[INFO] [stdout] 273 +                             <Vec<u8> as Into<_>>::into(msg.encode_to_vec()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `cockatiel-tui-v2` (bin "cockatiel-tui-v2" test) due to 15 previous errors; 7 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "4f5d962b6ef248fe1afb2adc4cacc22bc1c0eebb7b287bc30ba6d8ea8600cf7f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4f5d962b6ef248fe1afb2adc4cacc22bc1c0eebb7b287bc30ba6d8ea8600cf7f", kill_on_drop: false }`
[INFO] [stdout] 4f5d962b6ef248fe1afb2adc4cacc22bc1c0eebb7b287bc30ba6d8ea8600cf7f
