[INFO] updating cached repository sha0coder/logic-evolver [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/sha0coder/logic-evolver [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/sha0coder/logic-evolver" "work/ex/clippy-test-run/sources/stable/gh/sha0coder/logic-evolver"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/sha0coder/logic-evolver'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/sha0coder/logic-evolver" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/sha0coder/logic-evolver"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/sha0coder/logic-evolver'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] c7178f3fec2b0e15d7e3a03347f65a08cb33d036 [INFO] sha for GitHub repo sha0coder/logic-evolver: c7178f3fec2b0e15d7e3a03347f65a08cb33d036 [INFO] validating manifest of sha0coder/logic-evolver 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 sha0coder/logic-evolver 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 sha0coder/logic-evolver [INFO] finished frobbing sha0coder/logic-evolver [INFO] frobbed toml for sha0coder/logic-evolver written to work/ex/clippy-test-run/sources/stable/gh/sha0coder/logic-evolver/Cargo.toml [INFO] started frobbing sha0coder/logic-evolver [INFO] finished frobbing sha0coder/logic-evolver [INFO] frobbed toml for sha0coder/logic-evolver written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/sha0coder/logic-evolver/Cargo.toml [INFO] crate sha0coder/logic-evolver 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 sha0coder/logic-evolver 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/sha0coder/logic-evolver:/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] 826b744bbbe1d9dcbea17243cfa480fc5d6e371526a46a43f415fb2eb8d393be [INFO] running `"docker" "start" "-a" "826b744bbbe1d9dcbea17243cfa480fc5d6e371526a46a43f415fb2eb8d393be"` [INFO] [stderr] Checking libc v0.2.31 [INFO] [stderr] Checking rand v0.3.16 [INFO] [stderr] Checking logic-evolver v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/cpu.rs:51:9 [INFO] [stderr] | [INFO] [stderr] 51 | return self.a; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `self.a` [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/cpu.rs:55:9 [INFO] [stderr] | [INFO] [stderr] 55 | return self.b; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `self.b` [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/cpu.rs:59:9 [INFO] [stderr] | [INFO] [stderr] 59 | return self.op; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.op` [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/cpu.rs:95:9 [INFO] [stderr] | [INFO] [stderr] 95 | return self.tv.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.tv.clone()` [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/cpu.rs:99:9 [INFO] [stderr] | [INFO] [stderr] 99 | return self.fitness; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.fitness` [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/cpu.rs:111:9 [INFO] [stderr] | [INFO] [stderr] 111 | return self.vars[i]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.vars[i]` [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/cpu.rs:126:9 [INFO] [stderr] | [INFO] [stderr] 126 | return self.vars[0]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.vars[0]` [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/cpu.rs:135:9 [INFO] [stderr] | [INFO] [stderr] 135 | return self.code.len(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.code.len()` [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/cpu.rs:144:9 [INFO] [stderr] | [INFO] [stderr] 144 | return rng.gen_range::(0,n); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `rng.gen_range::(0,n)` [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: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/cpu.rs:182:16 [INFO] [stderr] | [INFO] [stderr] 182 | if (self.debugMode) { [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 `if` condition [INFO] [stderr] --> src/cpu.rs:213:16 [INFO] [stderr] | [INFO] [stderr] 213 | if (self.debugMode) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/cpu.rs:271:9 [INFO] [stderr] | [INFO] [stderr] 271 | return new_cpu; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `new_cpu` [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: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/cpu.rs:278:16 [INFO] [stderr] | [INFO] [stderr] 278 | if (self.get_rand(100) < prob) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/cpu.rs:279:20 [INFO] [stderr] | [INFO] [stderr] 279 | if (self.get_rand(100) < 75) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/cpu.rs:280:24 [INFO] [stderr] | [INFO] [stderr] 280 | if (self.get_rand(100) < 55) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/cpu.rs:321:9 [INFO] [stderr] | [INFO] [stderr] 321 | return childs; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `childs` [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: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/cpu.rs:313:20 [INFO] [stderr] | [INFO] [stderr] 313 | if (self.get_rand(100)<50) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/cpu.rs:347:9 [INFO] [stderr] | [INFO] [stderr] 347 | return (child1,child2); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(child1,child2)` [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: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/ga.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `cpu::Instruction` [INFO] [stderr] --> src/ga.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use cpu::Instruction; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/ga.rs:60:9 [INFO] [stderr] | [INFO] [stderr] 60 | return sorted; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `sorted` [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: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/ga.rs:88:20 [INFO] [stderr] | [INFO] [stderr] 88 | if (ftv.len() == 5) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/ga.rs:98:24 [INFO] [stderr] | [INFO] [stderr] 98 | if (!ftv.contains(&k)) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/ga.rs:103:20 [INFO] [stderr] | [INFO] [stderr] 103 | if (falta.len()<5) { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/ga.rs:117:24 [INFO] [stderr] | [INFO] [stderr] 117 | if (falta.len() == 1 && tv.contains(&falta[0])) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/ga.rs:123:24 [INFO] [stderr] | [INFO] [stderr] 123 | if (falta.len() == 2 && tv.contains(&falta[0]) && tv.contains(&falta[1])) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/ga.rs:129:24 [INFO] [stderr] | [INFO] [stderr] 129 | if (falta.len() == 2 && (tv.contains(&falta[0]) || tv.contains(&falta[1]))) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/ga.rs:134:24 [INFO] [stderr] | [INFO] [stderr] 134 | if (falta.len() == 3 && tv.contains(&falta[0]) && tv.contains(&falta[1]) && tv.contains(&falta[2])) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/ga.rs:140:24 [INFO] [stderr] | [INFO] [stderr] 140 | if (falta.len() == 3 && (tv.contains(&falta[0]) || tv.contains(&falta[1]) || tv.contains(&falta[2]))) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/ga.rs:146:24 [INFO] [stderr] | [INFO] [stderr] 146 | if (falta.len() == 4) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unused import: `cpu::Instruction` [INFO] [stderr] --> src/main.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use cpu::Instruction; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/main.rs:58:8 [INFO] [stderr] | [INFO] [stderr] 58 | if (cpu.result() == 3) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/main.rs:66:8 [INFO] [stderr] | [INFO] [stderr] 66 | if (cpu.result() == 4) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/main.rs:74:8 [INFO] [stderr] | [INFO] [stderr] 74 | if (cpu.result() == 3) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/main.rs:82:8 [INFO] [stderr] | [INFO] [stderr] 82 | if (cpu.result() == 6) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/main.rs:90:8 [INFO] [stderr] | [INFO] [stderr] 90 | if (cpu.result() == 8) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/cpu.rs:51:9 [INFO] [stderr] | [INFO] [stderr] 51 | return self.a; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `self.a` [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/cpu.rs:55:9 [INFO] [stderr] | [INFO] [stderr] 55 | return self.b; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `self.b` [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/cpu.rs:59:9 [INFO] [stderr] | [INFO] [stderr] 59 | return self.op; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.op` [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/cpu.rs:95:9 [INFO] [stderr] | [INFO] [stderr] 95 | return self.tv.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.tv.clone()` [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/cpu.rs:99:9 [INFO] [stderr] | [INFO] [stderr] 99 | return self.fitness; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.fitness` [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/cpu.rs:111:9 [INFO] [stderr] | [INFO] [stderr] 111 | return self.vars[i]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.vars[i]` [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/cpu.rs:126:9 [INFO] [stderr] | [INFO] [stderr] 126 | return self.vars[0]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.vars[0]` [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/cpu.rs:135:9 [INFO] [stderr] | [INFO] [stderr] 135 | return self.code.len(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.code.len()` [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/cpu.rs:144:9 [INFO] [stderr] | [INFO] [stderr] 144 | return rng.gen_range::(0,n); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `rng.gen_range::(0,n)` [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: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/cpu.rs:182:16 [INFO] [stderr] | [INFO] [stderr] 182 | if (self.debugMode) { [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 `if` condition [INFO] [stderr] --> src/cpu.rs:213:16 [INFO] [stderr] | [INFO] [stderr] 213 | if (self.debugMode) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/cpu.rs:271:9 [INFO] [stderr] | [INFO] [stderr] 271 | return new_cpu; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `new_cpu` [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: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/cpu.rs:278:16 [INFO] [stderr] | [INFO] [stderr] 278 | if (self.get_rand(100) < prob) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/cpu.rs:279:20 [INFO] [stderr] | [INFO] [stderr] 279 | if (self.get_rand(100) < 75) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/cpu.rs:280:24 [INFO] [stderr] | [INFO] [stderr] 280 | if (self.get_rand(100) < 55) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/cpu.rs:321:9 [INFO] [stderr] | [INFO] [stderr] 321 | return childs; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `childs` [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: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/cpu.rs:313:20 [INFO] [stderr] | [INFO] [stderr] 313 | if (self.get_rand(100)<50) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/cpu.rs:347:9 [INFO] [stderr] | [INFO] [stderr] 347 | return (child1,child2); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(child1,child2)` [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: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/ga.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `cpu::Instruction` [INFO] [stderr] --> src/ga.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use cpu::Instruction; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/ga.rs:60:9 [INFO] [stderr] | [INFO] [stderr] 60 | return sorted; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `sorted` [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: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/ga.rs:88:20 [INFO] [stderr] | [INFO] [stderr] 88 | if (ftv.len() == 5) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/ga.rs:98:24 [INFO] [stderr] | [INFO] [stderr] 98 | if (!ftv.contains(&k)) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/ga.rs:103:20 [INFO] [stderr] | [INFO] [stderr] 103 | if (falta.len()<5) { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/ga.rs:117:24 [INFO] [stderr] | [INFO] [stderr] 117 | if (falta.len() == 1 && tv.contains(&falta[0])) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/ga.rs:123:24 [INFO] [stderr] | [INFO] [stderr] 123 | if (falta.len() == 2 && tv.contains(&falta[0]) && tv.contains(&falta[1])) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/ga.rs:129:24 [INFO] [stderr] | [INFO] [stderr] 129 | if (falta.len() == 2 && (tv.contains(&falta[0]) || tv.contains(&falta[1]))) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/ga.rs:134:24 [INFO] [stderr] | [INFO] [stderr] 134 | if (falta.len() == 3 && tv.contains(&falta[0]) && tv.contains(&falta[1]) && tv.contains(&falta[2])) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/ga.rs:140:24 [INFO] [stderr] | [INFO] [stderr] 140 | if (falta.len() == 3 && (tv.contains(&falta[0]) || tv.contains(&falta[1]) || tv.contains(&falta[2]))) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/ga.rs:146:24 [INFO] [stderr] | [INFO] [stderr] 146 | if (falta.len() == 4) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unused import: `cpu::Instruction` [INFO] [stderr] --> src/main.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use cpu::Instruction; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/main.rs:58:8 [INFO] [stderr] | [INFO] [stderr] 58 | if (cpu.result() == 3) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/main.rs:66:8 [INFO] [stderr] | [INFO] [stderr] 66 | if (cpu.result() == 4) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/main.rs:74:8 [INFO] [stderr] | [INFO] [stderr] 74 | if (cpu.result() == 3) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/main.rs:82:8 [INFO] [stderr] | [INFO] [stderr] 82 | if (cpu.result() == 6) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/main.rs:90:8 [INFO] [stderr] | [INFO] [stderr] 90 | if (cpu.result() == 8) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/cpu.rs:307:13 [INFO] [stderr] | [INFO] [stderr] 307 | for i in 0..4 { [INFO] [stderr] | ^ help: consider using `_i` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/ga.rs:41:13 [INFO] [stderr] | [INFO] [stderr] 41 | let i: usize; [INFO] [stderr] | ^ help: consider using `_i` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `j` [INFO] [stderr] --> src/ga.rs:42:13 [INFO] [stderr] | [INFO] [stderr] 42 | let j: usize; [INFO] [stderr] | ^ help: consider using `_j` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `k` [INFO] [stderr] --> src/ga.rs:95:21 [INFO] [stderr] | [INFO] [stderr] 95 | let k: u8 = 0; [INFO] [stderr] | ^ help: consider using `_k` instead [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_a` [INFO] [stderr] --> src/cpu.rs:50:5 [INFO] [stderr] | [INFO] [stderr] 50 | pub fn get_a(&self) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_b` [INFO] [stderr] --> src/cpu.rs:54:5 [INFO] [stderr] | [INFO] [stderr] 54 | pub fn get_b(&self) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_opcode` [INFO] [stderr] --> src/cpu.rs:58:5 [INFO] [stderr] | [INFO] [stderr] 58 | pub fn get_opcode(&self) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `params` [INFO] [stderr] --> src/cpu.rs:65:5 [INFO] [stderr] | [INFO] [stderr] 65 | params: Vec, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `debug` [INFO] [stderr] --> src/cpu.rs:90:5 [INFO] [stderr] | [INFO] [stderr] 90 | pub fn debug(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `init_params` [INFO] [stderr] --> src/cpu.rs:102:5 [INFO] [stderr] | [INFO] [stderr] 102 | pub fn init_params(&mut self, p: Vec) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_var` [INFO] [stderr] --> src/cpu.rs:110:5 [INFO] [stderr] | [INFO] [stderr] 110 | pub fn get_var(&self, i: usize) -> i32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `add_instruction` [INFO] [stderr] --> src/cpu.rs:114:5 [INFO] [stderr] | [INFO] [stderr] 114 | pub fn add_instruction(&mut self, i: Instruction) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `instructions` [INFO] [stderr] --> src/cpu.rs:134:5 [INFO] [stderr] | [INFO] [stderr] 134 | pub fn instructions(&self) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `load` [INFO] [stderr] --> src/cpu.rs:138:5 [INFO] [stderr] | [INFO] [stderr] 138 | pub fn load(&mut self, code: Vec) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `init` [INFO] [stderr] --> src/cpu.rs:162:5 [INFO] [stderr] | [INFO] [stderr] 162 | pub fn init(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `mutation_probability` [INFO] [stderr] --> src/ga.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | mutation_probability: u16, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `operandA` should have a snake case name such as `operand_a` [INFO] [stderr] --> src/cpu.rs:22:27 [INFO] [stderr] | [INFO] [stderr] 22 | pub fn new(opcode:u8, operandA:usize, operandB:usize) -> Instruction { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_snake_case)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable `operandB` should have a snake case name such as `operand_b` [INFO] [stderr] --> src/cpu.rs:22:43 [INFO] [stderr] | [INFO] [stderr] 22 | pub fn new(opcode:u8, operandA:usize, operandB:usize) -> Instruction { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/cpu.rs:32:17 [INFO] [stderr] | [INFO] [stderr] 32 | op: self.op.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.op` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/cpu.rs:33:16 [INFO] [stderr] | [INFO] [stderr] 33 | a: self.a.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.a` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/cpu.rs:34:16 [INFO] [stderr] | [INFO] [stderr] 34 | b: self.b.clone() [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.b` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: structure field `debugMode` should have a snake case name such as `debug_mode` [INFO] [stderr] --> src/cpu.rs:70:5 [INFO] [stderr] | [INFO] [stderr] 70 | debugMode: bool [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/cpu.rs:307:13 [INFO] [stderr] | [INFO] [stderr] 307 | for i in 0..4 { [INFO] [stderr] | ^ help: consider using `_i` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/ga.rs:41:13 [INFO] [stderr] | [INFO] [stderr] 41 | let i: usize; [INFO] [stderr] | ^ help: consider using `_i` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `j` [INFO] [stderr] --> src/ga.rs:42:13 [INFO] [stderr] | [INFO] [stderr] 42 | let j: usize; [INFO] [stderr] | ^ help: consider using `_j` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `k` [INFO] [stderr] --> src/ga.rs:95:21 [INFO] [stderr] | [INFO] [stderr] 95 | let k: u8 = 0; [INFO] [stderr] | ^ help: consider using `_k` instead [INFO] [stderr] [INFO] [stderr] warning: the loop variable `j` is only used to index `childs`. [INFO] [stderr] --> src/cpu.rs:312:22 [INFO] [stderr] | [INFO] [stderr] 312 | for j in 0..4 { [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] 312 | for in childs.iter_mut().take(4) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 26 [INFO] [stderr] --> src/ga.rs:63:5 [INFO] [stderr] | [INFO] [stderr] 63 | / pub fn run(&mut self, num_cycles: usize, evaluate: fn(&mut Cpu)) { [INFO] [stderr] 64 | | //let mut cpu = self.population[0].crossover(self.population[1]); [INFO] [stderr] 65 | | [INFO] [stderr] 66 | | for cycle in 1..num_cycles+1 { [INFO] [stderr] ... | [INFO] [stderr] 231 | | } [INFO] [stderr] 232 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/ga.rs:66:22 [INFO] [stderr] | [INFO] [stderr] 66 | for cycle in 1..num_cycles+1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use: `1..=num_cycles` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: the loop variable `k` is only used to index `falta`. [INFO] [stderr] --> src/ga.rs:105:30 [INFO] [stderr] | [INFO] [stderr] 105 | for k in 0..falta.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] 105 | for in &falta { [INFO] [stderr] | ^^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `j` is only used to index `sorted`. [INFO] [stderr] --> src/ga.rs:113:26 [INFO] [stderr] | [INFO] [stderr] 113 | for j in 1..50 { [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] 113 | for in sorted.iter().take(50).skip(1) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `vchilds`. [INFO] [stderr] --> src/ga.rs:161:30 [INFO] [stderr] | [INFO] [stderr] 161 | for i in 0..vchilds.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] 161 | for in &vchilds { [INFO] [stderr] | ^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `vchilds`. [INFO] [stderr] --> src/ga.rs:165:30 [INFO] [stderr] | [INFO] [stderr] 165 | for i in 0..vchilds.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] 165 | for in &vchilds { [INFO] [stderr] | ^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `vchilds`. [INFO] [stderr] --> src/ga.rs:169:30 [INFO] [stderr] | [INFO] [stderr] 169 | for i in 0..vchilds.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] 169 | for in &vchilds { [INFO] [stderr] | ^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `vchilds`. [INFO] [stderr] --> src/ga.rs:181:30 [INFO] [stderr] | [INFO] [stderr] 181 | for i in 0..vchilds.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] 181 | for in &vchilds { [INFO] [stderr] | ^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `vchilds`. [INFO] [stderr] --> src/ga.rs:186:30 [INFO] [stderr] | [INFO] [stderr] 186 | for i in 0..vchilds.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] 186 | for in &vchilds { [INFO] [stderr] | ^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `sorted`. [INFO] [stderr] --> src/ga.rs:195:22 [INFO] [stderr] | [INFO] [stderr] 195 | for i in 0..40 { [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] 195 | for in sorted.iter().take(40) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `ng`. [INFO] [stderr] --> src/ga.rs:206:22 [INFO] [stderr] | [INFO] [stderr] 206 | for i in 0..ng.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] 206 | for in &mut ng { [INFO] [stderr] | ^^^^^^ ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_a` [INFO] [stderr] --> src/cpu.rs:50:5 [INFO] [stderr] | [INFO] [stderr] 50 | pub fn get_a(&self) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_b` [INFO] [stderr] --> src/cpu.rs:54:5 [INFO] [stderr] | [INFO] [stderr] 54 | pub fn get_b(&self) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_opcode` [INFO] [stderr] --> src/cpu.rs:58:5 [INFO] [stderr] | [INFO] [stderr] 58 | pub fn get_opcode(&self) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `params` [INFO] [stderr] --> src/cpu.rs:65:5 [INFO] [stderr] | [INFO] [stderr] 65 | params: Vec, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `debug` [INFO] [stderr] --> src/cpu.rs:90:5 [INFO] [stderr] | [INFO] [stderr] 90 | pub fn debug(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `init_params` [INFO] [stderr] --> src/cpu.rs:102:5 [INFO] [stderr] | [INFO] [stderr] 102 | pub fn init_params(&mut self, p: Vec) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_var` [INFO] [stderr] --> src/cpu.rs:110:5 [INFO] [stderr] | [INFO] [stderr] 110 | pub fn get_var(&self, i: usize) -> i32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `add_instruction` [INFO] [stderr] --> src/cpu.rs:114:5 [INFO] [stderr] | [INFO] [stderr] 114 | pub fn add_instruction(&mut self, i: Instruction) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `instructions` [INFO] [stderr] --> src/cpu.rs:134:5 [INFO] [stderr] | [INFO] [stderr] 134 | pub fn instructions(&self) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `load` [INFO] [stderr] --> src/cpu.rs:138:5 [INFO] [stderr] | [INFO] [stderr] 138 | pub fn load(&mut self, code: Vec) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `init` [INFO] [stderr] --> src/cpu.rs:162:5 [INFO] [stderr] | [INFO] [stderr] 162 | pub fn init(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `mutation_probability` [INFO] [stderr] --> src/ga.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | mutation_probability: u16, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `operandA` should have a snake case name such as `operand_a` [INFO] [stderr] --> src/cpu.rs:22:27 [INFO] [stderr] | [INFO] [stderr] 22 | pub fn new(opcode:u8, operandA:usize, operandB:usize) -> Instruction { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_snake_case)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable `operandB` should have a snake case name such as `operand_b` [INFO] [stderr] --> src/cpu.rs:22:43 [INFO] [stderr] | [INFO] [stderr] 22 | pub fn new(opcode:u8, operandA:usize, operandB:usize) -> Instruction { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/cpu.rs:32:17 [INFO] [stderr] | [INFO] [stderr] 32 | op: self.op.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.op` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/cpu.rs:33:16 [INFO] [stderr] | [INFO] [stderr] 33 | a: self.a.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.a` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/cpu.rs:34:16 [INFO] [stderr] | [INFO] [stderr] 34 | b: self.b.clone() [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.b` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: structure field `debugMode` should have a snake case name such as `debug_mode` [INFO] [stderr] --> src/cpu.rs:70:5 [INFO] [stderr] | [INFO] [stderr] 70 | debugMode: bool [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `j` is only used to index `childs`. [INFO] [stderr] --> src/cpu.rs:312:22 [INFO] [stderr] | [INFO] [stderr] 312 | for j in 0..4 { [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] 312 | for in childs.iter_mut().take(4) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 26 [INFO] [stderr] --> src/ga.rs:63:5 [INFO] [stderr] | [INFO] [stderr] 63 | / pub fn run(&mut self, num_cycles: usize, evaluate: fn(&mut Cpu)) { [INFO] [stderr] 64 | | //let mut cpu = self.population[0].crossover(self.population[1]); [INFO] [stderr] 65 | | [INFO] [stderr] 66 | | for cycle in 1..num_cycles+1 { [INFO] [stderr] ... | [INFO] [stderr] 231 | | } [INFO] [stderr] 232 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/ga.rs:66:22 [INFO] [stderr] | [INFO] [stderr] 66 | for cycle in 1..num_cycles+1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use: `1..=num_cycles` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: the loop variable `k` is only used to index `falta`. [INFO] [stderr] --> src/ga.rs:105:30 [INFO] [stderr] | [INFO] [stderr] 105 | for k in 0..falta.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] 105 | for in &falta { [INFO] [stderr] | ^^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `j` is only used to index `sorted`. [INFO] [stderr] --> src/ga.rs:113:26 [INFO] [stderr] | [INFO] [stderr] 113 | for j in 1..50 { [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] 113 | for in sorted.iter().take(50).skip(1) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `vchilds`. [INFO] [stderr] --> src/ga.rs:161:30 [INFO] [stderr] | [INFO] [stderr] 161 | for i in 0..vchilds.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] 161 | for in &vchilds { [INFO] [stderr] | ^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `vchilds`. [INFO] [stderr] --> src/ga.rs:165:30 [INFO] [stderr] | [INFO] [stderr] 165 | for i in 0..vchilds.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] 165 | for in &vchilds { [INFO] [stderr] | ^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `vchilds`. [INFO] [stderr] --> src/ga.rs:169:30 [INFO] [stderr] | [INFO] [stderr] 169 | for i in 0..vchilds.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] 169 | for in &vchilds { [INFO] [stderr] | ^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `vchilds`. [INFO] [stderr] --> src/ga.rs:181:30 [INFO] [stderr] | [INFO] [stderr] 181 | for i in 0..vchilds.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] 181 | for in &vchilds { [INFO] [stderr] | ^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `vchilds`. [INFO] [stderr] --> src/ga.rs:186:30 [INFO] [stderr] | [INFO] [stderr] 186 | for i in 0..vchilds.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] 186 | for in &vchilds { [INFO] [stderr] | ^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `sorted`. [INFO] [stderr] --> src/ga.rs:195:22 [INFO] [stderr] | [INFO] [stderr] 195 | for i in 0..40 { [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] 195 | for in sorted.iter().take(40) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `ng`. [INFO] [stderr] --> src/ga.rs:206:22 [INFO] [stderr] | [INFO] [stderr] 206 | for i in 0..ng.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] 206 | for in &mut ng { [INFO] [stderr] | ^^^^^^ ^^^^^^^ [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 3.50s [INFO] running `"docker" "inspect" "826b744bbbe1d9dcbea17243cfa480fc5d6e371526a46a43f415fb2eb8d393be"` [INFO] running `"docker" "rm" "-f" "826b744bbbe1d9dcbea17243cfa480fc5d6e371526a46a43f415fb2eb8d393be"` [INFO] [stdout] 826b744bbbe1d9dcbea17243cfa480fc5d6e371526a46a43f415fb2eb8d393be