[INFO] updating cached repository kngwyu/fugu-shell [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/kngwyu/fugu-shell [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/kngwyu/fugu-shell" "work/ex/clippy-test-run/sources/stable/gh/kngwyu/fugu-shell"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/kngwyu/fugu-shell'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/kngwyu/fugu-shell" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/kngwyu/fugu-shell"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/kngwyu/fugu-shell'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 716142a7c4f7c9b29a8a46bd6f51d05efc30cf9b [INFO] sha for GitHub repo kngwyu/fugu-shell: 716142a7c4f7c9b29a8a46bd6f51d05efc30cf9b [INFO] validating manifest of kngwyu/fugu-shell 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 kngwyu/fugu-shell 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 kngwyu/fugu-shell [INFO] finished frobbing kngwyu/fugu-shell [INFO] frobbed toml for kngwyu/fugu-shell written to work/ex/clippy-test-run/sources/stable/gh/kngwyu/fugu-shell/Cargo.toml [INFO] started frobbing kngwyu/fugu-shell [INFO] finished frobbing kngwyu/fugu-shell [INFO] frobbed toml for kngwyu/fugu-shell written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/kngwyu/fugu-shell/Cargo.toml [INFO] crate kngwyu/fugu-shell has a lockfile. skipping [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 kngwyu/fugu-shell against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-5/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/kngwyu/fugu-shell:/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] b85b507ec753336ba4fa4c11b876f432508f72d670313c95d7a3b57f5b11e4c5 [INFO] running `"docker" "start" "-a" "b85b507ec753336ba4fa4c11b876f432508f72d670313c95d7a3b57f5b11e4c5"` [INFO] [stderr] Checking slog v2.0.12 [INFO] [stderr] Checking same-file v1.0.0 [INFO] [stderr] Checking ascii v0.8.6 [INFO] [stderr] Checking isatty v0.1.6 [INFO] [stderr] Checking memchr v2.0.1 [INFO] [stderr] Checking termion v1.5.1 [INFO] [stderr] Checking regex v0.2.3 [INFO] [stderr] Checking walkdir v2.0.1 [INFO] [stderr] Checking slog-scope v4.0.1 [INFO] [stderr] Checking slog-term v2.3.0 [INFO] [stderr] Checking slog-async v2.1.0 [INFO] [stderr] Checking slog-stdlog v3.0.2 [INFO] [stderr] Checking sloggers v0.2.4 [INFO] [stderr] Checking fugu-shell v0.0.1 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/editor.rs:182:17 [INFO] [stderr] | [INFO] [stderr] 182 | Point { x: x, y: y } [INFO] [stderr] | ^^^^ help: replace it with: `x` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/editor.rs:182:23 [INFO] [stderr] | [INFO] [stderr] 182 | Point { x: x, y: y } [INFO] [stderr] | ^^^^ help: replace it with: `y` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/fugu_env.rs:39:13 [INFO] [stderr] | [INFO] [stderr] 39 | path_cmds: path_cmds, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `path_cmds` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/fugu_env.rs:40:13 [INFO] [stderr] | [INFO] [stderr] 40 | builtin_cmds: builtin_cmds, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `builtin_cmds` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/editor.rs:182:17 [INFO] [stderr] | [INFO] [stderr] 182 | Point { x: x, y: y } [INFO] [stderr] | ^^^^ help: replace it with: `x` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/editor.rs:182:23 [INFO] [stderr] | [INFO] [stderr] 182 | Point { x: x, y: y } [INFO] [stderr] | ^^^^ help: replace it with: `y` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/fugu_env.rs:39:13 [INFO] [stderr] | [INFO] [stderr] 39 | path_cmds: path_cmds, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `path_cmds` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/fugu_env.rs:40:13 [INFO] [stderr] | [INFO] [stderr] 40 | builtin_cmds: builtin_cmds, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `builtin_cmds` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: unused import: `self` [INFO] [stderr] --> src/settings.rs:1:15 [INFO] [stderr] | [INFO] [stderr] 1 | use std::io::{self, Write}; [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::str::FromStr` [INFO] [stderr] --> src/settings.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::str::FromStr; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::error::Error` [INFO] [stderr] --> src/settings.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::error::Error; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/builtin/mod.rs:5:26 [INFO] [stderr] | [INFO] [stderr] 5 | pub const BUILTIN_CMD: [&'static str; 2] = ["cd", "exit"]; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: unused import: `ScreenError` [INFO] [stderr] --> src/main.rs:27:31 [INFO] [stderr] | [INFO] [stderr] 27 | use fugu_screen::{FuguScreen, ScreenError}; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `ascii::AsciiChar` [INFO] [stderr] --> src/main.rs:40:5 [INFO] [stderr] | [INFO] [stderr] 40 | use ascii::AsciiChar; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `self` [INFO] [stderr] --> src/settings.rs:1:15 [INFO] [stderr] | [INFO] [stderr] 1 | use std::io::{self, Write}; [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::str::FromStr` [INFO] [stderr] --> src/settings.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::str::FromStr; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::error::Error` [INFO] [stderr] --> src/settings.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::error::Error; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/builtin/mod.rs:5:26 [INFO] [stderr] | [INFO] [stderr] 5 | pub const BUILTIN_CMD: [&'static str; 2] = ["cd", "exit"]; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: unused import: `ScreenError` [INFO] [stderr] --> src/main.rs:27:31 [INFO] [stderr] | [INFO] [stderr] 27 | use fugu_screen::{FuguScreen, ScreenError}; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `ascii::AsciiChar` [INFO] [stderr] --> src/main.rs:40:5 [INFO] [stderr] | [INFO] [stderr] 40 | use ascii::AsciiChar; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `cmd` [INFO] [stderr] --> src/builtin/mod.rs:32:17 [INFO] [stderr] | [INFO] [stderr] 32 | fn builtin_exit(cmd: &CommandStore) {} [INFO] [stderr] | ^^^ help: consider using `_cmd` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s` [INFO] [stderr] --> src/exec.rs:60:13 [INFO] [stderr] | [INFO] [stderr] 60 | let s = ""; [INFO] [stderr] | ^ help: consider using `_s` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `current_len` [INFO] [stderr] --> src/editor.rs:56:17 [INFO] [stderr] | [INFO] [stderr] 56 | let current_len = self.buffer[self.cursor_buf.y].len(); [INFO] [stderr] | ^^^^^^^^^^^ help: consider using `_current_len` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `current_len` [INFO] [stderr] --> src/editor.rs:104:25 [INFO] [stderr] | [INFO] [stderr] 104 | let current_len = self.buffer[self.cursor_buf.y].len(); [INFO] [stderr] | ^^^^^^^^^^^ help: consider using `_current_len` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `current_len` [INFO] [stderr] --> src/editor.rs:127:25 [INFO] [stderr] | [INFO] [stderr] 127 | let current_len = self.buffer[self.cursor_buf.y].len(); [INFO] [stderr] | ^^^^^^^^^^^ help: consider using `_current_len` instead [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:64:9 [INFO] [stderr] | [INFO] [stderr] 64 | let mut cmd_list = CommandList::new(); [INFO] [stderr] | ----^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/settings.rs:24:9 [INFO] [stderr] | [INFO] [stderr] 24 | mut stdout: &mut W, [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: method is never used: `add_stderr` [INFO] [stderr] --> src/exec.rs:44:5 [INFO] [stderr] | [INFO] [stderr] 44 | pub fn add_stderr(&mut self, s: &str) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `upd_wd_commands` [INFO] [stderr] --> src/exec.rs:85:5 [INFO] [stderr] | [INFO] [stderr] 85 | pub fn upd_wd_commands(&mut self, wd: &str) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `debug` [INFO] [stderr] --> src/editor.rs:33:5 [INFO] [stderr] | [INFO] [stderr] 33 | pub fn debug(&self, stdout: &mut W) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `fugu_vars` [INFO] [stderr] --> src/fugu_env.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | fugu_vars: Vec, // Fugu変数 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `env_vars` [INFO] [stderr] --> src/fugu_env.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | env_vars: Vec, // 環境変数 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `User` [INFO] [stderr] --> src/fugu_env.rs:104:5 [INFO] [stderr] | [INFO] [stderr] 104 | User, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/settings.rs:23:15 [INFO] [stderr] | [INFO] [stderr] 23 | path: &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: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/exec.rs:61:9 [INFO] [stderr] | [INFO] [stderr] 61 | / match env::var_os("PATH") { [INFO] [stderr] 62 | | Some(paths) => for path in env::split_paths(&paths) { [INFO] [stderr] 63 | | let dirname = path.to_str().unwrap().to_owned(); [INFO] [stderr] 64 | | for entry in WalkDir::new(&dirname).min_depth(1).max_depth(1) { [INFO] [stderr] ... | [INFO] [stderr] 76 | | None => {} [INFO] [stderr] 77 | | } [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] 61 | if let Some(paths) = env::var_os("PATH") for path in env::split_paths(&paths) { [INFO] [stderr] 62 | let dirname = path.to_str().unwrap().to_owned(); [INFO] [stderr] 63 | for entry in WalkDir::new(&dirname).min_depth(1).max_depth(1) { [INFO] [stderr] 64 | let e = ok_or_continue!(entry); [INFO] [stderr] 65 | let fname = match e.file_name().to_os_string().into_string() { [INFO] [stderr] 66 | Ok(s) => s, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: Err(_) will match all errors, maybe not a good idea [INFO] [stderr] --> src/exec.rs:68:25 [INFO] [stderr] | [INFO] [stderr] 68 | Err(_) => panic!("Error in into_string"), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_wild_err_arm)] on by default [INFO] [stderr] = note: to remove this warning, match each error separately or use unreachable macro [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_wild_err_arm [INFO] [stderr] [INFO] [stderr] warning: unused variable: `cmd` [INFO] [stderr] --> src/builtin/mod.rs:32:17 [INFO] [stderr] | [INFO] [stderr] 32 | fn builtin_exit(cmd: &CommandStore) {} [INFO] [stderr] | ^^^ help: consider using `_cmd` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: this boolean expression can be simplified [INFO] [stderr] --> src/builtin/mod.rs:46:24 [INFO] [stderr] | [INFO] [stderr] 46 | if !env::set_current_dir(&cmd.args[0]).is_ok() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `env::set_current_dir(&cmd.args[0]).is_err()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::nonminimal_bool)] on by default [INFO] [stderr] warning: unused variable: `s` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stderr] --> src/exec.rs:60:13 [INFO] [stderr] | [INFO] [stderr] 60 | let s = ""; [INFO] [stderr] | ^ help: consider using `_s` instead [INFO] [stderr] [INFO] [stderr] [INFO] [stderr] warning: this boolean expression can be simplified [INFO] [stderr] --> src/builtin/mod.rs:58:20 [INFO] [stderr] | [INFO] [stderr] 58 | if !env::set_current_dir(&dir_str).is_ok() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `env::set_current_dir(&dir_str).is_err()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stderr] [INFO] [stderr] warning: unused variable: `current_len` [INFO] [stderr] --> src/editor.rs:56:17 [INFO] [stderr] | [INFO] [stderr] 56 | let current_len = self.buffer[self.cursor_buf.y].len(); [INFO] [stderr] | ^^^^^^^^^^^ help: consider using `_current_len` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `current_len` [INFO] [stderr] --> src/editor.rs:104:25 [INFO] [stderr] | [INFO] [stderr] 104 | let current_len = self.buffer[self.cursor_buf.y].len(); [INFO] [stderr] | ^^^^^^^^^^^ help: consider using `_current_len` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `current_len` [INFO] [stderr] --> src/editor.rs:127:25 [INFO] [stderr] | [INFO] [stderr] 127 | let current_len = self.buffer[self.cursor_buf.y].len(); [INFO] [stderr] | ^^^^^^^^^^^ help: consider using `_current_len` instead [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/editor.rs:64:39 [INFO] [stderr] | [INFO] [stderr] 64 | pub fn handle_key(&mut self, key: &Key) -> EditResult { [INFO] [stderr] | ^^^^ help: consider passing by value instead: `Key` [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: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:64:9 [INFO] [stderr] | [INFO] [stderr] 64 | let mut cmd_list = CommandList::new(); [INFO] [stderr] | ----^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/settings.rs:24:9 [INFO] [stderr] | [INFO] [stderr] 24 | mut stdout: &mut W, [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/parser.rs:83:12 [INFO] [stderr] | [INFO] [stderr] 83 | if self.current_token.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.current_token.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: called `cloned().collect()` on a slice to create a `Vec`. Calling `to_vec()` is both faster and more readable [INFO] [stderr] --> src/fugu_env.rs:35:42 [INFO] [stderr] | [INFO] [stderr] 35 | let builtin_cmds: Vec<&'a str> = BUILTIN_CMD.iter().cloned().collect(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::iter_cloned_collect)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_cloned_collect [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/fugu_env.rs:61:16 [INFO] [stderr] | [INFO] [stderr] 61 | if self.path_cache[i] == false { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!self.path_cache[i]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::bool_comparison)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/fugu_env.rs:69:16 [INFO] [stderr] | [INFO] [stderr] 69 | if self.builtin_cache[i] == false { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!self.builtin_cache[i]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: passing a unit value to a function [INFO] [stderr] --> src/fugu_screen.rs:57:12 [INFO] [stderr] | [INFO] [stderr] 57 | Ok(self.flush()?) [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unit_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stderr] help: if you intended to pass a unit value, use a unit literal instead [INFO] [stderr] | [INFO] [stderr] 57 | Ok(()) [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/fugu_screen.rs:65:9 [INFO] [stderr] | [INFO] [stderr] 65 | let _ = write!(self, "{}", cursor::Goto(1, cur_y))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_unit_value)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: passing a unit value to a function [INFO] [stderr] --> src/fugu_screen.rs:71:12 [INFO] [stderr] | [INFO] [stderr] 71 | Ok(self.flush()?) [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stderr] help: if you intended to pass a unit value, use a unit literal instead [INFO] [stderr] | [INFO] [stderr] 71 | Ok(()) [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/fugu_screen.rs:80:9 [INFO] [stderr] | [INFO] [stderr] 80 | self.move_csr(e); [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/fugu_screen.rs:125:9 [INFO] [stderr] | [INFO] [stderr] 125 | self.move_csr(&edit); [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/main.rs:54:5 [INFO] [stderr] | [INFO] [stderr] 54 | screen.init_msg(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [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/main.rs:68:9 [INFO] [stderr] | [INFO] [stderr] 68 | / match evt { [INFO] [stderr] 69 | | Event::Key(key) => match key { [INFO] [stderr] 70 | | Key::Ctrl('p') | Key::Up => { [INFO] [stderr] 71 | | selector.csr_up(); [INFO] [stderr] ... | [INFO] [stderr] 130 | | _ => {} [INFO] [stderr] 131 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [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] 68 | if let Event::Key(key) = evt { match key { [INFO] [stderr] 69 | Key::Ctrl('p') | Key::Up => { [INFO] [stderr] 70 | selector.csr_up(); [INFO] [stderr] 71 | screen.print_selector(&selector, &fuguenv, &editor); [INFO] [stderr] 72 | } [INFO] [stderr] 73 | Key::Ctrl('n') | Key::Down => { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:72:21 [INFO] [stderr] | [INFO] [stderr] 72 | screen.print_selector(&selector, &fuguenv, &editor); [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/main.rs:76:21 [INFO] [stderr] | [INFO] [stderr] 76 | screen.print_selector(&selector, &fuguenv, &editor); [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/main.rs:85:25 [INFO] [stderr] | [INFO] [stderr] 85 | screen.print_editor(&editor, 0..1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: method is never used: `add_stderr` [INFO] [stderr] --> src/exec.rs:44:5 [INFO] [stderr] | [INFO] [stderr] 44 | pub fn add_stderr(&mut self, s: &str) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `upd_wd_commands` [INFO] [stderr] --> src/exec.rs:85:5 [INFO] [stderr] | [INFO] [stderr] 85 | pub fn upd_wd_commands(&mut self, wd: &str) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `debug` [INFO] [stderr] --> src/editor.rs:33:5 [INFO] [stderr] | [INFO] [stderr] 33 | pub fn debug(&self, stdout: &mut W) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `fugu_vars` [INFO] [stderr] --> src/fugu_env.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | fugu_vars: Vec, // Fugu変数 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `env_vars` [INFO] [stderr] --> src/fugu_env.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | env_vars: Vec, // 環境変数 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `User` [INFO] [stderr] --> src/fugu_env.rs:104:5 [INFO] [stderr] | [INFO] [stderr] 104 | User, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/settings.rs:23:15 [INFO] [stderr] | [INFO] [stderr] 23 | path: &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: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/exec.rs:61:9 [INFO] [stderr] | [INFO] [stderr] 61 | / match env::var_os("PATH") { [INFO] [stderr] 62 | | Some(paths) => for path in env::split_paths(&paths) { [INFO] [stderr] 63 | | let dirname = path.to_str().unwrap().to_owned(); [INFO] [stderr] 64 | | for entry in WalkDir::new(&dirname).min_depth(1).max_depth(1) { [INFO] [stderr] ... | [INFO] [stderr] 76 | | None => {} [INFO] [stderr] 77 | | } [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] 61 | if let Some(paths) = env::var_os("PATH") for path in env::split_paths(&paths) { [INFO] [stderr] 62 | let dirname = path.to_str().unwrap().to_owned(); [INFO] [stderr] 63 | for entry in WalkDir::new(&dirname).min_depth(1).max_depth(1) { [INFO] [stderr] 64 | let e = ok_or_continue!(entry); [INFO] [stderr] 65 | let fname = match e.file_name().to_os_string().into_string() { [INFO] [stderr] 66 | Ok(s) => s, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: Err(_) will match all errors, maybe not a good idea [INFO] [stderr] --> src/exec.rs:68:25 [INFO] [stderr] | [INFO] [stderr] 68 | Err(_) => panic!("Error in into_string"), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_wild_err_arm)] on by default [INFO] [stderr] = note: to remove this warning, match each error separately or use unreachable macro [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_wild_err_arm [INFO] [stderr] [INFO] [stderr] warning: this boolean expression can be simplified [INFO] [stderr] --> src/builtin/mod.rs:46:24 [INFO] [stderr] | [INFO] [stderr] 46 | if !env::set_current_dir(&cmd.args[0]).is_ok() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `env::set_current_dir(&cmd.args[0]).is_err()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::nonminimal_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stderr] [INFO] [stderr] warning: this boolean expression can be simplified [INFO] [stderr] --> src/builtin/mod.rs:58:20 [INFO] [stderr] | [INFO] [stderr] 58 | if !env::set_current_dir(&dir_str).is_ok() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `env::set_current_dir(&dir_str).is_err()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/editor.rs:64:39 [INFO] [stderr] | [INFO] [stderr] 64 | pub fn handle_key(&mut self, key: &Key) -> EditResult { [INFO] [stderr] | ^^^^ help: consider passing by value instead: `Key` [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: length comparison to zero [INFO] [stderr] --> src/parser.rs:83:12 [INFO] [stderr] | [INFO] [stderr] 83 | if self.current_token.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.current_token.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: called `cloned().collect()` on a slice to create a `Vec`. Calling `to_vec()` is both faster and more readable [INFO] [stderr] --> src/fugu_env.rs:35:42 [INFO] [stderr] | [INFO] [stderr] 35 | let builtin_cmds: Vec<&'a str> = BUILTIN_CMD.iter().cloned().collect(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::iter_cloned_collect)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_cloned_collect [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/fugu_env.rs:61:16 [INFO] [stderr] | [INFO] [stderr] 61 | if self.path_cache[i] == false { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!self.path_cache[i]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::bool_comparison)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/fugu_env.rs:69:16 [INFO] [stderr] | [INFO] [stderr] 69 | if self.builtin_cache[i] == false { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!self.builtin_cache[i]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: passing a unit value to a function [INFO] [stderr] --> src/fugu_screen.rs:57:12 [INFO] [stderr] | [INFO] [stderr] 57 | Ok(self.flush()?) [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unit_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stderr] help: if you intended to pass a unit value, use a unit literal instead [INFO] [stderr] | [INFO] [stderr] 57 | Ok(()) [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/fugu_screen.rs:65:9 [INFO] [stderr] | [INFO] [stderr] 65 | let _ = write!(self, "{}", cursor::Goto(1, cur_y))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_unit_value)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: passing a unit value to a function [INFO] [stderr] --> src/fugu_screen.rs:71:12 [INFO] [stderr] | [INFO] [stderr] 71 | Ok(self.flush()?) [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stderr] help: if you intended to pass a unit value, use a unit literal instead [INFO] [stderr] | [INFO] [stderr] 71 | Ok(()) [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/fugu_screen.rs:80:9 [INFO] [stderr] | [INFO] [stderr] 80 | self.move_csr(e); [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/fugu_screen.rs:125:9 [INFO] [stderr] | [INFO] [stderr] 125 | self.move_csr(&edit); [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/main.rs:54:5 [INFO] [stderr] | [INFO] [stderr] 54 | screen.init_msg(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [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/main.rs:68:9 [INFO] [stderr] | [INFO] [stderr] 68 | / match evt { [INFO] [stderr] 69 | | Event::Key(key) => match key { [INFO] [stderr] 70 | | Key::Ctrl('p') | Key::Up => { [INFO] [stderr] 71 | | selector.csr_up(); [INFO] [stderr] ... | [INFO] [stderr] 130 | | _ => {} [INFO] [stderr] 131 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [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] 68 | if let Event::Key(key) = evt { match key { [INFO] [stderr] 69 | Key::Ctrl('p') | Key::Up => { [INFO] [stderr] 70 | selector.csr_up(); [INFO] [stderr] 71 | screen.print_selector(&selector, &fuguenv, &editor); [INFO] [stderr] 72 | } [INFO] [stderr] 73 | Key::Ctrl('n') | Key::Down => { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:72:21 [INFO] [stderr] | [INFO] [stderr] 72 | screen.print_selector(&selector, &fuguenv, &editor); [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/main.rs:76:21 [INFO] [stderr] | [INFO] [stderr] 76 | screen.print_selector(&selector, &fuguenv, &editor); [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/main.rs:85:25 [INFO] [stderr] | [INFO] [stderr] 85 | screen.print_editor(&editor, 0..1); [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 12.82s [INFO] running `"docker" "inspect" "b85b507ec753336ba4fa4c11b876f432508f72d670313c95d7a3b57f5b11e4c5"` [INFO] running `"docker" "rm" "-f" "b85b507ec753336ba4fa4c11b876f432508f72d670313c95d7a3b57f5b11e4c5"` [INFO] [stdout] b85b507ec753336ba4fa4c11b876f432508f72d670313c95d7a3b57f5b11e4c5