[INFO] updating cached repository DenSev/rust-chess [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/DenSev/rust-chess [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/DenSev/rust-chess" "work/ex/clippy-test-run/sources/stable/gh/DenSev/rust-chess"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/DenSev/rust-chess'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/DenSev/rust-chess" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/DenSev/rust-chess"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/DenSev/rust-chess'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 4a3b7afe8b86d7e15b60e7afe7a3179ce93ce29d [INFO] sha for GitHub repo DenSev/rust-chess: 4a3b7afe8b86d7e15b60e7afe7a3179ce93ce29d [INFO] validating manifest of DenSev/rust-chess 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 DenSev/rust-chess 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 DenSev/rust-chess [INFO] finished frobbing DenSev/rust-chess [INFO] frobbed toml for DenSev/rust-chess written to work/ex/clippy-test-run/sources/stable/gh/DenSev/rust-chess/Cargo.toml [INFO] started frobbing DenSev/rust-chess [INFO] finished frobbing DenSev/rust-chess [INFO] frobbed toml for DenSev/rust-chess written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/DenSev/rust-chess/Cargo.toml [INFO] crate DenSev/rust-chess 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 DenSev/rust-chess against stable+rustflags=-Dclippy::into_iter_on_array for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-6/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/DenSev/rust-chess:/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 -Dclippy::into_iter_on_array" "-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] b0df5385da0809b288b125fd8c3b996540dd2c35304b0f3aa5b3ef9be4d2b8b1 [INFO] running `"docker" "start" "-a" "b0df5385da0809b288b125fd8c3b996540dd2c35304b0f3aa5b3ef9be4d2b8b1"` [INFO] [stderr] Checking rust-chess v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:14:9 [INFO] [stderr] | [INFO] [stderr] 14 | return Cell::None; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Cell::None` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:18:9 [INFO] [stderr] | [INFO] [stderr] 18 | return Cell::Some(piece); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Cell::Some(piece)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:22:9 [INFO] [stderr] | [INFO] [stderr] 22 | / return match &self { [INFO] [stderr] 23 | | Cell::None => false, [INFO] [stderr] 24 | | Cell::Some(_) => true [INFO] [stderr] 25 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 22 | match &self { [INFO] [stderr] 23 | Cell::None => false, [INFO] [stderr] 24 | Cell::Some(_) => true [INFO] [stderr] 25 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:29:9 [INFO] [stderr] | [INFO] [stderr] 29 | / return match &self { [INFO] [stderr] 30 | | Cell::None => true, [INFO] [stderr] 31 | | Cell::Some(_) => false [INFO] [stderr] 32 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 29 | match &self { [INFO] [stderr] 30 | Cell::None => true, [INFO] [stderr] 31 | Cell::Some(_) => false [INFO] [stderr] 32 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:36:9 [INFO] [stderr] | [INFO] [stderr] 36 | / return match &self { [INFO] [stderr] 37 | | Cell::None => " ", [INFO] [stderr] 38 | | Cell::Some(piece) => &piece.representation [INFO] [stderr] 39 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 36 | match &self { [INFO] [stderr] 37 | Cell::None => " ", [INFO] [stderr] 38 | Cell::Some(piece) => &piece.representation [INFO] [stderr] 39 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:43:9 [INFO] [stderr] | [INFO] [stderr] 43 | / return match &self { [INFO] [stderr] 44 | | Cell::None => None, [INFO] [stderr] 45 | | Cell::Some(piece) => Some(&piece.color) [INFO] [stderr] 46 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 43 | match &self { [INFO] [stderr] 44 | Cell::None => None, [INFO] [stderr] 45 | Cell::Some(piece) => Some(&piece.color) [INFO] [stderr] 46 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:50:9 [INFO] [stderr] | [INFO] [stderr] 50 | / return match &self { [INFO] [stderr] 51 | | Cell::None => None, [INFO] [stderr] 52 | | Cell::Some(piece) => Some(&piece) [INFO] [stderr] 53 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 50 | match &self { [INFO] [stderr] 51 | Cell::None => None, [INFO] [stderr] 52 | Cell::Some(piece) => Some(&piece) [INFO] [stderr] 53 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:57:9 [INFO] [stderr] | [INFO] [stderr] 57 | / return match &self { [INFO] [stderr] 58 | | Cell::None => None, [INFO] [stderr] 59 | | Cell::Some(piece) => Some(&piece.piece_kind) [INFO] [stderr] 60 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 57 | match &self { [INFO] [stderr] 58 | Cell::None => None, [INFO] [stderr] 59 | Cell::Some(piece) => Some(&piece.piece_kind) [INFO] [stderr] 60 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:65:9 [INFO] [stderr] | [INFO] [stderr] 65 | / return match &self { [INFO] [stderr] 66 | | Cell::None => false, [INFO] [stderr] 67 | | Cell::Some(piece) => piece.color.ne(&cell.get_color().unwrap()) [INFO] [stderr] 68 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 65 | match &self { [INFO] [stderr] 66 | Cell::None => false, [INFO] [stderr] 67 | Cell::Some(piece) => piece.color.ne(&cell.get_color().unwrap()) [INFO] [stderr] 68 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:72:9 [INFO] [stderr] | [INFO] [stderr] 72 | / return match &self { [INFO] [stderr] 73 | | Cell::None => true, [INFO] [stderr] 74 | | Cell::Some(piece) => piece.color.eq(&cell.get_color().unwrap()) [INFO] [stderr] 75 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 72 | match &self { [INFO] [stderr] 73 | Cell::None => true, [INFO] [stderr] 74 | Cell::Some(piece) => piece.color.eq(&cell.get_color().unwrap()) [INFO] [stderr] 75 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:225:9 [INFO] [stderr] | [INFO] [stderr] 225 | return board; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `board` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:244:9 [INFO] [stderr] | [INFO] [stderr] 244 | return &self.cells[y][x]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `&self.cells[y][x]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:259:9 [INFO] [stderr] | [INFO] [stderr] 259 | return pieces; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `pieces` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:272:9 [INFO] [stderr] | [INFO] [stderr] 272 | return None; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `None` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:283:9 [INFO] [stderr] | [INFO] [stderr] 283 | return false; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `false` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `Pos: std::hash::Hash` is not satisfied [INFO] [stderr] --> src/lib.rs:248:47 [INFO] [stderr] | [INFO] [stderr] 248 | let mut pieces: HashMap = HashMap::new(); [INFO] [stderr] | ^^^^^^^^^^^^ the trait `std::hash::Hash` is not implemented for `Pos` [INFO] [stderr] | [INFO] [stderr] = note: required by `>::new` [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:14:9 [INFO] [stderr] | [INFO] [stderr] 14 | return Cell::None; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Cell::None` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:18:9 [INFO] [stderr] | [INFO] [stderr] 18 | return Cell::Some(piece); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Cell::Some(piece)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:22:9 [INFO] [stderr] | [INFO] [stderr] 22 | / return match &self { [INFO] [stderr] 23 | | Cell::None => false, [INFO] [stderr] 24 | | Cell::Some(_) => true [INFO] [stderr] 25 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 22 | match &self { [INFO] [stderr] 23 | Cell::None => false, [INFO] [stderr] 24 | Cell::Some(_) => true [INFO] [stderr] 25 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:29:9 [INFO] [stderr] | [INFO] [stderr] 29 | / return match &self { [INFO] [stderr] 30 | | Cell::None => true, [INFO] [stderr] 31 | | Cell::Some(_) => false [INFO] [stderr] 32 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 29 | match &self { [INFO] [stderr] 30 | Cell::None => true, [INFO] [stderr] 31 | Cell::Some(_) => false [INFO] [stderr] 32 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:36:9 [INFO] [stderr] | [INFO] [stderr] 36 | / return match &self { [INFO] [stderr] 37 | | Cell::None => " ", [INFO] [stderr] 38 | | Cell::Some(piece) => &piece.representation [INFO] [stderr] 39 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 36 | match &self { [INFO] [stderr] 37 | Cell::None => " ", [INFO] [stderr] 38 | Cell::Some(piece) => &piece.representation [INFO] [stderr] 39 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:43:9 [INFO] [stderr] | [INFO] [stderr] 43 | / return match &self { [INFO] [stderr] 44 | | Cell::None => None, [INFO] [stderr] 45 | | Cell::Some(piece) => Some(&piece.color) [INFO] [stderr] 46 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 43 | match &self { [INFO] [stderr] 44 | Cell::None => None, [INFO] [stderr] 45 | Cell::Some(piece) => Some(&piece.color) [INFO] [stderr] 46 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:50:9 [INFO] [stderr] | [INFO] [stderr] 50 | / return match &self { [INFO] [stderr] 51 | | Cell::None => None, [INFO] [stderr] 52 | | Cell::Some(piece) => Some(&piece) [INFO] [stderr] 53 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 50 | match &self { [INFO] [stderr] 51 | Cell::None => None, [INFO] [stderr] 52 | Cell::Some(piece) => Some(&piece) [INFO] [stderr] 53 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:57:9 [INFO] [stderr] | [INFO] [stderr] 57 | / return match &self { [INFO] [stderr] 58 | | Cell::None => None, [INFO] [stderr] 59 | | Cell::Some(piece) => Some(&piece.piece_kind) [INFO] [stderr] 60 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 57 | match &self { [INFO] [stderr] 58 | Cell::None => None, [INFO] [stderr] 59 | Cell::Some(piece) => Some(&piece.piece_kind) [INFO] [stderr] 60 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:65:9 [INFO] [stderr] | [INFO] [stderr] 65 | / return match &self { [INFO] [stderr] 66 | | Cell::None => false, [INFO] [stderr] 67 | | Cell::Some(piece) => piece.color.ne(&cell.get_color().unwrap()) [INFO] [stderr] 68 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 65 | match &self { [INFO] [stderr] 66 | Cell::None => false, [INFO] [stderr] 67 | Cell::Some(piece) => piece.color.ne(&cell.get_color().unwrap()) [INFO] [stderr] 68 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:72:9 [INFO] [stderr] | [INFO] [stderr] 72 | / return match &self { [INFO] [stderr] 73 | | Cell::None => true, [INFO] [stderr] 74 | | Cell::Some(piece) => piece.color.eq(&cell.get_color().unwrap()) [INFO] [stderr] 75 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 72 | match &self { [INFO] [stderr] 73 | Cell::None => true, [INFO] [stderr] 74 | Cell::Some(piece) => piece.color.eq(&cell.get_color().unwrap()) [INFO] [stderr] 75 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:225:9 [INFO] [stderr] | [INFO] [stderr] 225 | return board; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `board` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:244:9 [INFO] [stderr] | [INFO] [stderr] 244 | return &self.cells[y][x]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `&self.cells[y][x]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:259:9 [INFO] [stderr] | [INFO] [stderr] 259 | return pieces; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `pieces` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:272:9 [INFO] [stderr] | [INFO] [stderr] 272 | return None; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `None` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:283:9 [INFO] [stderr] | [INFO] [stderr] 283 | return false; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `false` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `insert` found for type `std::collections::HashMap` in the current scope [INFO] [stderr] --> src/lib.rs:255:28 [INFO] [stderr] | [INFO] [stderr] 255 | pieces.insert(Pos { x: j, y: i }, cell_at); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: the method `insert` exists but the following trait bounds were not satisfied: [INFO] [stderr] `Pos : std::hash::Hash` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `iter` found for type `std::collections::HashMap` in the current scope [INFO] [stderr] --> src/lib.rs:276:36 [INFO] [stderr] | [INFO] [stderr] 276 | for (pos, piece) in pieces.iter() { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: the method `iter` exists but the following trait bounds were not satisfied: [INFO] [stderr] `Pos : std::hash::Hash` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/lib.rs:279:35 [INFO] [stderr] | [INFO] [stderr] 279 | if positions.contains(opposing_king_pos) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | expected reference, found struct `Pos` [INFO] [stderr] | help: consider borrowing here: `&opposing_king_pos` [INFO] [stderr] | [INFO] [stderr] = note: expected type `&_` [INFO] [stderr] found type `Pos` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/lib.rs:298:48 [INFO] [stderr] | [INFO] [stderr] 298 | pub fn check_board(&self) -> Option { [INFO] [stderr] | ________________________________________________^ [INFO] [stderr] 299 | | let white_pieces = self.get_cells_of_color(Color::White); [INFO] [stderr] 300 | | let black_king = self.get_pos_of_piece(PieceKind::King, Color::Black); [INFO] [stderr] 301 | | let black_king_checked = self.check_for_pieces(white_pieces, black_king.unwrap()); [INFO] [stderr] ... | [INFO] [stderr] 323 | | }*/ [INFO] [stderr] 324 | | } [INFO] [stderr] | |_____^ expected enum `std::option::Option`, found () [INFO] [stderr] | [INFO] [stderr] = note: expected type `std::option::Option` [INFO] [stderr] found type `()` [INFO] [stderr] [INFO] [stderr] error: aborting due to 5 previous errors [INFO] [stderr] [INFO] [stderr] Some errors occurred: E0277, E0308, E0599. [INFO] [stderr] For more information about an error, try `rustc --explain E0277`. [INFO] [stderr] error: Could not compile `rust-chess`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error[E0277]: the trait bound `Pos: std::hash::Hash` is not satisfied [INFO] [stderr] --> src/lib.rs:248:47 [INFO] [stderr] | [INFO] [stderr] 248 | let mut pieces: HashMap = HashMap::new(); [INFO] [stderr] | ^^^^^^^^^^^^ the trait `std::hash::Hash` is not implemented for `Pos` [INFO] [stderr] | [INFO] [stderr] = note: required by `>::new` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `insert` found for type `std::collections::HashMap` in the current scope [INFO] [stderr] --> src/lib.rs:255:28 [INFO] [stderr] | [INFO] [stderr] 255 | pieces.insert(Pos { x: j, y: i }, cell_at); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: the method `insert` exists but the following trait bounds were not satisfied: [INFO] [stderr] `Pos : std::hash::Hash` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `iter` found for type `std::collections::HashMap` in the current scope [INFO] [stderr] --> src/lib.rs:276:36 [INFO] [stderr] | [INFO] [stderr] 276 | for (pos, piece) in pieces.iter() { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: the method `iter` exists but the following trait bounds were not satisfied: [INFO] [stderr] `Pos : std::hash::Hash` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/lib.rs:279:35 [INFO] [stderr] | [INFO] [stderr] 279 | if positions.contains(opposing_king_pos) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | expected reference, found struct `Pos` [INFO] [stderr] | help: consider borrowing here: `&opposing_king_pos` [INFO] [stderr] | [INFO] [stderr] = note: expected type `&_` [INFO] [stderr] found type `Pos` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/lib.rs:298:48 [INFO] [stderr] | [INFO] [stderr] 298 | pub fn check_board(&self) -> Option { [INFO] [stderr] | ________________________________________________^ [INFO] [stderr] 299 | | let white_pieces = self.get_cells_of_color(Color::White); [INFO] [stderr] 300 | | let black_king = self.get_pos_of_piece(PieceKind::King, Color::Black); [INFO] [stderr] 301 | | let black_king_checked = self.check_for_pieces(white_pieces, black_king.unwrap()); [INFO] [stderr] ... | [INFO] [stderr] 323 | | }*/ [INFO] [stderr] 324 | | } [INFO] [stderr] | |_____^ expected enum `std::option::Option`, found () [INFO] [stderr] | [INFO] [stderr] = note: expected type `std::option::Option` [INFO] [stderr] found type `()` [INFO] [stderr] [INFO] [stderr] error: aborting due to 5 previous errors [INFO] [stderr] [INFO] [stderr] Some errors occurred: E0277, E0308, E0599. [INFO] [stderr] For more information about an error, try `rustc --explain E0277`. [INFO] [stderr] error: Could not compile `rust-chess`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "b0df5385da0809b288b125fd8c3b996540dd2c35304b0f3aa5b3ef9be4d2b8b1"` [INFO] running `"docker" "rm" "-f" "b0df5385da0809b288b125fd8c3b996540dd2c35304b0f3aa5b3ef9be4d2b8b1"` [INFO] [stdout] b0df5385da0809b288b125fd8c3b996540dd2c35304b0f3aa5b3ef9be4d2b8b1