[INFO] updating cached repository barrettTom/space [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/barrettTom/space [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/barrettTom/space" "work/ex/clippy-test-run/sources/stable/gh/barrettTom/space"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/barrettTom/space'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/barrettTom/space" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/barrettTom/space"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/barrettTom/space'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 828f0d83dcb258a8e5efd55a7775592c6e5f77bc [INFO] sha for GitHub repo barrettTom/space: 828f0d83dcb258a8e5efd55a7775592c6e5f77bc [INFO] validating manifest of barrettTom/space 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 barrettTom/space 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 barrettTom/space [INFO] finished frobbing barrettTom/space [INFO] frobbed toml for barrettTom/space written to work/ex/clippy-test-run/sources/stable/gh/barrettTom/space/Cargo.toml [INFO] started frobbing barrettTom/space [INFO] finished frobbing barrettTom/space [INFO] frobbed toml for barrettTom/space written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/barrettTom/space/Cargo.toml [INFO] crate barrettTom/space 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 barrettTom/space against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-5/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/barrettTom/space:/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] 866abaa18f1b92b6556e533bbafa02f0876d33a648cab0a5dc17f692550814e6 [INFO] running `"docker" "start" "-a" "866abaa18f1b92b6556e533bbafa02f0876d33a648cab0a5dc17f692550814e6"` [INFO] [stderr] Checking space v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/mass.rs:67:13 [INFO] [stderr] | [INFO] [stderr] 67 | position : position, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `position` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/mass.rs:68:13 [INFO] [stderr] | [INFO] [stderr] 68 | velocity : velocity, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `velocity` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/mass.rs:93:13 [INFO] [stderr] | [INFO] [stderr] 93 | position : position, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `position` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/mass.rs:94:13 [INFO] [stderr] | [INFO] [stderr] 94 | velocity : velocity, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `velocity` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/mass.rs:92:42 [INFO] [stderr] | [INFO] [stderr] 92 | mass_type : MassType::Item{item : item}, [INFO] [stderr] | ^^^^^^^^^^^ help: replace it with: `item` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/mass.rs:100:13 [INFO] [stderr] | [INFO] [stderr] 100 | module_type : module_type [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `module_type` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/mass.rs:104:13 [INFO] [stderr] | [INFO] [stderr] 104 | mass_type : mass_type, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `mass_type` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/mass.rs:105:13 [INFO] [stderr] | [INFO] [stderr] 105 | position : position, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `position` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/mass.rs:106:13 [INFO] [stderr] | [INFO] [stderr] 106 | velocity : velocity, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `velocity` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/item.rs:11:13 [INFO] [stderr] | [INFO] [stderr] 11 | size : size, [INFO] [stderr] | ^^^^^^^^^^^ help: replace it with: `size` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/client/engines.rs:22:9 [INFO] [stderr] | [INFO] [stderr] 22 | write!(stdout, "{}{}use numpad to freely move\n", termion::clear::All, termion::cursor::Goto(1, 1)).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::write_with_newline)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/server/mining.rs:114:17 [INFO] [stderr] | [INFO] [stderr] 114 | has_astroid_target : has_astroid_target, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `has_astroid_target` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/server/mining.rs:115:17 [INFO] [stderr] | [INFO] [stderr] 115 | astroid_has_minerals: astroid_has_minerals, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `astroid_has_minerals` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/server/mining.rs:116:17 [INFO] [stderr] | [INFO] [stderr] 116 | is_within_range : is_within_range, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `is_within_range` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/server/connection.rs:39:13 [INFO] [stderr] | [INFO] [stderr] 39 | module_type : module_type, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `module_type` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/server/connection.rs:40:13 [INFO] [stderr] | [INFO] [stderr] 40 | stream : stream, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `stream` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/server/connection.rs:41:13 [INFO] [stderr] | [INFO] [stderr] 41 | buff_r : buff_r, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `buff_r` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/server/construction.rs:78:9 [INFO] [stderr] | [INFO] [stderr] 78 | has_refined : has_refined, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `has_refined` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/storage.rs:17:13 [INFO] [stderr] | [INFO] [stderr] 17 | items : items, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: replace it with: `items` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/storage.rs:19:13 [INFO] [stderr] | [INFO] [stderr] 19 | carrying : carrying, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `carrying` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/mass.rs:67:13 [INFO] [stderr] | [INFO] [stderr] 67 | position : position, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `position` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/mass.rs:68:13 [INFO] [stderr] | [INFO] [stderr] 68 | velocity : velocity, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `velocity` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/mass.rs:93:13 [INFO] [stderr] | [INFO] [stderr] 93 | position : position, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `position` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/mass.rs:94:13 [INFO] [stderr] | [INFO] [stderr] 94 | velocity : velocity, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `velocity` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/mass.rs:92:42 [INFO] [stderr] | [INFO] [stderr] 92 | mass_type : MassType::Item{item : item}, [INFO] [stderr] | ^^^^^^^^^^^ help: replace it with: `item` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/mass.rs:100:13 [INFO] [stderr] | [INFO] [stderr] 100 | module_type : module_type [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `module_type` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/mass.rs:104:13 [INFO] [stderr] | [INFO] [stderr] 104 | mass_type : mass_type, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `mass_type` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/mass.rs:105:13 [INFO] [stderr] | [INFO] [stderr] 105 | position : position, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `position` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/mass.rs:106:13 [INFO] [stderr] | [INFO] [stderr] 106 | velocity : velocity, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `velocity` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/item.rs:11:13 [INFO] [stderr] | [INFO] [stderr] 11 | size : size, [INFO] [stderr] | ^^^^^^^^^^^ help: replace it with: `size` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/client/engines.rs:22:9 [INFO] [stderr] | [INFO] [stderr] 22 | write!(stdout, "{}{}use numpad to freely move\n", termion::clear::All, termion::cursor::Goto(1, 1)).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::write_with_newline)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/server/mining.rs:114:17 [INFO] [stderr] | [INFO] [stderr] 114 | has_astroid_target : has_astroid_target, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `has_astroid_target` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/server/mining.rs:115:17 [INFO] [stderr] | [INFO] [stderr] 115 | astroid_has_minerals: astroid_has_minerals, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `astroid_has_minerals` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/server/mining.rs:116:17 [INFO] [stderr] | [INFO] [stderr] 116 | is_within_range : is_within_range, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `is_within_range` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/server/connection.rs:39:13 [INFO] [stderr] | [INFO] [stderr] 39 | module_type : module_type, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `module_type` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/server/connection.rs:40:13 [INFO] [stderr] | [INFO] [stderr] 40 | stream : stream, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `stream` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/server/connection.rs:41:13 [INFO] [stderr] | [INFO] [stderr] 41 | buff_r : buff_r, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `buff_r` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/server/construction.rs:78:9 [INFO] [stderr] | [INFO] [stderr] 78 | has_refined : has_refined, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `has_refined` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/storage.rs:17:13 [INFO] [stderr] | [INFO] [stderr] 17 | items : items, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: replace it with: `items` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/storage.rs:19:13 [INFO] [stderr] | [INFO] [stderr] 19 | carrying : carrying, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `carrying` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: Consider removing unnecessary double parentheses [INFO] [stderr] --> src/math.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | (((l1.0-l0.0).powf(2.0) + (l1.1-l0.1).powf(2.0) + (l1.2-l0.2).powf(2.0))).sqrt() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::double_parens)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_parens [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/server/mining.rs:33:13 [INFO] [stderr] | [INFO] [stderr] 33 | / if self.open { [INFO] [stderr] 34 | | if self.txrx_mining(&mining_data) { [INFO] [stderr] 35 | | mining.toggle(); [INFO] [stderr] 36 | | } [INFO] [stderr] 37 | | } [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] 33 | if self.open && self.txrx_mining(&mining_data) { [INFO] [stderr] 34 | mining.toggle(); [INFO] [stderr] 35 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/server/mining.rs:42:18 [INFO] [stderr] | [INFO] [stderr] 42 | else { [INFO] [stderr] | __________________^ [INFO] [stderr] 43 | | if mining.status == MiningStatus::Mined { [INFO] [stderr] 44 | | mining.take(); [INFO] [stderr] 45 | | if let Some(name) = navigation.target_name.clone() { [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] 42 | else if mining.status == MiningStatus::Mined { [INFO] [stderr] 43 | mining.take(); [INFO] [stderr] 44 | if let Some(name) = navigation.target_name.clone() { [INFO] [stderr] 45 | let target = masses.get_mut(&name).unwrap(); [INFO] [stderr] 46 | item = target.take("Mineral"); [INFO] [stderr] 47 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/server/refinery.rs:32:13 [INFO] [stderr] | [INFO] [stderr] 32 | / if self.open { [INFO] [stderr] 33 | | if self.txrx_refinery(&refinery_data) { [INFO] [stderr] 34 | | refinery.toggle(); [INFO] [stderr] 35 | | } [INFO] [stderr] 36 | | } [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] 32 | if self.open && self.txrx_refinery(&refinery_data) { [INFO] [stderr] 33 | refinery.toggle(); [INFO] [stderr] 34 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/server/construction.rs:28:13 [INFO] [stderr] | [INFO] [stderr] 28 | / if self.open { [INFO] [stderr] 29 | | if self.txrx_construction(&construction_data) { [INFO] [stderr] 30 | | construction.toggle(); [INFO] [stderr] 31 | | } [INFO] [stderr] 32 | | } [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] 28 | if self.open && self.txrx_construction(&construction_data) { [INFO] [stderr] 29 | construction.toggle(); [INFO] [stderr] 30 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: Consider removing unnecessary double parentheses [INFO] [stderr] --> src/math.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | (((l1.0-l0.0).powf(2.0) + (l1.1-l0.1).powf(2.0) + (l1.2-l0.2).powf(2.0))).sqrt() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::double_parens)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_parens [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/server/mining.rs:33:13 [INFO] [stderr] | [INFO] [stderr] 33 | / if self.open { [INFO] [stderr] 34 | | if self.txrx_mining(&mining_data) { [INFO] [stderr] 35 | | mining.toggle(); [INFO] [stderr] 36 | | } [INFO] [stderr] 37 | | } [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] 33 | if self.open && self.txrx_mining(&mining_data) { [INFO] [stderr] 34 | mining.toggle(); [INFO] [stderr] 35 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/server/mining.rs:42:18 [INFO] [stderr] | [INFO] [stderr] 42 | else { [INFO] [stderr] | __________________^ [INFO] [stderr] 43 | | if mining.status == MiningStatus::Mined { [INFO] [stderr] 44 | | mining.take(); [INFO] [stderr] 45 | | if let Some(name) = navigation.target_name.clone() { [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] 42 | else if mining.status == MiningStatus::Mined { [INFO] [stderr] 43 | mining.take(); [INFO] [stderr] 44 | if let Some(name) = navigation.target_name.clone() { [INFO] [stderr] 45 | let target = masses.get_mut(&name).unwrap(); [INFO] [stderr] 46 | item = target.take("Mineral"); [INFO] [stderr] 47 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/server/refinery.rs:32:13 [INFO] [stderr] | [INFO] [stderr] 32 | / if self.open { [INFO] [stderr] 33 | | if self.txrx_refinery(&refinery_data) { [INFO] [stderr] 34 | | refinery.toggle(); [INFO] [stderr] 35 | | } [INFO] [stderr] 36 | | } [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] 32 | if self.open && self.txrx_refinery(&refinery_data) { [INFO] [stderr] 33 | refinery.toggle(); [INFO] [stderr] 34 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/server/construction.rs:28:13 [INFO] [stderr] | [INFO] [stderr] 28 | / if self.open { [INFO] [stderr] 29 | | if self.txrx_construction(&construction_data) { [INFO] [stderr] 30 | | construction.toggle(); [INFO] [stderr] 31 | | } [INFO] [stderr] 32 | | } [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] 28 | if self.open && self.txrx_construction(&construction_data) { [INFO] [stderr] 29 | construction.toggle(); [INFO] [stderr] 30 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: large size difference between variants [INFO] [stderr] --> src/mass.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | / Ship { [INFO] [stderr] 26 | | storage : Storage, [INFO] [stderr] 27 | | mining : Option, [INFO] [stderr] 28 | | engines : Option, [INFO] [stderr] ... | [INFO] [stderr] 32 | | construction: Option, [INFO] [stderr] 33 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::large_enum_variant)] on by default [INFO] [stderr] help: consider boxing the large fields to reduce the total size of the enum [INFO] [stderr] --> src/mass.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | / Ship { [INFO] [stderr] 26 | | storage : Storage, [INFO] [stderr] 27 | | mining : Option, [INFO] [stderr] 28 | | engines : Option, [INFO] [stderr] ... | [INFO] [stderr] 32 | | construction: Option, [INFO] [stderr] 33 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant [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/mass.rs:123:9 [INFO] [stderr] | [INFO] [stderr] 123 | / match self.mass_type { [INFO] [stderr] 124 | | MassType::Ship{ref mut navigation, ref mut engines, ref mut mining, ref mut refinery, ref mut construction, ..} => { [INFO] [stderr] 125 | | mining.as_mut().unwrap().process(); [INFO] [stderr] 126 | | refinery.as_mut().unwrap().process(); [INFO] [stderr] ... | [INFO] [stderr] 131 | | _ => (), [INFO] [stderr] 132 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 123 | if let MassType::Ship{ref mut navigation, ref mut engines, ref mut mining, ref mut refinery, ref mut construction, ..} = self.mass_type { [INFO] [stderr] 124 | mining.as_mut().unwrap().process(); [INFO] [stderr] 125 | refinery.as_mut().unwrap().process(); [INFO] [stderr] 126 | navigation.as_mut().unwrap().process(); [INFO] [stderr] 127 | construction.as_mut().unwrap().process(); [INFO] [stderr] 128 | acceleration = engines.as_mut().unwrap().recv_acceleration(); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this if-then-else expression returns a bool literal [INFO] [stderr] --> src/item.rs:16:9 [INFO] [stderr] | [INFO] [stderr] 16 | / if self.name == "Mineral" { [INFO] [stderr] 17 | | true [INFO] [stderr] 18 | | } [INFO] [stderr] 19 | | else { [INFO] [stderr] 20 | | false [INFO] [stderr] 21 | | } [INFO] [stderr] | |_________^ help: you can reduce it to: `self.name == "Mineral"` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/client/mining.rs:27:9 [INFO] [stderr] | [INFO] [stderr] 27 | / match data.has_astroid_target { [INFO] [stderr] 28 | | true => match data.is_within_range { [INFO] [stderr] 29 | | true => match data.astroid_has_minerals { [INFO] [stderr] 30 | | true => match data.status { [INFO] [stderr] ... | [INFO] [stderr] 38 | | false => write!(stdout, "{}Ship has no astroid targeted.", clear).unwrap(), [INFO] [stderr] 39 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] help: consider using an if/else expression [INFO] [stderr] | [INFO] [stderr] 27 | if data.has_astroid_target { match data.is_within_range { [INFO] [stderr] 28 | true => match data.astroid_has_minerals { [INFO] [stderr] 29 | true => match data.status { [INFO] [stderr] 30 | MiningStatus::None => write!(stdout, "{}Press F to begin mining.", clear).unwrap(), [INFO] [stderr] 31 | _ => write!(stdout, "{}Press F to stop mining.", clear).unwrap(), [INFO] [stderr] 32 | }, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/client/mining.rs:28:21 [INFO] [stderr] | [INFO] [stderr] 28 | true => match data.is_within_range { [INFO] [stderr] | _____________________^ [INFO] [stderr] 29 | | true => match data.astroid_has_minerals { [INFO] [stderr] 30 | | true => match data.status { [INFO] [stderr] 31 | | MiningStatus::None => write!(stdout, "{}Press F to begin mining.", clear).unwrap(), [INFO] [stderr] ... | [INFO] [stderr] 36 | | false => write!(stdout, "{}Astroid must be within range of {}.", clear, data.range).unwrap(), [INFO] [stderr] 37 | | }, [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] help: consider using an if/else expression [INFO] [stderr] | [INFO] [stderr] 28 | true => if data.is_within_range { match data.astroid_has_minerals { [INFO] [stderr] 29 | true => match data.status { [INFO] [stderr] 30 | MiningStatus::None => write!(stdout, "{}Press F to begin mining.", clear).unwrap(), [INFO] [stderr] 31 | _ => write!(stdout, "{}Press F to stop mining.", clear).unwrap(), [INFO] [stderr] 32 | }, [INFO] [stderr] 33 | false => write!(stdout, "{}Astroid has ran out of minerals.", clear).unwrap(), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/client/mining.rs:29:25 [INFO] [stderr] | [INFO] [stderr] 29 | true => match data.astroid_has_minerals { [INFO] [stderr] | _________________________^ [INFO] [stderr] 30 | | true => match data.status { [INFO] [stderr] 31 | | MiningStatus::None => write!(stdout, "{}Press F to begin mining.", clear).unwrap(), [INFO] [stderr] 32 | | _ => write!(stdout, "{}Press F to stop mining.", clear).unwrap(), [INFO] [stderr] 33 | | }, [INFO] [stderr] 34 | | false => write!(stdout, "{}Astroid has ran out of minerals.", clear).unwrap(), [INFO] [stderr] 35 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] help: consider using an if/else expression [INFO] [stderr] | [INFO] [stderr] 29 | true => if data.astroid_has_minerals { match data.status { [INFO] [stderr] 30 | MiningStatus::None => write!(stdout, "{}Press F to begin mining.", clear).unwrap(), [INFO] [stderr] 31 | _ => write!(stdout, "{}Press F to stop mining.", clear).unwrap(), [INFO] [stderr] 32 | } } else { write!(stdout, "{}Astroid has ran out of minerals.", clear).unwrap() } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/client/mining.rs:49:13 [INFO] [stderr] | [INFO] [stderr] 49 | stream.write(send.as_bytes()).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::unused_io_amount)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/client/engines.rs:41:13 [INFO] [stderr] | [INFO] [stderr] 41 | stream.write(send.as_bytes()).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/client/refinery.rs:27:9 [INFO] [stderr] | [INFO] [stderr] 27 | / match data.has_minerals { [INFO] [stderr] 28 | | true => match data.status { [INFO] [stderr] 29 | | RefineryStatus::None => write!(stdout, "{}Press R to begin refining.", clear).unwrap(), [INFO] [stderr] 30 | | _ => write!(stdout, "{}Press R to stop refining.", clear).unwrap(), [INFO] [stderr] 31 | | }, [INFO] [stderr] 32 | | false => write!(stdout, "{}You have no refinable minerals.", clear).unwrap(), [INFO] [stderr] 33 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] help: consider using an if/else expression [INFO] [stderr] | [INFO] [stderr] 27 | if data.has_minerals { match data.status { [INFO] [stderr] 28 | RefineryStatus::None => write!(stdout, "{}Press R to begin refining.", clear).unwrap(), [INFO] [stderr] 29 | _ => write!(stdout, "{}Press R to stop refining.", clear).unwrap(), [INFO] [stderr] 30 | } } else { write!(stdout, "{}You have no refinable minerals.", clear).unwrap() } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/client/refinery.rs:43:13 [INFO] [stderr] | [INFO] [stderr] 43 | stream.write(send.as_bytes()).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/client/navigation.rs:58:25 [INFO] [stderr] | [INFO] [stderr] 58 | stream.write(send.as_bytes()).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/client/navigation.rs:67:60 [INFO] [stderr] | [INFO] [stderr] 67 | fn get_target_status(navigation : &Navigation, mass_name : &String) -> String { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/client/navigation.rs:70:13 [INFO] [stderr] | [INFO] [stderr] 70 | / match &name == mass_name { [INFO] [stderr] 71 | | true => serde_json::to_string(&navigation.status).unwrap(), [INFO] [stderr] 72 | | false => String::new() [INFO] [stderr] 73 | | } [INFO] [stderr] | |_____________^ help: consider using an if/else expression: `if &name == mass_name { serde_json::to_string(&navigation.status).unwrap() } else { String::new() }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/client/construction.rs:27:9 [INFO] [stderr] | [INFO] [stderr] 27 | / match data.has_refined { [INFO] [stderr] 28 | | true => match data.status { [INFO] [stderr] 29 | | ConstructionStatus::None => write!(stdout, "{}Press c to create a refinery.", clear).unwrap(), [INFO] [stderr] 30 | | _ => write!(stdout, "{}Press c to cancel..", clear).unwrap(), [INFO] [stderr] 31 | | }, [INFO] [stderr] 32 | | false => write!(stdout, "{}You need 5 refined minerals to create a refinery.", clear).unwrap(), [INFO] [stderr] 33 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] help: consider using an if/else expression [INFO] [stderr] | [INFO] [stderr] 27 | if data.has_refined { match data.status { [INFO] [stderr] 28 | ConstructionStatus::None => write!(stdout, "{}Press c to create a refinery.", clear).unwrap(), [INFO] [stderr] 29 | _ => write!(stdout, "{}Press c to cancel..", clear).unwrap(), [INFO] [stderr] 30 | } } else { write!(stdout, "{}You need 5 refined minerals to create a refinery.", clear).unwrap() } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/client/construction.rs:35:9 [INFO] [stderr] | [INFO] [stderr] 35 | / match stdin.next() { [INFO] [stderr] 36 | | Some(c) => { [INFO] [stderr] 37 | | let c = c.unwrap(); [INFO] [stderr] 38 | | let mut send = String::new(); [INFO] [stderr] ... | [INFO] [stderr] 46 | | None => () [INFO] [stderr] 47 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 35 | if let Some(c) = stdin.next() { [INFO] [stderr] 36 | let c = c.unwrap(); [INFO] [stderr] 37 | let mut send = String::new(); [INFO] [stderr] 38 | send.push(c as char); [INFO] [stderr] 39 | if send.as_bytes() == b"q" { [INFO] [stderr] 40 | break; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/client/construction.rs:44:17 [INFO] [stderr] | [INFO] [stderr] 44 | stream.write(send.as_bytes()).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/server/mining.rs:105:35 [INFO] [stderr] | [INFO] [stderr] 105 | let is_within_range = match has_astroid_target { [INFO] [stderr] | ___________________________________^ [INFO] [stderr] 106 | | true => match target { [INFO] [stderr] 107 | | Some(target) => mining.range > distance(ship.position, target.position), [INFO] [stderr] 108 | | _ => false, [INFO] [stderr] 109 | | } [INFO] [stderr] 110 | | _ => false, [INFO] [stderr] 111 | | }; [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] help: consider using an if/else expression [INFO] [stderr] | [INFO] [stderr] 105 | let is_within_range = if has_astroid_target { match target { [INFO] [stderr] 106 | Some(target) => mining.range > distance(ship.position, target.position), [INFO] [stderr] 107 | _ => false, [INFO] [stderr] 108 | } } else { false }; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/server/connection.rs:25:38 [INFO] [stderr] | [INFO] [stderr] 25 | let name = &recv[..recv.find(":").unwrap()]; [INFO] [stderr] | ^^^ help: try using a char instead: `':'` [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: use of `or_insert` followed by a function call [INFO] [stderr] --> src/server/connection.rs:27:51 [INFO] [stderr] | [INFO] [stderr] 27 | let ship = masses.entry(name.to_string()).or_insert(Mass::new_ship()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(Mass::new_ship)` [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] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/server/connection.rs:30:9 [INFO] [stderr] | [INFO] [stderr] 30 | stream.write(send.as_bytes()).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/server/construction.rs:71:5 [INFO] [stderr] | [INFO] [stderr] 71 | / let mut has_refined = false; [INFO] [stderr] 72 | | if ship.refined_count() >= 5 { [INFO] [stderr] 73 | | has_refined = true; [INFO] [stderr] 74 | | } [INFO] [stderr] | |_____^ help: it is more idiomatic to write: `let has_refined = if ship.refined_count() >= 5 { true } else { false };` [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: you should consider adding a `Default` implementation for `modules::mining::Mining` [INFO] [stderr] --> src/modules/mining.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | / pub fn new() -> Mining { [INFO] [stderr] 20 | | Mining { [INFO] [stderr] 21 | | range : 10.0, [INFO] [stderr] 22 | | status : MiningStatus::None, [INFO] [stderr] ... | [INFO] [stderr] 25 | | } [INFO] [stderr] 26 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 18 | impl Default for modules::mining::Mining { [INFO] [stderr] 19 | fn default() -> Self { [INFO] [stderr] 20 | Self::new() [INFO] [stderr] 21 | } [INFO] [stderr] 22 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/modules/mining.rs:29:30 [INFO] [stderr] | [INFO] [stderr] 29 | if let Some(timer) = self.start.clone() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.start` [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: you should consider deriving a `Default` implementation for `modules::engines::Engines` [INFO] [stderr] --> src/modules/engines.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | / pub fn new() -> Engines { [INFO] [stderr] 10 | | Engines { [INFO] [stderr] 11 | | acceleration : (0.0, 0.0, 0.0) [INFO] [stderr] 12 | | } [INFO] [stderr] 13 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default_derive)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 4 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/modules/engines.rs:49:17 [INFO] [stderr] | [INFO] [stderr] 49 | / match target { [INFO] [stderr] 50 | | Some(target) => { [INFO] [stderr] 51 | | let d_v = target.velocity; [INFO] [stderr] 52 | | let m_v = ship.velocity; [INFO] [stderr] ... | [INFO] [stderr] 57 | | None => (), [INFO] [stderr] 58 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 49 | if let Some(target) = target { [INFO] [stderr] 50 | let d_v = target.velocity; [INFO] [stderr] 51 | let m_v = ship.velocity; [INFO] [stderr] 52 | acceleration = (d_v.0 - m_v.0, [INFO] [stderr] 53 | d_v.1 - m_v.1, [INFO] [stderr] 54 | d_v.2 - m_v.2); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/modules/engines.rs:61:17 [INFO] [stderr] | [INFO] [stderr] 61 | / match target { [INFO] [stderr] 62 | | Some(target) => { [INFO] [stderr] 63 | | let d_p = target.position; [INFO] [stderr] 64 | | let m_p = ship.position; [INFO] [stderr] ... | [INFO] [stderr] 69 | | None => (), [INFO] [stderr] 70 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 61 | if let Some(target) = target { [INFO] [stderr] 62 | let d_p = target.position; [INFO] [stderr] 63 | let m_p = ship.position; [INFO] [stderr] 64 | acceleration = ((d_p.0 - m_p.0) * 0.01, [INFO] [stderr] 65 | (d_p.1 - m_p.1) * 0.01, [INFO] [stderr] 66 | (d_p.2 - m_p.2) * 0.01); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `modules::refinery::Refinery` [INFO] [stderr] --> src/modules/refinery.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | / pub fn new() -> Refinery { [INFO] [stderr] 19 | | Refinery { [INFO] [stderr] 20 | | time : 5, [INFO] [stderr] 21 | | start : None, [INFO] [stderr] 22 | | status : RefineryStatus::None, [INFO] [stderr] 23 | | } [INFO] [stderr] 24 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 17 | impl Default for modules::refinery::Refinery { [INFO] [stderr] 18 | fn default() -> Self { [INFO] [stderr] 19 | Self::new() [INFO] [stderr] 20 | } [INFO] [stderr] 21 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/modules/refinery.rs:27:30 [INFO] [stderr] | [INFO] [stderr] 27 | if let Some(timer) = self.start.clone() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.start` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `modules::dashboard::Dashboard` [INFO] [stderr] --> src/modules/dashboard.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | / pub fn new() -> Dashboard { [INFO] [stderr] 6 | | Dashboard {} [INFO] [stderr] 7 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 2 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `modules::navigation::Navigation` [INFO] [stderr] --> src/modules/navigation.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | / pub fn new() -> Navigation { [INFO] [stderr] 25 | | Navigation { [INFO] [stderr] 26 | | target_name : None, [INFO] [stderr] 27 | | range : 100.0, [INFO] [stderr] ... | [INFO] [stderr] 31 | | } [INFO] [stderr] 32 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 23 | impl Default for modules::navigation::Navigation { [INFO] [stderr] 24 | fn default() -> Self { [INFO] [stderr] 25 | Self::new() [INFO] [stderr] 26 | } [INFO] [stderr] 27 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/modules/navigation.rs:35:30 [INFO] [stderr] | [INFO] [stderr] 35 | if let Some(timer) = self.start.clone() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.start` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `modules::construction::Construction` [INFO] [stderr] --> src/modules/construction.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | / pub fn new() -> Construction { [INFO] [stderr] 21 | | Construction { [INFO] [stderr] 22 | | status : ConstructionStatus::None, [INFO] [stderr] 23 | | construction : None, [INFO] [stderr] ... | [INFO] [stderr] 26 | | } [INFO] [stderr] 27 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 19 | impl Default for modules::construction::Construction { [INFO] [stderr] 20 | fn default() -> Self { [INFO] [stderr] 21 | Self::new() [INFO] [stderr] 22 | } [INFO] [stderr] 23 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/modules/construction.rs:30:30 [INFO] [stderr] | [INFO] [stderr] 30 | if let Some(timer) = self.start.clone() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.start` [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: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/storage.rs:24:9 [INFO] [stderr] | [INFO] [stderr] 24 | / match self.items.iter().position(|item| item.is_mineral()) { [INFO] [stderr] 25 | | Some(_) => true, [INFO] [stderr] 26 | | None => false, [INFO] [stderr] 27 | | } [INFO] [stderr] | |_________^ help: try this: `self.items.iter().position(|item| item.is_mineral()).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: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/storage.rs:48:9 [INFO] [stderr] | [INFO] [stderr] 48 | / match self.capacity >= self.carrying + item.size { [INFO] [stderr] 49 | | true => { [INFO] [stderr] 50 | | self.carrying += item.size; [INFO] [stderr] 51 | | self.items.push(item); [INFO] [stderr] ... | [INFO] [stderr] 54 | | false => false, [INFO] [stderr] 55 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] help: consider using an if/else expression [INFO] [stderr] | [INFO] [stderr] 48 | if self.capacity >= self.carrying + item.size { [INFO] [stderr] 49 | self.carrying += item.size; [INFO] [stderr] 50 | self.items.push(item); [INFO] [stderr] 51 | true [INFO] [stderr] 52 | } else { false } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: aborting due to 6 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `space`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: large size difference between variants [INFO] [stderr] --> src/mass.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | / Ship { [INFO] [stderr] 26 | | storage : Storage, [INFO] [stderr] 27 | | mining : Option, [INFO] [stderr] 28 | | engines : Option, [INFO] [stderr] ... | [INFO] [stderr] 32 | | construction: Option, [INFO] [stderr] 33 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::large_enum_variant)] on by default [INFO] [stderr] help: consider boxing the large fields to reduce the total size of the enum [INFO] [stderr] --> src/mass.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | / Ship { [INFO] [stderr] 26 | | storage : Storage, [INFO] [stderr] 27 | | mining : Option, [INFO] [stderr] 28 | | engines : Option, [INFO] [stderr] ... | [INFO] [stderr] 32 | | construction: Option, [INFO] [stderr] 33 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant [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/mass.rs:123:9 [INFO] [stderr] | [INFO] [stderr] 123 | / match self.mass_type { [INFO] [stderr] 124 | | MassType::Ship{ref mut navigation, ref mut engines, ref mut mining, ref mut refinery, ref mut construction, ..} => { [INFO] [stderr] 125 | | mining.as_mut().unwrap().process(); [INFO] [stderr] 126 | | refinery.as_mut().unwrap().process(); [INFO] [stderr] ... | [INFO] [stderr] 131 | | _ => (), [INFO] [stderr] 132 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 123 | if let MassType::Ship{ref mut navigation, ref mut engines, ref mut mining, ref mut refinery, ref mut construction, ..} = self.mass_type { [INFO] [stderr] 124 | mining.as_mut().unwrap().process(); [INFO] [stderr] 125 | refinery.as_mut().unwrap().process(); [INFO] [stderr] 126 | navigation.as_mut().unwrap().process(); [INFO] [stderr] 127 | construction.as_mut().unwrap().process(); [INFO] [stderr] 128 | acceleration = engines.as_mut().unwrap().recv_acceleration(); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this if-then-else expression returns a bool literal [INFO] [stderr] --> src/item.rs:16:9 [INFO] [stderr] | [INFO] [stderr] 16 | / if self.name == "Mineral" { [INFO] [stderr] 17 | | true [INFO] [stderr] 18 | | } [INFO] [stderr] 19 | | else { [INFO] [stderr] 20 | | false [INFO] [stderr] 21 | | } [INFO] [stderr] | |_________^ help: you can reduce it to: `self.name == "Mineral"` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/client/mining.rs:27:9 [INFO] [stderr] | [INFO] [stderr] 27 | / match data.has_astroid_target { [INFO] [stderr] 28 | | true => match data.is_within_range { [INFO] [stderr] 29 | | true => match data.astroid_has_minerals { [INFO] [stderr] 30 | | true => match data.status { [INFO] [stderr] ... | [INFO] [stderr] 38 | | false => write!(stdout, "{}Ship has no astroid targeted.", clear).unwrap(), [INFO] [stderr] 39 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] help: consider using an if/else expression [INFO] [stderr] | [INFO] [stderr] 27 | if data.has_astroid_target { match data.is_within_range { [INFO] [stderr] 28 | true => match data.astroid_has_minerals { [INFO] [stderr] 29 | true => match data.status { [INFO] [stderr] 30 | MiningStatus::None => write!(stdout, "{}Press F to begin mining.", clear).unwrap(), [INFO] [stderr] 31 | _ => write!(stdout, "{}Press F to stop mining.", clear).unwrap(), [INFO] [stderr] 32 | }, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/client/mining.rs:28:21 [INFO] [stderr] | [INFO] [stderr] 28 | true => match data.is_within_range { [INFO] [stderr] | _____________________^ [INFO] [stderr] 29 | | true => match data.astroid_has_minerals { [INFO] [stderr] 30 | | true => match data.status { [INFO] [stderr] 31 | | MiningStatus::None => write!(stdout, "{}Press F to begin mining.", clear).unwrap(), [INFO] [stderr] ... | [INFO] [stderr] 36 | | false => write!(stdout, "{}Astroid must be within range of {}.", clear, data.range).unwrap(), [INFO] [stderr] 37 | | }, [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] help: consider using an if/else expression [INFO] [stderr] | [INFO] [stderr] 28 | true => if data.is_within_range { match data.astroid_has_minerals { [INFO] [stderr] 29 | true => match data.status { [INFO] [stderr] 30 | MiningStatus::None => write!(stdout, "{}Press F to begin mining.", clear).unwrap(), [INFO] [stderr] 31 | _ => write!(stdout, "{}Press F to stop mining.", clear).unwrap(), [INFO] [stderr] 32 | }, [INFO] [stderr] 33 | false => write!(stdout, "{}Astroid has ran out of minerals.", clear).unwrap(), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/client/mining.rs:29:25 [INFO] [stderr] | [INFO] [stderr] 29 | true => match data.astroid_has_minerals { [INFO] [stderr] | _________________________^ [INFO] [stderr] 30 | | true => match data.status { [INFO] [stderr] 31 | | MiningStatus::None => write!(stdout, "{}Press F to begin mining.", clear).unwrap(), [INFO] [stderr] 32 | | _ => write!(stdout, "{}Press F to stop mining.", clear).unwrap(), [INFO] [stderr] 33 | | }, [INFO] [stderr] 34 | | false => write!(stdout, "{}Astroid has ran out of minerals.", clear).unwrap(), [INFO] [stderr] 35 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] help: consider using an if/else expression [INFO] [stderr] | [INFO] [stderr] 29 | true => if data.astroid_has_minerals { match data.status { [INFO] [stderr] 30 | MiningStatus::None => write!(stdout, "{}Press F to begin mining.", clear).unwrap(), [INFO] [stderr] 31 | _ => write!(stdout, "{}Press F to stop mining.", clear).unwrap(), [INFO] [stderr] 32 | } } else { write!(stdout, "{}Astroid has ran out of minerals.", clear).unwrap() } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/client/mining.rs:49:13 [INFO] [stderr] | [INFO] [stderr] 49 | stream.write(send.as_bytes()).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::unused_io_amount)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/client/engines.rs:41:13 [INFO] [stderr] | [INFO] [stderr] 41 | stream.write(send.as_bytes()).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/client/refinery.rs:27:9 [INFO] [stderr] | [INFO] [stderr] 27 | / match data.has_minerals { [INFO] [stderr] 28 | | true => match data.status { [INFO] [stderr] 29 | | RefineryStatus::None => write!(stdout, "{}Press R to begin refining.", clear).unwrap(), [INFO] [stderr] 30 | | _ => write!(stdout, "{}Press R to stop refining.", clear).unwrap(), [INFO] [stderr] 31 | | }, [INFO] [stderr] 32 | | false => write!(stdout, "{}You have no refinable minerals.", clear).unwrap(), [INFO] [stderr] 33 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] help: consider using an if/else expression [INFO] [stderr] | [INFO] [stderr] 27 | if data.has_minerals { match data.status { [INFO] [stderr] 28 | RefineryStatus::None => write!(stdout, "{}Press R to begin refining.", clear).unwrap(), [INFO] [stderr] 29 | _ => write!(stdout, "{}Press R to stop refining.", clear).unwrap(), [INFO] [stderr] 30 | } } else { write!(stdout, "{}You have no refinable minerals.", clear).unwrap() } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/client/refinery.rs:43:13 [INFO] [stderr] | [INFO] [stderr] 43 | stream.write(send.as_bytes()).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/client/navigation.rs:58:25 [INFO] [stderr] | [INFO] [stderr] 58 | stream.write(send.as_bytes()).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/client/navigation.rs:67:60 [INFO] [stderr] | [INFO] [stderr] 67 | fn get_target_status(navigation : &Navigation, mass_name : &String) -> String { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/client/navigation.rs:70:13 [INFO] [stderr] | [INFO] [stderr] 70 | / match &name == mass_name { [INFO] [stderr] 71 | | true => serde_json::to_string(&navigation.status).unwrap(), [INFO] [stderr] 72 | | false => String::new() [INFO] [stderr] 73 | | } [INFO] [stderr] | |_____________^ help: consider using an if/else expression: `if &name == mass_name { serde_json::to_string(&navigation.status).unwrap() } else { String::new() }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/client/construction.rs:27:9 [INFO] [stderr] | [INFO] [stderr] 27 | / match data.has_refined { [INFO] [stderr] 28 | | true => match data.status { [INFO] [stderr] 29 | | ConstructionStatus::None => write!(stdout, "{}Press c to create a refinery.", clear).unwrap(), [INFO] [stderr] 30 | | _ => write!(stdout, "{}Press c to cancel..", clear).unwrap(), [INFO] [stderr] 31 | | }, [INFO] [stderr] 32 | | false => write!(stdout, "{}You need 5 refined minerals to create a refinery.", clear).unwrap(), [INFO] [stderr] 33 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] help: consider using an if/else expression [INFO] [stderr] | [INFO] [stderr] 27 | if data.has_refined { match data.status { [INFO] [stderr] 28 | ConstructionStatus::None => write!(stdout, "{}Press c to create a refinery.", clear).unwrap(), [INFO] [stderr] 29 | _ => write!(stdout, "{}Press c to cancel..", clear).unwrap(), [INFO] [stderr] 30 | } } else { write!(stdout, "{}You need 5 refined minerals to create a refinery.", clear).unwrap() } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/client/construction.rs:35:9 [INFO] [stderr] | [INFO] [stderr] 35 | / match stdin.next() { [INFO] [stderr] 36 | | Some(c) => { [INFO] [stderr] 37 | | let c = c.unwrap(); [INFO] [stderr] 38 | | let mut send = String::new(); [INFO] [stderr] ... | [INFO] [stderr] 46 | | None => () [INFO] [stderr] 47 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 35 | if let Some(c) = stdin.next() { [INFO] [stderr] 36 | let c = c.unwrap(); [INFO] [stderr] 37 | let mut send = String::new(); [INFO] [stderr] 38 | send.push(c as char); [INFO] [stderr] 39 | if send.as_bytes() == b"q" { [INFO] [stderr] 40 | break; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/client/construction.rs:44:17 [INFO] [stderr] | [INFO] [stderr] 44 | stream.write(send.as_bytes()).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/server/mining.rs:105:35 [INFO] [stderr] | [INFO] [stderr] 105 | let is_within_range = match has_astroid_target { [INFO] [stderr] | ___________________________________^ [INFO] [stderr] 106 | | true => match target { [INFO] [stderr] 107 | | Some(target) => mining.range > distance(ship.position, target.position), [INFO] [stderr] 108 | | _ => false, [INFO] [stderr] 109 | | } [INFO] [stderr] 110 | | _ => false, [INFO] [stderr] 111 | | }; [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] help: consider using an if/else expression [INFO] [stderr] | [INFO] [stderr] 105 | let is_within_range = if has_astroid_target { match target { [INFO] [stderr] 106 | Some(target) => mining.range > distance(ship.position, target.position), [INFO] [stderr] 107 | _ => false, [INFO] [stderr] 108 | } } else { false }; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/server/connection.rs:25:38 [INFO] [stderr] | [INFO] [stderr] 25 | let name = &recv[..recv.find(":").unwrap()]; [INFO] [stderr] | ^^^ help: try using a char instead: `':'` [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: use of `or_insert` followed by a function call [INFO] [stderr] --> src/server/connection.rs:27:51 [INFO] [stderr] | [INFO] [stderr] 27 | let ship = masses.entry(name.to_string()).or_insert(Mass::new_ship()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(Mass::new_ship)` [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] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/server/connection.rs:30:9 [INFO] [stderr] | [INFO] [stderr] 30 | stream.write(send.as_bytes()).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/server/construction.rs:71:5 [INFO] [stderr] | [INFO] [stderr] 71 | / let mut has_refined = false; [INFO] [stderr] 72 | | if ship.refined_count() >= 5 { [INFO] [stderr] 73 | | has_refined = true; [INFO] [stderr] 74 | | } [INFO] [stderr] | |_____^ help: it is more idiomatic to write: `let has_refined = if ship.refined_count() >= 5 { true } else { false };` [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: you should consider adding a `Default` implementation for `modules::mining::Mining` [INFO] [stderr] --> src/modules/mining.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | / pub fn new() -> Mining { [INFO] [stderr] 20 | | Mining { [INFO] [stderr] 21 | | range : 10.0, [INFO] [stderr] 22 | | status : MiningStatus::None, [INFO] [stderr] ... | [INFO] [stderr] 25 | | } [INFO] [stderr] 26 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 18 | impl Default for modules::mining::Mining { [INFO] [stderr] 19 | fn default() -> Self { [INFO] [stderr] 20 | Self::new() [INFO] [stderr] 21 | } [INFO] [stderr] 22 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/modules/mining.rs:29:30 [INFO] [stderr] | [INFO] [stderr] 29 | if let Some(timer) = self.start.clone() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.start` [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: you should consider deriving a `Default` implementation for `modules::engines::Engines` [INFO] [stderr] --> src/modules/engines.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | / pub fn new() -> Engines { [INFO] [stderr] 10 | | Engines { [INFO] [stderr] 11 | | acceleration : (0.0, 0.0, 0.0) [INFO] [stderr] 12 | | } [INFO] [stderr] 13 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default_derive)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 4 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/modules/engines.rs:49:17 [INFO] [stderr] | [INFO] [stderr] 49 | / match target { [INFO] [stderr] 50 | | Some(target) => { [INFO] [stderr] 51 | | let d_v = target.velocity; [INFO] [stderr] 52 | | let m_v = ship.velocity; [INFO] [stderr] ... | [INFO] [stderr] 57 | | None => (), [INFO] [stderr] 58 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 49 | if let Some(target) = target { [INFO] [stderr] 50 | let d_v = target.velocity; [INFO] [stderr] 51 | let m_v = ship.velocity; [INFO] [stderr] 52 | acceleration = (d_v.0 - m_v.0, [INFO] [stderr] 53 | d_v.1 - m_v.1, [INFO] [stderr] 54 | d_v.2 - m_v.2); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/modules/engines.rs:61:17 [INFO] [stderr] | [INFO] [stderr] 61 | / match target { [INFO] [stderr] 62 | | Some(target) => { [INFO] [stderr] 63 | | let d_p = target.position; [INFO] [stderr] 64 | | let m_p = ship.position; [INFO] [stderr] ... | [INFO] [stderr] 69 | | None => (), [INFO] [stderr] 70 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 61 | if let Some(target) = target { [INFO] [stderr] 62 | let d_p = target.position; [INFO] [stderr] 63 | let m_p = ship.position; [INFO] [stderr] 64 | acceleration = ((d_p.0 - m_p.0) * 0.01, [INFO] [stderr] 65 | (d_p.1 - m_p.1) * 0.01, [INFO] [stderr] 66 | (d_p.2 - m_p.2) * 0.01); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `modules::refinery::Refinery` [INFO] [stderr] --> src/modules/refinery.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | / pub fn new() -> Refinery { [INFO] [stderr] 19 | | Refinery { [INFO] [stderr] 20 | | time : 5, [INFO] [stderr] 21 | | start : None, [INFO] [stderr] 22 | | status : RefineryStatus::None, [INFO] [stderr] 23 | | } [INFO] [stderr] 24 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 17 | impl Default for modules::refinery::Refinery { [INFO] [stderr] 18 | fn default() -> Self { [INFO] [stderr] 19 | Self::new() [INFO] [stderr] 20 | } [INFO] [stderr] 21 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/modules/refinery.rs:27:30 [INFO] [stderr] | [INFO] [stderr] 27 | if let Some(timer) = self.start.clone() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.start` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `modules::dashboard::Dashboard` [INFO] [stderr] --> src/modules/dashboard.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | / pub fn new() -> Dashboard { [INFO] [stderr] 6 | | Dashboard {} [INFO] [stderr] 7 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 2 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `modules::navigation::Navigation` [INFO] [stderr] --> src/modules/navigation.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | / pub fn new() -> Navigation { [INFO] [stderr] 25 | | Navigation { [INFO] [stderr] 26 | | target_name : None, [INFO] [stderr] 27 | | range : 100.0, [INFO] [stderr] ... | [INFO] [stderr] 31 | | } [INFO] [stderr] 32 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 23 | impl Default for modules::navigation::Navigation { [INFO] [stderr] 24 | fn default() -> Self { [INFO] [stderr] 25 | Self::new() [INFO] [stderr] 26 | } [INFO] [stderr] 27 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/modules/navigation.rs:35:30 [INFO] [stderr] | [INFO] [stderr] 35 | if let Some(timer) = self.start.clone() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.start` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `modules::construction::Construction` [INFO] [stderr] --> src/modules/construction.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | / pub fn new() -> Construction { [INFO] [stderr] 21 | | Construction { [INFO] [stderr] 22 | | status : ConstructionStatus::None, [INFO] [stderr] 23 | | construction : None, [INFO] [stderr] ... | [INFO] [stderr] 26 | | } [INFO] [stderr] 27 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 19 | impl Default for modules::construction::Construction { [INFO] [stderr] 20 | fn default() -> Self { [INFO] [stderr] 21 | Self::new() [INFO] [stderr] 22 | } [INFO] [stderr] 23 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/modules/construction.rs:30:30 [INFO] [stderr] | [INFO] [stderr] 30 | if let Some(timer) = self.start.clone() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.start` [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: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/storage.rs:24:9 [INFO] [stderr] | [INFO] [stderr] 24 | / match self.items.iter().position(|item| item.is_mineral()) { [INFO] [stderr] 25 | | Some(_) => true, [INFO] [stderr] 26 | | None => false, [INFO] [stderr] 27 | | } [INFO] [stderr] | |_________^ help: try this: `self.items.iter().position(|item| item.is_mineral()).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: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/storage.rs:48:9 [INFO] [stderr] | [INFO] [stderr] 48 | / match self.capacity >= self.carrying + item.size { [INFO] [stderr] 49 | | true => { [INFO] [stderr] 50 | | self.carrying += item.size; [INFO] [stderr] 51 | | self.items.push(item); [INFO] [stderr] ... | [INFO] [stderr] 54 | | false => false, [INFO] [stderr] 55 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] help: consider using an if/else expression [INFO] [stderr] | [INFO] [stderr] 48 | if self.capacity >= self.carrying + item.size { [INFO] [stderr] 49 | self.carrying += item.size; [INFO] [stderr] 50 | self.items.push(item); [INFO] [stderr] 51 | true [INFO] [stderr] 52 | } else { false } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: aborting due to 6 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `space`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "866abaa18f1b92b6556e533bbafa02f0876d33a648cab0a5dc17f692550814e6"` [INFO] running `"docker" "rm" "-f" "866abaa18f1b92b6556e533bbafa02f0876d33a648cab0a5dc17f692550814e6"` [INFO] [stdout] 866abaa18f1b92b6556e533bbafa02f0876d33a648cab0a5dc17f692550814e6