[INFO] cloning repository https://github.com/Teln0/TermUI [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Teln0/TermUI" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTeln0%2FTermUI", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTeln0%2FTermUI'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 7d56a749ac84a1a5fe311637e62a3a1278890024 [INFO] checking Teln0/TermUI against try#a7a572ce3edd6d476191fbfe92c9c1986e009b34 for pr-87190-3 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTeln0%2FTermUI" "/workspace/builds/worker-42/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-42/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Teln0/TermUI on toolchain a7a572ce3edd6d476191fbfe92c9c1986e009b34 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+a7a572ce3edd6d476191fbfe92c9c1986e009b34" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/Teln0/TermUI [INFO] finished tweaking git repo https://github.com/Teln0/TermUI [INFO] tweaked toml for git repo https://github.com/Teln0/TermUI written to /workspace/builds/worker-42/source/Cargo.toml [INFO] crate git repo https://github.com/Teln0/TermUI already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+a7a572ce3edd6d476191fbfe92c9c1986e009b34" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-42/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-42/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+a7a572ce3edd6d476191fbfe92c9c1986e009b34" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 6bcc81bde2236ba35b351fee0b51c62830f7e99c041d08fbaf276644eabff108 [INFO] running `Command { std: "docker" "start" "-a" "6bcc81bde2236ba35b351fee0b51c62830f7e99c041d08fbaf276644eabff108", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "6bcc81bde2236ba35b351fee0b51c62830f7e99c041d08fbaf276644eabff108", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6bcc81bde2236ba35b351fee0b51c62830f7e99c041d08fbaf276644eabff108", kill_on_drop: false }` [INFO] [stdout] 6bcc81bde2236ba35b351fee0b51c62830f7e99c041d08fbaf276644eabff108 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-42/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-42/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+a7a572ce3edd6d476191fbfe92c9c1986e009b34" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 099f9aaee586e3296886802dad6bc7567d35c62ff7c316354bb6777475655f2b [INFO] running `Command { std: "docker" "start" "-a" "099f9aaee586e3296886802dad6bc7567d35c62ff7c316354bb6777475655f2b", kill_on_drop: false }` [INFO] [stderr] Copying to /tmp/fixit [INFO] [stderr] Running `cargo fix --edition` [INFO] [stderr] Compiling libc v0.2.71 [INFO] [stderr] Compiling log v0.4.8 [INFO] [stderr] Compiling proc-macro2 v1.0.18 [INFO] [stderr] Compiling unicode-xid v0.2.0 [INFO] [stderr] Checking smallvec v1.4.0 [INFO] [stderr] Checking arc-swap v0.4.7 [INFO] [stderr] Checking slab v0.4.2 [INFO] [stderr] Compiling nix v0.17.0 [INFO] [stderr] Checking void v1.0.2 [INFO] [stderr] Checking arrayvec v0.5.1 [INFO] [stderr] Checking lock_api v0.3.4 [INFO] [stderr] Checking crossbeam-channel v0.4.2 [INFO] [stderr] Checking crossbeam-queue v0.2.3 [INFO] [stderr] Checking crossbeam v0.7.3 [INFO] [stderr] Compiling quote v1.0.7 [INFO] [stderr] Checking net2 v0.2.34 [INFO] [stderr] Checking iovec v0.1.4 [INFO] [stderr] Checking signal-hook-registry v1.2.0 [INFO] [stderr] Checking dirs-sys v0.3.5 [INFO] [stderr] Checking parking_lot_core v0.7.2 [INFO] [stderr] Checking errno v0.2.5 [INFO] [stderr] Compiling vte_generate_state_changes v0.1.1 [INFO] [stderr] Checking dirs v2.0.2 [INFO] [stderr] Checking mio v0.6.22 [INFO] [stderr] Checking parking_lot v0.10.2 [INFO] [stderr] Checking vte v0.8.0 [INFO] [stderr] Checking term v0.6.1 [INFO] [stderr] Checking signal-hook v0.1.16 [INFO] [stderr] Checking crossterm v0.17.5 [INFO] [stderr] Checking termui v0.1.0 (/tmp/fixit) [INFO] [stderr] Migrating src/main.rs from 2018 edition to 2021 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `termui` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/screen/mod.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0425]: cannot find value `action` in this scope [INFO] [stderr] --> src/screen/mod.rs:124:15 [INFO] [stderr] | [INFO] [stderr] 124 | match action { [INFO] [stderr] | ^^^^^^ help: a local variable with a similar name exists: `_action` [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find value `params` in this scope [INFO] [stderr] --> src/screen/mod.rs:126:45 [INFO] [stderr] | [INFO] [stderr] 126 | if (self.cursor.1 as i64) > params[0] { [INFO] [stderr] | ^^^^^^ help: a local variable with a similar name exists: `_params` [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find value `params` in this scope [INFO] [stderr] --> src/screen/mod.rs:127:38 [INFO] [stderr] | [INFO] [stderr] 127 | self.cursor.1 -= params[0] as usize; [INFO] [stderr] | ^^^^^^ help: a local variable with a similar name exists: `_params` [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find value `params` in this scope [INFO] [stderr] --> src/screen/mod.rs:134:66 [INFO] [stderr] | [INFO] [stderr] 134 | if (self.height as i64) > self.cursor.1 as i64 + params[0] { [INFO] [stderr] | ^^^^^^ help: a local variable with a similar name exists: `_params` [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find value `params` in this scope [INFO] [stderr] --> src/screen/mod.rs:135:38 [INFO] [stderr] | [INFO] [stderr] 135 | self.cursor.1 += params[0] as usize; [INFO] [stderr] | ^^^^^^ help: a local variable with a similar name exists: `_params` [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find value `params` in this scope [INFO] [stderr] --> src/screen/mod.rs:142:45 [INFO] [stderr] | [INFO] [stderr] 142 | if (self.cursor.0 as i64) > params[0] { [INFO] [stderr] | ^^^^^^ help: a local variable with a similar name exists: `_params` [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find value `params` in this scope [INFO] [stderr] --> src/screen/mod.rs:143:38 [INFO] [stderr] | [INFO] [stderr] 143 | self.cursor.0 -= params[0] as usize; [INFO] [stderr] | ^^^^^^ help: a local variable with a similar name exists: `_params` [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find value `params` in this scope [INFO] [stderr] --> src/screen/mod.rs:150:65 [INFO] [stderr] | [INFO] [stderr] 150 | if (self.width as i64) > self.cursor.0 as i64 + params[0] { [INFO] [stderr] | ^^^^^^ help: a local variable with a similar name exists: `_params` [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find value `params` in this scope [INFO] [stderr] --> src/screen/mod.rs:151:38 [INFO] [stderr] | [INFO] [stderr] 151 | self.cursor.0 += params[0] as usize; [INFO] [stderr] | ^^^^^^ help: a local variable with a similar name exists: `_params` [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find value `params` in this scope [INFO] [stderr] --> src/screen/mod.rs:158:66 [INFO] [stderr] | [INFO] [stderr] 158 | if (self.height as i64) > self.cursor.1 as i64 + params[0] { [INFO] [stderr] | ^^^^^^ help: a local variable with a similar name exists: `_params` [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find value `params` in this scope [INFO] [stderr] --> src/screen/mod.rs:159:38 [INFO] [stderr] | [INFO] [stderr] 159 | self.cursor.1 += params[0] as usize; [INFO] [stderr] | ^^^^^^ help: a local variable with a similar name exists: `_params` [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find value `params` in this scope [INFO] [stderr] --> src/screen/mod.rs:167:45 [INFO] [stderr] | [INFO] [stderr] 167 | if (self.cursor.1 as i64) > params[0] { [INFO] [stderr] | ^^^^^^ help: a local variable with a similar name exists: `_params` [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find value `params` in this scope [INFO] [stderr] --> src/screen/mod.rs:168:38 [INFO] [stderr] | [INFO] [stderr] 168 | self.cursor.1 -= params[0] as usize; [INFO] [stderr] | ^^^^^^ help: a local variable with a similar name exists: `_params` [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find value `params` in this scope [INFO] [stderr] --> src/screen/mod.rs:176:20 [INFO] [stderr] | [INFO] [stderr] 176 | if params[0] < self.width as i64 { [INFO] [stderr] | ^^^^^^ help: a local variable with a similar name exists: `_params` [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find value `params` in this scope [INFO] [stderr] --> src/screen/mod.rs:177:24 [INFO] [stderr] | [INFO] [stderr] 177 | if params[0] > 0 { [INFO] [stderr] | ^^^^^^ help: a local variable with a similar name exists: `_params` [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find value `params` in this scope [INFO] [stderr] --> src/screen/mod.rs:178:41 [INFO] [stderr] | [INFO] [stderr] 178 | self.cursor.0 = params[0] as usize; [INFO] [stderr] | ^^^^^^ help: a local variable with a similar name exists: `_params` [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find value `params` in this scope [INFO] [stderr] --> src/screen/mod.rs:189:25 [INFO] [stderr] | [INFO] [stderr] 189 | let y = params[0] - 1; [INFO] [stderr] | ^^^^^^ help: a local variable with a similar name exists: `_params` [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find value `params` in this scope [INFO] [stderr] --> src/screen/mod.rs:190:25 [INFO] [stderr] | [INFO] [stderr] 190 | let x = params[1] - 1; [INFO] [stderr] | ^^^^^^ help: a local variable with a similar name exists: `_params` [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find value `params` in this scope [INFO] [stderr] --> src/screen/mod.rs:217:23 [INFO] [stderr] | [INFO] [stderr] 217 | match params[0] { [INFO] [stderr] | ^^^^^^ help: a local variable with a similar name exists: `_params` [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find value `params` in this scope [INFO] [stderr] --> src/screen/mod.rs:259:26 [INFO] [stderr] | [INFO] [stderr] 259 | for i in params { [INFO] [stderr] | ^^^^^^ help: a local variable with a similar name exists: `_params` [INFO] [stderr] [INFO] [stderr] warning: unreachable expression [INFO] [stderr] --> src/screen/mod.rs:124:9 [INFO] [stderr] | [INFO] [stderr] 123 | return; [INFO] [stderr] | ------ any code following this expression is unreachable [INFO] [stderr] 124 | / match action { [INFO] [stderr] 125 | | 'A' => { // Cursor Up [INFO] [stderr] 126 | | if (self.cursor.1 as i64) > params[0] { [INFO] [stderr] 127 | | self.cursor.1 -= params[0] as usize; [INFO] [stderr] ... | [INFO] [stderr] 329 | | } [INFO] [stderr] 330 | | } [INFO] [stderr] | |_________^ unreachable expression [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_code)]` on by default [INFO] [stderr] [INFO] [stderr] error: aborting due to 20 previous errors; 1 warning emitted [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0425`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: unused imports: `BufWriter`, `StdoutLock`, `stdout` [INFO] [stdout] --> src/renderer/mod.rs:1:15 [INFO] [stdout] | [INFO] [stdout] 1 | use std::io::{stdout, Write, BufWriter, Stdout, StdoutLock}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ExecutableCommand`, `terminal` [INFO] [stdout] --> src/renderer/mod.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | ExecutableCommand, QueueableCommand, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 4 | terminal, cursor, style::{self, Colorize}, Result [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cmp::min` [INFO] [stdout] --> src/renderer/mod.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::cmp::min; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ffi::CString` [INFO] [stdout] --> src/renderer/mod.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::ffi::CString; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::BorrowMut` [INFO] [stdout] --> src/screen/mod.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::borrow::BorrowMut; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ChildStdin`, `ChildStdout`, `Command`, `Stdio` [INFO] [stdout] --> src/screen/mod.rs:6:20 [INFO] [stdout] | [INFO] [stdout] 6 | use std::process::{Command, Stdio, ChildStdin, ChildStdout, exit}; [INFO] [stdout] | ^^^^^^^ ^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread` [INFO] [stdout] --> src/screen/mod.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::thread; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `close` [INFO] [stdout] --> src/screen/mod.rs:17:37 [INFO] [stdout] | [INFO] [stdout] 17 | use nix::unistd::{fork, ForkResult, close, setsid, dup2, Pid}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RawFd` [INFO] [stdout] --> src/screen/mod.rs:18:45 [INFO] [stdout] | [INFO] [stdout] 18 | use std::os::unix::io::{AsRawFd, FromRawFd, RawFd}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `c_char` [INFO] [stdout] --> src/screen/mod.rs:22:20 [INFO] [stdout] | [INFO] [stdout] 22 | use std::os::raw::{c_char, c_void}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `CStr` [INFO] [stdout] --> src/screen/mod.rs:23:25 [INFO] [stdout] | [INFO] [stdout] 23 | use std::ffi::{CString, CStr}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::alloc::handle_alloc_error` [INFO] [stdout] --> src/screen/mod.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | use std::alloc::handle_alloc_error; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread::current` [INFO] [stdout] --> src/screen/mod.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | use std::thread::current; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/screen/mod.rs:527:38 [INFO] [stdout] | [INFO] [stdout] 527 | self.master_fd.write((&[0x08 as u8])).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Result` [INFO] [stdout] --> src/main.rs:4:27 [INFO] [stdout] | [INFO] [stdout] 4 | use crossterm::{event::*, Result, terminal::size, QueueableCommand}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Read`, `stdout` [INFO] [stdout] --> src/main.rs:7:22 [INFO] [stdout] | [INFO] [stdout] 7 | use std::io::{Write, stdout, Read}; [INFO] [stdout] | ^^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Command`, `exit` [INFO] [stdout] --> src/main.rs:8:20 [INFO] [stdout] | [INFO] [stdout] 8 | use std::process::{exit, Command}; [INFO] [stdout] | ^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::Borrow` [INFO] [stdout] --> src/main.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::borrow::Borrow; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread::sleep` [INFO] [stdout] --> src/main.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use std::thread::sleep; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::process::Stdio` [INFO] [stdout] --> src/main.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use std::process::Stdio; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BufWriter`, `StdoutLock`, `stdout` [INFO] [stdout] --> src/renderer/mod.rs:1:15 [INFO] [stdout] | [INFO] [stdout] 1 | use std::io::{stdout, Write, BufWriter, Stdout, StdoutLock}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ExecutableCommand`, `terminal` [INFO] [stdout] --> src/renderer/mod.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | ExecutableCommand, QueueableCommand, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 4 | terminal, cursor, style::{self, Colorize}, Result [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cmp::min` [INFO] [stdout] --> src/renderer/mod.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::cmp::min; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ffi::CString` [INFO] [stdout] --> src/renderer/mod.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::ffi::CString; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::BorrowMut` [INFO] [stdout] --> src/screen/mod.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::borrow::BorrowMut; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ChildStdin`, `ChildStdout`, `Command`, `Stdio` [INFO] [stdout] --> src/screen/mod.rs:6:20 [INFO] [stdout] | [INFO] [stdout] 6 | use std::process::{Command, Stdio, ChildStdin, ChildStdout, exit}; [INFO] [stdout] | ^^^^^^^ ^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread` [INFO] [stdout] --> src/screen/mod.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::thread; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `close` [INFO] [stdout] --> src/screen/mod.rs:17:37 [INFO] [stdout] | [INFO] [stdout] 17 | use nix::unistd::{fork, ForkResult, close, setsid, dup2, Pid}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RawFd` [INFO] [stdout] --> src/screen/mod.rs:18:45 [INFO] [stdout] | [INFO] [stdout] 18 | use std::os::unix::io::{AsRawFd, FromRawFd, RawFd}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `c_char` [INFO] [stdout] --> src/screen/mod.rs:22:20 [INFO] [stdout] | [INFO] [stdout] 22 | use std::os::raw::{c_char, c_void}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `CStr` [INFO] [stdout] --> src/screen/mod.rs:23:25 [INFO] [stdout] | [INFO] [stdout] 23 | use std::ffi::{CString, CStr}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::alloc::handle_alloc_error` [INFO] [stdout] --> src/screen/mod.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | use std::alloc::handle_alloc_error; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread::current` [INFO] [stdout] --> src/screen/mod.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | use std::thread::current; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/screen/mod.rs:527:38 [INFO] [stdout] | [INFO] [stdout] 527 | self.master_fd.write((&[0x08 as u8])).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Result` [INFO] [stdout] --> src/main.rs:4:27 [INFO] [stdout] | [INFO] [stdout] 4 | use crossterm::{event::*, Result, terminal::size, QueueableCommand}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Read`, `stdout` [INFO] [stdout] --> src/main.rs:7:22 [INFO] [stdout] | [INFO] [stdout] 7 | use std::io::{Write, stdout, Read}; [INFO] [stdout] | ^^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Command`, `exit` [INFO] [stdout] --> src/main.rs:8:20 [INFO] [stdout] | [INFO] [stdout] 8 | use std::process::{exit, Command}; [INFO] [stdout] | ^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::Borrow` [INFO] [stdout] --> src/main.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::borrow::Borrow; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread::sleep` [INFO] [stdout] --> src/main.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use std::thread::sleep; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::process::Stdio` [INFO] [stdout] --> src/main.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use std::process::Stdio; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/screen/mod.rs:124:9 [INFO] [stdout] | [INFO] [stdout] 123 | return; [INFO] [stdout] | ------ any code following this expression is unreachable [INFO] [stdout] 124 | / match action { [INFO] [stdout] 125 | | 'A' => { // Cursor Up [INFO] [stdout] 126 | | if (self.cursor.1 as i64) > params[0] { [INFO] [stdout] 127 | | self.cursor.1 -= params[0] as usize; [INFO] [stdout] ... | [INFO] [stdout] 329 | | } [INFO] [stdout] 330 | | } [INFO] [stdout] | |_________^ unreachable expression [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/screen/mod.rs:124:9 [INFO] [stdout] | [INFO] [stdout] 123 | return; [INFO] [stdout] | ------ any code following this expression is unreachable [INFO] [stdout] 124 | / match action { [INFO] [stdout] 125 | | 'A' => { // Cursor Up [INFO] [stdout] 126 | | if (self.cursor.1 as i64) > params[0] { [INFO] [stdout] 127 | | self.cursor.1 -= params[0] as usize; [INFO] [stdout] ... | [INFO] [stdout] 329 | | } [INFO] [stdout] 330 | | } [INFO] [stdout] | |_________^ unreachable expression [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/main.rs:93:29 [INFO] [stdout] | [INFO] [stdout] 93 | ... _ => {} [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/main.rs:108:21 [INFO] [stdout] | [INFO] [stdout] 108 | _ => {} [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mouse_button` [INFO] [stdout] --> src/main.rs:77:46 [INFO] [stdout] | [INFO] [stdout] 77 | ... MouseEvent::Down(mouse_button, x, y, key_modifiers) => { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mouse_button` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key_modifiers` [INFO] [stdout] --> src/main.rs:77:66 [INFO] [stdout] | [INFO] [stdout] 77 | ... MouseEvent::Down(mouse_button, x, y, key_modifiers) => { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_modifiers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mouse_button` [INFO] [stdout] --> src/main.rs:81:44 [INFO] [stdout] | [INFO] [stdout] 81 | ... MouseEvent::Up(mouse_button, x, y, key_modifiers) => { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mouse_button` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key_modifiers` [INFO] [stdout] --> src/main.rs:81:64 [INFO] [stdout] | [INFO] [stdout] 81 | ... MouseEvent::Up(mouse_button, x, y, key_modifiers) => { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_modifiers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mouse_button` [INFO] [stdout] --> src/main.rs:84:46 [INFO] [stdout] | [INFO] [stdout] 84 | ... MouseEvent::Drag(mouse_button, x, y, key_modifiers) => { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mouse_button` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key_modifiers` [INFO] [stdout] --> src/main.rs:84:66 [INFO] [stdout] | [INFO] [stdout] 84 | ... MouseEvent::Drag(mouse_button, x, y, key_modifiers) => { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_modifiers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/main.rs:87:50 [INFO] [stdout] | [INFO] [stdout] 87 | ... MouseEvent::ScrollUp(x, y, key_modifiers) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y` [INFO] [stdout] --> src/main.rs:87:53 [INFO] [stdout] | [INFO] [stdout] 87 | ... MouseEvent::ScrollUp(x, y, key_modifiers) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key_modifiers` [INFO] [stdout] --> src/main.rs:87:56 [INFO] [stdout] | [INFO] [stdout] 87 | ... MouseEvent::ScrollUp(x, y, key_modifiers) => { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_modifiers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/main.rs:90:52 [INFO] [stdout] | [INFO] [stdout] 90 | ... MouseEvent::ScrollDown(x, y, key_modifiers) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y` [INFO] [stdout] --> src/main.rs:90:55 [INFO] [stdout] | [INFO] [stdout] 90 | ... MouseEvent::ScrollDown(x, y, key_modifiers) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key_modifiers` [INFO] [stdout] --> src/main.rs:90:58 [INFO] [stdout] | [INFO] [stdout] 90 | ... MouseEvent::ScrollDown(x, y, key_modifiers) => { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_modifiers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `con_width` is never read [INFO] [stdout] --> src/renderer/mod.rs:84:17 [INFO] [stdout] | [INFO] [stdout] 84 | con_width -= con.get_x() + con_width - w; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `params` [INFO] [stdout] --> src/screen/mod.rs:106:24 [INFO] [stdout] | [INFO] [stdout] 106 | fn hook(&mut self, params: &[i64], intermediates: &[u8], ignore: bool, action: char) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_params` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `intermediates` [INFO] [stdout] --> src/screen/mod.rs:106:40 [INFO] [stdout] | [INFO] [stdout] 106 | fn hook(&mut self, params: &[i64], intermediates: &[u8], ignore: bool, action: char) { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_intermediates` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ignore` [INFO] [stdout] --> src/screen/mod.rs:106:62 [INFO] [stdout] | [INFO] [stdout] 106 | fn hook(&mut self, params: &[i64], intermediates: &[u8], ignore: bool, action: char) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_ignore` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `action` [INFO] [stdout] --> src/screen/mod.rs:106:76 [INFO] [stdout] | [INFO] [stdout] 106 | fn hook(&mut self, params: &[i64], intermediates: &[u8], ignore: bool, action: char) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_action` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `byte` [INFO] [stdout] --> src/screen/mod.rs:110:23 [INFO] [stdout] | [INFO] [stdout] 110 | fn put(&mut self, byte: u8) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_byte` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `params` [INFO] [stdout] --> src/screen/mod.rs:118:32 [INFO] [stdout] | [INFO] [stdout] 118 | fn osc_dispatch(&mut self, params: &[&[u8]], bell_terminated: bool) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_params` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bell_terminated` [INFO] [stdout] --> src/screen/mod.rs:118:50 [INFO] [stdout] | [INFO] [stdout] 118 | fn osc_dispatch(&mut self, params: &[&[u8]], bell_terminated: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bell_terminated` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `params` [INFO] [stdout] --> src/screen/mod.rs:122:32 [INFO] [stdout] | [INFO] [stdout] 122 | fn csi_dispatch(&mut self, params: &[i64], intermediates: &[u8], ignore: bool, action: char) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_params` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `intermediates` [INFO] [stdout] --> src/screen/mod.rs:122:48 [INFO] [stdout] | [INFO] [stdout] 122 | fn csi_dispatch(&mut self, params: &[i64], intermediates: &[u8], ignore: bool, action: char) { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_intermediates` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ignore` [INFO] [stdout] --> src/screen/mod.rs:122:70 [INFO] [stdout] | [INFO] [stdout] 122 | fn csi_dispatch(&mut self, params: &[i64], intermediates: &[u8], ignore: bool, action: char) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_ignore` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `action` [INFO] [stdout] --> src/screen/mod.rs:122:84 [INFO] [stdout] | [INFO] [stdout] 122 | fn csi_dispatch(&mut self, params: &[i64], intermediates: &[u8], ignore: bool, action: char) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_action` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `intermediates` [INFO] [stdout] --> src/screen/mod.rs:333:32 [INFO] [stdout] | [INFO] [stdout] 333 | fn esc_dispatch(&mut self, intermediates: &[u8], ignore: bool, byte: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_intermediates` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ignore` [INFO] [stdout] --> src/screen/mod.rs:333:54 [INFO] [stdout] | [INFO] [stdout] 333 | fn esc_dispatch(&mut self, intermediates: &[u8], ignore: bool, byte: u8) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_ignore` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/screen/mod.rs:484:31 [INFO] [stdout] | [INFO] [stdout] 484 | fn on_mouse_up(&mut self, x: u16, y: u16) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y` [INFO] [stdout] --> src/screen/mod.rs:484:39 [INFO] [stdout] | [INFO] [stdout] 484 | fn on_mouse_up(&mut self, x: u16, y: u16) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `modifiers` [INFO] [stdout] --> src/screen/mod.rs:518:41 [INFO] [stdout] | [INFO] [stdout] 518 | fn on_key(&mut self, code: KeyCode, modifiers: KeyModifiers) { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_modifiers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lines` [INFO] [stdout] --> src/screen/mod.rs:553:13 [INFO] [stdout] | [INFO] [stdout] 553 | let lines: Vec = vec!["".to_string()]; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_lines` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/main.rs:93:29 [INFO] [stdout] | [INFO] [stdout] 93 | ... _ => {} [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/main.rs:108:21 [INFO] [stdout] | [INFO] [stdout] 108 | _ => {} [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mouse_button` [INFO] [stdout] --> src/main.rs:77:46 [INFO] [stdout] | [INFO] [stdout] 77 | ... MouseEvent::Down(mouse_button, x, y, key_modifiers) => { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mouse_button` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key_modifiers` [INFO] [stdout] --> src/main.rs:77:66 [INFO] [stdout] | [INFO] [stdout] 77 | ... MouseEvent::Down(mouse_button, x, y, key_modifiers) => { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_modifiers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mouse_button` [INFO] [stdout] --> src/main.rs:81:44 [INFO] [stdout] | [INFO] [stdout] 81 | ... MouseEvent::Up(mouse_button, x, y, key_modifiers) => { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mouse_button` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key_modifiers` [INFO] [stdout] --> src/main.rs:81:64 [INFO] [stdout] | [INFO] [stdout] 81 | ... MouseEvent::Up(mouse_button, x, y, key_modifiers) => { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_modifiers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mouse_button` [INFO] [stdout] --> src/main.rs:84:46 [INFO] [stdout] | [INFO] [stdout] 84 | ... MouseEvent::Drag(mouse_button, x, y, key_modifiers) => { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mouse_button` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/renderer/mod.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 31 | for mut line in lines { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key_modifiers` [INFO] [stdout] --> src/main.rs:84:66 [INFO] [stdout] | [INFO] [stdout] 84 | ... MouseEvent::Drag(mouse_button, x, y, key_modifiers) => { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_modifiers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/main.rs:87:50 [INFO] [stdout] | [INFO] [stdout] 87 | ... MouseEvent::ScrollUp(x, y, key_modifiers) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y` [INFO] [stdout] --> src/main.rs:87:53 [INFO] [stdout] | [INFO] [stdout] 87 | ... MouseEvent::ScrollUp(x, y, key_modifiers) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key_modifiers` [INFO] [stdout] --> src/main.rs:87:56 [INFO] [stdout] | [INFO] [stdout] 87 | ... MouseEvent::ScrollUp(x, y, key_modifiers) => { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_modifiers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/main.rs:90:52 [INFO] [stdout] | [INFO] [stdout] 90 | ... MouseEvent::ScrollDown(x, y, key_modifiers) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y` [INFO] [stdout] --> src/main.rs:90:55 [INFO] [stdout] | [INFO] [stdout] 90 | ... MouseEvent::ScrollDown(x, y, key_modifiers) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key_modifiers` [INFO] [stdout] --> src/main.rs:90:58 [INFO] [stdout] | [INFO] [stdout] 90 | ... MouseEvent::ScrollDown(x, y, key_modifiers) => { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_modifiers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `con_width` is never read [INFO] [stdout] --> src/renderer/mod.rs:84:17 [INFO] [stdout] | [INFO] [stdout] 84 | con_width -= con.get_x() + con_width - w; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `params` [INFO] [stdout] --> src/screen/mod.rs:106:24 [INFO] [stdout] | [INFO] [stdout] 106 | fn hook(&mut self, params: &[i64], intermediates: &[u8], ignore: bool, action: char) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_params` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `intermediates` [INFO] [stdout] --> src/screen/mod.rs:106:40 [INFO] [stdout] | [INFO] [stdout] 106 | fn hook(&mut self, params: &[i64], intermediates: &[u8], ignore: bool, action: char) { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_intermediates` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ignore` [INFO] [stdout] --> src/screen/mod.rs:106:62 [INFO] [stdout] | [INFO] [stdout] 106 | fn hook(&mut self, params: &[i64], intermediates: &[u8], ignore: bool, action: char) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_ignore` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `action` [INFO] [stdout] --> src/screen/mod.rs:106:76 [INFO] [stdout] | [INFO] [stdout] 106 | fn hook(&mut self, params: &[i64], intermediates: &[u8], ignore: bool, action: char) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_action` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `byte` [INFO] [stdout] --> src/screen/mod.rs:110:23 [INFO] [stdout] | [INFO] [stdout] 110 | fn put(&mut self, byte: u8) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_byte` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `params` [INFO] [stdout] --> src/screen/mod.rs:118:32 [INFO] [stdout] | [INFO] [stdout] 118 | fn osc_dispatch(&mut self, params: &[&[u8]], bell_terminated: bool) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_params` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bell_terminated` [INFO] [stdout] --> src/screen/mod.rs:118:50 [INFO] [stdout] | [INFO] [stdout] 118 | fn osc_dispatch(&mut self, params: &[&[u8]], bell_terminated: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bell_terminated` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `params` [INFO] [stdout] --> src/screen/mod.rs:122:32 [INFO] [stdout] | [INFO] [stdout] 122 | fn csi_dispatch(&mut self, params: &[i64], intermediates: &[u8], ignore: bool, action: char) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_params` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `intermediates` [INFO] [stdout] --> src/screen/mod.rs:122:48 [INFO] [stdout] | [INFO] [stdout] 122 | fn csi_dispatch(&mut self, params: &[i64], intermediates: &[u8], ignore: bool, action: char) { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_intermediates` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ignore` [INFO] [stdout] --> src/screen/mod.rs:122:70 [INFO] [stdout] | [INFO] [stdout] 122 | fn csi_dispatch(&mut self, params: &[i64], intermediates: &[u8], ignore: bool, action: char) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_ignore` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `action` [INFO] [stdout] --> src/screen/mod.rs:122:84 [INFO] [stdout] | [INFO] [stdout] 122 | fn csi_dispatch(&mut self, params: &[i64], intermediates: &[u8], ignore: bool, action: char) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_action` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `intermediates` [INFO] [stdout] --> src/screen/mod.rs:333:32 [INFO] [stdout] | [INFO] [stdout] 333 | fn esc_dispatch(&mut self, intermediates: &[u8], ignore: bool, byte: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_intermediates` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ignore` [INFO] [stdout] --> src/screen/mod.rs:333:54 [INFO] [stdout] | [INFO] [stdout] 333 | fn esc_dispatch(&mut self, intermediates: &[u8], ignore: bool, byte: u8) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_ignore` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/screen/mod.rs:484:31 [INFO] [stdout] | [INFO] [stdout] 484 | fn on_mouse_up(&mut self, x: u16, y: u16) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y` [INFO] [stdout] --> src/screen/mod.rs:484:39 [INFO] [stdout] | [INFO] [stdout] 484 | fn on_mouse_up(&mut self, x: u16, y: u16) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `modifiers` [INFO] [stdout] --> src/screen/mod.rs:518:41 [INFO] [stdout] | [INFO] [stdout] 518 | fn on_key(&mut self, code: KeyCode, modifiers: KeyModifiers) { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_modifiers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lines` [INFO] [stdout] --> src/screen/mod.rs:553:13 [INFO] [stdout] | [INFO] [stdout] 553 | let lines: Vec = vec!["".to_string()]; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_lines` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/renderer/mod.rs:46:9 [INFO] [stdout] | [INFO] [stdout] 46 | let mut vec: Vec = 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/renderer/mod.rs:47:9 [INFO] [stdout] | [INFO] [stdout] 47 | let mut s = stdout; [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/renderer/mod.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 31 | for mut line in lines { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/renderer/mod.rs:46:9 [INFO] [stdout] | [INFO] [stdout] 46 | let mut vec: Vec = 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/renderer/mod.rs:47:9 [INFO] [stdout] | [INFO] [stdout] 47 | let mut s = stdout; [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/screen/mod.rs:606:21 [INFO] [stdout] | [INFO] [stdout] 606 | let mut master_file: File = unsafe { std::fs::File::from_raw_fd(master_fd) }; [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/screen/mod.rs:563:13 [INFO] [stdout] | [INFO] [stdout] 563 | let mut m: File = unsafe { std::fs::File::from_raw_fd(master_fd.as_raw_fd()) }; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_container` [INFO] [stdout] --> src/screen/mod.rs:670:12 [INFO] [stdout] | [INFO] [stdout] 670 | pub fn get_container(&self, index: u16) -> Option>>> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/screen/mod.rs:593:30 [INFO] [stdout] | [INFO] [stdout] 593 | Err(e) => panic!(e), [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `--force-warn non-fmt-panics` implied by `--force-warn rust-2021-compatibility` [INFO] [stdout] = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to Display the message [INFO] [stdout] | [INFO] [stdout] 593 | Err(e) => panic!("{}", e), [INFO] [stdout] | +++++ [INFO] [stdout] help: or use std::panic::panic_any instead [INFO] [stdout] | [INFO] [stdout] 593 | Err(e) => std::panic::panic_any(e), [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/screen/mod.rs:606:21 [INFO] [stdout] | [INFO] [stdout] 606 | let mut master_file: File = unsafe { std::fs::File::from_raw_fd(master_fd) }; [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/screen/mod.rs:563:13 [INFO] [stdout] | [INFO] [stdout] 563 | let mut m: File = unsafe { std::fs::File::from_raw_fd(master_fd.as_raw_fd()) }; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | enable_raw_mode(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:60:9 [INFO] [stdout] | [INFO] [stdout] 60 | renderer::redraw(&mut stdout, current_w, current_h, &screen); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:66:9 [INFO] [stdout] | [INFO] [stdout] 66 | renderer::redraw(&mut stdout, current_w, current_h, &screen); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `mouseEvent` should have a snake case name [INFO] [stdout] --> src/main.rs:75:34 [INFO] [stdout] | [INFO] [stdout] 75 | Event::Mouse(mouseEvent) => { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `mouse_event` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/renderer/mod.rs:106:5 [INFO] [stdout] | [INFO] [stdout] 106 | / stdout [INFO] [stdout] 107 | | .queue(cursor::MoveTo(2, 0)).unwrap() [INFO] [stdout] 108 | | .queue(crossterm::style::Print(info_string)); [INFO] [stdout] | |_____________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/renderer/mod.rs:110:5 [INFO] [stdout] | [INFO] [stdout] 110 | s.write_all(&stdout); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_container` [INFO] [stdout] --> src/screen/mod.rs:670:12 [INFO] [stdout] | [INFO] [stdout] 670 | pub fn get_container(&self, index: u16) -> Option>>> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/screen/mod.rs:530:17 [INFO] [stdout] | [INFO] [stdout] 530 | self.master_fd.write_all(&[0x1B as u8, '[' as u8, 'D' as u8]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/screen/mod.rs:533:17 [INFO] [stdout] | [INFO] [stdout] 533 | self.master_fd.write_all(&[0x1B as u8, '[' as u8, 'C' as u8]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/screen/mod.rs:536:17 [INFO] [stdout] | [INFO] [stdout] 536 | self.master_fd.write_all(&[0x1B as u8, '[' as u8, 'A' as u8]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/screen/mod.rs:539:17 [INFO] [stdout] | [INFO] [stdout] 539 | self.master_fd.write_all(&[0x1B as u8, '[' as u8, 'B' as u8]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/screen/mod.rs:577:17 [INFO] [stdout] | [INFO] [stdout] 577 | dup2(slave_fd, 0); // stdin [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/screen/mod.rs:578:17 [INFO] [stdout] | [INFO] [stdout] 578 | dup2(slave_fd, 1); // stdout [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/screen/mod.rs:579:17 [INFO] [stdout] | [INFO] [stdout] 579 | dup2(slave_fd, 2); // stderr [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/screen/mod.rs:593:30 [INFO] [stdout] | [INFO] [stdout] 593 | Err(e) => panic!(e), [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `--force-warn non-fmt-panics` implied by `--force-warn rust-2021-compatibility` [INFO] [stdout] = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to Display the message [INFO] [stdout] | [INFO] [stdout] 593 | Err(e) => panic!("{}", e), [INFO] [stdout] | +++++ [INFO] [stdout] help: or use std::panic::panic_any instead [INFO] [stdout] | [INFO] [stdout] 593 | Err(e) => std::panic::panic_any(e), [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | enable_raw_mode(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:60:9 [INFO] [stdout] | [INFO] [stdout] 60 | renderer::redraw(&mut stdout, current_w, current_h, &screen); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:66:9 [INFO] [stdout] | [INFO] [stdout] 66 | renderer::redraw(&mut stdout, current_w, current_h, &screen); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `mouseEvent` should have a snake case name [INFO] [stdout] --> src/main.rs:75:34 [INFO] [stdout] | [INFO] [stdout] 75 | Event::Mouse(mouseEvent) => { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `mouse_event` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/renderer/mod.rs:106:5 [INFO] [stdout] | [INFO] [stdout] 106 | / stdout [INFO] [stdout] 107 | | .queue(cursor::MoveTo(2, 0)).unwrap() [INFO] [stdout] 108 | | .queue(crossterm::style::Print(info_string)); [INFO] [stdout] | |_____________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/renderer/mod.rs:110:5 [INFO] [stdout] | [INFO] [stdout] 110 | s.write_all(&stdout); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/screen/mod.rs:530:17 [INFO] [stdout] | [INFO] [stdout] 530 | self.master_fd.write_all(&[0x1B as u8, '[' as u8, 'D' as u8]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/screen/mod.rs:533:17 [INFO] [stdout] | [INFO] [stdout] 533 | self.master_fd.write_all(&[0x1B as u8, '[' as u8, 'C' as u8]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/screen/mod.rs:536:17 [INFO] [stdout] | [INFO] [stdout] 536 | self.master_fd.write_all(&[0x1B as u8, '[' as u8, 'A' as u8]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/screen/mod.rs:539:17 [INFO] [stdout] | [INFO] [stdout] 539 | self.master_fd.write_all(&[0x1B as u8, '[' as u8, 'B' as u8]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/screen/mod.rs:577:17 [INFO] [stdout] | [INFO] [stdout] 577 | dup2(slave_fd, 0); // stdin [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/screen/mod.rs:578:17 [INFO] [stdout] | [INFO] [stdout] 578 | dup2(slave_fd, 1); // stdout [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/screen/mod.rs:579:17 [INFO] [stdout] | [INFO] [stdout] 579 | dup2(slave_fd, 2); // stderr [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 73 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 73 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 21.75s [INFO] [stderr] Running `cargo check` to verify 2021 [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Checking termui v0.1.0 (/tmp/fixit) [INFO] [stdout] error: format argument must be a string literal [INFO] [stdout] --> src/screen/mod.rs:593:30 [INFO] [stdout] | [INFO] [stdout] 593 | Err(e) => panic!(e), [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] help: you might be missing a string literal to format with [INFO] [stdout] | [INFO] [stdout] 593 | Err(e) => panic!("{}", e), [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: format argument must be a string literal [INFO] [stdout] --> src/screen/mod.rs:593:30 [INFO] [stdout] | [INFO] [stdout] 593 | Err(e) => panic!(e), [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] help: you might be missing a string literal to format with [INFO] [stdout] | [INFO] [stdout] 593 | Err(e) => panic!("{}", e), [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BufWriter`, `StdoutLock`, `stdout` [INFO] [stdout] --> src/renderer/mod.rs:1:15 [INFO] [stdout] | [INFO] [stdout] 1 | use std::io::{stdout, Write, BufWriter, Stdout, StdoutLock}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ExecutableCommand`, `terminal` [INFO] [stdout] --> src/renderer/mod.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | ExecutableCommand, QueueableCommand, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 4 | terminal, cursor, style::{self, Colorize}, Result [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cmp::min` [INFO] [stdout] --> src/renderer/mod.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::cmp::min; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ffi::CString` [INFO] [stdout] --> src/renderer/mod.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::ffi::CString; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::BorrowMut` [INFO] [stdout] --> src/screen/mod.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::borrow::BorrowMut; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ChildStdin`, `ChildStdout`, `Command`, `Stdio` [INFO] [stdout] --> src/screen/mod.rs:6:20 [INFO] [stdout] | [INFO] [stdout] 6 | use std::process::{Command, Stdio, ChildStdin, ChildStdout, exit}; [INFO] [stdout] | ^^^^^^^ ^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread` [INFO] [stdout] --> src/screen/mod.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::thread; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `close` [INFO] [stdout] --> src/screen/mod.rs:17:37 [INFO] [stdout] | [INFO] [stdout] 17 | use nix::unistd::{fork, ForkResult, close, setsid, dup2, Pid}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RawFd` [INFO] [stdout] --> src/screen/mod.rs:18:45 [INFO] [stdout] | [INFO] [stdout] 18 | use std::os::unix::io::{AsRawFd, FromRawFd, RawFd}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `c_char` [INFO] [stdout] --> src/screen/mod.rs:22:20 [INFO] [stdout] | [INFO] [stdout] 22 | use std::os::raw::{c_char, c_void}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BufWriter`, `StdoutLock`, `stdout` [INFO] [stdout] --> src/renderer/mod.rs:1:15 [INFO] [stdout] | [INFO] [stdout] 1 | use std::io::{stdout, Write, BufWriter, Stdout, StdoutLock}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ExecutableCommand`, `terminal` [INFO] [stdout] --> src/renderer/mod.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | ExecutableCommand, QueueableCommand, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 4 | terminal, cursor, style::{self, Colorize}, Result [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cmp::min` [INFO] [stdout] --> src/renderer/mod.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::cmp::min; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ffi::CString` [INFO] [stdout] --> src/renderer/mod.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::ffi::CString; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::BorrowMut` [INFO] [stdout] --> src/screen/mod.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::borrow::BorrowMut; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ChildStdin`, `ChildStdout`, `Command`, `Stdio` [INFO] [stdout] --> src/screen/mod.rs:6:20 [INFO] [stdout] | [INFO] [stdout] 6 | use std::process::{Command, Stdio, ChildStdin, ChildStdout, exit}; [INFO] [stdout] | ^^^^^^^ ^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread` [INFO] [stdout] --> src/screen/mod.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::thread; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `close` [INFO] [stdout] --> src/screen/mod.rs:17:37 [INFO] [stdout] | [INFO] [stdout] 17 | use nix::unistd::{fork, ForkResult, close, setsid, dup2, Pid}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RawFd` [INFO] [stdout] --> src/screen/mod.rs:18:45 [INFO] [stdout] | [INFO] [stdout] 18 | use std::os::unix::io::{AsRawFd, FromRawFd, RawFd}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `c_char` [INFO] [stdout] --> src/screen/mod.rs:22:20 [INFO] [stdout] | [INFO] [stdout] 22 | use std::os::raw::{c_char, c_void}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `CStr` [INFO] [stdout] --> src/screen/mod.rs:23:25 [INFO] [stdout] | [INFO] [stdout] 23 | use std::ffi::{CString, CStr}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::alloc::handle_alloc_error` [INFO] [stdout] --> src/screen/mod.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | use std::alloc::handle_alloc_error; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread::current` [INFO] [stdout] --> src/screen/mod.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | use std::thread::current; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/screen/mod.rs:527:38 [INFO] [stdout] | [INFO] [stdout] 527 | self.master_fd.write((&[0x08 as u8])).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Result` [INFO] [stdout] --> src/main.rs:4:27 [INFO] [stdout] | [INFO] [stdout] 4 | use crossterm::{event::*, Result, terminal::size, QueueableCommand}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Read`, `stdout` [INFO] [stdout] --> src/main.rs:7:22 [INFO] [stdout] | [INFO] [stdout] 7 | use std::io::{Write, stdout, Read}; [INFO] [stdout] | ^^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Command`, `exit` [INFO] [stdout] --> src/main.rs:8:20 [INFO] [stdout] | [INFO] [stdout] 8 | use std::process::{exit, Command}; [INFO] [stdout] | ^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::Borrow` [INFO] [stdout] --> src/main.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::borrow::Borrow; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread::sleep` [INFO] [stdout] --> src/main.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use std::thread::sleep; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::process::Stdio` [INFO] [stdout] --> src/main.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use std::process::Stdio; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `CStr` [INFO] [stdout] --> src/screen/mod.rs:23:25 [INFO] [stdout] | [INFO] [stdout] 23 | use std::ffi::{CString, CStr}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::alloc::handle_alloc_error` [INFO] [stdout] --> src/screen/mod.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | use std::alloc::handle_alloc_error; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread::current` [INFO] [stdout] --> src/screen/mod.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | use std::thread::current; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/screen/mod.rs:527:38 [INFO] [stdout] | [INFO] [stdout] 527 | self.master_fd.write((&[0x08 as u8])).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Result` [INFO] [stdout] --> src/main.rs:4:27 [INFO] [stdout] | [INFO] [stdout] 4 | use crossterm::{event::*, Result, terminal::size, QueueableCommand}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Read`, `stdout` [INFO] [stdout] --> src/main.rs:7:22 [INFO] [stdout] | [INFO] [stdout] 7 | use std::io::{Write, stdout, Read}; [INFO] [stdout] | ^^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Command`, `exit` [INFO] [stdout] --> src/main.rs:8:20 [INFO] [stdout] | [INFO] [stdout] 8 | use std::process::{exit, Command}; [INFO] [stdout] | ^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::Borrow` [INFO] [stdout] --> src/main.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::borrow::Borrow; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread::sleep` [INFO] [stdout] --> src/main.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use std::thread::sleep; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::process::Stdio` [INFO] [stdout] --> src/main.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use std::process::Stdio; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/screen/mod.rs:124:9 [INFO] [stdout] | [INFO] [stdout] 123 | return; [INFO] [stdout] | ------ any code following this expression is unreachable [INFO] [stdout] 124 | / match action { [INFO] [stdout] 125 | | 'A' => { // Cursor Up [INFO] [stdout] 126 | | if (self.cursor.1 as i64) > params[0] { [INFO] [stdout] 127 | | self.cursor.1 -= params[0] as usize; [INFO] [stdout] ... | [INFO] [stdout] 329 | | } [INFO] [stdout] 330 | | } [INFO] [stdout] | |_________^ unreachable expression [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/screen/mod.rs:124:9 [INFO] [stdout] | [INFO] [stdout] 123 | return; [INFO] [stdout] | ------ any code following this expression is unreachable [INFO] [stdout] 124 | / match action { [INFO] [stdout] 125 | | 'A' => { // Cursor Up [INFO] [stdout] 126 | | if (self.cursor.1 as i64) > params[0] { [INFO] [stdout] 127 | | self.cursor.1 -= params[0] as usize; [INFO] [stdout] ... | [INFO] [stdout] 329 | | } [INFO] [stdout] 330 | | } [INFO] [stdout] | |_________^ unreachable expression [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to previous error; 21 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `termui` due to 2 previous errors; 21 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: aborting due to previous error; 21 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: build failed [INFO] [stderr] error: failed to check after updating to 2021 [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `cargo check --frozen --all --all-targets --message-format=json` (exit status: 101) [INFO] running `Command { std: "docker" "inspect" "099f9aaee586e3296886802dad6bc7567d35c62ff7c316354bb6777475655f2b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "099f9aaee586e3296886802dad6bc7567d35c62ff7c316354bb6777475655f2b", kill_on_drop: false }` [INFO] [stdout] 099f9aaee586e3296886802dad6bc7567d35c62ff7c316354bb6777475655f2b