[INFO] updating cached repository MatthiasPercelay/rust-carc [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/MatthiasPercelay/rust-carc [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/MatthiasPercelay/rust-carc" "work/ex/clippy-test-run/sources/stable/gh/MatthiasPercelay/rust-carc"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/MatthiasPercelay/rust-carc'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/MatthiasPercelay/rust-carc" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/MatthiasPercelay/rust-carc"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/MatthiasPercelay/rust-carc'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 2eee2e85948af40f6866fb3422d3f2fa76f6fc65 [INFO] sha for GitHub repo MatthiasPercelay/rust-carc: 2eee2e85948af40f6866fb3422d3f2fa76f6fc65 [INFO] validating manifest of MatthiasPercelay/rust-carc 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 MatthiasPercelay/rust-carc 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 MatthiasPercelay/rust-carc [INFO] finished frobbing MatthiasPercelay/rust-carc [INFO] frobbed toml for MatthiasPercelay/rust-carc written to work/ex/clippy-test-run/sources/stable/gh/MatthiasPercelay/rust-carc/Cargo.toml [INFO] started frobbing MatthiasPercelay/rust-carc [INFO] finished frobbing MatthiasPercelay/rust-carc [INFO] frobbed toml for MatthiasPercelay/rust-carc written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/MatthiasPercelay/rust-carc/Cargo.toml [INFO] crate MatthiasPercelay/rust-carc 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 MatthiasPercelay/rust-carc 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-2/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/MatthiasPercelay/rust-carc:/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] 7586d1eeba99b7384cfec61c31e3755330287e58af77d597a2f32bf32cd5068a [INFO] running `"docker" "start" "-a" "7586d1eeba99b7384cfec61c31e3755330287e58af77d597a2f32bf32cd5068a"` [INFO] [stderr] Checking rust-carc v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/model/tile.rs:33:9 [INFO] [stderr] | [INFO] [stderr] 33 | return res [INFO] [stderr] | ^^^^^^^^^^ help: remove `return` as shown: `res` [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/model/tile.rs:45:9 [INFO] [stderr] | [INFO] [stderr] 45 | return res [INFO] [stderr] | ^^^^^^^^^^ help: remove `return` as shown: `res` [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/model/tile.rs:57:9 [INFO] [stderr] | [INFO] [stderr] 57 | return res [INFO] [stderr] | ^^^^^^^^^^ help: remove `return` as shown: `res` [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/model/board.rs:35:9 [INFO] [stderr] | [INFO] [stderr] 35 | return true [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `true` [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/model/board.rs:74:5 [INFO] [stderr] | [INFO] [stderr] 74 | return res [INFO] [stderr] | ^^^^^^^^^^ help: remove `return` as shown: `res` [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/model/board.rs:98:5 [INFO] [stderr] | [INFO] [stderr] 98 | return a_side == b_side [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `a_side == b_side` [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: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/model/landscape.rs:81:9 [INFO] [stderr] | [INFO] [stderr] 81 | res [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/model/landscape.rs:75:19 [INFO] [stderr] | [INFO] [stderr] 75 | let res = RoadElem { [INFO] [stderr] | ___________________^ [INFO] [stderr] 76 | | dirs: neighbors, [INFO] [stderr] 77 | | x, [INFO] [stderr] 78 | | y, [INFO] [stderr] 79 | | cursor [INFO] [stderr] 80 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/model/landscape.rs:153:5 [INFO] [stderr] | [INFO] [stderr] 153 | res [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/model/landscape.rs:148:15 [INFO] [stderr] | [INFO] [stderr] 148 | let res = Mark { [INFO] [stderr] | _______________^ [INFO] [stderr] 149 | | x: elem.get_x(), [INFO] [stderr] 150 | | y: elem.get_y(), [INFO] [stderr] 151 | | cursor: elem.get_cursor() [INFO] [stderr] 152 | | }; [INFO] [stderr] | |_____^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/model/landscape.rs:162:5 [INFO] [stderr] | [INFO] [stderr] 162 | 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] warning: unneeded return statement [INFO] [stderr] --> src/model/landscape.rs:187:5 [INFO] [stderr] | [INFO] [stderr] 187 | 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/model/landscape.rs:227:5 [INFO] [stderr] | [INFO] [stderr] 227 | / return Road { [INFO] [stderr] 228 | | sections: res, [INFO] [stderr] 229 | | complete [INFO] [stderr] 230 | | } [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] 227 | Road { [INFO] [stderr] 228 | sections: res, [INFO] [stderr] 229 | complete [INFO] [stderr] 230 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/model/tile.rs:33:9 [INFO] [stderr] | [INFO] [stderr] 33 | return res [INFO] [stderr] | ^^^^^^^^^^ help: remove `return` as shown: `res` [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/model/tile.rs:45:9 [INFO] [stderr] | [INFO] [stderr] 45 | return res [INFO] [stderr] | ^^^^^^^^^^ help: remove `return` as shown: `res` [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/model/tile.rs:57:9 [INFO] [stderr] | [INFO] [stderr] 57 | return res [INFO] [stderr] | ^^^^^^^^^^ help: remove `return` as shown: `res` [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/model/board.rs:35:9 [INFO] [stderr] | [INFO] [stderr] 35 | return true [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `true` [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/model/board.rs:74:5 [INFO] [stderr] | [INFO] [stderr] 74 | return res [INFO] [stderr] | ^^^^^^^^^^ help: remove `return` as shown: `res` [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/model/board.rs:98:5 [INFO] [stderr] | [INFO] [stderr] 98 | return a_side == b_side [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `a_side == b_side` [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: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/model/landscape.rs:81:9 [INFO] [stderr] | [INFO] [stderr] 81 | res [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/model/landscape.rs:75:19 [INFO] [stderr] | [INFO] [stderr] 75 | let res = RoadElem { [INFO] [stderr] | ___________________^ [INFO] [stderr] 76 | | dirs: neighbors, [INFO] [stderr] 77 | | x, [INFO] [stderr] 78 | | y, [INFO] [stderr] 79 | | cursor [INFO] [stderr] 80 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/model/landscape.rs:153:5 [INFO] [stderr] | [INFO] [stderr] 153 | res [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/model/landscape.rs:148:15 [INFO] [stderr] | [INFO] [stderr] 148 | let res = Mark { [INFO] [stderr] | _______________^ [INFO] [stderr] 149 | | x: elem.get_x(), [INFO] [stderr] 150 | | y: elem.get_y(), [INFO] [stderr] 151 | | cursor: elem.get_cursor() [INFO] [stderr] 152 | | }; [INFO] [stderr] | |_____^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/model/landscape.rs:162:5 [INFO] [stderr] | [INFO] [stderr] 162 | 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] warning: unneeded return statement [INFO] [stderr] --> src/model/landscape.rs:187:5 [INFO] [stderr] | [INFO] [stderr] 187 | 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/model/landscape.rs:227:5 [INFO] [stderr] | [INFO] [stderr] 227 | / return Road { [INFO] [stderr] 228 | | sections: res, [INFO] [stderr] 229 | | complete [INFO] [stderr] 230 | | } [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] 227 | Road { [INFO] [stderr] 228 | sections: res, [INFO] [stderr] 229 | complete [INFO] [stderr] 230 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: enum is never used: `Heading` [INFO] [stderr] --> src/model/tile.rs:13:1 [INFO] [stderr] | [INFO] [stderr] 13 | enum Heading { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `getdir_town` [INFO] [stderr] --> src/model/tile.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | pub fn getdir_town(&self) -> Tcomp { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `getdir_road` [INFO] [stderr] --> src/model/tile.rs:36:5 [INFO] [stderr] | [INFO] [stderr] 36 | pub fn getdir_road(&self) -> Tcomp { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `getdir_field` [INFO] [stderr] --> src/model/tile.rs:48:5 [INFO] [stderr] | [INFO] [stderr] 48 | pub fn getdir_field(&self) -> Tcomp { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `NB_TILES` [INFO] [stderr] --> src/model/board.rs:5:1 [INFO] [stderr] | [INFO] [stderr] 5 | const NB_TILES : u32 = 72; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Board` [INFO] [stderr] --> src/model/board.rs:7:1 [INFO] [stderr] | [INFO] [stderr] 7 | pub struct Board(HashMap<(i32, i32), Tile>); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set_tile` [INFO] [stderr] --> src/model/board.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | fn set_tile(&mut self, mut tile: Tile, x: i32, y: i32, ori: i32) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `check_move` [INFO] [stderr] --> src/model/board.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | fn check_move(&self, tile: &Tile, x: i32, y: i32) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_legal_positions` [INFO] [stderr] --> src/model/board.rs:38:5 [INFO] [stderr] | [INFO] [stderr] 38 | fn get_legal_positions(&self) -> Vec<(i32, i32)> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `neighbor_coords` [INFO] [stderr] --> src/model/board.rs:72:1 [INFO] [stderr] | [INFO] [stderr] 72 | fn neighbor_coords(x: i32, y: i32) -> Vec<(i32, i32)> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `check_neighbor_legal` [INFO] [stderr] --> src/model/board.rs:77:1 [INFO] [stderr] | [INFO] [stderr] 77 | fn check_neighbor_legal(a_comp: &Tcomp, b_comp: &Tcomp, dir: i32) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `MAX_MEEPLES_PLAYER` [INFO] [stderr] --> src/model/player_meeple.rs:4:1 [INFO] [stderr] | [INFO] [stderr] 4 | const MAX_MEEPLES_PLAYER: i32 = 8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Knight` [INFO] [stderr] --> src/model/player_meeple.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | Knight, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Thief` [INFO] [stderr] --> src/model/player_meeple.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | Thief, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Farmer` [INFO] [stderr] --> src/model/player_meeple.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | Farmer, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Monk` [INFO] [stderr] --> src/model/player_meeple.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | Monk, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `None` [INFO] [stderr] --> src/model/player_meeple.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | None [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Blue` [INFO] [stderr] --> src/model/player_meeple.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | Blue, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Red` [INFO] [stderr] --> src/model/player_meeple.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | Red, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Green` [INFO] [stderr] --> src/model/player_meeple.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | Green, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Yellow` [INFO] [stderr] --> src/model/player_meeple.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | Yellow [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Player` [INFO] [stderr] --> src/model/player_meeple.rs:32:1 [INFO] [stderr] | [INFO] [stderr] 32 | struct Player { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `remove_meeple` [INFO] [stderr] --> src/model/player_meeple.rs:39:5 [INFO] [stderr] | [INFO] [stderr] 39 | fn remove_meeple(&mut self, meeple: &Meeple) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `add_meeple` [INFO] [stderr] --> src/model/player_meeple.rs:47:5 [INFO] [stderr] | [INFO] [stderr] 47 | fn add_meeple(&mut self, meeple: &Meeple) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `inc_score` [INFO] [stderr] --> src/model/player_meeple.rs:51:5 [INFO] [stderr] | [INFO] [stderr] 51 | fn inc_score(&mut self, points: i32) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `can_place_meeple` [INFO] [stderr] --> src/model/player_meeple.rs:55:5 [INFO] [stderr] | [INFO] [stderr] 55 | fn can_place_meeple(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `MeepleList` [INFO] [stderr] --> src/model/player_meeple.rs:60:1 [INFO] [stderr] | [INFO] [stderr] 60 | struct MeepleList(Vec); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `nb_by_color` [INFO] [stderr] --> src/model/player_meeple.rs:63:5 [INFO] [stderr] | [INFO] [stderr] 63 | fn nb_by_color(&self, color: &Color) -> i32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `eval_cloister` [INFO] [stderr] --> src/model/landscape.rs:6:1 [INFO] [stderr] | [INFO] [stderr] 6 | fn eval_cloister(x: i32, y: i32, board: Board) -> i32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `init` [INFO] [stderr] --> src/model/landscape.rs:57:5 [INFO] [stderr] | [INFO] [stderr] 57 | fn init(tile: &Tile, x: i32, y: i32, cursor: usize) -> RoadElem { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `TownElem` [INFO] [stderr] --> src/model/landscape.rs:85:1 [INFO] [stderr] | [INFO] [stderr] 85 | struct TownElem { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `FieldElem` [INFO] [stderr] --> src/model/landscape.rs:110:1 [INFO] [stderr] | [INFO] [stderr] 110 | struct FieldElem { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Road` [INFO] [stderr] --> src/model/landscape.rs:135:1 [INFO] [stderr] | [INFO] [stderr] 135 | struct Road { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `get_mark` [INFO] [stderr] --> src/model/landscape.rs:147:1 [INFO] [stderr] | [INFO] [stderr] 147 | fn get_mark(elem: &T) -> Mark { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `is_in_marks` [INFO] [stderr] --> src/model/landscape.rs:156:1 [INFO] [stderr] | [INFO] [stderr] 156 | fn is_in_marks(mark: Mark, list_marks: &Vec) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `coords_dir` [INFO] [stderr] --> src/model/landscape.rs:165:1 [INFO] [stderr] | [INFO] [stderr] 165 | fn coords_dir(x: i32, y: i32, dir: i32) -> (i32, i32){ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `compatible_neighbor_cursor` [INFO] [stderr] --> src/model/landscape.rs:175:1 [INFO] [stderr] | [INFO] [stderr] 175 | fn compatible_neighbor_cursor(elem: &T, dir: i32, ncomp: tile::Tcomp) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `build_road` [INFO] [stderr] --> src/model/landscape.rs:190:1 [INFO] [stderr] | [INFO] [stderr] 190 | fn build_road(primer: RoadElem, board: &Board) -> Road { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum is never used: `Heading` [INFO] [stderr] --> src/model/tile.rs:13:1 [INFO] [stderr] | [INFO] [stderr] 13 | enum Heading { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `getdir_town` [INFO] [stderr] --> src/model/tile.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | pub fn getdir_town(&self) -> Tcomp { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `getdir_road` [INFO] [stderr] --> src/model/tile.rs:36:5 [INFO] [stderr] | [INFO] [stderr] 36 | pub fn getdir_road(&self) -> Tcomp { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `getdir_field` [INFO] [stderr] --> src/model/tile.rs:48:5 [INFO] [stderr] | [INFO] [stderr] 48 | pub fn getdir_field(&self) -> Tcomp { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `NB_TILES` [INFO] [stderr] --> src/model/board.rs:5:1 [INFO] [stderr] | [INFO] [stderr] 5 | const NB_TILES : u32 = 72; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Board` [INFO] [stderr] --> src/model/board.rs:7:1 [INFO] [stderr] | [INFO] [stderr] 7 | pub struct Board(HashMap<(i32, i32), Tile>); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set_tile` [INFO] [stderr] --> src/model/board.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | fn set_tile(&mut self, mut tile: Tile, x: i32, y: i32, ori: i32) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `check_move` [INFO] [stderr] --> src/model/board.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | fn check_move(&self, tile: &Tile, x: i32, y: i32) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_legal_positions` [INFO] [stderr] --> src/model/board.rs:38:5 [INFO] [stderr] | [INFO] [stderr] 38 | fn get_legal_positions(&self) -> Vec<(i32, i32)> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `neighbor_coords` [INFO] [stderr] --> src/model/board.rs:72:1 [INFO] [stderr] | [INFO] [stderr] 72 | fn neighbor_coords(x: i32, y: i32) -> Vec<(i32, i32)> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `check_neighbor_legal` [INFO] [stderr] --> src/model/board.rs:77:1 [INFO] [stderr] | [INFO] [stderr] 77 | fn check_neighbor_legal(a_comp: &Tcomp, b_comp: &Tcomp, dir: i32) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `MAX_MEEPLES_PLAYER` [INFO] [stderr] --> src/model/player_meeple.rs:4:1 [INFO] [stderr] | [INFO] [stderr] 4 | const MAX_MEEPLES_PLAYER: i32 = 8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Knight` [INFO] [stderr] --> src/model/player_meeple.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | Knight, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Thief` [INFO] [stderr] --> src/model/player_meeple.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | Thief, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Farmer` [INFO] [stderr] --> src/model/player_meeple.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | Farmer, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Monk` [INFO] [stderr] --> src/model/player_meeple.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | Monk, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `None` [INFO] [stderr] --> src/model/player_meeple.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | None [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Blue` [INFO] [stderr] --> src/model/player_meeple.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | Blue, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Red` [INFO] [stderr] --> src/model/player_meeple.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | Red, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Green` [INFO] [stderr] --> src/model/player_meeple.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | Green, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Yellow` [INFO] [stderr] --> src/model/player_meeple.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | Yellow [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/model/board.rs:77:33 [INFO] [stderr] | [INFO] [stderr] 77 | fn check_neighbor_legal(a_comp: &Tcomp, b_comp: &Tcomp, dir: i32) -> bool { [INFO] [stderr] | ^^^^^^ [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/model/board.rs:77:49 [INFO] [stderr] | [INFO] [stderr] 77 | fn check_neighbor_legal(a_comp: &Tcomp, b_comp: &Tcomp, dir: i32) -> bool { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Player` [INFO] [stderr] --> src/model/player_meeple.rs:32:1 [INFO] [stderr] | [INFO] [stderr] 32 | struct Player { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `remove_meeple` [INFO] [stderr] --> src/model/player_meeple.rs:39:5 [INFO] [stderr] | [INFO] [stderr] 39 | fn remove_meeple(&mut self, meeple: &Meeple) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `add_meeple` [INFO] [stderr] --> src/model/player_meeple.rs:47:5 [INFO] [stderr] | [INFO] [stderr] 47 | fn add_meeple(&mut self, meeple: &Meeple) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `inc_score` [INFO] [stderr] --> src/model/player_meeple.rs:51:5 [INFO] [stderr] | [INFO] [stderr] 51 | fn inc_score(&mut self, points: i32) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `can_place_meeple` [INFO] [stderr] --> src/model/player_meeple.rs:55:5 [INFO] [stderr] | [INFO] [stderr] 55 | fn can_place_meeple(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `MeepleList` [INFO] [stderr] --> src/model/player_meeple.rs:60:1 [INFO] [stderr] | [INFO] [stderr] 60 | struct MeepleList(Vec); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `nb_by_color` [INFO] [stderr] --> src/model/player_meeple.rs:63:5 [INFO] [stderr] | [INFO] [stderr] 63 | fn nb_by_color(&self, color: &Color) -> i32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `eval_cloister` [INFO] [stderr] --> src/model/landscape.rs:6:1 [INFO] [stderr] | [INFO] [stderr] 6 | fn eval_cloister(x: i32, y: i32, board: Board) -> i32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `init` [INFO] [stderr] --> src/model/landscape.rs:57:5 [INFO] [stderr] | [INFO] [stderr] 57 | fn init(tile: &Tile, x: i32, y: i32, cursor: usize) -> RoadElem { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `TownElem` [INFO] [stderr] --> src/model/landscape.rs:85:1 [INFO] [stderr] | [INFO] [stderr] 85 | struct TownElem { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `FieldElem` [INFO] [stderr] --> src/model/landscape.rs:110:1 [INFO] [stderr] | [INFO] [stderr] 110 | struct FieldElem { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Road` [INFO] [stderr] --> src/model/landscape.rs:135:1 [INFO] [stderr] | [INFO] [stderr] 135 | struct Road { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `get_mark` [INFO] [stderr] --> src/model/landscape.rs:147:1 [INFO] [stderr] | [INFO] [stderr] 147 | fn get_mark(elem: &T) -> Mark { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `is_in_marks` [INFO] [stderr] --> src/model/landscape.rs:156:1 [INFO] [stderr] | [INFO] [stderr] 156 | fn is_in_marks(mark: Mark, list_marks: &Vec) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `coords_dir` [INFO] [stderr] --> src/model/landscape.rs:165:1 [INFO] [stderr] | [INFO] [stderr] 165 | fn coords_dir(x: i32, y: i32, dir: i32) -> (i32, i32){ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `compatible_neighbor_cursor` [INFO] [stderr] --> src/model/landscape.rs:175:1 [INFO] [stderr] | [INFO] [stderr] 175 | fn compatible_neighbor_cursor(elem: &T, dir: i32, ncomp: tile::Tcomp) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `build_road` [INFO] [stderr] --> src/model/landscape.rs:190:1 [INFO] [stderr] | [INFO] [stderr] 190 | fn build_road(primer: RoadElem, board: &Board) -> Road { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: equality checks against true are unnecessary [INFO] [stderr] --> src/model/landscape.rs:40:9 [INFO] [stderr] | [INFO] [stderr] 40 | *self.dirs.get(&dir).unwrap() == true [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `*self.dirs.get(&dir).unwrap()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::bool_comparison)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/model/landscape.rs:40:10 [INFO] [stderr] | [INFO] [stderr] 40 | *self.dirs.get(&dir).unwrap() == true [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.dirs[&dir]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `comp`. [INFO] [stderr] --> src/model/landscape.rs:61:18 [INFO] [stderr] | [INFO] [stderr] 61 | for i in 0..comp.len() { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 61 | for in &comp { [INFO] [stderr] | ^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: usage of `contains_key` followed by `insert` on a `HashMap` [INFO] [stderr] --> src/model/landscape.rs:70:13 [INFO] [stderr] | [INFO] [stderr] 70 | / if !neighbors.contains_key(&i) { [INFO] [stderr] 71 | | neighbors.insert(i, false); [INFO] [stderr] 72 | | } [INFO] [stderr] | |_____________^ help: consider using: `neighbors.entry(i).or_insert(false)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_entry)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_entry [INFO] [stderr] [INFO] [stderr] warning: equality checks against true are unnecessary [INFO] [stderr] --> src/model/landscape.rs:94:9 [INFO] [stderr] | [INFO] [stderr] 94 | *self.dirs.get(&dir).unwrap() == true [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `*self.dirs.get(&dir).unwrap()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/model/landscape.rs:94:10 [INFO] [stderr] | [INFO] [stderr] 94 | *self.dirs.get(&dir).unwrap() == true [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.dirs[&dir]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/model/board.rs:77:33 [INFO] [stderr] | [INFO] [stderr] 77 | fn check_neighbor_legal(a_comp: &Tcomp, b_comp: &Tcomp, dir: i32) -> bool { [INFO] [stderr] | ^^^^^^ [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/model/board.rs:77:49 [INFO] [stderr] | [INFO] [stderr] 77 | fn check_neighbor_legal(a_comp: &Tcomp, b_comp: &Tcomp, dir: i32) -> bool { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: equality checks against true are unnecessary [INFO] [stderr] --> src/model/landscape.rs:119:9 [INFO] [stderr] | [INFO] [stderr] 119 | *self.dirs.get(&dir).unwrap() == true [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `*self.dirs.get(&dir).unwrap()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/model/landscape.rs:119:10 [INFO] [stderr] | [INFO] [stderr] 119 | *self.dirs.get(&dir).unwrap() == true [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.dirs[&dir]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/model/landscape.rs:156:40 [INFO] [stderr] | [INFO] [stderr] 156 | fn is_in_marks(mark: Mark, list_marks: &Vec) -> bool { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[Mark]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `ncomp` [INFO] [stderr] --> src/model/landscape.rs:179:18 [INFO] [stderr] | [INFO] [stderr] 179 | for i in 0..ncomp.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 179 | for (i, ) in ncomp.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: equality checks against true are unnecessary [INFO] [stderr] --> src/model/landscape.rs:40:9 [INFO] [stderr] | [INFO] [stderr] 40 | *self.dirs.get(&dir).unwrap() == true [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `*self.dirs.get(&dir).unwrap()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::bool_comparison)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/model/landscape.rs:40:10 [INFO] [stderr] | [INFO] [stderr] 40 | *self.dirs.get(&dir).unwrap() == true [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.dirs[&dir]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `comp`. [INFO] [stderr] --> src/model/landscape.rs:61:18 [INFO] [stderr] | [INFO] [stderr] 61 | for i in 0..comp.len() { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 61 | for in &comp { [INFO] [stderr] | ^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: usage of `contains_key` followed by `insert` on a `HashMap` [INFO] [stderr] --> src/model/landscape.rs:70:13 [INFO] [stderr] | [INFO] [stderr] 70 | / if !neighbors.contains_key(&i) { [INFO] [stderr] 71 | | neighbors.insert(i, false); [INFO] [stderr] 72 | | } [INFO] [stderr] | |_____________^ help: consider using: `neighbors.entry(i).or_insert(false)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_entry)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_entry [INFO] [stderr] [INFO] [stderr] warning: equality checks against true are unnecessary [INFO] [stderr] --> src/model/landscape.rs:94:9 [INFO] [stderr] | [INFO] [stderr] 94 | *self.dirs.get(&dir).unwrap() == true [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `*self.dirs.get(&dir).unwrap()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/model/landscape.rs:94:10 [INFO] [stderr] | [INFO] [stderr] 94 | *self.dirs.get(&dir).unwrap() == true [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.dirs[&dir]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: equality checks against true are unnecessary [INFO] [stderr] --> src/model/landscape.rs:119:9 [INFO] [stderr] | [INFO] [stderr] 119 | *self.dirs.get(&dir).unwrap() == true [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `*self.dirs.get(&dir).unwrap()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/model/landscape.rs:119:10 [INFO] [stderr] | [INFO] [stderr] 119 | *self.dirs.get(&dir).unwrap() == true [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.dirs[&dir]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/model/landscape.rs:156:40 [INFO] [stderr] | [INFO] [stderr] 156 | fn is_in_marks(mark: Mark, list_marks: &Vec) -> bool { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[Mark]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `ncomp` [INFO] [stderr] --> src/model/landscape.rs:179:18 [INFO] [stderr] | [INFO] [stderr] 179 | for i in 0..ncomp.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 179 | for (i, ) in ncomp.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.88s [INFO] running `"docker" "inspect" "7586d1eeba99b7384cfec61c31e3755330287e58af77d597a2f32bf32cd5068a"` [INFO] running `"docker" "rm" "-f" "7586d1eeba99b7384cfec61c31e3755330287e58af77d597a2f32bf32cd5068a"` [INFO] [stdout] 7586d1eeba99b7384cfec61c31e3755330287e58af77d597a2f32bf32cd5068a