[INFO] crate crossterm 0.5.1 is already in cache [INFO] extracting crate crossterm 0.5.1 into work/ex/clippy-test-run/sources/stable/reg/crossterm/0.5.1 [INFO] extracting crate crossterm 0.5.1 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/crossterm/0.5.1 [INFO] validating manifest of crossterm-0.5.1 on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of crossterm-0.5.1 on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing crossterm-0.5.1 [INFO] removed 0 missing examples [INFO] finished frobbing crossterm-0.5.1 [INFO] frobbed toml for crossterm-0.5.1 written to work/ex/clippy-test-run/sources/stable/reg/crossterm/0.5.1/Cargo.toml [INFO] started frobbing crossterm-0.5.1 [INFO] removed 0 missing examples [INFO] finished frobbing crossterm-0.5.1 [INFO] frobbed toml for crossterm-0.5.1 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/crossterm/0.5.1/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting crossterm-0.5.1 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-0/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/crossterm/0.5.1:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] d725649e6ccf7bb56d5751520723fcacad3c573187424f37de31110a322608d6 [INFO] running `"docker" "start" "-a" "d725649e6ccf7bb56d5751520723fcacad3c573187424f37de31110a322608d6"` [INFO] [stderr] Checking crossterm v0.5.1 (/opt/crater/workdir) [INFO] [stderr] warning: unused import: `common::functions` [INFO] [stderr] --> src/common/screen/alternate.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use common::functions; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: module has the same name as its containing module [INFO] [stderr] --> src/common/screen/mod.rs:6:1 [INFO] [stderr] | [INFO] [stderr] 6 | mod screen; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::module_inception)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stderr] [INFO] [stderr] warning: module has the same name as its containing module [INFO] [stderr] --> src/modules/cursor/mod.rs:6:1 [INFO] [stderr] | [INFO] [stderr] 6 | mod cursor; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stderr] [INFO] [stderr] warning: module has the same name as its containing module [INFO] [stderr] --> src/modules/input/mod.rs:4:1 [INFO] [stderr] | [INFO] [stderr] 4 | mod input; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stderr] [INFO] [stderr] warning: module has the same name as its containing module [INFO] [stderr] --> src/modules/output/mod.rs:3:1 [INFO] [stderr] | [INFO] [stderr] 3 | mod output; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::functions` [INFO] [stderr] --> src/modules/output/mod.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | use super::functions; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: module has the same name as its containing module [INFO] [stderr] --> src/modules/terminal/mod.rs:6:1 [INFO] [stderr] | [INFO] [stderr] 6 | mod terminal; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stderr] [INFO] [stderr] warning: unused import: `common::functions` [INFO] [stderr] --> src/common/screen/alternate.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use common::functions; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: module has the same name as its containing module [INFO] [stderr] --> src/common/screen/mod.rs:6:1 [INFO] [stderr] | [INFO] [stderr] 6 | mod screen; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::module_inception)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stderr] [INFO] [stderr] warning: module has the same name as its containing module [INFO] [stderr] --> src/modules/cursor/mod.rs:6:1 [INFO] [stderr] | [INFO] [stderr] 6 | mod cursor; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/modules/cursor/test.rs:91:5 [INFO] [stderr] | [INFO] [stderr] 91 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: module has the same name as its containing module [INFO] [stderr] --> src/modules/input/mod.rs:4:1 [INFO] [stderr] | [INFO] [stderr] 4 | mod input; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stderr] [INFO] [stderr] warning: module has the same name as its containing module [INFO] [stderr] --> src/modules/output/mod.rs:3:1 [INFO] [stderr] | [INFO] [stderr] 3 | mod output; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/modules/output/test.rs:77:5 [INFO] [stderr] | [INFO] [stderr] 77 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::functions` [INFO] [stderr] --> src/modules/output/mod.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | use super::functions; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/modules/terminal/test.rs:61:5 [INFO] [stderr] | [INFO] [stderr] 61 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: module has the same name as its containing module [INFO] [stderr] --> src/modules/terminal/mod.rs:6:1 [INFO] [stderr] | [INFO] [stderr] 6 | mod terminal; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/common/functions.rs:68:22 [INFO] [stderr] | [INFO] [stderr] 68 | pub fn write(stdout: &Option<&Arc>, string: String) -> io::Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `Option<&Arc>` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/common/functions.rs:87:26 [INFO] [stderr] | [INFO] [stderr] 87 | pub fn write_str(stdout: &Option<&Arc>, string: &str) -> io::Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `Option<&Arc>` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/common/screen/alternate.rs:39:9 [INFO] [stderr] | [INFO] [stderr] 39 | stdout: TerminalOutput, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::wrong_self_convention)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/common/screen/alternate.rs:74:9 [INFO] [stderr] | [INFO] [stderr] 74 | self.to_main_screen(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/common/screen/screen.rs:168:13 [INFO] [stderr] | [INFO] [stderr] 168 | RawScreen::disable_raw_modes(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `common::crossterm::Crossterm` [INFO] [stderr] --> src/common/crossterm.rs:44:5 [INFO] [stderr] | [INFO] [stderr] 44 | / pub fn new() -> Crossterm { [INFO] [stderr] 45 | | Crossterm { stdout: None } [INFO] [stderr] 46 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default_derive)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 38 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `extern` block uses type `termios::Termios` which is not FFI-safe: this struct has unspecified layout [INFO] [stderr] --> src/kernel/unix_kernel/terminal.rs:151:35 [INFO] [stderr] | [INFO] [stderr] 151 | pub fn cfmakeraw(termptr: *mut Termios); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(improper_ctypes)] on by default [INFO] [stderr] = help: consider adding a #[repr(C)] or #[repr(transparent)] attribute to this struct [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/kernel/unix_kernel/terminal.rs:169:20 [INFO] [stderr] | [INFO] [stderr] 169 | let original = termios.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try removing the `clone` call: `termios` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/kernel/unix_kernel/terminal.rs:173:43 [INFO] [stderr] | [INFO] [stderr] 173 | ORIGINAL_TERMINAL_MODE = Some(original.clone()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `original` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `modules::cursor::cursor::TerminalCursor<'stdout>` [INFO] [stderr] --> src/modules/cursor/cursor.rs:38:5 [INFO] [stderr] | [INFO] [stderr] 38 | / pub fn new() -> TerminalCursor<'stdout> { [INFO] [stderr] 39 | | #[cfg(target_os = "windows")] [INFO] [stderr] 40 | | let cursor = functions::get_module::>( [INFO] [stderr] 41 | | WinApiCursor::new(), [INFO] [stderr] ... | [INFO] [stderr] 51 | | } [INFO] [stderr] 52 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 36 | impl Default for modules::cursor::cursor::TerminalCursor<'stdout> { [INFO] [stderr] 37 | fn default() -> Self { [INFO] [stderr] 38 | Self::new() [INFO] [stderr] 39 | } [INFO] [stderr] 40 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/modules/cursor/ansi_cursor.rs:18:9 [INFO] [stderr] | [INFO] [stderr] 18 | functions::write(stdout, format!(csi!("{};{}H"), y + 1, x + 1)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/modules/cursor/ansi_cursor.rs:26:9 [INFO] [stderr] | [INFO] [stderr] 26 | functions::write(stdout, format!(csi!("{}A"), count)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/modules/cursor/ansi_cursor.rs:30:9 [INFO] [stderr] | [INFO] [stderr] 30 | functions::write(stdout, format!(csi!("{}C"), count)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/modules/cursor/ansi_cursor.rs:34:9 [INFO] [stderr] | [INFO] [stderr] 34 | functions::write(stdout, format!(csi!("{}B"), count)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/modules/cursor/ansi_cursor.rs:38:9 [INFO] [stderr] | [INFO] [stderr] 38 | functions::write(stdout, format!(csi!("{}D"), count)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/modules/cursor/ansi_cursor.rs:42:9 [INFO] [stderr] | [INFO] [stderr] 42 | functions::write_str(stdout, csi!("s")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/modules/cursor/ansi_cursor.rs:46:9 [INFO] [stderr] | [INFO] [stderr] 46 | functions::write_str(stdout, csi!("u")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/modules/cursor/ansi_cursor.rs:50:9 [INFO] [stderr] | [INFO] [stderr] 50 | functions::write_str(stdout, csi!("?25l")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/modules/cursor/ansi_cursor.rs:54:9 [INFO] [stderr] | [INFO] [stderr] 54 | functions::write_str(stdout, csi!("?25h")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/modules/cursor/ansi_cursor.rs:59:13 [INFO] [stderr] | [INFO] [stderr] 59 | functions::write_str(stdout, csi!("?12h")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/modules/cursor/ansi_cursor.rs:61:13 [INFO] [stderr] | [INFO] [stderr] 61 | functions::write_str(stdout, csi!("?12l")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/modules/cursor/mod.rs:35:44 [INFO] [stderr] | [INFO] [stderr] 35 | fn goto(&self, x: u16, y: u16, stdout: &Option<&Arc>); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `Option<&Arc>` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/modules/cursor/mod.rs:39:43 [INFO] [stderr] | [INFO] [stderr] 39 | fn move_up(&self, count: u16, stdout: &Option<&Arc>); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `Option<&Arc>` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/modules/cursor/mod.rs:41:46 [INFO] [stderr] | [INFO] [stderr] 41 | fn move_right(&self, count: u16, stdout: &Option<&Arc>); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `Option<&Arc>` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/modules/cursor/mod.rs:43:45 [INFO] [stderr] | [INFO] [stderr] 43 | fn move_down(&self, count: u16, stdout: &Option<&Arc>); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `Option<&Arc>` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/modules/cursor/mod.rs:45:45 [INFO] [stderr] | [INFO] [stderr] 45 | fn move_left(&self, count: u16, stdout: &Option<&Arc>); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `Option<&Arc>` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/modules/cursor/mod.rs:47:37 [INFO] [stderr] | [INFO] [stderr] 47 | fn save_position(&self, stdout: &Option<&Arc>); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `Option<&Arc>` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/modules/cursor/mod.rs:49:38 [INFO] [stderr] | [INFO] [stderr] 49 | fn reset_position(&self, stdout: &Option<&Arc>); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `Option<&Arc>` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/modules/cursor/mod.rs:51:28 [INFO] [stderr] | [INFO] [stderr] 51 | fn hide(&self, stdout: &Option<&Arc>); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `Option<&Arc>` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/modules/cursor/mod.rs:53:28 [INFO] [stderr] | [INFO] [stderr] 53 | fn show(&self, stdout: &Option<&Arc>); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `Option<&Arc>` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/modules/cursor/mod.rs:55:42 [INFO] [stderr] | [INFO] [stderr] 55 | fn blink(&self, blink: bool, stdout: &Option<&Arc>); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `Option<&Arc>` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `modules::input::input::TerminalInput<'stdout>` [INFO] [stderr] --> src/modules/input/input.rs:37:5 [INFO] [stderr] | [INFO] [stderr] 37 | / pub fn new() -> TerminalInput<'stdout> { [INFO] [stderr] 38 | | #[cfg(target_os = "windows")] [INFO] [stderr] 39 | | let input = Box::from(WindowsInput::new()); [INFO] [stderr] 40 | | [INFO] [stderr] ... | [INFO] [stderr] 47 | | } [INFO] [stderr] 48 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 35 | impl Default for modules::input::input::TerminalInput<'stdout> { [INFO] [stderr] 36 | fn default() -> Self { [INFO] [stderr] 37 | Self::new() [INFO] [stderr] 38 | } [INFO] [stderr] 39 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/modules/input/input.rs:200:13 [INFO] [stderr] | [INFO] [stderr] 200 | / match pressed_key { [INFO] [stderr] 201 | | Some(Ok(value)) => { [INFO] [stderr] 202 | | match key_event { [INFO] [stderr] 203 | | KeyEvent::OnKeyPress(ascii_code) => if value == ascii_code { break; }, [INFO] [stderr] ... | [INFO] [stderr] 210 | | _ => {} [INFO] [stderr] 211 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 200 | if let Some(Ok(value)) = pressed_key { [INFO] [stderr] 201 | match key_event { [INFO] [stderr] 202 | KeyEvent::OnKeyPress(ascii_code) => if value == ascii_code { break; }, [INFO] [stderr] 203 | KeyEvent::OnEnter => if value == b'\r' { break; }, [INFO] [stderr] 204 | KeyEvent::OnAnyKeyPress => { [INFO] [stderr] 205 | break; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/modules/input/mod.rs:33:33 [INFO] [stderr] | [INFO] [stderr] 33 | fn read_line(&self, stdout: &Option<&Arc>) -> io::Result; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `Option<&Arc>` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/modules/input/mod.rs:35:33 [INFO] [stderr] | [INFO] [stderr] 35 | fn read_char(&self, stdout: &Option<&Arc>) -> io::Result; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `Option<&Arc>` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/modules/input/mod.rs:37:34 [INFO] [stderr] | [INFO] [stderr] 37 | fn read_async(&self, stdout: &Option<&Arc>) -> AsyncReader; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `Option<&Arc>` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/modules/input/mod.rs:39:55 [INFO] [stderr] | [INFO] [stderr] 39 | fn read_until_async(&self, delimiter: u8, stdout: &Option<&Arc>) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `Option<&Arc>` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `modules::style::color::TerminalColor<'stdout>` [INFO] [stderr] --> src/modules/style/color.rs:37:5 [INFO] [stderr] | [INFO] [stderr] 37 | / pub fn new() -> TerminalColor<'stdout> { [INFO] [stderr] 38 | | #[cfg(target_os = "windows")] [INFO] [stderr] 39 | | let color = functions::get_module::>( [INFO] [stderr] 40 | | Box::from(WinApiColor::new()), [INFO] [stderr] ... | [INFO] [stderr] 50 | | } [INFO] [stderr] 51 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 35 | impl Default for modules::style::color::TerminalColor<'stdout> { [INFO] [stderr] 36 | fn default() -> Self { [INFO] [stderr] 37 | Self::new() [INFO] [stderr] 38 | } [INFO] [stderr] 39 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/modules/style/styledobject.rs:163:13 [INFO] [stderr] | [INFO] [stderr] 163 | / screen [INFO] [stderr] 164 | | .stdout [INFO] [stderr] 165 | | .write_string(format!(csi!("{}m"), *attr as i16)); [INFO] [stderr] | |__________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/modules/style/styledobject.rs:172:9 [INFO] [stderr] | [INFO] [stderr] 172 | screen.stdout.write_string(content); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/modules/style/styledobject.rs:173:9 [INFO] [stderr] | [INFO] [stderr] 173 | screen.stdout.flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/modules/style/styledobject.rs:215:13 [INFO] [stderr] | [INFO] [stderr] 215 | write!(f, "{}", format!(csi!("{}m"), *attr as i16)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/modules/style/ansi_color.rs:17:9 [INFO] [stderr] | [INFO] [stderr] 17 | / functions::write( [INFO] [stderr] 18 | | stdout, [INFO] [stderr] 19 | | format!( [INFO] [stderr] 20 | | csi!("{}m"), [INFO] [stderr] 21 | | self.color_value(fg_color, ColorType::Foreground) [INFO] [stderr] 22 | | ), [INFO] [stderr] 23 | | ); [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/modules/style/ansi_color.rs:27:9 [INFO] [stderr] | [INFO] [stderr] 27 | / functions::write( [INFO] [stderr] 28 | | stdout, [INFO] [stderr] 29 | | format!( [INFO] [stderr] 30 | | csi!("{}m"), [INFO] [stderr] 31 | | self.color_value(bg_color, ColorType::Background) [INFO] [stderr] 32 | | ), [INFO] [stderr] 33 | | ); [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/modules/style/ansi_color.rs:37:9 [INFO] [stderr] | [INFO] [stderr] 37 | functions::write_str(stdout, csi!("0m")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/modules/style/mod.rs:39:47 [INFO] [stderr] | [INFO] [stderr] 39 | fn set_fg(&self, fg_color: Color, stdout: &Option<&Arc>); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `Option<&Arc>` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/modules/style/mod.rs:41:47 [INFO] [stderr] | [INFO] [stderr] 41 | fn set_bg(&self, fg_color: Color, stdout: &Option<&Arc>); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `Option<&Arc>` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/modules/style/mod.rs:43:29 [INFO] [stderr] | [INFO] [stderr] 43 | fn reset(&self, stdout: &Option<&Arc>); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `Option<&Arc>` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `modules::terminal::terminal::Terminal<'stdout>` [INFO] [stderr] --> src/modules/terminal/terminal.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | / pub fn new() -> Terminal<'stdout> { [INFO] [stderr] 31 | | #[cfg(target_os = "windows")] [INFO] [stderr] 32 | | let terminal = functions::get_module::>( [INFO] [stderr] 33 | | Box::new(WinApiTerminal::new()), [INFO] [stderr] ... | [INFO] [stderr] 43 | | } [INFO] [stderr] 44 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 28 | impl Default for modules::terminal::terminal::Terminal<'stdout> { [INFO] [stderr] 29 | fn default() -> Self { [INFO] [stderr] 30 | Self::new() [INFO] [stderr] 31 | } [INFO] [stderr] 32 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/modules/terminal/terminal.rs:168:9 [INFO] [stderr] | [INFO] [stderr] 168 | functions::write(&self.screen, string); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/modules/terminal/ansi_terminal.rs:20:17 [INFO] [stderr] | [INFO] [stderr] 20 | functions::write_str(&stdout, csi!("2J")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/modules/terminal/ansi_terminal.rs:24:17 [INFO] [stderr] | [INFO] [stderr] 24 | functions::write_str(&stdout, csi!("J")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/modules/terminal/ansi_terminal.rs:27:17 [INFO] [stderr] | [INFO] [stderr] 27 | functions::write_str(&stdout, csi!("1J")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/modules/terminal/ansi_terminal.rs:30:17 [INFO] [stderr] | [INFO] [stderr] 30 | functions::write_str(&stdout, csi!("2K")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/modules/terminal/ansi_terminal.rs:33:17 [INFO] [stderr] | [INFO] [stderr] 33 | functions::write_str(&stdout, csi!("K")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/modules/terminal/ansi_terminal.rs:43:9 [INFO] [stderr] | [INFO] [stderr] 43 | functions::write(&stdout, format!(csi!("{}S"), count)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/modules/terminal/ansi_terminal.rs:47:9 [INFO] [stderr] | [INFO] [stderr] 47 | functions::write(&stdout, format!(csi!("{}T"), count)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/modules/terminal/ansi_terminal.rs:51:9 [INFO] [stderr] | [INFO] [stderr] 51 | functions::write(&stdout, format!(csi!("8;{};{}t"), height, width)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/modules/terminal/mod.rs:41:52 [INFO] [stderr] | [INFO] [stderr] 41 | fn clear(&self, clear_type: ClearType, stdout: &Option<&Arc>); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `Option<&Arc>` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/modules/terminal/mod.rs:43:37 [INFO] [stderr] | [INFO] [stderr] 43 | fn terminal_size(&self, stdout: &Option<&Arc>) -> (u16, u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `Option<&Arc>` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/modules/terminal/mod.rs:45:45 [INFO] [stderr] | [INFO] [stderr] 45 | fn scroll_up(&self, count: i16, stdout: &Option<&Arc>); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `Option<&Arc>` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/modules/terminal/mod.rs:47:47 [INFO] [stderr] | [INFO] [stderr] 47 | fn scroll_down(&self, count: i16, stdout: &Option<&Arc>); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `Option<&Arc>` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/modules/terminal/mod.rs:49:57 [INFO] [stderr] | [INFO] [stderr] 49 | fn set_size(&self, width: i16, height: i16, stdout: &Option<&Arc>); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `Option<&Arc>` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/modules/terminal/mod.rs:51:28 [INFO] [stderr] | [INFO] [stderr] 51 | fn exit(&self, stdout: &Option<&Arc>); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `Option<&Arc>` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: function is never used: `try_enable_ansi` [INFO] [stderr] --> src/modules/output/test.rs:65:1 [INFO] [stderr] | [INFO] [stderr] 65 | fn try_enable_ansi() -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/common/functions.rs:68:22 [INFO] [stderr] | [INFO] [stderr] 68 | pub fn write(stdout: &Option<&Arc>, string: String) -> io::Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `Option<&Arc>` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/common/functions.rs:87:26 [INFO] [stderr] | [INFO] [stderr] 87 | pub fn write_str(stdout: &Option<&Arc>, string: &str) -> io::Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `Option<&Arc>` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/common/screen/alternate.rs:39:9 [INFO] [stderr] | [INFO] [stderr] 39 | stdout: TerminalOutput, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::wrong_self_convention)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/common/screen/alternate.rs:74:9 [INFO] [stderr] | [INFO] [stderr] 74 | self.to_main_screen(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/common/screen/screen.rs:168:13 [INFO] [stderr] | [INFO] [stderr] 168 | RawScreen::disable_raw_modes(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `common::crossterm::Crossterm` [INFO] [stderr] --> src/common/crossterm.rs:44:5 [INFO] [stderr] | [INFO] [stderr] 44 | / pub fn new() -> Crossterm { [INFO] [stderr] 45 | | Crossterm { stdout: None } [INFO] [stderr] 46 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default_derive)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 38 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `extern` block uses type `termios::Termios` which is not FFI-safe: this struct has unspecified layout [INFO] [stderr] --> src/kernel/unix_kernel/terminal.rs:151:35 [INFO] [stderr] | [INFO] [stderr] 151 | pub fn cfmakeraw(termptr: *mut Termios); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(improper_ctypes)] on by default [INFO] [stderr] = help: consider adding a #[repr(C)] or #[repr(transparent)] attribute to this struct [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/kernel/unix_kernel/terminal.rs:169:20 [INFO] [stderr] | [INFO] [stderr] 169 | let original = termios.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try removing the `clone` call: `termios` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/kernel/unix_kernel/terminal.rs:173:43 [INFO] [stderr] | [INFO] [stderr] 173 | ORIGINAL_TERMINAL_MODE = Some(original.clone()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `original` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `modules::cursor::cursor::TerminalCursor<'stdout>` [INFO] [stderr] --> src/modules/cursor/cursor.rs:38:5 [INFO] [stderr] | [INFO] [stderr] 38 | / pub fn new() -> TerminalCursor<'stdout> { [INFO] [stderr] 39 | | #[cfg(target_os = "windows")] [INFO] [stderr] 40 | | let cursor = functions::get_module::>( [INFO] [stderr] 41 | | WinApiCursor::new(), [INFO] [stderr] ... | [INFO] [stderr] 51 | | } [INFO] [stderr] 52 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 36 | impl Default for modules::cursor::cursor::TerminalCursor<'stdout> { [INFO] [stderr] 37 | fn default() -> Self { [INFO] [stderr] 38 | Self::new() [INFO] [stderr] 39 | } [INFO] [stderr] 40 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/modules/cursor/ansi_cursor.rs:18:9 [INFO] [stderr] | [INFO] [stderr] 18 | functions::write(stdout, format!(csi!("{};{}H"), y + 1, x + 1)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/modules/cursor/ansi_cursor.rs:26:9 [INFO] [stderr] | [INFO] [stderr] 26 | functions::write(stdout, format!(csi!("{}A"), count)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/modules/cursor/ansi_cursor.rs:30:9 [INFO] [stderr] | [INFO] [stderr] 30 | functions::write(stdout, format!(csi!("{}C"), count)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/modules/cursor/ansi_cursor.rs:34:9 [INFO] [stderr] | [INFO] [stderr] 34 | functions::write(stdout, format!(csi!("{}B"), count)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/modules/cursor/ansi_cursor.rs:38:9 [INFO] [stderr] | [INFO] [stderr] 38 | functions::write(stdout, format!(csi!("{}D"), count)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/modules/cursor/ansi_cursor.rs:42:9 [INFO] [stderr] | [INFO] [stderr] 42 | functions::write_str(stdout, csi!("s")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/modules/cursor/ansi_cursor.rs:46:9 [INFO] [stderr] | [INFO] [stderr] 46 | functions::write_str(stdout, csi!("u")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/modules/cursor/ansi_cursor.rs:50:9 [INFO] [stderr] | [INFO] [stderr] 50 | functions::write_str(stdout, csi!("?25l")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/modules/cursor/ansi_cursor.rs:54:9 [INFO] [stderr] | [INFO] [stderr] 54 | functions::write_str(stdout, csi!("?25h")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/modules/cursor/ansi_cursor.rs:59:13 [INFO] [stderr] | [INFO] [stderr] 59 | functions::write_str(stdout, csi!("?12h")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/modules/cursor/ansi_cursor.rs:61:13 [INFO] [stderr] | [INFO] [stderr] 61 | functions::write_str(stdout, csi!("?12l")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/modules/cursor/mod.rs:35:44 [INFO] [stderr] | [INFO] [stderr] 35 | fn goto(&self, x: u16, y: u16, stdout: &Option<&Arc>); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `Option<&Arc>` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/modules/cursor/mod.rs:39:43 [INFO] [stderr] | [INFO] [stderr] 39 | fn move_up(&self, count: u16, stdout: &Option<&Arc>); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `Option<&Arc>` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/modules/cursor/mod.rs:41:46 [INFO] [stderr] | [INFO] [stderr] 41 | fn move_right(&self, count: u16, stdout: &Option<&Arc>); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `Option<&Arc>` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/modules/cursor/mod.rs:43:45 [INFO] [stderr] | [INFO] [stderr] 43 | fn move_down(&self, count: u16, stdout: &Option<&Arc>); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `Option<&Arc>` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/modules/cursor/mod.rs:45:45 [INFO] [stderr] | [INFO] [stderr] 45 | fn move_left(&self, count: u16, stdout: &Option<&Arc>); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `Option<&Arc>` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/modules/cursor/mod.rs:47:37 [INFO] [stderr] | [INFO] [stderr] 47 | fn save_position(&self, stdout: &Option<&Arc>); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `Option<&Arc>` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/modules/cursor/mod.rs:49:38 [INFO] [stderr] | [INFO] [stderr] 49 | fn reset_position(&self, stdout: &Option<&Arc>); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `Option<&Arc>` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/modules/cursor/mod.rs:51:28 [INFO] [stderr] | [INFO] [stderr] 51 | fn hide(&self, stdout: &Option<&Arc>); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `Option<&Arc>` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/modules/cursor/mod.rs:53:28 [INFO] [stderr] | [INFO] [stderr] 53 | fn show(&self, stdout: &Option<&Arc>); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `Option<&Arc>` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/modules/cursor/mod.rs:55:42 [INFO] [stderr] | [INFO] [stderr] 55 | fn blink(&self, blink: bool, stdout: &Option<&Arc>); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `Option<&Arc>` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `modules::input::input::TerminalInput<'stdout>` [INFO] [stderr] --> src/modules/input/input.rs:37:5 [INFO] [stderr] | [INFO] [stderr] 37 | / pub fn new() -> TerminalInput<'stdout> { [INFO] [stderr] 38 | | #[cfg(target_os = "windows")] [INFO] [stderr] 39 | | let input = Box::from(WindowsInput::new()); [INFO] [stderr] 40 | | [INFO] [stderr] ... | [INFO] [stderr] 47 | | } [INFO] [stderr] 48 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 35 | impl Default for modules::input::input::TerminalInput<'stdout> { [INFO] [stderr] 36 | fn default() -> Self { [INFO] [stderr] 37 | Self::new() [INFO] [stderr] 38 | } [INFO] [stderr] 39 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/modules/input/input.rs:200:13 [INFO] [stderr] | [INFO] [stderr] 200 | / match pressed_key { [INFO] [stderr] 201 | | Some(Ok(value)) => { [INFO] [stderr] 202 | | match key_event { [INFO] [stderr] 203 | | KeyEvent::OnKeyPress(ascii_code) => if value == ascii_code { break; }, [INFO] [stderr] ... | [INFO] [stderr] 210 | | _ => {} [INFO] [stderr] 211 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 200 | if let Some(Ok(value)) = pressed_key { [INFO] [stderr] 201 | match key_event { [INFO] [stderr] 202 | KeyEvent::OnKeyPress(ascii_code) => if value == ascii_code { break; }, [INFO] [stderr] 203 | KeyEvent::OnEnter => if value == b'\r' { break; }, [INFO] [stderr] 204 | KeyEvent::OnAnyKeyPress => { [INFO] [stderr] 205 | break; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/modules/input/mod.rs:33:33 [INFO] [stderr] | [INFO] [stderr] 33 | fn read_line(&self, stdout: &Option<&Arc>) -> io::Result; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `Option<&Arc>` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/modules/input/mod.rs:35:33 [INFO] [stderr] | [INFO] [stderr] 35 | fn read_char(&self, stdout: &Option<&Arc>) -> io::Result; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `Option<&Arc>` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/modules/input/mod.rs:37:34 [INFO] [stderr] | [INFO] [stderr] 37 | fn read_async(&self, stdout: &Option<&Arc>) -> AsyncReader; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `Option<&Arc>` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/modules/input/mod.rs:39:55 [INFO] [stderr] | [INFO] [stderr] 39 | fn read_until_async(&self, delimiter: u8, stdout: &Option<&Arc>) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `Option<&Arc>` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/modules/output/test.rs:39:17 [INFO] [stderr] | [INFO] [stderr] 39 | let bytes = "test".as_bytes(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"test"` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::string_lit_as_bytes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/modules/output/test.rs:49:17 [INFO] [stderr] | [INFO] [stderr] 49 | let bytes = "test".as_bytes(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"test"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `modules::style::color::TerminalColor<'stdout>` [INFO] [stderr] --> src/modules/style/color.rs:37:5 [INFO] [stderr] | [INFO] [stderr] 37 | / pub fn new() -> TerminalColor<'stdout> { [INFO] [stderr] 38 | | #[cfg(target_os = "windows")] [INFO] [stderr] 39 | | let color = functions::get_module::>( [INFO] [stderr] 40 | | Box::from(WinApiColor::new()), [INFO] [stderr] ... | [INFO] [stderr] 50 | | } [INFO] [stderr] 51 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 35 | impl Default for modules::style::color::TerminalColor<'stdout> { [INFO] [stderr] 36 | fn default() -> Self { [INFO] [stderr] 37 | Self::new() [INFO] [stderr] 38 | } [INFO] [stderr] 39 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/modules/style/styledobject.rs:163:13 [INFO] [stderr] | [INFO] [stderr] 163 | / screen [INFO] [stderr] 164 | | .stdout [INFO] [stderr] 165 | | .write_string(format!(csi!("{}m"), *attr as i16)); [INFO] [stderr] | |__________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/modules/style/styledobject.rs:172:9 [INFO] [stderr] | [INFO] [stderr] 172 | screen.stdout.write_string(content); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/modules/style/styledobject.rs:173:9 [INFO] [stderr] | [INFO] [stderr] 173 | screen.stdout.flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/modules/style/styledobject.rs:215:13 [INFO] [stderr] | [INFO] [stderr] 215 | write!(f, "{}", format!(csi!("{}m"), *attr as i16)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/modules/style/ansi_color.rs:17:9 [INFO] [stderr] | [INFO] [stderr] 17 | / functions::write( [INFO] [stderr] 18 | | stdout, [INFO] [stderr] 19 | | format!( [INFO] [stderr] 20 | | csi!("{}m"), [INFO] [stderr] 21 | | self.color_value(fg_color, ColorType::Foreground) [INFO] [stderr] 22 | | ), [INFO] [stderr] 23 | | ); [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/modules/style/ansi_color.rs:27:9 [INFO] [stderr] | [INFO] [stderr] 27 | / functions::write( [INFO] [stderr] 28 | | stdout, [INFO] [stderr] 29 | | format!( [INFO] [stderr] 30 | | csi!("{}m"), [INFO] [stderr] 31 | | self.color_value(bg_color, ColorType::Background) [INFO] [stderr] 32 | | ), [INFO] [stderr] 33 | | ); [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/modules/style/ansi_color.rs:37:9 [INFO] [stderr] | [INFO] [stderr] 37 | functions::write_str(stdout, csi!("0m")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/modules/style/mod.rs:39:47 [INFO] [stderr] | [INFO] [stderr] 39 | fn set_fg(&self, fg_color: Color, stdout: &Option<&Arc>); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `Option<&Arc>` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/modules/style/mod.rs:41:47 [INFO] [stderr] | [INFO] [stderr] 41 | fn set_bg(&self, fg_color: Color, stdout: &Option<&Arc>); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `Option<&Arc>` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/modules/style/mod.rs:43:29 [INFO] [stderr] | [INFO] [stderr] 43 | fn reset(&self, stdout: &Option<&Arc>); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `Option<&Arc>` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `modules::terminal::terminal::Terminal<'stdout>` [INFO] [stderr] --> src/modules/terminal/terminal.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | / pub fn new() -> Terminal<'stdout> { [INFO] [stderr] 31 | | #[cfg(target_os = "windows")] [INFO] [stderr] 32 | | let terminal = functions::get_module::>( [INFO] [stderr] 33 | | Box::new(WinApiTerminal::new()), [INFO] [stderr] ... | [INFO] [stderr] 43 | | } [INFO] [stderr] 44 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 28 | impl Default for modules::terminal::terminal::Terminal<'stdout> { [INFO] [stderr] 29 | fn default() -> Self { [INFO] [stderr] 30 | Self::new() [INFO] [stderr] 31 | } [INFO] [stderr] 32 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/modules/terminal/terminal.rs:168:9 [INFO] [stderr] | [INFO] [stderr] 168 | functions::write(&self.screen, string); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/modules/terminal/ansi_terminal.rs:20:17 [INFO] [stderr] | [INFO] [stderr] 20 | functions::write_str(&stdout, csi!("2J")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/modules/terminal/ansi_terminal.rs:24:17 [INFO] [stderr] | [INFO] [stderr] 24 | functions::write_str(&stdout, csi!("J")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/modules/terminal/ansi_terminal.rs:27:17 [INFO] [stderr] | [INFO] [stderr] 27 | functions::write_str(&stdout, csi!("1J")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/modules/terminal/ansi_terminal.rs:30:17 [INFO] [stderr] | [INFO] [stderr] 30 | functions::write_str(&stdout, csi!("2K")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/modules/terminal/ansi_terminal.rs:33:17 [INFO] [stderr] | [INFO] [stderr] 33 | functions::write_str(&stdout, csi!("K")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/modules/terminal/ansi_terminal.rs:43:9 [INFO] [stderr] | [INFO] [stderr] 43 | functions::write(&stdout, format!(csi!("{}S"), count)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/modules/terminal/ansi_terminal.rs:47:9 [INFO] [stderr] | [INFO] [stderr] 47 | functions::write(&stdout, format!(csi!("{}T"), count)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/modules/terminal/ansi_terminal.rs:51:9 [INFO] [stderr] | [INFO] [stderr] 51 | functions::write(&stdout, format!(csi!("8;{};{}t"), height, width)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/modules/terminal/mod.rs:41:52 [INFO] [stderr] | [INFO] [stderr] 41 | fn clear(&self, clear_type: ClearType, stdout: &Option<&Arc>); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `Option<&Arc>` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/modules/terminal/mod.rs:43:37 [INFO] [stderr] | [INFO] [stderr] 43 | fn terminal_size(&self, stdout: &Option<&Arc>) -> (u16, u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `Option<&Arc>` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/modules/terminal/mod.rs:45:45 [INFO] [stderr] | [INFO] [stderr] 45 | fn scroll_up(&self, count: i16, stdout: &Option<&Arc>); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `Option<&Arc>` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/modules/terminal/mod.rs:47:47 [INFO] [stderr] | [INFO] [stderr] 47 | fn scroll_down(&self, count: i16, stdout: &Option<&Arc>); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `Option<&Arc>` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/modules/terminal/mod.rs:49:57 [INFO] [stderr] | [INFO] [stderr] 49 | fn set_size(&self, width: i16, height: i16, stdout: &Option<&Arc>); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `Option<&Arc>` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/modules/terminal/mod.rs:51:28 [INFO] [stderr] | [INFO] [stderr] 51 | fn exit(&self, stdout: &Option<&Arc>); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `Option<&Arc>` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: unused import: `Attribute` [INFO] [stderr] --> examples/examples.rs:17:38 [INFO] [stderr] | [INFO] [stderr] 17 | use crossterm::style::{style, Color, Attribute}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `cursor` [INFO] [stderr] --> examples/program_examples/command_bar.rs:3:25 [INFO] [stderr] | [INFO] [stderr] 3 | use crossterm::cursor::{cursor, TerminalCursor}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `crossterm::color` [INFO] [stderr] --> examples/program_examples/command_bar.rs:12:9 [INFO] [stderr] | [INFO] [stderr] 12 | use crossterm::color; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> examples/program_examples/command_bar.rs:84:5 [INFO] [stderr] | [INFO] [stderr] 84 | return threads; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `threads` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> examples/program_examples/command_bar.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | / thread::spawn(move || { [INFO] [stderr] 26 | | let input = input(); [INFO] [stderr] 27 | | let mut stdin = input.read_async().bytes(); [INFO] [stderr] 28 | | [INFO] [stderr] ... | [INFO] [stderr] 44 | | } [INFO] [stderr] 45 | | }).join(); [INFO] [stderr] | |______________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> examples/program_examples/command_bar.rs:48:9 [INFO] [stderr] | [INFO] [stderr] 48 | thread.join(); [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> examples/program_examples/command_bar.rs:89:16 [INFO] [stderr] | [INFO] [stderr] 89 | input_buf: &String, [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::Write` [INFO] [stderr] --> examples/program_examples/logging.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use std::io::Write; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> examples/program_examples/logging.rs:86:5 [INFO] [stderr] | [INFO] [stderr] 86 | return (tx, rx); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(tx, rx)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> examples/program_examples/logging.rs:155:5 [INFO] [stderr] | [INFO] [stderr] 155 | return threads; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `threads` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: Consider using an AtomicBool instead of a Mutex here. If you just want the locking behaviour and not the internal type, consider using Mutex<()>. [INFO] [stderr] --> examples/program_examples/logging.rs:78:26 [INFO] [stderr] | [INFO] [stderr] 78 | let state = Arc::new(Mutex::new(initial_state)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::mutex_atomic)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mutex_atomic [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> examples/program_examples/logging.rs:109:5 [INFO] [stderr] | [INFO] [stderr] 109 | / thread::spawn(move || { [INFO] [stderr] 110 | | let screen: Screen = Screen::default(); [INFO] [stderr] 111 | | [INFO] [stderr] 112 | | // Loop while there's expected to be work, looking for work. [INFO] [stderr] ... | [INFO] [stderr] 123 | | } [INFO] [stderr] 124 | | }).join(); [INFO] [stderr] | |______________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> examples/program_examples/logging.rs:120:17 [INFO] [stderr] | [INFO] [stderr] 120 | screen.stdout.write_string(log); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> examples/program_examples/logging.rs:147:17 [INFO] [stderr] | [INFO] [stderr] 147 | more_jobs.set(true); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 3.10s [INFO] running `"docker" "inspect" "d725649e6ccf7bb56d5751520723fcacad3c573187424f37de31110a322608d6"` [INFO] running `"docker" "rm" "-f" "d725649e6ccf7bb56d5751520723fcacad3c573187424f37de31110a322608d6"` [INFO] [stdout] d725649e6ccf7bb56d5751520723fcacad3c573187424f37de31110a322608d6