[INFO] updating cached repository royburner/algolib [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/royburner/algolib [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/royburner/algolib" "work/ex/clippy-test-run/sources/stable/gh/royburner/algolib"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/royburner/algolib'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/royburner/algolib" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/royburner/algolib"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/royburner/algolib'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] ce7372768e46e5d8601e7fc80ec1cf4fa80a1ab0 [INFO] sha for GitHub repo royburner/algolib: ce7372768e46e5d8601e7fc80ec1cf4fa80a1ab0 [INFO] validating manifest of royburner/algolib 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 royburner/algolib 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 royburner/algolib [INFO] finished frobbing royburner/algolib [INFO] frobbed toml for royburner/algolib written to work/ex/clippy-test-run/sources/stable/gh/royburner/algolib/Cargo.toml [INFO] started frobbing royburner/algolib [INFO] finished frobbing royburner/algolib [INFO] frobbed toml for royburner/algolib written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/royburner/algolib/Cargo.toml [INFO] crate royburner/algolib 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 royburner/algolib 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-3/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/royburner/algolib:/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] 40765e57cde8ad4a0123cb5a6f24750baee3b44b0c6b94af54231c244f210a6f [INFO] running `"docker" "start" "-a" "40765e57cde8ad4a0123cb5a6f24750baee3b44b0c6b94af54231c244f210a6f"` [INFO] [stderr] Checking algolib v0.0.1 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/quick_find.rs:12:10 [INFO] [stderr] | [INFO] [stderr] 12 | Board {root : root} [INFO] [stderr] | ^^^^^^^^^^^ help: replace it with: `root` [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/quick_find.rs:16:10 [INFO] [stderr] | [INFO] [stderr] 16 | Board {root : root} [INFO] [stderr] | ^^^^^^^^^^^ help: replace it with: `root` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/quick_union.rs:13:10 [INFO] [stderr] | [INFO] [stderr] 13 | Board {root : root, sz : vec![1;size]} [INFO] [stderr] | ^^^^^^^^^^^ help: replace it with: `root` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/quick_union.rs:18:10 [INFO] [stderr] | [INFO] [stderr] 18 | Board {root : root, sz : vec![1;len]} [INFO] [stderr] | ^^^^^^^^^^^ help: replace it with: `root` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/a_star.rs:20:9 [INFO] [stderr] | [INFO] [stderr] 20 | Board{width : width, height : width, start:Point{x:0, y:0}, goal:Point{x:width, y:width}} [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `width` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/quick_find.rs:12:10 [INFO] [stderr] | [INFO] [stderr] 12 | Board {root : root} [INFO] [stderr] | ^^^^^^^^^^^ help: replace it with: `root` [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/quick_find.rs:16:10 [INFO] [stderr] | [INFO] [stderr] 16 | Board {root : root} [INFO] [stderr] | ^^^^^^^^^^^ help: replace it with: `root` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/quick_union.rs:13:10 [INFO] [stderr] | [INFO] [stderr] 13 | Board {root : root, sz : vec![1;size]} [INFO] [stderr] | ^^^^^^^^^^^ help: replace it with: `root` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/quick_union.rs:18:10 [INFO] [stderr] | [INFO] [stderr] 18 | Board {root : root, sz : vec![1;len]} [INFO] [stderr] | ^^^^^^^^^^^ help: replace it with: `root` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/a_star.rs:20:9 [INFO] [stderr] | [INFO] [stderr] 20 | Board{width : width, height : width, start:Point{x:0, y:0}, goal:Point{x:width, y:width}} [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `width` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `match` head expression [INFO] [stderr] --> src/a_star.rs:34:19 [INFO] [stderr] | [INFO] [stderr] 34 | let absX = match(point.x>self.goal.x){//TODO refactor [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `match` head expression [INFO] [stderr] --> src/a_star.rs:38:19 [INFO] [stderr] | [INFO] [stderr] 38 | let absY = match(point.y>self.goal.y){ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `match` head expression [INFO] [stderr] --> src/a_star.rs:34:19 [INFO] [stderr] | [INFO] [stderr] 34 | let absX = match(point.x>self.goal.x){//TODO refactor [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `match` head expression [INFO] [stderr] --> src/a_star.rs:38:19 [INFO] [stderr] | [INFO] [stderr] 38 | let absY = match(point.y>self.goal.y){ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unused variable: `closedSet` [INFO] [stderr] --> src/a_star.rs:46:11 [INFO] [stderr] | [INFO] [stderr] 46 | let mut closedSet : HashSet = HashSet::new();// The set of nodes already evaluated. [INFO] [stderr] | ^^^^^^^^^ help: consider using `_closedSet` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `cameFrom` [INFO] [stderr] --> src/a_star.rs:49:11 [INFO] [stderr] | [INFO] [stderr] 49 | let mut cameFrom : HashMap = HashMap::new(); // The map of navigated nodes. [INFO] [stderr] | ^^^^^^^^ help: consider using `_cameFrom` instead [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/a_star.rs:46:7 [INFO] [stderr] | [INFO] [stderr] 46 | let mut closedSet : HashSet = HashSet::new();// The set of nodes already evaluated. [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/a_star.rs:49:7 [INFO] [stderr] | [INFO] [stderr] 49 | let mut cameFrom : HashMap = HashMap::new(); // The map of navigated nodes. [INFO] [stderr] | ----^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Board` [INFO] [stderr] --> src/a_star.rs:9:1 [INFO] [stderr] | [INFO] [stderr] 9 | struct Board{ [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/a_star.rs:19:2 [INFO] [stderr] | [INFO] [stderr] 19 | fn new(width : usize)->Board{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `newGScoreWithInfinity` [INFO] [stderr] --> src/a_star.rs:23:2 [INFO] [stderr] | [INFO] [stderr] 23 | fn newGScoreWithInfinity(&self) -> HashMap{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `heuristic_cost_estimate` [INFO] [stderr] --> src/a_star.rs:33:2 [INFO] [stderr] | [INFO] [stderr] 33 | fn heuristic_cost_estimate(&self, point:Point)->usize{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `a_star` [INFO] [stderr] --> src/a_star.rs:45:2 [INFO] [stderr] | [INFO] [stderr] 45 | fn a_star(&self) -> Option>{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `root` [INFO] [stderr] --> src/quick_find.rs:9:12 [INFO] [stderr] | [INFO] [stderr] 9 | for i in 0..size{ [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] 9 | for (i, ) in root.iter_mut().enumerate().take(size){ [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `root` [INFO] [stderr] --> src/quick_union.rs:10:12 [INFO] [stderr] | [INFO] [stderr] 10 | for i in 0..size{ [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] 10 | for (i, ) in root.iter_mut().enumerate().take(size){ [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `closedSet` [INFO] [stderr] --> src/a_star.rs:46:11 [INFO] [stderr] | [INFO] [stderr] 46 | let mut closedSet : HashSet = HashSet::new();// The set of nodes already evaluated. [INFO] [stderr] | ^^^^^^^^^ help: consider using `_closedSet` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `cameFrom` [INFO] [stderr] --> src/a_star.rs:49:11 [INFO] [stderr] | [INFO] [stderr] 49 | let mut cameFrom : HashMap = HashMap::new(); // The map of navigated nodes. [INFO] [stderr] | ^^^^^^^^ help: consider using `_cameFrom` instead [INFO] [stderr] [INFO] [stderr] warning: method `newGScoreWithInfinity` should have a snake case name such as `new_gscore_with_infinity` [INFO] [stderr] --> src/a_star.rs:23:2 [INFO] [stderr] | [INFO] [stderr] 23 | fn newGScoreWithInfinity(&self) -> HashMap{ [INFO] [stderr] | _____^ [INFO] [stderr] 24 | | let mut gScore : HashMap = HashMap::new(); [INFO] [stderr] 25 | | for i in 0..self.width{ [INFO] [stderr] 26 | | for j in 0..self.height{ [INFO] [stderr] ... | [INFO] [stderr] 30 | | gScore [INFO] [stderr] 31 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_snake_case)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable `gScore` should have a snake case name such as `g_score` [INFO] [stderr] --> src/a_star.rs:24:7 [INFO] [stderr] | [INFO] [stderr] 24 | let mut gScore : HashMap = HashMap::new(); [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/a_star.rs:34:14 [INFO] [stderr] | [INFO] [stderr] 34 | let absX = match(point.x>self.goal.x){//TODO refactor [INFO] [stderr] | ____________________^ [INFO] [stderr] 35 | | true => point.x-self.goal.x, [INFO] [stderr] 36 | | false => self.goal.x-point.x [INFO] [stderr] 37 | | }; [INFO] [stderr] | |_________^ help: consider using an if/else expression: `if (point.x>self.goal.x) { point.x-self.goal.x } else { self.goal.x-point.x }` [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] [INFO] [stderr] warning: variable `absX` should have a snake case name such as `abs_x` [INFO] [stderr] --> src/a_star.rs:34:7 [INFO] [stderr] | [INFO] [stderr] 34 | let absX = match(point.x>self.goal.x){//TODO refactor [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/a_star.rs:38:14 [INFO] [stderr] | [INFO] [stderr] 38 | let absY = match(point.y>self.goal.y){ [INFO] [stderr] | ____________________^ [INFO] [stderr] 39 | | true => point.y-self.goal.y, [INFO] [stderr] 40 | | false => self.goal.y-point.y [INFO] [stderr] 41 | | }; [INFO] [stderr] | |_________^ help: consider using an if/else expression: `if (point.y>self.goal.y) { point.y-self.goal.y } else { self.goal.y-point.y }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: variable `absY` should have a snake case name such as `abs_y` [INFO] [stderr] --> src/a_star.rs:38:7 [INFO] [stderr] | [INFO] [stderr] 38 | let absY = match(point.y>self.goal.y){ [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `closedSet` should have a snake case name such as `closed_set` [INFO] [stderr] --> src/a_star.rs:46:7 [INFO] [stderr] | [INFO] [stderr] 46 | let mut closedSet : HashSet = HashSet::new();// The set of nodes already evaluated. [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `openSet` should have a snake case name such as `open_set` [INFO] [stderr] --> src/a_star.rs:47:7 [INFO] [stderr] | [INFO] [stderr] 47 | let mut openSet : HashSet = HashSet::new();// The set of tentative nodes to be evaluated [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `cameFrom` should have a snake case name such as `came_from` [INFO] [stderr] --> src/a_star.rs:49:7 [INFO] [stderr] | [INFO] [stderr] 49 | let mut cameFrom : HashMap = HashMap::new(); // The map of navigated nodes. [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `gScore` should have a snake case name such as `g_score` [INFO] [stderr] --> src/a_star.rs:51:7 [INFO] [stderr] | [INFO] [stderr] 51 | let mut gScore = self.newGScoreWithInfinity(); [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `fScore` should have a snake case name such as `f_score` [INFO] [stderr] --> src/a_star.rs:55:7 [INFO] [stderr] | [INFO] [stderr] 55 | let mut fScore = self.newGScoreWithInfinity(); [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/a_star.rs:46:7 [INFO] [stderr] | [INFO] [stderr] 46 | let mut closedSet : HashSet = HashSet::new();// The set of nodes already evaluated. [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/a_star.rs:49:7 [INFO] [stderr] | [INFO] [stderr] 49 | let mut cameFrom : HashMap = HashMap::new(); // The map of navigated nodes. [INFO] [stderr] | ----^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Board` [INFO] [stderr] --> src/a_star.rs:9:1 [INFO] [stderr] | [INFO] [stderr] 9 | struct Board{ [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/a_star.rs:19:2 [INFO] [stderr] | [INFO] [stderr] 19 | fn new(width : usize)->Board{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `newGScoreWithInfinity` [INFO] [stderr] --> src/a_star.rs:23:2 [INFO] [stderr] | [INFO] [stderr] 23 | fn newGScoreWithInfinity(&self) -> HashMap{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `heuristic_cost_estimate` [INFO] [stderr] --> src/a_star.rs:33:2 [INFO] [stderr] | [INFO] [stderr] 33 | fn heuristic_cost_estimate(&self, point:Point)->usize{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `a_star` [INFO] [stderr] --> src/a_star.rs:45:2 [INFO] [stderr] | [INFO] [stderr] 45 | fn a_star(&self) -> Option>{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `root` [INFO] [stderr] --> src/quick_find.rs:9:12 [INFO] [stderr] | [INFO] [stderr] 9 | for i in 0..size{ [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] 9 | for (i, ) in root.iter_mut().enumerate().take(size){ [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `root` [INFO] [stderr] --> src/quick_union.rs:10:12 [INFO] [stderr] | [INFO] [stderr] 10 | for i in 0..size{ [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] 10 | for (i, ) in root.iter_mut().enumerate().take(size){ [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `newGScoreWithInfinity` should have a snake case name such as `new_gscore_with_infinity` [INFO] [stderr] --> src/a_star.rs:23:2 [INFO] [stderr] | [INFO] [stderr] 23 | fn newGScoreWithInfinity(&self) -> HashMap{ [INFO] [stderr] | _____^ [INFO] [stderr] 24 | | let mut gScore : HashMap = HashMap::new(); [INFO] [stderr] 25 | | for i in 0..self.width{ [INFO] [stderr] 26 | | for j in 0..self.height{ [INFO] [stderr] ... | [INFO] [stderr] 30 | | gScore [INFO] [stderr] 31 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_snake_case)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable `gScore` should have a snake case name such as `g_score` [INFO] [stderr] --> src/a_star.rs:24:7 [INFO] [stderr] | [INFO] [stderr] 24 | let mut gScore : HashMap = HashMap::new(); [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/a_star.rs:34:14 [INFO] [stderr] | [INFO] [stderr] 34 | let absX = match(point.x>self.goal.x){//TODO refactor [INFO] [stderr] | ____________________^ [INFO] [stderr] 35 | | true => point.x-self.goal.x, [INFO] [stderr] 36 | | false => self.goal.x-point.x [INFO] [stderr] 37 | | }; [INFO] [stderr] | |_________^ help: consider using an if/else expression: `if (point.x>self.goal.x) { point.x-self.goal.x } else { self.goal.x-point.x }` [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] [INFO] [stderr] warning: variable `absX` should have a snake case name such as `abs_x` [INFO] [stderr] --> src/a_star.rs:34:7 [INFO] [stderr] | [INFO] [stderr] 34 | let absX = match(point.x>self.goal.x){//TODO refactor [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/a_star.rs:38:14 [INFO] [stderr] | [INFO] [stderr] 38 | let absY = match(point.y>self.goal.y){ [INFO] [stderr] | ____________________^ [INFO] [stderr] 39 | | true => point.y-self.goal.y, [INFO] [stderr] 40 | | false => self.goal.y-point.y [INFO] [stderr] 41 | | }; [INFO] [stderr] | |_________^ help: consider using an if/else expression: `if (point.y>self.goal.y) { point.y-self.goal.y } else { self.goal.y-point.y }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: variable `absY` should have a snake case name such as `abs_y` [INFO] [stderr] --> src/a_star.rs:38:7 [INFO] [stderr] | [INFO] [stderr] 38 | let absY = match(point.y>self.goal.y){ [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `closedSet` should have a snake case name such as `closed_set` [INFO] [stderr] --> src/a_star.rs:46:7 [INFO] [stderr] | [INFO] [stderr] 46 | let mut closedSet : HashSet = HashSet::new();// The set of nodes already evaluated. [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `openSet` should have a snake case name such as `open_set` [INFO] [stderr] --> src/a_star.rs:47:7 [INFO] [stderr] | [INFO] [stderr] 47 | let mut openSet : HashSet = HashSet::new();// The set of tentative nodes to be evaluated [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `cameFrom` should have a snake case name such as `came_from` [INFO] [stderr] --> src/a_star.rs:49:7 [INFO] [stderr] | [INFO] [stderr] 49 | let mut cameFrom : HashMap = HashMap::new(); // The map of navigated nodes. [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `gScore` should have a snake case name such as `g_score` [INFO] [stderr] --> src/a_star.rs:51:7 [INFO] [stderr] | [INFO] [stderr] 51 | let mut gScore = self.newGScoreWithInfinity(); [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `fScore` should have a snake case name such as `f_score` [INFO] [stderr] --> src/a_star.rs:55:7 [INFO] [stderr] | [INFO] [stderr] 55 | let mut fScore = self.newGScoreWithInfinity(); [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `algolib::*` [INFO] [stderr] --> tests/test_sort.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use algolib::*; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1.12s [INFO] running `"docker" "inspect" "40765e57cde8ad4a0123cb5a6f24750baee3b44b0c6b94af54231c244f210a6f"` [INFO] running `"docker" "rm" "-f" "40765e57cde8ad4a0123cb5a6f24750baee3b44b0c6b94af54231c244f210a6f"` [INFO] [stdout] 40765e57cde8ad4a0123cb5a6f24750baee3b44b0c6b94af54231c244f210a6f