[INFO] updating cached repository cantino/mcfly [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/cantino/mcfly [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/cantino/mcfly" "work/ex/clippy-test-run/sources/stable/gh/cantino/mcfly"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/cantino/mcfly'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/cantino/mcfly" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/cantino/mcfly"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/cantino/mcfly'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 5be3eb8ba0122cafb7540c3750bb5ffd3aecbea6 [INFO] sha for GitHub repo cantino/mcfly: 5be3eb8ba0122cafb7540c3750bb5ffd3aecbea6 [INFO] validating manifest of cantino/mcfly 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 cantino/mcfly 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 cantino/mcfly [INFO] finished frobbing cantino/mcfly [INFO] frobbed toml for cantino/mcfly written to work/ex/clippy-test-run/sources/stable/gh/cantino/mcfly/Cargo.toml [INFO] started frobbing cantino/mcfly [INFO] finished frobbing cantino/mcfly [INFO] frobbed toml for cantino/mcfly written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/cantino/mcfly/Cargo.toml [INFO] crate cantino/mcfly 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 cantino/mcfly against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-6/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/cantino/mcfly:/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] 9635c9612394651e2d2d68e9dad49ce741787e97af404d96171edf43e581817d [INFO] running `"docker" "start" "-a" "9635c9612394651e2d2d68e9dad49ce741787e97af404d96171edf43e581817d"` [INFO] [stderr] Checking relative-path v0.4.0 [INFO] [stderr] Compiling libsqlite3-sys v0.10.0 [INFO] [stderr] Checking dirs v1.0.4 [INFO] [stderr] Checking csv v1.0.1 [INFO] [stderr] Checking rusqlite v0.15.0 [INFO] [stderr] Checking mcfly v0.2.5 (/opt/crater/workdir) [INFO] [stderr] warning: module has the same name as its containing module [INFO] [stderr] --> src/history/mod.rs:6:1 [INFO] [stderr] | [INFO] [stderr] 6 | mod history; [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: this if statement can be collapsed [INFO] [stderr] --> src/history/history.rs:177:9 [INFO] [stderr] | [INFO] [stderr] 177 | / if exit_code.is_none() || exit_code.unwrap() == 0 { [INFO] [stderr] 178 | | if command.to_lowercase().starts_with("mv ") && !command.contains("*") && !command.contains("?") { [INFO] [stderr] 179 | | let parts = path_update_helpers::parse_mv_command(command); [INFO] [stderr] 180 | | if parts.len() == 2 { [INFO] [stderr] ... | [INFO] [stderr] 213 | | } [INFO] [stderr] 214 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 177 | if (exit_code.is_none() || exit_code.unwrap() == 0) && command.to_lowercase().starts_with("mv ") && !command.contains("*") && !command.contains("?") { [INFO] [stderr] 178 | let parts = path_update_helpers::parse_mv_command(command); [INFO] [stderr] 179 | if parts.len() == 2 { [INFO] [stderr] 180 | let normalized_from = path_update_helpers::normalize_path(&parts[0]); [INFO] [stderr] 181 | let normalized_to = path_update_helpers::normalize_path(&parts[1]); [INFO] [stderr] 182 | [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/history/history.rs:522:16 [INFO] [stderr] | [INFO] [stderr] 522 | } else { [INFO] [stderr] | ________________^ [INFO] [stderr] 523 | | if print_output { [INFO] [stderr] 524 | | println!("McFly: Not updating paths due to invalid options."); [INFO] [stderr] 525 | | } [INFO] [stderr] 526 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 522 | } else if print_output { [INFO] [stderr] 523 | println!("McFly: Not updating paths due to invalid options."); [INFO] [stderr] 524 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/path_update_helpers.rs:39:24 [INFO] [stderr] | [INFO] [stderr] 39 | } else { [INFO] [stderr] | ________________________^ [INFO] [stderr] 40 | | if in_double_quote { [INFO] [stderr] 41 | | in_double_quote = false; [INFO] [stderr] 42 | | if buffer.len() > 0 { [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#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 39 | } else if in_double_quote { [INFO] [stderr] 40 | in_double_quote = false; [INFO] [stderr] 41 | if buffer.len() > 0 { [INFO] [stderr] 42 | result.push(buffer); [INFO] [stderr] 43 | } [INFO] [stderr] 44 | buffer = String::new(); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/simplified_command.rs:43:28 [INFO] [stderr] | [INFO] [stderr] 43 | } else { [INFO] [stderr] | ____________________________^ [INFO] [stderr] 44 | | if in_double_quote { [INFO] [stderr] 45 | | in_double_quote = false; [INFO] [stderr] 46 | | self.result.push_str("QUOTED"); [INFO] [stderr] ... | [INFO] [stderr] 49 | | } [INFO] [stderr] 50 | | } [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 43 | } else if in_double_quote { [INFO] [stderr] 44 | in_double_quote = false; [INFO] [stderr] 45 | self.result.push_str("QUOTED"); [INFO] [stderr] 46 | } else if !in_single_quote { [INFO] [stderr] 47 | in_double_quote = true; [INFO] [stderr] 48 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/trainer.rs:21:18 [INFO] [stderr] | [INFO] [stderr] 21 | let lr = 0.000005; [INFO] [stderr] | ^^^^^^^^ help: consider: `0.000_005` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:22:26 [INFO] [stderr] | [INFO] [stderr] 22 | final_bias: -0.3829333755179377, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0.382_933_375_517_937_7` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:24:17 [INFO] [stderr] | [INFO] [stderr] 24 | 0.44656858145177714, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider: `0.446_568_581_451_777_14` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:25:18 [INFO] [stderr] | [INFO] [stderr] 25 | -1.9550439349609872, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `1.955_043_934_960_987_2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:26:18 [INFO] [stderr] | [INFO] [stderr] 26 | -2.963322601316632 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: consider: `2.963_322_601_316_632` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:32:30 [INFO] [stderr] | [INFO] [stderr] 32 | offset: -0.878184962836099, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: consider: `0.878_184_962_836_099` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:33:27 [INFO] [stderr] | [INFO] [stderr] 33 | age: -0.9045522440219468, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0.904_552_244_021_946_8` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:34:29 [INFO] [stderr] | [INFO] [stderr] 34 | length: 0.5406937685800283, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0.540_693_768_580_028_3` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:35:28 [INFO] [stderr] | [INFO] [stderr] 35 | exit: -0.3472765681766297, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0.347_276_568_176_629_7` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:36:38 [INFO] [stderr] | [INFO] [stderr] 36 | recent_failure: -0.05291342121445077, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider: `0.052_913_421_214_450_77` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:37:36 [INFO] [stderr] | [INFO] [stderr] 37 | selected_dir: -0.35027519196134, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: consider: `0.350_275_191_961_34` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:38:27 [INFO] [stderr] | [INFO] [stderr] 38 | dir: -0.2466069217936986, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0.246_606_921_793_698_6` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:39:30 [INFO] [stderr] | [INFO] [stderr] 39 | overlap: 0.4791784213482642, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0.479_178_421_348_264_2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:40:40 [INFO] [stderr] | [INFO] [stderr] 40 | immediate_overlap: 0.5565797758340211, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0.556_579_775_834_021_1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:41:44 [INFO] [stderr] | [INFO] [stderr] 41 | selected_occurrences: -0.3600203296209723, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0.360_020_329_620_972_3` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:42:34 [INFO] [stderr] | [INFO] [stderr] 42 | occurrences: 0.15694312742881805 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider: `0.156_943_127_428_818_05` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:45:30 [INFO] [stderr] | [INFO] [stderr] 45 | offset: -0.04362945902379799, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider: `0.043_629_459_023_797_99` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:46:27 [INFO] [stderr] | [INFO] [stderr] 46 | age: -0.25381913331319716, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider: `0.253_819_133_313_197_16` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:47:29 [INFO] [stderr] | [INFO] [stderr] 47 | length: 0.4238780143901607, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0.423_878_014_390_160_7` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:48:27 [INFO] [stderr] | [INFO] [stderr] 48 | exit: 0.21906785628210726, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider: `0.219_067_856_282_107_26` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:49:38 [INFO] [stderr] | [INFO] [stderr] 49 | recent_failure: -0.9510136025685453, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0.951_013_602_568_545_3` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:50:36 [INFO] [stderr] | [INFO] [stderr] 50 | selected_dir: -0.04654084670567356, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider: `0.046_540_846_705_673_56` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:51:27 [INFO] [stderr] | [INFO] [stderr] 51 | dir: -2.2858050301068693, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `2.285_805_030_106_869_3` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:52:31 [INFO] [stderr] | [INFO] [stderr] 52 | overlap: -0.562274365705918, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: consider: `0.562_274_365_705_918` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:53:41 [INFO] [stderr] | [INFO] [stderr] 53 | immediate_overlap: -0.47252489212451904, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider: `0.472_524_892_124_519_04` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:54:43 [INFO] [stderr] | [INFO] [stderr] 54 | selected_occurrences: 0.2446391951417497, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0.244_639_195_141_749_7` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:55:35 [INFO] [stderr] | [INFO] [stderr] 55 | occurrences: -1.4846489581676605 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `1.484_648_958_167_660_5` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:58:30 [INFO] [stderr] | [INFO] [stderr] 58 | offset: -0.11992725490486622, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider: `0.119_927_254_904_866_22` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:59:26 [INFO] [stderr] | [INFO] [stderr] 59 | age: 0.3759013420273308, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0.375_901_342_027_330_8` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:60:29 [INFO] [stderr] | [INFO] [stderr] 60 | length: 1.674601413922965, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: consider: `1.674_601_413_922_965` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:61:28 [INFO] [stderr] | [INFO] [stderr] 61 | exit: -0.15529596916772864, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider: `0.155_295_969_167_728_64` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:62:38 [INFO] [stderr] | [INFO] [stderr] 62 | recent_failure: -0.7819181782432957, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0.781_918_178_243_295_7` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:63:36 [INFO] [stderr] | [INFO] [stderr] 63 | selected_dir: -1.1890532332896768, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `1.189_053_233_289_676_8` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:64:26 [INFO] [stderr] | [INFO] [stderr] 64 | dir: 0.34723729558743677, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider: `0.347_237_295_587_436_77` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:65:30 [INFO] [stderr] | [INFO] [stderr] 65 | overlap: 0.09372412920642742, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider: `0.093_724_129_206_427_42` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:66:40 [INFO] [stderr] | [INFO] [stderr] 66 | immediate_overlap: 0.393989158881144, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: consider: `0.393_989_158_881_144` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:67:44 [INFO] [stderr] | [INFO] [stderr] 67 | selected_occurrences: -0.2383372126951215, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0.238_337_212_695_121_5` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:68:35 [INFO] [stderr] | [INFO] [stderr] 68 | occurrences: -2.196219880265691 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: consider: `2.196_219_880_265_691` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: module has the same name as its containing module [INFO] [stderr] --> src/history/mod.rs:6:1 [INFO] [stderr] | [INFO] [stderr] 6 | mod history; [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: this if statement can be collapsed [INFO] [stderr] --> src/history/history.rs:177:9 [INFO] [stderr] | [INFO] [stderr] 177 | / if exit_code.is_none() || exit_code.unwrap() == 0 { [INFO] [stderr] 178 | | if command.to_lowercase().starts_with("mv ") && !command.contains("*") && !command.contains("?") { [INFO] [stderr] 179 | | let parts = path_update_helpers::parse_mv_command(command); [INFO] [stderr] 180 | | if parts.len() == 2 { [INFO] [stderr] ... | [INFO] [stderr] 213 | | } [INFO] [stderr] 214 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 177 | if (exit_code.is_none() || exit_code.unwrap() == 0) && command.to_lowercase().starts_with("mv ") && !command.contains("*") && !command.contains("?") { [INFO] [stderr] 178 | let parts = path_update_helpers::parse_mv_command(command); [INFO] [stderr] 179 | if parts.len() == 2 { [INFO] [stderr] 180 | let normalized_from = path_update_helpers::normalize_path(&parts[0]); [INFO] [stderr] 181 | let normalized_to = path_update_helpers::normalize_path(&parts[1]); [INFO] [stderr] 182 | [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/history/history.rs:522:16 [INFO] [stderr] | [INFO] [stderr] 522 | } else { [INFO] [stderr] | ________________^ [INFO] [stderr] 523 | | if print_output { [INFO] [stderr] 524 | | println!("McFly: Not updating paths due to invalid options."); [INFO] [stderr] 525 | | } [INFO] [stderr] 526 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 522 | } else if print_output { [INFO] [stderr] 523 | println!("McFly: Not updating paths due to invalid options."); [INFO] [stderr] 524 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/path_update_helpers.rs:39:24 [INFO] [stderr] | [INFO] [stderr] 39 | } else { [INFO] [stderr] | ________________________^ [INFO] [stderr] 40 | | if in_double_quote { [INFO] [stderr] 41 | | in_double_quote = false; [INFO] [stderr] 42 | | if buffer.len() > 0 { [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#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 39 | } else if in_double_quote { [INFO] [stderr] 40 | in_double_quote = false; [INFO] [stderr] 41 | if buffer.len() > 0 { [INFO] [stderr] 42 | result.push(buffer); [INFO] [stderr] 43 | } [INFO] [stderr] 44 | buffer = String::new(); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/simplified_command.rs:43:28 [INFO] [stderr] | [INFO] [stderr] 43 | } else { [INFO] [stderr] | ____________________________^ [INFO] [stderr] 44 | | if in_double_quote { [INFO] [stderr] 45 | | in_double_quote = false; [INFO] [stderr] 46 | | self.result.push_str("QUOTED"); [INFO] [stderr] ... | [INFO] [stderr] 49 | | } [INFO] [stderr] 50 | | } [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 43 | } else if in_double_quote { [INFO] [stderr] 44 | in_double_quote = false; [INFO] [stderr] 45 | self.result.push_str("QUOTED"); [INFO] [stderr] 46 | } else if !in_single_quote { [INFO] [stderr] 47 | in_double_quote = true; [INFO] [stderr] 48 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/trainer.rs:21:18 [INFO] [stderr] | [INFO] [stderr] 21 | let lr = 0.000005; [INFO] [stderr] | ^^^^^^^^ help: consider: `0.000_005` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:22:26 [INFO] [stderr] | [INFO] [stderr] 22 | final_bias: -0.3829333755179377, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0.382_933_375_517_937_7` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:24:17 [INFO] [stderr] | [INFO] [stderr] 24 | 0.44656858145177714, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider: `0.446_568_581_451_777_14` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:25:18 [INFO] [stderr] | [INFO] [stderr] 25 | -1.9550439349609872, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `1.955_043_934_960_987_2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:26:18 [INFO] [stderr] | [INFO] [stderr] 26 | -2.963322601316632 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: consider: `2.963_322_601_316_632` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:32:30 [INFO] [stderr] | [INFO] [stderr] 32 | offset: -0.878184962836099, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: consider: `0.878_184_962_836_099` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:33:27 [INFO] [stderr] | [INFO] [stderr] 33 | age: -0.9045522440219468, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0.904_552_244_021_946_8` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:34:29 [INFO] [stderr] | [INFO] [stderr] 34 | length: 0.5406937685800283, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0.540_693_768_580_028_3` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:35:28 [INFO] [stderr] | [INFO] [stderr] 35 | exit: -0.3472765681766297, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0.347_276_568_176_629_7` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:36:38 [INFO] [stderr] | [INFO] [stderr] 36 | recent_failure: -0.05291342121445077, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider: `0.052_913_421_214_450_77` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:37:36 [INFO] [stderr] | [INFO] [stderr] 37 | selected_dir: -0.35027519196134, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: consider: `0.350_275_191_961_34` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:38:27 [INFO] [stderr] | [INFO] [stderr] 38 | dir: -0.2466069217936986, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0.246_606_921_793_698_6` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:39:30 [INFO] [stderr] | [INFO] [stderr] 39 | overlap: 0.4791784213482642, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0.479_178_421_348_264_2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:40:40 [INFO] [stderr] | [INFO] [stderr] 40 | immediate_overlap: 0.5565797758340211, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0.556_579_775_834_021_1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:41:44 [INFO] [stderr] | [INFO] [stderr] 41 | selected_occurrences: -0.3600203296209723, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0.360_020_329_620_972_3` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:42:34 [INFO] [stderr] | [INFO] [stderr] 42 | occurrences: 0.15694312742881805 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider: `0.156_943_127_428_818_05` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:45:30 [INFO] [stderr] | [INFO] [stderr] 45 | offset: -0.04362945902379799, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider: `0.043_629_459_023_797_99` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:46:27 [INFO] [stderr] | [INFO] [stderr] 46 | age: -0.25381913331319716, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider: `0.253_819_133_313_197_16` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:47:29 [INFO] [stderr] | [INFO] [stderr] 47 | length: 0.4238780143901607, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0.423_878_014_390_160_7` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:48:27 [INFO] [stderr] | [INFO] [stderr] 48 | exit: 0.21906785628210726, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider: `0.219_067_856_282_107_26` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:49:38 [INFO] [stderr] | [INFO] [stderr] 49 | recent_failure: -0.9510136025685453, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0.951_013_602_568_545_3` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:50:36 [INFO] [stderr] | [INFO] [stderr] 50 | selected_dir: -0.04654084670567356, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider: `0.046_540_846_705_673_56` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:51:27 [INFO] [stderr] | [INFO] [stderr] 51 | dir: -2.2858050301068693, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `2.285_805_030_106_869_3` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:52:31 [INFO] [stderr] | [INFO] [stderr] 52 | overlap: -0.562274365705918, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: consider: `0.562_274_365_705_918` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:53:41 [INFO] [stderr] | [INFO] [stderr] 53 | immediate_overlap: -0.47252489212451904, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider: `0.472_524_892_124_519_04` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:54:43 [INFO] [stderr] | [INFO] [stderr] 54 | selected_occurrences: 0.2446391951417497, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0.244_639_195_141_749_7` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:55:35 [INFO] [stderr] | [INFO] [stderr] 55 | occurrences: -1.4846489581676605 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `1.484_648_958_167_660_5` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:58:30 [INFO] [stderr] | [INFO] [stderr] 58 | offset: -0.11992725490486622, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider: `0.119_927_254_904_866_22` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:59:26 [INFO] [stderr] | [INFO] [stderr] 59 | age: 0.3759013420273308, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0.375_901_342_027_330_8` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:60:29 [INFO] [stderr] | [INFO] [stderr] 60 | length: 1.674601413922965, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: consider: `1.674_601_413_922_965` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:61:28 [INFO] [stderr] | [INFO] [stderr] 61 | exit: -0.15529596916772864, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider: `0.155_295_969_167_728_64` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:62:38 [INFO] [stderr] | [INFO] [stderr] 62 | recent_failure: -0.7819181782432957, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0.781_918_178_243_295_7` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:63:36 [INFO] [stderr] | [INFO] [stderr] 63 | selected_dir: -1.1890532332896768, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `1.189_053_233_289_676_8` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:64:26 [INFO] [stderr] | [INFO] [stderr] 64 | dir: 0.34723729558743677, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider: `0.347_237_295_587_436_77` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:65:30 [INFO] [stderr] | [INFO] [stderr] 65 | overlap: 0.09372412920642742, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider: `0.093_724_129_206_427_42` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:66:40 [INFO] [stderr] | [INFO] [stderr] 66 | immediate_overlap: 0.393989158881144, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: consider: `0.393_989_158_881_144` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:67:44 [INFO] [stderr] | [INFO] [stderr] 67 | selected_occurrences: -0.2383372126951215, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0.238_337_212_695_121_5` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/network.rs:68:35 [INFO] [stderr] | [INFO] [stderr] 68 | occurrences: -2.196219880265691 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: consider: `2.196_219_880_265_691` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/bash_history.rs:11:34 [INFO] [stderr] | [INFO] [stderr] 11 | let mut f = File::open(path).expect(format!("{:?} file not found", &path).as_str()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| panic!("{:?} file not found", &path))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::expect_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/bash_history.rs:13:32 [INFO] [stderr] | [INFO] [stderr] 13 | f.read_to_end(&mut buffer).expect(format!("Unable to read from {:?}", &path).as_str()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| panic!("Unable to read from {:?}", &path))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/bash_history.rs:29:16 [INFO] [stderr] | [INFO] [stderr] 29 | .split("\n") [INFO] [stderr] | ^^^^ help: try using a char instead: `'\n'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/bash_history.rs:44:16 [INFO] [stderr] | [INFO] [stderr] 44 | .split("\n") [INFO] [stderr] | ^^^^ help: try using a char instead: `'\n'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/bash_history.rs:50:8 [INFO] [stderr] | [INFO] [stderr] 50 | if lines.len() > 0 && lines[lines.len() - 1].is_empty() { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!lines.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: length comparison to zero [INFO] [stderr] --> src/bash_history.rs:54:8 [INFO] [stderr] | [INFO] [stderr] 54 | if lines.len() == 0 || !lines[lines.len() - 1].starts_with("#mcfly:") { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `lines.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/bash_history.rs:60:8 [INFO] [stderr] | [INFO] [stderr] 60 | if lines.len() > 0 && timestamp_regex.is_match(&lines[lines.len() - 1]) { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!lines.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/bash_history.rs:66:40 [INFO] [stderr] | [INFO] [stderr] 66 | fs::write(&path, lines.join("\n")).expect(format!("Unable to update {:?}", &path).as_str()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| panic!("Unable to update {:?}", &path))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/bash_history.rs:73:16 [INFO] [stderr] | [INFO] [stderr] 73 | .split("\n") [INFO] [stderr] | ^^^^ help: try using a char instead: `'\n'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/bash_history.rs:78:40 [INFO] [stderr] | [INFO] [stderr] 78 | fs::write(&path, lines.join("\n")).expect(format!("Unable to update {:?}", &path).as_str()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| panic!("Unable to update {:?}", &path))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/bash_history.rs:81:38 [INFO] [stderr] | [INFO] [stderr] 81 | pub fn append_history_entry(command: &String, path: &PathBuf) { [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: the variable `count` is used as a loop counter. Consider using `for (count, item) in vec.enumerate()` or similar iterators [INFO] [stderr] --> src/command_input.rs:201:25 [INFO] [stderr] | [INFO] [stderr] 201 | for item in vec { [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::explicit_counter_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/fake_typer.rs:7:28 [INFO] [stderr] | [INFO] [stderr] 7 | pub fn use_tiocsti(string: &String) { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/history/history.rs:80:39 [INFO] [stderr] | [INFO] [stderr] 80 | pub fn should_add(&self, command: &String) -> bool { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/history/history.rs:112:18 [INFO] [stderr] | [INFO] [stderr] 112 | command: &String, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] help: change this to [INFO] [stderr] | [INFO] [stderr] 112 | command: &str, [INFO] [stderr] | ^^^^ [INFO] [stderr] help: change `command.as_str()` to [INFO] [stderr] | [INFO] [stderr] 121 | let simplified_command = SimplifiedCommand::new(command, true); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/history/history.rs:113:21 [INFO] [stderr] | [INFO] [stderr] 113 | session_id: &String, [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/history/history.rs:114:14 [INFO] [stderr] | [INFO] [stderr] 114 | dir: &String, [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/history/history.rs:116:20 [INFO] [stderr] | [INFO] [stderr] 116 | exit_code: &Option, [INFO] [stderr] | ^^^^^^^^^^^^ help: consider passing by value instead: `Option` [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: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/history/history.rs:137:18 [INFO] [stderr] | [INFO] [stderr] 137 | command: &String, [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/history/history.rs:138:21 [INFO] [stderr] | [INFO] [stderr] 138 | session_id: &String, [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/history/history.rs:139:14 [INFO] [stderr] | [INFO] [stderr] 139 | dir: &String, [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/history/history.rs:166:52 [INFO] [stderr] | [INFO] [stderr] 166 | pub fn record_selected_from_ui(&self, command: &String, session_id: &String, dir: &String) { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/history/history.rs:166:73 [INFO] [stderr] | [INFO] [stderr] 166 | pub fn record_selected_from_ui(&self, command: &String, session_id: &String, dir: &String) { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/history/history.rs:166:87 [INFO] [stderr] | [INFO] [stderr] 166 | pub fn record_selected_from_ui(&self, command: &String, session_id: &String, dir: &String) { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/history/history.rs:176:50 [INFO] [stderr] | [INFO] [stderr] 176 | pub fn possibly_update_paths(&self, command: &String, exit_code: &Option) { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/history/history.rs:176:70 [INFO] [stderr] | [INFO] [stderr] 176 | pub fn possibly_update_paths(&self, command: &String, exit_code: &Option) { [INFO] [stderr] | ^^^^^^^^^^^^ help: consider passing by value instead: `Option` [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: single-character string constant used as pattern [INFO] [stderr] --> src/history/history.rs:178:79 [INFO] [stderr] | [INFO] [stderr] 178 | if command.to_lowercase().starts_with("mv ") && !command.contains("*") && !command.contains("?") { [INFO] [stderr] | ^^^ help: try using a char instead: `'*'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/history/history.rs:178:105 [INFO] [stderr] | [INFO] [stderr] 178 | if command.to_lowercase().starts_with("mv ") && !command.contains("*") && !command.contains("?") { [INFO] [stderr] | ^^^ help: try using a char instead: `'?'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/history/history.rs:189:55 [INFO] [stderr] | [INFO] [stderr] 189 | if utf8_basename.contains(".") { [INFO] [stderr] | ^^^ help: try using a char instead: `'.'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/history/history.rs:217:37 [INFO] [stderr] | [INFO] [stderr] 217 | pub fn find_matches(&self, cmd: &String, num: i16) -> Vec { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/history/history.rs:274:14 [INFO] [stderr] | [INFO] [stderr] 274 | dir: &String, [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/history/history.rs:302:12 [INFO] [stderr] | [INFO] [stderr] 302 | if when_run_min == when_run_max { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(when_run_min - when_run_max).abs() < error` [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::float_cmp)] on by default [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/history/history.rs:302:12 [INFO] [stderr] | [INFO] [stderr] 302 | if when_run_min == when_run_max { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] warning: casting u16 to f64 may become silently lossy if types change [INFO] [stderr] --> src/history/history.rs:375:36 [INFO] [stderr] | [INFO] [stderr] 375 | (":lookback_f64", &(lookback as f64)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `f64::from(lookback)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/history/history.rs:457:9 [INFO] [stderr] | [INFO] [stderr] 457 | / self.commands(session_id, 1, 0, false) [INFO] [stderr] 458 | | .get(0) [INFO] [stderr] 459 | | .map(|cmd| cmd.clone()) [INFO] [stderr] | |___________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_clone)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] help: Consider calling the dedicated `cloned` method [INFO] [stderr] | [INFO] [stderr] 457 | self.commands(session_id, 1, 0, false) [INFO] [stderr] 458 | .get(0).cloned() [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/history/history.rs:540:14 [INFO] [stderr] | [INFO] [stderr] 540 | .expect(format!("Unable to create {:?}", Settings::storage_dir_path()).as_str()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| panic!("Unable to create {:?}", Settings::storage_dir_path()))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/history/history.rs:543:70 [INFO] [stderr] | [INFO] [stderr] 543 | let connection = Connection::open(Settings::mcfly_db_path()).expect( [INFO] [stderr] | ______________________________________________________________________^ [INFO] [stderr] 544 | | format!( [INFO] [stderr] 545 | | "Unable to create history DB at {:?}", [INFO] [stderr] 546 | | Settings::mcfly_db_path() [INFO] [stderr] 547 | | ).as_str(), [INFO] [stderr] 548 | | ); [INFO] [stderr] | |_________^ help: try this: `unwrap_or_else(|_| panic!("Unable to create history DB at {:?}", Settings::mcfly_db_path()))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/interface.rs:84:12 [INFO] [stderr] | [INFO] [stderr] 84 | if command.chars().into_iter().any(|c| !c.is_whitespace()) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `command.chars()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/interface.rs:171:12 [INFO] [stderr] | [INFO] [stderr] 171 | if self.matches.len() > 0 && self.selection > self.matches.len() - 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.matches.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/interface.rs:181:13 [INFO] [stderr] | [INFO] [stderr] 181 | / let mut bg = color::Bg(color::Reset).to_string(); [INFO] [stderr] 182 | | [INFO] [stderr] 183 | | if index == self.selection { [INFO] [stderr] 184 | | fg = color::Fg(color::Black).to_string(); [INFO] [stderr] 185 | | bg = color::Bg(color::LightWhite).to_string(); [INFO] [stderr] 186 | | } [INFO] [stderr] | |_____________^ help: it is more idiomatic to write: `let bg = if index == self.selection { ..; color::Bg(color::LightWhite).to_string() } else { color::Bg(color::Reset).to_string() };` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/interface.rs:240:12 [INFO] [stderr] | [INFO] [stderr] 240 | if self.matches.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.matches.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [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/interface.rs:247:13 [INFO] [stderr] | [INFO] [stderr] 247 | / match self.menu_mode { [INFO] [stderr] 248 | | MenuMode::ConfirmDelete => self.delete_selection(), [INFO] [stderr] 249 | | _ => {} [INFO] [stderr] 250 | | }; [INFO] [stderr] | |_____________^ help: try this: `if let MenuMode::ConfirmDelete = self.menu_mode { self.delete_selection() }` [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] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/interface.rs:256:12 [INFO] [stderr] | [INFO] [stderr] 256 | if self.matches.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.matches.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/interface.rs:371:28 [INFO] [stderr] | [INFO] [stderr] 371 | if self.matches.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.matches.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/path_update_helpers.rs:13:49 [INFO] [stderr] | [INFO] [stderr] 13 | let path_buf = if expanded_path.starts_with("/") { [INFO] [stderr] | ^^^ help: try using a char instead: `'/'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/path_update_helpers.rs:42:28 [INFO] [stderr] | [INFO] [stderr] 42 | if buffer.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!buffer.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/path_update_helpers.rs:56:24 [INFO] [stderr] | [INFO] [stderr] 56 | if buffer.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!buffer.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/path_update_helpers.rs:71:24 [INFO] [stderr] | [INFO] [stderr] 71 | if buffer.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!buffer.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/path_update_helpers.rs:85:8 [INFO] [stderr] | [INFO] [stderr] 85 | if buffer.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!buffer.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/path_update_helpers.rs:92:36 [INFO] [stderr] | [INFO] [stderr] 92 | .filter(|s| !s.starts_with("-")) [INFO] [stderr] | ^^^ help: try using a char instead: `'-'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/settings.rs:154:14 [INFO] [stderr] | [INFO] [stderr] 154 | .unwrap_or( [INFO] [stderr] | ______________^ [INFO] [stderr] 155 | | env::var("MCFLY_SESSION_ID") [INFO] [stderr] 156 | | .expect("Please ensure that MCFLY_SESSION_ID contains a random session ID."), [INFO] [stderr] 157 | | ); [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 154 | .unwrap_or_else(|| env::var("MCFLY_SESSION_ID") [INFO] [stderr] 155 | .expect("Please ensure that MCFLY_SESSION_ID contains a random session ID.")); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/settings.rs:162:18 [INFO] [stderr] | [INFO] [stderr] 162 | .unwrap_or( [INFO] [stderr] | __________________^ [INFO] [stderr] 163 | | env::var("MCFLY_HISTORY").expect("Please ensure that MCFLY_HISTORY is set."), [INFO] [stderr] 164 | | ), [INFO] [stderr] | |_________________^ help: try this: `unwrap_or_else(|| env::var("MCFLY_HISTORY").expect("Please ensure that MCFLY_HISTORY is set."))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/settings.rs:181:24 [INFO] [stderr] | [INFO] [stderr] 181 | if let Some(_) = add_matches.value_of("exit") { [INFO] [stderr] | _________________- ^^^^^^^ [INFO] [stderr] 182 | | settings.exit_code = [INFO] [stderr] 183 | | Some(value_t!(add_matches, "exit", i32).unwrap_or_else(|e| e.exit())); [INFO] [stderr] 184 | | } [INFO] [stderr] | |_________________- help: try this: `if add_matches.value_of("exit").is_some()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/settings.rs:202:26 [INFO] [stderr] | [INFO] [stderr] 202 | .unwrap_or(String::from("")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| String::from(""))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/settings.rs:225:26 [INFO] [stderr] | [INFO] [stderr] 225 | .unwrap_or(String::from("")) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| String::from(""))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/simplified_command.rs:70:28 [INFO] [stderr] | [INFO] [stderr] 70 | if self.result.len() > 0 && buffer.contains("/") { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.result.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/simplified_command.rs:70:69 [INFO] [stderr] | [INFO] [stderr] 70 | if self.result.len() > 0 && buffer.contains("/") { [INFO] [stderr] | ^^^ help: try using a char instead: `'/'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/simplified_command.rs:87:12 [INFO] [stderr] | [INFO] [stderr] 87 | if self.result.len() > 0 && buffer.contains("/") { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.result.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/simplified_command.rs:87:53 [INFO] [stderr] | [INFO] [stderr] 87 | if self.result.len() > 0 && buffer.contains("/") { [INFO] [stderr] | ^^^ help: try using a char instead: `'/'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/trainer.rs:28:40 [INFO] [stderr] | [INFO] [stderr] 28 | let mut best_overall_network = self.history.network.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.history.network` [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/trainer.rs:199:44 [INFO] [stderr] | [INFO] [stderr] 199 | best_restart_network = network.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try removing the `clone` call: `network` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/training_cache.rs:7:24 [INFO] [stderr] | [INFO] [stderr] 7 | pub fn write(data_set: &Vec<(Features, bool)>, cache_path: &PathBuf) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[(Features, bool)]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/training_sample_generator.rs:65:55 [INFO] [stderr] | [INFO] [stderr] 65 | let what_should_have_been_first = results.get(our_command_index).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `results[our_command_index]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/training_sample_generator.rs:92:31 [INFO] [stderr] | [INFO] [stderr] 92 | let records = records.unwrap_or(self.data_set.len()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| self.data_set.len())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `mcfly`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/bash_history.rs:11:34 [INFO] [stderr] | [INFO] [stderr] 11 | let mut f = File::open(path).expect(format!("{:?} file not found", &path).as_str()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| panic!("{:?} file not found", &path))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::expect_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/bash_history.rs:13:32 [INFO] [stderr] | [INFO] [stderr] 13 | f.read_to_end(&mut buffer).expect(format!("Unable to read from {:?}", &path).as_str()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| panic!("Unable to read from {:?}", &path))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/bash_history.rs:29:16 [INFO] [stderr] | [INFO] [stderr] 29 | .split("\n") [INFO] [stderr] | ^^^^ help: try using a char instead: `'\n'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/bash_history.rs:44:16 [INFO] [stderr] | [INFO] [stderr] 44 | .split("\n") [INFO] [stderr] | ^^^^ help: try using a char instead: `'\n'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/bash_history.rs:50:8 [INFO] [stderr] | [INFO] [stderr] 50 | if lines.len() > 0 && lines[lines.len() - 1].is_empty() { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!lines.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: length comparison to zero [INFO] [stderr] --> src/bash_history.rs:54:8 [INFO] [stderr] | [INFO] [stderr] 54 | if lines.len() == 0 || !lines[lines.len() - 1].starts_with("#mcfly:") { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `lines.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/bash_history.rs:60:8 [INFO] [stderr] | [INFO] [stderr] 60 | if lines.len() > 0 && timestamp_regex.is_match(&lines[lines.len() - 1]) { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!lines.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/bash_history.rs:66:40 [INFO] [stderr] | [INFO] [stderr] 66 | fs::write(&path, lines.join("\n")).expect(format!("Unable to update {:?}", &path).as_str()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| panic!("Unable to update {:?}", &path))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/bash_history.rs:73:16 [INFO] [stderr] | [INFO] [stderr] 73 | .split("\n") [INFO] [stderr] | ^^^^ help: try using a char instead: `'\n'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/bash_history.rs:78:40 [INFO] [stderr] | [INFO] [stderr] 78 | fs::write(&path, lines.join("\n")).expect(format!("Unable to update {:?}", &path).as_str()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| panic!("Unable to update {:?}", &path))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/bash_history.rs:81:38 [INFO] [stderr] | [INFO] [stderr] 81 | pub fn append_history_entry(command: &String, path: &PathBuf) { [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: the variable `count` is used as a loop counter. Consider using `for (count, item) in vec.enumerate()` or similar iterators [INFO] [stderr] --> src/command_input.rs:201:25 [INFO] [stderr] | [INFO] [stderr] 201 | for item in vec { [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::explicit_counter_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/fake_typer.rs:7:28 [INFO] [stderr] | [INFO] [stderr] 7 | pub fn use_tiocsti(string: &String) { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/history/history.rs:80:39 [INFO] [stderr] | [INFO] [stderr] 80 | pub fn should_add(&self, command: &String) -> bool { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/history/history.rs:112:18 [INFO] [stderr] | [INFO] [stderr] 112 | command: &String, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] help: change this to [INFO] [stderr] | [INFO] [stderr] 112 | command: &str, [INFO] [stderr] | ^^^^ [INFO] [stderr] help: change `command.as_str()` to [INFO] [stderr] | [INFO] [stderr] 121 | let simplified_command = SimplifiedCommand::new(command, true); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/history/history.rs:113:21 [INFO] [stderr] | [INFO] [stderr] 113 | session_id: &String, [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/history/history.rs:114:14 [INFO] [stderr] | [INFO] [stderr] 114 | dir: &String, [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/history/history.rs:116:20 [INFO] [stderr] | [INFO] [stderr] 116 | exit_code: &Option, [INFO] [stderr] | ^^^^^^^^^^^^ help: consider passing by value instead: `Option` [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: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/history/history.rs:137:18 [INFO] [stderr] | [INFO] [stderr] 137 | command: &String, [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/history/history.rs:138:21 [INFO] [stderr] | [INFO] [stderr] 138 | session_id: &String, [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/history/history.rs:139:14 [INFO] [stderr] | [INFO] [stderr] 139 | dir: &String, [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/history/history.rs:166:52 [INFO] [stderr] | [INFO] [stderr] 166 | pub fn record_selected_from_ui(&self, command: &String, session_id: &String, dir: &String) { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/history/history.rs:166:73 [INFO] [stderr] | [INFO] [stderr] 166 | pub fn record_selected_from_ui(&self, command: &String, session_id: &String, dir: &String) { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/history/history.rs:166:87 [INFO] [stderr] | [INFO] [stderr] 166 | pub fn record_selected_from_ui(&self, command: &String, session_id: &String, dir: &String) { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/history/history.rs:176:50 [INFO] [stderr] | [INFO] [stderr] 176 | pub fn possibly_update_paths(&self, command: &String, exit_code: &Option) { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/history/history.rs:176:70 [INFO] [stderr] | [INFO] [stderr] 176 | pub fn possibly_update_paths(&self, command: &String, exit_code: &Option) { [INFO] [stderr] | ^^^^^^^^^^^^ help: consider passing by value instead: `Option` [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: single-character string constant used as pattern [INFO] [stderr] --> src/history/history.rs:178:79 [INFO] [stderr] | [INFO] [stderr] 178 | if command.to_lowercase().starts_with("mv ") && !command.contains("*") && !command.contains("?") { [INFO] [stderr] | ^^^ help: try using a char instead: `'*'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/history/history.rs:178:105 [INFO] [stderr] | [INFO] [stderr] 178 | if command.to_lowercase().starts_with("mv ") && !command.contains("*") && !command.contains("?") { [INFO] [stderr] | ^^^ help: try using a char instead: `'?'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/history/history.rs:189:55 [INFO] [stderr] | [INFO] [stderr] 189 | if utf8_basename.contains(".") { [INFO] [stderr] | ^^^ help: try using a char instead: `'.'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/history/history.rs:217:37 [INFO] [stderr] | [INFO] [stderr] 217 | pub fn find_matches(&self, cmd: &String, num: i16) -> Vec { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/history/history.rs:274:14 [INFO] [stderr] | [INFO] [stderr] 274 | dir: &String, [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/history/history.rs:302:12 [INFO] [stderr] | [INFO] [stderr] 302 | if when_run_min == when_run_max { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(when_run_min - when_run_max).abs() < error` [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::float_cmp)] on by default [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/history/history.rs:302:12 [INFO] [stderr] | [INFO] [stderr] 302 | if when_run_min == when_run_max { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] warning: casting u16 to f64 may become silently lossy if types change [INFO] [stderr] --> src/history/history.rs:375:36 [INFO] [stderr] | [INFO] [stderr] 375 | (":lookback_f64", &(lookback as f64)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `f64::from(lookback)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/history/history.rs:457:9 [INFO] [stderr] | [INFO] [stderr] 457 | / self.commands(session_id, 1, 0, false) [INFO] [stderr] 458 | | .get(0) [INFO] [stderr] 459 | | .map(|cmd| cmd.clone()) [INFO] [stderr] | |___________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_clone)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] help: Consider calling the dedicated `cloned` method [INFO] [stderr] | [INFO] [stderr] 457 | self.commands(session_id, 1, 0, false) [INFO] [stderr] 458 | .get(0).cloned() [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/history/history.rs:540:14 [INFO] [stderr] | [INFO] [stderr] 540 | .expect(format!("Unable to create {:?}", Settings::storage_dir_path()).as_str()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| panic!("Unable to create {:?}", Settings::storage_dir_path()))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/history/history.rs:543:70 [INFO] [stderr] | [INFO] [stderr] 543 | let connection = Connection::open(Settings::mcfly_db_path()).expect( [INFO] [stderr] | ______________________________________________________________________^ [INFO] [stderr] 544 | | format!( [INFO] [stderr] 545 | | "Unable to create history DB at {:?}", [INFO] [stderr] 546 | | Settings::mcfly_db_path() [INFO] [stderr] 547 | | ).as_str(), [INFO] [stderr] 548 | | ); [INFO] [stderr] | |_________^ help: try this: `unwrap_or_else(|_| panic!("Unable to create history DB at {:?}", Settings::mcfly_db_path()))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/interface.rs:84:12 [INFO] [stderr] | [INFO] [stderr] 84 | if command.chars().into_iter().any(|c| !c.is_whitespace()) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `command.chars()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/interface.rs:171:12 [INFO] [stderr] | [INFO] [stderr] 171 | if self.matches.len() > 0 && self.selection > self.matches.len() - 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.matches.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/interface.rs:181:13 [INFO] [stderr] | [INFO] [stderr] 181 | / let mut bg = color::Bg(color::Reset).to_string(); [INFO] [stderr] 182 | | [INFO] [stderr] 183 | | if index == self.selection { [INFO] [stderr] 184 | | fg = color::Fg(color::Black).to_string(); [INFO] [stderr] 185 | | bg = color::Bg(color::LightWhite).to_string(); [INFO] [stderr] 186 | | } [INFO] [stderr] | |_____________^ help: it is more idiomatic to write: `let bg = if index == self.selection { ..; color::Bg(color::LightWhite).to_string() } else { color::Bg(color::Reset).to_string() };` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/interface.rs:240:12 [INFO] [stderr] | [INFO] [stderr] 240 | if self.matches.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.matches.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [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/interface.rs:247:13 [INFO] [stderr] | [INFO] [stderr] 247 | / match self.menu_mode { [INFO] [stderr] 248 | | MenuMode::ConfirmDelete => self.delete_selection(), [INFO] [stderr] 249 | | _ => {} [INFO] [stderr] 250 | | }; [INFO] [stderr] | |_____________^ help: try this: `if let MenuMode::ConfirmDelete = self.menu_mode { self.delete_selection() }` [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] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/interface.rs:256:12 [INFO] [stderr] | [INFO] [stderr] 256 | if self.matches.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.matches.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/interface.rs:371:28 [INFO] [stderr] | [INFO] [stderr] 371 | if self.matches.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.matches.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/path_update_helpers.rs:13:49 [INFO] [stderr] | [INFO] [stderr] 13 | let path_buf = if expanded_path.starts_with("/") { [INFO] [stderr] | ^^^ help: try using a char instead: `'/'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/path_update_helpers.rs:42:28 [INFO] [stderr] | [INFO] [stderr] 42 | if buffer.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!buffer.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/path_update_helpers.rs:56:24 [INFO] [stderr] | [INFO] [stderr] 56 | if buffer.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!buffer.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/path_update_helpers.rs:71:24 [INFO] [stderr] | [INFO] [stderr] 71 | if buffer.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!buffer.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/path_update_helpers.rs:85:8 [INFO] [stderr] | [INFO] [stderr] 85 | if buffer.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!buffer.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/path_update_helpers.rs:92:36 [INFO] [stderr] | [INFO] [stderr] 92 | .filter(|s| !s.starts_with("-")) [INFO] [stderr] | ^^^ help: try using a char instead: `'-'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/path_update_helpers.rs:112:42 [INFO] [stderr] | [INFO] [stderr] 112 | assert_eq!(normalize_path("~/"), String::from(env::var("HOME").unwrap())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `String::from()`: `env::var("HOME").unwrap()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/path_update_helpers.rs:128:13 [INFO] [stderr] | [INFO] [stderr] 128 | String::from(env::var("HOME").unwrap()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `String::from()`: `env::var("HOME").unwrap()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/settings.rs:154:14 [INFO] [stderr] | [INFO] [stderr] 154 | .unwrap_or( [INFO] [stderr] | ______________^ [INFO] [stderr] 155 | | env::var("MCFLY_SESSION_ID") [INFO] [stderr] 156 | | .expect("Please ensure that MCFLY_SESSION_ID contains a random session ID."), [INFO] [stderr] 157 | | ); [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 154 | .unwrap_or_else(|| env::var("MCFLY_SESSION_ID") [INFO] [stderr] 155 | .expect("Please ensure that MCFLY_SESSION_ID contains a random session ID.")); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/settings.rs:162:18 [INFO] [stderr] | [INFO] [stderr] 162 | .unwrap_or( [INFO] [stderr] | __________________^ [INFO] [stderr] 163 | | env::var("MCFLY_HISTORY").expect("Please ensure that MCFLY_HISTORY is set."), [INFO] [stderr] 164 | | ), [INFO] [stderr] | |_________________^ help: try this: `unwrap_or_else(|| env::var("MCFLY_HISTORY").expect("Please ensure that MCFLY_HISTORY is set."))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/settings.rs:181:24 [INFO] [stderr] | [INFO] [stderr] 181 | if let Some(_) = add_matches.value_of("exit") { [INFO] [stderr] | _________________- ^^^^^^^ [INFO] [stderr] 182 | | settings.exit_code = [INFO] [stderr] 183 | | Some(value_t!(add_matches, "exit", i32).unwrap_or_else(|e| e.exit())); [INFO] [stderr] 184 | | } [INFO] [stderr] | |_________________- help: try this: `if add_matches.value_of("exit").is_some()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/settings.rs:202:26 [INFO] [stderr] | [INFO] [stderr] 202 | .unwrap_or(String::from("")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| String::from(""))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/settings.rs:225:26 [INFO] [stderr] | [INFO] [stderr] 225 | .unwrap_or(String::from("")) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| String::from(""))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/simplified_command.rs:70:28 [INFO] [stderr] | [INFO] [stderr] 70 | if self.result.len() > 0 && buffer.contains("/") { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.result.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/simplified_command.rs:70:69 [INFO] [stderr] | [INFO] [stderr] 70 | if self.result.len() > 0 && buffer.contains("/") { [INFO] [stderr] | ^^^ help: try using a char instead: `'/'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/simplified_command.rs:87:12 [INFO] [stderr] | [INFO] [stderr] 87 | if self.result.len() > 0 && buffer.contains("/") { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.result.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/simplified_command.rs:87:53 [INFO] [stderr] | [INFO] [stderr] 87 | if self.result.len() > 0 && buffer.contains("/") { [INFO] [stderr] | ^^^ help: try using a char instead: `'/'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/trainer.rs:28:40 [INFO] [stderr] | [INFO] [stderr] 28 | let mut best_overall_network = self.history.network.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.history.network` [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/trainer.rs:199:44 [INFO] [stderr] | [INFO] [stderr] 199 | best_restart_network = network.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try removing the `clone` call: `network` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/training_cache.rs:7:24 [INFO] [stderr] | [INFO] [stderr] 7 | pub fn write(data_set: &Vec<(Features, bool)>, cache_path: &PathBuf) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[(Features, bool)]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/training_sample_generator.rs:65:55 [INFO] [stderr] | [INFO] [stderr] 65 | let what_should_have_been_first = results.get(our_command_index).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `results[our_command_index]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/training_sample_generator.rs:92:31 [INFO] [stderr] | [INFO] [stderr] 92 | let records = records.unwrap_or(self.data_set.len()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| self.data_set.len())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `mcfly`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "9635c9612394651e2d2d68e9dad49ce741787e97af404d96171edf43e581817d"` [INFO] running `"docker" "rm" "-f" "9635c9612394651e2d2d68e9dad49ce741787e97af404d96171edf43e581817d"` [INFO] [stdout] 9635c9612394651e2d2d68e9dad49ce741787e97af404d96171edf43e581817d