[INFO] updating cached repository Fertasd/MyGame-Rust [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/Fertasd/MyGame-Rust [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/Fertasd/MyGame-Rust" "work/ex/clippy-test-run/sources/stable/gh/Fertasd/MyGame-Rust"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/Fertasd/MyGame-Rust'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/Fertasd/MyGame-Rust" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/Fertasd/MyGame-Rust"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/Fertasd/MyGame-Rust'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 61cc8227084e4d7161b0c103f264f8f30cccfe01 [INFO] sha for GitHub repo Fertasd/MyGame-Rust: 61cc8227084e4d7161b0c103f264f8f30cccfe01 [INFO] validating manifest of Fertasd/MyGame-Rust 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 Fertasd/MyGame-Rust 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 Fertasd/MyGame-Rust [INFO] finished frobbing Fertasd/MyGame-Rust [INFO] frobbed toml for Fertasd/MyGame-Rust written to work/ex/clippy-test-run/sources/stable/gh/Fertasd/MyGame-Rust/Cargo.toml [INFO] started frobbing Fertasd/MyGame-Rust [INFO] finished frobbing Fertasd/MyGame-Rust [INFO] frobbed toml for Fertasd/MyGame-Rust written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/Fertasd/MyGame-Rust/Cargo.toml [INFO] crate Fertasd/MyGame-Rust 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 Fertasd/MyGame-Rust 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/Fertasd/MyGame-Rust:/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] 4018861b695b32dab0570b69ba7ecbf67a049e3c14044758e202cf0ec2c7e042 [INFO] running `"docker" "start" "-a" "4018861b695b32dab0570b69ba7ecbf67a049e3c14044758e202cf0ec2c7e042"` [INFO] [stderr] Checking unicode-bidi v0.3.3 [INFO] [stderr] Checking iovec v0.1.0 [INFO] [stderr] Checking net2 v0.2.29 [INFO] [stderr] Checking ctrlc v3.0.2 [INFO] [stderr] Checking mio v0.6.8 [INFO] [stderr] Checking bytes v0.4.4 [INFO] [stderr] Checking idna v0.1.2 [INFO] [stderr] Checking url v1.4.1 [INFO] [stderr] Checking ws v0.7.1 [INFO] [stderr] Checking rpg-game v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/server.rs:129:22 [INFO] [stderr] | [INFO] [stderr] 129 | ClientConnection { sender: sender } [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `sender` [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/server.rs:129:22 [INFO] [stderr] | [INFO] [stderr] 129 | ClientConnection { sender: sender } [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `sender` [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: operator precedence can trip the unwary [INFO] [stderr] --> src/area.rs:105:11 [INFO] [stderr] | [INFO] [stderr] 105 | fullmap[2 * num ^ 2] = true; [INFO] [stderr] | ^^^^^^^^^^^ help: consider parenthesizing your expression: `(2 * num) ^ 2` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::precedence)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: operator precedence can trip the unwary [INFO] [stderr] --> src/area.rs:107:21 [INFO] [stderr] | [INFO] [stderr] 107 | currentgen.insert(2 * num ^ 2, fullmap[2 * num ^ 2]); [INFO] [stderr] | ^^^^^^^^^^^ help: consider parenthesizing your expression: `(2 * num) ^ 2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: operator precedence can trip the unwary [INFO] [stderr] --> src/area.rs:107:42 [INFO] [stderr] | [INFO] [stderr] 107 | currentgen.insert(2 * num ^ 2, fullmap[2 * num ^ 2]); [INFO] [stderr] | ^^^^^^^^^^^ help: consider parenthesizing your expression: `(2 * num) ^ 2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ops::Deref` [INFO] [stderr] --> src/server.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::ops::Deref; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/area.rs:78:7 [INFO] [stderr] | [INFO] [stderr] 78 | for i in 0..steps { [INFO] [stderr] | ^ help: consider using `_i` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `h` [INFO] [stderr] --> src/area.rs:80:8 [INFO] [stderr] | [INFO] [stderr] 80 | for h in 0..speed { [INFO] [stderr] | ^ help: consider using `_h` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/area.rs:98:7 [INFO] [stderr] | [INFO] [stderr] 98 | for i in 0..(2 * num) ^ 2 { [INFO] [stderr] | ^ help: consider using `_i` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `value` [INFO] [stderr] --> src/area.rs:109:14 [INFO] [stderr] | [INFO] [stderr] 109 | for (key, value) in currentgen { [INFO] [stderr] | ^^^^^ help: consider using `_value` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `room` [INFO] [stderr] --> src/area.rs:134:18 [INFO] [stderr] | [INFO] [stderr] 134 | fn set_position(room: Room, x: usize, y: usize) {} [INFO] [stderr] | ^^^^ help: consider using `_room` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `x` [INFO] [stderr] --> src/area.rs:134:30 [INFO] [stderr] | [INFO] [stderr] 134 | fn set_position(room: Room, x: usize, y: usize) {} [INFO] [stderr] | ^ help: consider using `_x` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `y` [INFO] [stderr] --> src/area.rs:134:40 [INFO] [stderr] | [INFO] [stderr] 134 | fn set_position(room: Room, x: usize, y: usize) {} [INFO] [stderr] | ^ help: consider using `_y` instead [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Position` [INFO] [stderr] --> src/area.rs:5:1 [INFO] [stderr] | [INFO] [stderr] 5 | pub struct Position { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/area.rs:12:2 [INFO] [stderr] | [INFO] [stderr] 12 | pub fn new(x: i64, y: i64, z: i64) -> Position { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Dungeon` [INFO] [stderr] --> src/area.rs:23:1 [INFO] [stderr] | [INFO] [stderr] 23 | pub struct Dungeon { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/area.rs:28:2 [INFO] [stderr] | [INFO] [stderr] 28 | pub fn new() -> Dungeon { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `add_level` [INFO] [stderr] --> src/area.rs:31:2 [INFO] [stderr] | [INFO] [stderr] 31 | pub fn add_level(&mut self, level: Rc) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Level` [INFO] [stderr] --> src/area.rs:36:1 [INFO] [stderr] | [INFO] [stderr] 36 | pub struct Level { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `UP` [INFO] [stderr] --> src/area.rs:42:2 [INFO] [stderr] | [INFO] [stderr] 42 | UP, [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `DOWN` [INFO] [stderr] --> src/area.rs:43:2 [INFO] [stderr] | [INFO] [stderr] 43 | DOWN, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `LEFT` [INFO] [stderr] --> src/area.rs:44:2 [INFO] [stderr] | [INFO] [stderr] 44 | LEFT, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `RIGHT` [INFO] [stderr] --> src/area.rs:45:2 [INFO] [stderr] | [INFO] [stderr] 45 | RIGHT [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `random` [INFO] [stderr] --> src/area.rs:49:2 [INFO] [stderr] | [INFO] [stderr] 49 | fn random() -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/area.rs:62:2 [INFO] [stderr] | [INFO] [stderr] 62 | pub fn new() -> Level { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `add_room` [INFO] [stderr] --> src/area.rs:65:2 [INFO] [stderr] | [INFO] [stderr] 65 | pub fn add_room(&mut self, room: Rc) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `step` [INFO] [stderr] --> src/area.rs:68:2 [INFO] [stderr] | [INFO] [stderr] 68 | fn step(dir: Direction, pos: usize, len: usize) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `walker` [INFO] [stderr] --> src/area.rs:76:2 [INFO] [stderr] | [INFO] [stderr] 76 | fn walker(pos: usize, steps: u8, len: usize, map: &mut Vec, speed: u8, gen: &mut HashMap, counter: &mut usize, num: &mut usize) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `generate_rooms` [INFO] [stderr] --> src/area.rs:96:2 [INFO] [stderr] | [INFO] [stderr] 96 | fn generate_rooms(num: usize) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Room` [INFO] [stderr] --> src/area.rs:128:1 [INFO] [stderr] | [INFO] [stderr] 128 | pub struct Room {} [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/area.rs:131:2 [INFO] [stderr] | [INFO] [stderr] 131 | pub fn new() -> Room { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set_position` [INFO] [stderr] --> src/area.rs:134:2 [INFO] [stderr] | [INFO] [stderr] 134 | fn set_position(room: Room, x: usize, y: usize) {} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `sender` [INFO] [stderr] --> src/client.rs:13:2 [INFO] [stderr] | [INFO] [stderr] 13 | sender: ws::Sender [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `sender` [INFO] [stderr] --> src/server.rs:124:2 [INFO] [stderr] | [INFO] [stderr] 124 | sender: ws::Sender [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (8/7) [INFO] [stderr] --> src/area.rs:76:2 [INFO] [stderr] | [INFO] [stderr] 76 | fn walker(pos: usize, steps: u8, len: usize, map: &mut Vec, speed: u8, gen: &mut HashMap, counter: &mut usize, num: &mut usize) { [INFO] [stderr] | _____^ [INFO] [stderr] 77 | | let mut pos = pos; [INFO] [stderr] 78 | | for i in 0..steps { [INFO] [stderr] 79 | | let dir = Direction::random(); [INFO] [stderr] ... | [INFO] [stderr] 94 | | gen.insert(pos, true); [INFO] [stderr] 95 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::too_many_arguments)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/area.rs:82:5 [INFO] [stderr] | [INFO] [stderr] 82 | match map[a] { [INFO] [stderr] | _________________^ [INFO] [stderr] 83 | | true => pos = a, [INFO] [stderr] 84 | | false => { [INFO] [stderr] 85 | | pos = a; [INFO] [stderr] ... | [INFO] [stderr] 88 | | } [INFO] [stderr] 89 | | } [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] 82 | if map[a] { pos = a } else { [INFO] [stderr] 83 | pos = a; [INFO] [stderr] 84 | map[a] = true; [INFO] [stderr] 85 | *counter += 1; [INFO] [stderr] 86 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: a const item should never be interior mutable [INFO] [stderr] --> src/atomic.rs:7:1 [INFO] [stderr] | [INFO] [stderr] 7 | pub const ATOMIC_FLAG_INIT: AtomicFlag = AtomicFlag { flag: ATOMIC_BOOL_INIT }; [INFO] [stderr] | -----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: make this a static item: `static` [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::declare_interior_mutable_const)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#declare_interior_mutable_const [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/client.rs:7:55 [INFO] [stderr] | [INFO] [stderr] 7 | if let Err(error) = ws::connect(address_str.deref(), |sender| Client::new(sender)) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `Client::new` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_closure)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/server.rs:66:12 [INFO] [stderr] | [INFO] [stderr] 66 | listener: BoxFuture<(ws::Result>, ws::Result>), Canceled>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::type_complexity)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/server.rs:71:19 [INFO] [stderr] | [INFO] [stderr] 71 | fn new(listener: BoxFuture<(ws::Result>, ws::Result>), Canceled>, broadcasters: [ws::Sender; 2]) -> Server [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] error: this .into_iter() call is equivalent to .iter() and will not move the array [INFO] [stderr] --> src/server.rs:76:36 [INFO] [stderr] | [INFO] [stderr] 76 | for broadcaster in broadcasters.into_iter() { [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::into_iter_on_array)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_array [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `rpg-game`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: operator precedence can trip the unwary [INFO] [stderr] --> src/area.rs:105:11 [INFO] [stderr] | [INFO] [stderr] 105 | fullmap[2 * num ^ 2] = true; [INFO] [stderr] | ^^^^^^^^^^^ help: consider parenthesizing your expression: `(2 * num) ^ 2` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::precedence)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: operator precedence can trip the unwary [INFO] [stderr] --> src/area.rs:107:21 [INFO] [stderr] | [INFO] [stderr] 107 | currentgen.insert(2 * num ^ 2, fullmap[2 * num ^ 2]); [INFO] [stderr] | ^^^^^^^^^^^ help: consider parenthesizing your expression: `(2 * num) ^ 2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: operator precedence can trip the unwary [INFO] [stderr] --> src/area.rs:107:42 [INFO] [stderr] | [INFO] [stderr] 107 | currentgen.insert(2 * num ^ 2, fullmap[2 * num ^ 2]); [INFO] [stderr] | ^^^^^^^^^^^ help: consider parenthesizing your expression: `(2 * num) ^ 2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ops::Deref` [INFO] [stderr] --> src/server.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::ops::Deref; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/area.rs:78:7 [INFO] [stderr] | [INFO] [stderr] 78 | for i in 0..steps { [INFO] [stderr] | ^ help: consider using `_i` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `h` [INFO] [stderr] --> src/area.rs:80:8 [INFO] [stderr] | [INFO] [stderr] 80 | for h in 0..speed { [INFO] [stderr] | ^ help: consider using `_h` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/area.rs:98:7 [INFO] [stderr] | [INFO] [stderr] 98 | for i in 0..(2 * num) ^ 2 { [INFO] [stderr] | ^ help: consider using `_i` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `value` [INFO] [stderr] --> src/area.rs:109:14 [INFO] [stderr] | [INFO] [stderr] 109 | for (key, value) in currentgen { [INFO] [stderr] | ^^^^^ help: consider using `_value` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `room` [INFO] [stderr] --> src/area.rs:134:18 [INFO] [stderr] | [INFO] [stderr] 134 | fn set_position(room: Room, x: usize, y: usize) {} [INFO] [stderr] | ^^^^ help: consider using `_room` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `x` [INFO] [stderr] --> src/area.rs:134:30 [INFO] [stderr] | [INFO] [stderr] 134 | fn set_position(room: Room, x: usize, y: usize) {} [INFO] [stderr] | ^ help: consider using `_x` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `y` [INFO] [stderr] --> src/area.rs:134:40 [INFO] [stderr] | [INFO] [stderr] 134 | fn set_position(room: Room, x: usize, y: usize) {} [INFO] [stderr] | ^ help: consider using `_y` instead [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Position` [INFO] [stderr] --> src/area.rs:5:1 [INFO] [stderr] | [INFO] [stderr] 5 | pub struct Position { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/area.rs:12:2 [INFO] [stderr] | [INFO] [stderr] 12 | pub fn new(x: i64, y: i64, z: i64) -> Position { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Dungeon` [INFO] [stderr] --> src/area.rs:23:1 [INFO] [stderr] | [INFO] [stderr] 23 | pub struct Dungeon { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/area.rs:28:2 [INFO] [stderr] | [INFO] [stderr] 28 | pub fn new() -> Dungeon { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `add_level` [INFO] [stderr] --> src/area.rs:31:2 [INFO] [stderr] | [INFO] [stderr] 31 | pub fn add_level(&mut self, level: Rc) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Level` [INFO] [stderr] --> src/area.rs:36:1 [INFO] [stderr] | [INFO] [stderr] 36 | pub struct Level { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `UP` [INFO] [stderr] --> src/area.rs:42:2 [INFO] [stderr] | [INFO] [stderr] 42 | UP, [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `DOWN` [INFO] [stderr] --> src/area.rs:43:2 [INFO] [stderr] | [INFO] [stderr] 43 | DOWN, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `LEFT` [INFO] [stderr] --> src/area.rs:44:2 [INFO] [stderr] | [INFO] [stderr] 44 | LEFT, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `RIGHT` [INFO] [stderr] --> src/area.rs:45:2 [INFO] [stderr] | [INFO] [stderr] 45 | RIGHT [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `random` [INFO] [stderr] --> src/area.rs:49:2 [INFO] [stderr] | [INFO] [stderr] 49 | fn random() -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/area.rs:62:2 [INFO] [stderr] | [INFO] [stderr] 62 | pub fn new() -> Level { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `add_room` [INFO] [stderr] --> src/area.rs:65:2 [INFO] [stderr] | [INFO] [stderr] 65 | pub fn add_room(&mut self, room: Rc) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `step` [INFO] [stderr] --> src/area.rs:68:2 [INFO] [stderr] | [INFO] [stderr] 68 | fn step(dir: Direction, pos: usize, len: usize) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `walker` [INFO] [stderr] --> src/area.rs:76:2 [INFO] [stderr] | [INFO] [stderr] 76 | fn walker(pos: usize, steps: u8, len: usize, map: &mut Vec, speed: u8, gen: &mut HashMap, counter: &mut usize, num: &mut usize) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `generate_rooms` [INFO] [stderr] --> src/area.rs:96:2 [INFO] [stderr] | [INFO] [stderr] 96 | fn generate_rooms(num: usize) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Room` [INFO] [stderr] --> src/area.rs:128:1 [INFO] [stderr] | [INFO] [stderr] 128 | pub struct Room {} [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/area.rs:131:2 [INFO] [stderr] | [INFO] [stderr] 131 | pub fn new() -> Room { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set_position` [INFO] [stderr] --> src/area.rs:134:2 [INFO] [stderr] | [INFO] [stderr] 134 | fn set_position(room: Room, x: usize, y: usize) {} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `sender` [INFO] [stderr] --> src/client.rs:13:2 [INFO] [stderr] | [INFO] [stderr] 13 | sender: ws::Sender [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `sender` [INFO] [stderr] --> src/server.rs:124:2 [INFO] [stderr] | [INFO] [stderr] 124 | sender: ws::Sender [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (8/7) [INFO] [stderr] --> src/area.rs:76:2 [INFO] [stderr] | [INFO] [stderr] 76 | fn walker(pos: usize, steps: u8, len: usize, map: &mut Vec, speed: u8, gen: &mut HashMap, counter: &mut usize, num: &mut usize) { [INFO] [stderr] | _____^ [INFO] [stderr] 77 | | let mut pos = pos; [INFO] [stderr] 78 | | for i in 0..steps { [INFO] [stderr] 79 | | let dir = Direction::random(); [INFO] [stderr] ... | [INFO] [stderr] 94 | | gen.insert(pos, true); [INFO] [stderr] 95 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::too_many_arguments)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/area.rs:82:5 [INFO] [stderr] | [INFO] [stderr] 82 | match map[a] { [INFO] [stderr] | _________________^ [INFO] [stderr] 83 | | true => pos = a, [INFO] [stderr] 84 | | false => { [INFO] [stderr] 85 | | pos = a; [INFO] [stderr] ... | [INFO] [stderr] 88 | | } [INFO] [stderr] 89 | | } [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] 82 | if map[a] { pos = a } else { [INFO] [stderr] 83 | pos = a; [INFO] [stderr] 84 | map[a] = true; [INFO] [stderr] 85 | *counter += 1; [INFO] [stderr] 86 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: a const item should never be interior mutable [INFO] [stderr] --> src/atomic.rs:7:1 [INFO] [stderr] | [INFO] [stderr] 7 | pub const ATOMIC_FLAG_INIT: AtomicFlag = AtomicFlag { flag: ATOMIC_BOOL_INIT }; [INFO] [stderr] | -----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: make this a static item: `static` [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::declare_interior_mutable_const)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#declare_interior_mutable_const [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/client.rs:7:55 [INFO] [stderr] | [INFO] [stderr] 7 | if let Err(error) = ws::connect(address_str.deref(), |sender| Client::new(sender)) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `Client::new` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_closure)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/server.rs:66:12 [INFO] [stderr] | [INFO] [stderr] 66 | listener: BoxFuture<(ws::Result>, ws::Result>), Canceled>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::type_complexity)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/server.rs:71:19 [INFO] [stderr] | [INFO] [stderr] 71 | fn new(listener: BoxFuture<(ws::Result>, ws::Result>), Canceled>, broadcasters: [ws::Sender; 2]) -> Server [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] error: this .into_iter() call is equivalent to .iter() and will not move the array [INFO] [stderr] --> src/server.rs:76:36 [INFO] [stderr] | [INFO] [stderr] 76 | for broadcaster in broadcasters.into_iter() { [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::into_iter_on_array)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_array [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `rpg-game`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "4018861b695b32dab0570b69ba7ecbf67a049e3c14044758e202cf0ec2c7e042"` [INFO] running `"docker" "rm" "-f" "4018861b695b32dab0570b69ba7ecbf67a049e3c14044758e202cf0ec2c7e042"` [INFO] [stdout] 4018861b695b32dab0570b69ba7ecbf67a049e3c14044758e202cf0ec2c7e042