[INFO] updating cached repository ikurek/PEA-Projekt3 [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/ikurek/PEA-Projekt3 [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/ikurek/PEA-Projekt3" "work/ex/clippy-test-run/sources/stable/gh/ikurek/PEA-Projekt3"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/ikurek/PEA-Projekt3'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/ikurek/PEA-Projekt3" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/ikurek/PEA-Projekt3"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/ikurek/PEA-Projekt3'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] f2041bbda198adb0bb828467da6db33ac3f77ed4 [INFO] sha for GitHub repo ikurek/PEA-Projekt3: f2041bbda198adb0bb828467da6db33ac3f77ed4 [INFO] validating manifest of ikurek/PEA-Projekt3 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 ikurek/PEA-Projekt3 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 ikurek/PEA-Projekt3 [INFO] finished frobbing ikurek/PEA-Projekt3 [INFO] frobbed toml for ikurek/PEA-Projekt3 written to work/ex/clippy-test-run/sources/stable/gh/ikurek/PEA-Projekt3/Cargo.toml [INFO] started frobbing ikurek/PEA-Projekt3 [INFO] finished frobbing ikurek/PEA-Projekt3 [INFO] frobbed toml for ikurek/PEA-Projekt3 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/ikurek/PEA-Projekt3/Cargo.toml [INFO] crate ikurek/PEA-Projekt3 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 ikurek/PEA-Projekt3 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/ikurek/PEA-Projekt3:/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] b939a59ef54c29767df8311025303b456537e9fa55c189524b7146a31cf93574 [INFO] running `"docker" "start" "-a" "b939a59ef54c29767df8311025303b456537e9fa55c189524b7146a31cf93574"` [INFO] [stderr] Checking tsplib v0.1.0 [INFO] [stderr] Checking permutohedron v0.2.4 [INFO] [stderr] Checking rand v0.3.19 [INFO] [stderr] Checking genetic v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/file_reader.rs:11:9 [INFO] [stderr] | [INFO] [stderr] 11 | return read_txt_file(file_name); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `read_txt_file(file_name)` [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/file_reader.rs:14:9 [INFO] [stderr] | [INFO] [stderr] 14 | return read_atsp_file(file_name); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `read_atsp_file(file_name)` [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/file_reader.rs:17:9 [INFO] [stderr] | [INFO] [stderr] 17 | return read_tsp_file(file_name); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `read_tsp_file(file_name)` [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/file_reader.rs:64:5 [INFO] [stderr] | [INFO] [stderr] 64 | return matrix; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `matrix` [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/file_reader.rs:71:5 [INFO] [stderr] | [INFO] [stderr] 71 | / return cleared_line [INFO] [stderr] 72 | | .split_whitespace() [INFO] [stderr] 73 | | .map(|s| s.parse().unwrap()) [INFO] [stderr] 74 | | .collect(); [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] 71 | cleared_line [INFO] [stderr] 72 | .split_whitespace() [INFO] [stderr] 73 | .map(|s| s.parse().unwrap()) [INFO] [stderr] 74 | .collect() [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/file_reader.rs:106:5 [INFO] [stderr] | [INFO] [stderr] 106 | return matrix; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `matrix` [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/file_reader.rs:133:5 [INFO] [stderr] | [INFO] [stderr] 133 | return matrix; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `matrix` [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/file_reader.rs:139:5 [INFO] [stderr] | [INFO] [stderr] 139 | return distance_power_sum.sqrt() as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `distance_power_sum.sqrt() as i32` [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/file_reader.rs:205:5 [INFO] [stderr] | [INFO] [stderr] 205 | return matrix; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `matrix` [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/graph_generator.rs:36:5 [INFO] [stderr] | [INFO] [stderr] 36 | return matrix; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `matrix` [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/genetic_algorithm.rs:122:5 [INFO] [stderr] | [INFO] [stderr] 122 | return population; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `population` [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/genetic_algorithm.rs:196:5 [INFO] [stderr] | [INFO] [stderr] 196 | return new_population; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `new_population` [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/genetic_algorithm.rs:258:5 [INFO] [stderr] | [INFO] [stderr] 258 | return selected_parents; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `selected_parents` [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/genetic_algorithm.rs:280:5 [INFO] [stderr] | [INFO] [stderr] 280 | return value; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `value` [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/genetic_algorithm.rs:294:5 [INFO] [stderr] | [INFO] [stderr] 294 | return max_path_value - path_value; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `max_path_value - path_value` [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/genetic_algorithm.rs:318:5 [INFO] [stderr] | [INFO] [stderr] 318 | return children_pair; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `children_pair` [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/genetic_algorithm.rs:369:5 [INFO] [stderr] | [INFO] [stderr] 369 | return child; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `child` [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/genetic_algorithm.rs:389:5 [INFO] [stderr] | [INFO] [stderr] 389 | return parents_pair; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `parents_pair` [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/genetic_algorithm.rs:407:5 [INFO] [stderr] | [INFO] [stderr] 407 | return new_population; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `new_population` [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/genetic_algorithm.rs:437:9 [INFO] [stderr] | [INFO] [stderr] 437 | / return swap_elements_in_permutation( [INFO] [stderr] 438 | | &permutation, [INFO] [stderr] 439 | | first_element_index, [INFO] [stderr] 440 | | second_element_index, [INFO] [stderr] 441 | | ); [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] 437 | swap_elements_in_permutation( [INFO] [stderr] 438 | &permutation, [INFO] [stderr] 439 | first_element_index, [INFO] [stderr] 440 | second_element_index, [INFO] [stderr] 441 | ) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/genetic_algorithm.rs:445:9 [INFO] [stderr] | [INFO] [stderr] 445 | return permutation; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `permutation` [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/genetic_algorithm.rs:461:5 [INFO] [stderr] | [INFO] [stderr] 461 | return target; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `target` [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/genetic_algorithm.rs:468:5 [INFO] [stderr] | [INFO] [stderr] 468 | return ::max_value() - permutation_evaluation_value(&matrix, &population[0]) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `::max_value() - permutation_evaluation_value(&matrix, &population[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/file_reader.rs:11:9 [INFO] [stderr] | [INFO] [stderr] 11 | return read_txt_file(file_name); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `read_txt_file(file_name)` [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/file_reader.rs:14:9 [INFO] [stderr] | [INFO] [stderr] 14 | return read_atsp_file(file_name); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `read_atsp_file(file_name)` [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/file_reader.rs:17:9 [INFO] [stderr] | [INFO] [stderr] 17 | return read_tsp_file(file_name); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `read_tsp_file(file_name)` [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/file_reader.rs:64:5 [INFO] [stderr] | [INFO] [stderr] 64 | return matrix; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `matrix` [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/file_reader.rs:71:5 [INFO] [stderr] | [INFO] [stderr] 71 | / return cleared_line [INFO] [stderr] 72 | | .split_whitespace() [INFO] [stderr] 73 | | .map(|s| s.parse().unwrap()) [INFO] [stderr] 74 | | .collect(); [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] 71 | cleared_line [INFO] [stderr] 72 | .split_whitespace() [INFO] [stderr] 73 | .map(|s| s.parse().unwrap()) [INFO] [stderr] 74 | .collect() [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/file_reader.rs:106:5 [INFO] [stderr] | [INFO] [stderr] 106 | return matrix; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `matrix` [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/file_reader.rs:133:5 [INFO] [stderr] | [INFO] [stderr] 133 | return matrix; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `matrix` [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/file_reader.rs:139:5 [INFO] [stderr] | [INFO] [stderr] 139 | return distance_power_sum.sqrt() as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `distance_power_sum.sqrt() as i32` [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/file_reader.rs:205:5 [INFO] [stderr] | [INFO] [stderr] 205 | return matrix; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `matrix` [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/graph_generator.rs:36:5 [INFO] [stderr] | [INFO] [stderr] 36 | return matrix; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `matrix` [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/genetic_algorithm.rs:122:5 [INFO] [stderr] | [INFO] [stderr] 122 | return population; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `population` [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/genetic_algorithm.rs:196:5 [INFO] [stderr] | [INFO] [stderr] 196 | return new_population; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `new_population` [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/genetic_algorithm.rs:258:5 [INFO] [stderr] | [INFO] [stderr] 258 | return selected_parents; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `selected_parents` [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/genetic_algorithm.rs:280:5 [INFO] [stderr] | [INFO] [stderr] 280 | return value; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `value` [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/genetic_algorithm.rs:294:5 [INFO] [stderr] | [INFO] [stderr] 294 | return max_path_value - path_value; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `max_path_value - path_value` [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/genetic_algorithm.rs:318:5 [INFO] [stderr] | [INFO] [stderr] 318 | return children_pair; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `children_pair` [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/genetic_algorithm.rs:369:5 [INFO] [stderr] | [INFO] [stderr] 369 | return child; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `child` [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/genetic_algorithm.rs:389:5 [INFO] [stderr] | [INFO] [stderr] 389 | return parents_pair; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `parents_pair` [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/genetic_algorithm.rs:407:5 [INFO] [stderr] | [INFO] [stderr] 407 | return new_population; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `new_population` [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/genetic_algorithm.rs:437:9 [INFO] [stderr] | [INFO] [stderr] 437 | / return swap_elements_in_permutation( [INFO] [stderr] 438 | | &permutation, [INFO] [stderr] 439 | | first_element_index, [INFO] [stderr] 440 | | second_element_index, [INFO] [stderr] 441 | | ); [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] 437 | swap_elements_in_permutation( [INFO] [stderr] 438 | &permutation, [INFO] [stderr] 439 | first_element_index, [INFO] [stderr] 440 | second_element_index, [INFO] [stderr] 441 | ) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/genetic_algorithm.rs:445:9 [INFO] [stderr] | [INFO] [stderr] 445 | return permutation; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `permutation` [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/genetic_algorithm.rs:461:5 [INFO] [stderr] | [INFO] [stderr] 461 | return target; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `target` [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/genetic_algorithm.rs:468:5 [INFO] [stderr] | [INFO] [stderr] 468 | return ::max_value() - permutation_evaluation_value(&matrix, &population[0]) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `::max_value() - permutation_evaluation_value(&matrix, &population[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: value assigned to `current_best_solution` is never read [INFO] [stderr] --> src/genetic_algorithm.rs:19:13 [INFO] [stderr] | [INFO] [stderr] 19 | let mut current_best_solution: i32 = ::max_value(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_assignments)] on by default [INFO] [stderr] [INFO] [stderr] warning: value assigned to `parents_population` is never read [INFO] [stderr] --> src/genetic_algorithm.rs:35:13 [INFO] [stderr] | [INFO] [stderr] 35 | let mut parents_population: Vec> = Vec::new(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `iteration` [INFO] [stderr] --> src/genetic_algorithm.rs:43:9 [INFO] [stderr] | [INFO] [stderr] 43 | for iteration in 0..iterations { [INFO] [stderr] | ^^^^^^^^^ help: consider using `_iteration` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/genetic_algorithm.rs:53:13 [INFO] [stderr] | [INFO] [stderr] 53 | for i in 0..children_pairs_size { [INFO] [stderr] | ^ help: consider using `_i` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `max_time_in_seconds` [INFO] [stderr] --> src/genetic_algorithm.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | max_time_in_seconds: i32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider using `_max_time_in_seconds` instead [INFO] [stderr] [INFO] [stderr] warning: value assigned to `single_population_element` is never read [INFO] [stderr] --> src/genetic_algorithm.rs:100:13 [INFO] [stderr] | [INFO] [stderr] 100 | let mut single_population_element: Vec = Vec::new(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/genetic_algorithm.rs:106:9 [INFO] [stderr] | [INFO] [stderr] 106 | for i in 0..(population_size.clone()) { [INFO] [stderr] | ^ help: consider using `_i` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `number_of_cities` [INFO] [stderr] --> src/genetic_algorithm.rs:88:5 [INFO] [stderr] | [INFO] [stderr] 88 | number_of_cities: &i32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: consider using `_number_of_cities` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/genetic_algorithm.rs:152:9 [INFO] [stderr] | [INFO] [stderr] 152 | for i in 0..population_size { [INFO] [stderr] | ^ help: consider using `_i` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/genetic_algorithm.rs:229:9 [INFO] [stderr] | [INFO] [stderr] 229 | for i in 0..parents_population_size.clone() { [INFO] [stderr] | ^ help: consider using `_i` instead [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:75:22 [INFO] [stderr] | [INFO] [stderr] 75 | fn solve_genetic(mut matrix: &mut Vec>) { [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/genetic_algorithm.rs:22:9 [INFO] [stderr] | [INFO] [stderr] 22 | let mut number_of_cities: i32 = matrix.len() as i32; [INFO] [stderr] | ----^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/genetic_algorithm.rs:25:9 [INFO] [stderr] | [INFO] [stderr] 25 | let mut nodes: Vec = (0..number_of_cities).collect(); [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/genetic_algorithm.rs:34:9 [INFO] [stderr] | [INFO] [stderr] 34 | let mut parents_population_size: i32 = population_size / 2; [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/genetic_algorithm.rs:289:9 [INFO] [stderr] | [INFO] [stderr] 289 | let mut path_value: i32 = permutation_value(&matrix, &permutation); [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/genetic_algorithm.rs:291:9 [INFO] [stderr] | [INFO] [stderr] 291 | let mut max_path_value: i32 = ::max_value(); [INFO] [stderr] | ----^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/genetic_algorithm.rs:308:9 [INFO] [stderr] | [INFO] [stderr] 308 | let mut parents_pair: Vec> = generate_parents_pair(&parents_population); [INFO] [stderr] | ----^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/genetic_algorithm.rs:403:9 [INFO] [stderr] | [INFO] [stderr] 403 | let mut saved_element: i32 = permutation[first_element_index]; [INFO] [stderr] | ----^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: function is never used: `print_tabu_list` [INFO] [stderr] --> src/print_utils.rs:10:1 [INFO] [stderr] | [INFO] [stderr] 10 | pub fn print_tabu_list(tabu_list: &Vec>) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `print_result` [INFO] [stderr] --> src/print_utils.rs:18:1 [INFO] [stderr] | [INFO] [stderr] 18 | pub fn print_result(result: i32, result_path: Vec, elapsed_time: i64) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `j` is used to index `node_list` [INFO] [stderr] --> src/file_reader.rs:118:18 [INFO] [stderr] | [INFO] [stderr] 118 | for j in 0..node_list.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] 118 | for (j, ) in node_list.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `parsed_line`. [INFO] [stderr] --> src/file_reader.rs:187:30 [INFO] [stderr] | [INFO] [stderr] 187 | for i in 0..(parsed_line.len() as usize) { [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] 187 | for in parsed_line.iter().take((parsed_line.len() as usize)) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/file_reader.rs:202:9 [INFO] [stderr] | [INFO] [stderr] 202 | current_line = current_line + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `current_line += 1` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [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/print_utils.rs:2:29 [INFO] [stderr] | [INFO] [stderr] 2 | pub fn print_matrix(matrix: &Vec>) { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: change this to: `&[Vec]` [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/print_utils.rs:10:35 [INFO] [stderr] | [INFO] [stderr] 10 | pub fn print_tabu_list(tabu_list: &Vec>) { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: change this to: `&[Vec]` [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/genetic_algorithm.rs:74:29 [INFO] [stderr] | [INFO] [stderr] 74 | best_solution = current_best_solution.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `current_best_solution` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/genetic_algorithm.rs:90:12 [INFO] [stderr] | [INFO] [stderr] 90 | nodes: &Vec, [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] help: change this to [INFO] [stderr] | [INFO] [stderr] 90 | nodes: &[i32], [INFO] [stderr] | ^^^^^^ [INFO] [stderr] help: change `nodes.clone()` to [INFO] [stderr] | [INFO] [stderr] 108| single_population_element = nodes.to_owned(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/genetic_algorithm.rs:88:23 [INFO] [stderr] | [INFO] [stderr] 88 | number_of_cities: &i32, [INFO] [stderr] | ^^^^ help: consider passing by value instead: `i32` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/genetic_algorithm.rs:89:22 [INFO] [stderr] | [INFO] [stderr] 89 | population_size: &i32, [INFO] [stderr] | ^^^^ help: consider passing by value instead: `i32` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/genetic_algorithm.rs:106:17 [INFO] [stderr] | [INFO] [stderr] 106 | for i in 0..(population_size.clone()) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*population_size` [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/genetic_algorithm.rs:114:48 [INFO] [stderr] | [INFO] [stderr] 114 | single_population_element[j] = single_population_element[0].clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `single_population_element[0]` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/genetic_algorithm.rs:128:13 [INFO] [stderr] | [INFO] [stderr] 128 | matrix: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: change this to: `&[Vec]` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/genetic_algorithm.rs:129:17 [INFO] [stderr] | [INFO] [stderr] 129 | population: &Vec>, [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] help: change this to [INFO] [stderr] | [INFO] [stderr] 129 | population: &[Vec], [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] help: change `population.clone()` to [INFO] [stderr] | [INFO] [stderr] 138 | let mut current_population: Vec> = population.to_owned(); [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/genetic_algorithm.rs:131:26 [INFO] [stderr] | [INFO] [stderr] 131 | population_children: &Vec>, [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] help: change this to [INFO] [stderr] | [INFO] [stderr] 131 | population_children: &[Vec], [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] help: change `population_children.clone()` to [INFO] [stderr] | [INFO] [stderr] 139 | let mut current_population_children: Vec> = population_children.to_owned(); [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/genetic_algorithm.rs:202:17 [INFO] [stderr] | [INFO] [stderr] 202 | population: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: change this to: `&[Vec]` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/genetic_algorithm.rs:205:13 [INFO] [stderr] | [INFO] [stderr] 205 | matrix: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: change this to: `&[Vec]` [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/genetic_algorithm.rs:203:22 [INFO] [stderr] | [INFO] [stderr] 203 | population_size: &i32, [INFO] [stderr] | ^^^^ help: consider passing by value instead: `i32` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/genetic_algorithm.rs:204:30 [INFO] [stderr] | [INFO] [stderr] 204 | parents_population_size: &i32, [INFO] [stderr] | ^^^^ help: consider passing by value instead: `i32` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/genetic_algorithm.rs:217:17 [INFO] [stderr] | [INFO] [stderr] 217 | for i in 0..population_size.clone() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*population_size` [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: manual implementation of an assign operation [INFO] [stderr] --> src/genetic_algorithm.rs:222:9 [INFO] [stderr] | [INFO] [stderr] 222 | / permutations_evaluation_sum = permutations_evaluation_sum + [INFO] [stderr] 223 | | permutation_evaluation_values[i as usize] as i64; [INFO] [stderr] | |____________________________________________________________^ help: replace it with: `permutations_evaluation_sum += permutation_evaluation_values[i as usize] as i64` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/genetic_algorithm.rs:223:13 [INFO] [stderr] | [INFO] [stderr] 223 | permutation_evaluation_values[i as usize] as i64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(permutation_evaluation_values[i as usize])` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/genetic_algorithm.rs:229:17 [INFO] [stderr] | [INFO] [stderr] 229 | for i in 0..parents_population_size.clone() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*parents_population_size` [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/genetic_algorithm.rs:238:21 [INFO] [stderr] | [INFO] [stderr] 238 | for i in 0..population_size.clone() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*population_size` [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: manual implementation of an assign operation [INFO] [stderr] --> src/genetic_algorithm.rs:240:13 [INFO] [stderr] | [INFO] [stderr] 240 | current_value = current_value + permutation_evaluation_values[i as usize] as i64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `current_value += permutation_evaluation_values[i as usize] as i64` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/genetic_algorithm.rs:240:45 [INFO] [stderr] | [INFO] [stderr] 240 | current_value = current_value + permutation_evaluation_values[i as usize] as i64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(permutation_evaluation_values[i as usize])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/genetic_algorithm.rs:251:17 [INFO] [stderr] | [INFO] [stderr] 251 | previous_value = previous_value + permutation_evaluation_values[i as usize] as i64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `previous_value += permutation_evaluation_values[i as usize] as i64` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/genetic_algorithm.rs:251:51 [INFO] [stderr] | [INFO] [stderr] 251 | previous_value = previous_value + permutation_evaluation_values[i as usize] as i64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(permutation_evaluation_values[i as usize])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [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/genetic_algorithm.rs:262:30 [INFO] [stderr] | [INFO] [stderr] 262 | fn permutation_value(matrix: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: change this to: `&[Vec]` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/genetic_algorithm.rs:263:35 [INFO] [stderr] | [INFO] [stderr] 263 | permutation: &Vec [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[i32]` [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: manual implementation of an assign operation [INFO] [stderr] --> src/genetic_algorithm.rs:273:9 [INFO] [stderr] | [INFO] [stderr] 273 | value = value + matrix[previous_node][(permutation[(i as usize)] as usize)]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `value += matrix[previous_node][(permutation[(i as usize)] as usize)]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/genetic_algorithm.rs:278:5 [INFO] [stderr] | [INFO] [stderr] 278 | value = value + matrix[previous_node][0]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `value += matrix[previous_node][0]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [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/genetic_algorithm.rs:284:41 [INFO] [stderr] | [INFO] [stderr] 284 | fn permutation_evaluation_value(matrix: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: change this to: `&[Vec]` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/genetic_algorithm.rs:285:46 [INFO] [stderr] | [INFO] [stderr] 285 | permutation: &Vec [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[i32]` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/genetic_algorithm.rs:300:25 [INFO] [stderr] | [INFO] [stderr] 300 | parents_population: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: change this to: `&[Vec]` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/genetic_algorithm.rs:323:41 [INFO] [stderr] | [INFO] [stderr] 323 | fn cross_single_child_pmx(parents_pair: &Vec> [INFO] [stderr] | ^^^^^^^^^^^^^^ help: change this to: `&[Vec]` [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: value assigned to `current_best_solution` is never read [INFO] [stderr] --> src/genetic_algorithm.rs:19:13 [INFO] [stderr] | [INFO] [stderr] 19 | let mut current_best_solution: i32 = ::max_value(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_assignments)] on by default [INFO] [stderr] [INFO] [stderr] warning: value assigned to `parents_population` is never read [INFO] [stderr] --> src/genetic_algorithm.rs:35:13 [INFO] [stderr] | [INFO] [stderr] 35 | let mut parents_population: Vec> = Vec::new(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `iteration` [INFO] [stderr] --> src/genetic_algorithm.rs:43:9 [INFO] [stderr] | [INFO] [stderr] 43 | for iteration in 0..iterations { [INFO] [stderr] | ^^^^^^^^^ help: consider using `_iteration` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/genetic_algorithm.rs:53:13 [INFO] [stderr] | [INFO] [stderr] 53 | for i in 0..children_pairs_size { [INFO] [stderr] | ^ help: consider using `_i` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `max_time_in_seconds` [INFO] [stderr] --> src/genetic_algorithm.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | max_time_in_seconds: i32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider using `_max_time_in_seconds` instead [INFO] [stderr] [INFO] [stderr] warning: value assigned to `single_population_element` is never read [INFO] [stderr] --> src/genetic_algorithm.rs:100:13 [INFO] [stderr] | [INFO] [stderr] 100 | let mut single_population_element: Vec = Vec::new(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/genetic_algorithm.rs:106:9 [INFO] [stderr] | [INFO] [stderr] 106 | for i in 0..(population_size.clone()) { [INFO] [stderr] | ^ help: consider using `_i` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `number_of_cities` [INFO] [stderr] --> src/genetic_algorithm.rs:88:5 [INFO] [stderr] | [INFO] [stderr] 88 | number_of_cities: &i32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: consider using `_number_of_cities` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/genetic_algorithm.rs:152:9 [INFO] [stderr] | [INFO] [stderr] 152 | for i in 0..population_size { [INFO] [stderr] | ^ help: consider using `_i` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/genetic_algorithm.rs:229:9 [INFO] [stderr] | [INFO] [stderr] 229 | for i in 0..parents_population_size.clone() { [INFO] [stderr] | ^ help: consider using `_i` instead [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/genetic_algorithm.rs:343:39 [INFO] [stderr] | [INFO] [stderr] 343 | let temp_cross_point: usize = second_cross_point.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `second_cross_point` [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/genetic_algorithm.rs:344:30 [INFO] [stderr] | [INFO] [stderr] 344 | second_cross_point = first_cross_point.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `first_cross_point` [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/genetic_algorithm.rs:351:20 [INFO] [stderr] | [INFO] [stderr] 351 | child[i] = parents_pair[0][i].clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `parents_pair[0][i]` [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/genetic_algorithm.rs:361:30 [INFO] [stderr] | [INFO] [stderr] 361 | swap_index = second_cross_point.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `second_cross_point` [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/genetic_algorithm.rs:364:33 [INFO] [stderr] | [INFO] [stderr] 364 | child[swap_index] = parents_pair[1][i].clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `parents_pair[1][i]` [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: manual implementation of an assign operation [INFO] [stderr] --> src/genetic_algorithm.rs:365:13 [INFO] [stderr] | [INFO] [stderr] 365 | swap_index = swap_index + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `swap_index += 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [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/genetic_algorithm.rs:374:46 [INFO] [stderr] | [INFO] [stderr] 374 | fn generate_parents_pair(parents_population: &Vec> [INFO] [stderr] | ^^^^^^^^^^^^^^ help: change this to: `&[Vec]` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/genetic_algorithm.rs:395:18 [INFO] [stderr] | [INFO] [stderr] 395 | permutation: &Vec, [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] help: change this to [INFO] [stderr] | [INFO] [stderr] 395 | permutation: &[i32], [INFO] [stderr] | ^^^^^^ [INFO] [stderr] help: change `permutation.clone()` to [INFO] [stderr] | [INFO] [stderr] 401 | let mut new_population: Vec = permutation.to_owned(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/genetic_algorithm.rs:451:65 [INFO] [stderr] | [INFO] [stderr] 451 | fn generate_randomized_target_value(permutation_evaluation_sum: &i64 [INFO] [stderr] | ^^^^ help: consider passing by value instead: `i64` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/genetic_algorithm.rs:457:48 [INFO] [stderr] | [INFO] [stderr] 457 | let target_as_float: f64 = random_float * (permutation_evaluation_sum.clone() as f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*permutation_evaluation_sum` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/genetic_algorithm.rs:465:46 [INFO] [stderr] | [INFO] [stderr] 465 | fn get_best_population_element_value(matrix: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: change this to: `&[Vec]` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/genetic_algorithm.rs:466:50 [INFO] [stderr] | [INFO] [stderr] 466 | population: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: change this to: `&[Vec]` [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: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:75:22 [INFO] [stderr] | [INFO] [stderr] 75 | fn solve_genetic(mut matrix: &mut Vec>) { [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/genetic_algorithm.rs:22:9 [INFO] [stderr] | [INFO] [stderr] 22 | let mut number_of_cities: i32 = matrix.len() as i32; [INFO] [stderr] | ----^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/genetic_algorithm.rs:25:9 [INFO] [stderr] | [INFO] [stderr] 25 | let mut nodes: Vec = (0..number_of_cities).collect(); [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/genetic_algorithm.rs:34:9 [INFO] [stderr] | [INFO] [stderr] 34 | let mut parents_population_size: i32 = population_size / 2; [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/genetic_algorithm.rs:289:9 [INFO] [stderr] | [INFO] [stderr] 289 | let mut path_value: i32 = permutation_value(&matrix, &permutation); [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/genetic_algorithm.rs:291:9 [INFO] [stderr] | [INFO] [stderr] 291 | let mut max_path_value: i32 = ::max_value(); [INFO] [stderr] | ----^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/genetic_algorithm.rs:308:9 [INFO] [stderr] | [INFO] [stderr] 308 | let mut parents_pair: Vec> = generate_parents_pair(&parents_population); [INFO] [stderr] | ----^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/genetic_algorithm.rs:403:9 [INFO] [stderr] | [INFO] [stderr] 403 | let mut saved_element: i32 = permutation[first_element_index]; [INFO] [stderr] | ----^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: function is never used: `print_tabu_list` [INFO] [stderr] --> src/print_utils.rs:10:1 [INFO] [stderr] | [INFO] [stderr] 10 | pub fn print_tabu_list(tabu_list: &Vec>) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `print_result` [INFO] [stderr] --> src/print_utils.rs:18:1 [INFO] [stderr] | [INFO] [stderr] 18 | pub fn print_result(result: i32, result_path: Vec, elapsed_time: i64) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `j` is used to index `node_list` [INFO] [stderr] --> src/file_reader.rs:118:18 [INFO] [stderr] | [INFO] [stderr] 118 | for j in 0..node_list.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] 118 | for (j, ) in node_list.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `parsed_line`. [INFO] [stderr] --> src/file_reader.rs:187:30 [INFO] [stderr] | [INFO] [stderr] 187 | for i in 0..(parsed_line.len() as usize) { [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] 187 | for in parsed_line.iter().take((parsed_line.len() as usize)) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/file_reader.rs:202:9 [INFO] [stderr] | [INFO] [stderr] 202 | current_line = current_line + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `current_line += 1` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [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/print_utils.rs:2:29 [INFO] [stderr] | [INFO] [stderr] 2 | pub fn print_matrix(matrix: &Vec>) { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: change this to: `&[Vec]` [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/print_utils.rs:10:35 [INFO] [stderr] | [INFO] [stderr] 10 | pub fn print_tabu_list(tabu_list: &Vec>) { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: change this to: `&[Vec]` [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/genetic_algorithm.rs:74:29 [INFO] [stderr] | [INFO] [stderr] 74 | best_solution = current_best_solution.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `current_best_solution` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/genetic_algorithm.rs:90:12 [INFO] [stderr] | [INFO] [stderr] 90 | nodes: &Vec, [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] help: change this to [INFO] [stderr] | [INFO] [stderr] 90 | nodes: &[i32], [INFO] [stderr] | ^^^^^^ [INFO] [stderr] help: change `nodes.clone()` to [INFO] [stderr] | [INFO] [stderr] 108| single_population_element = nodes.to_owned(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/genetic_algorithm.rs:88:23 [INFO] [stderr] | [INFO] [stderr] 88 | number_of_cities: &i32, [INFO] [stderr] | ^^^^ help: consider passing by value instead: `i32` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/genetic_algorithm.rs:89:22 [INFO] [stderr] | [INFO] [stderr] 89 | population_size: &i32, [INFO] [stderr] | ^^^^ help: consider passing by value instead: `i32` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/genetic_algorithm.rs:106:17 [INFO] [stderr] | [INFO] [stderr] 106 | for i in 0..(population_size.clone()) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*population_size` [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/genetic_algorithm.rs:114:48 [INFO] [stderr] | [INFO] [stderr] 114 | single_population_element[j] = single_population_element[0].clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `single_population_element[0]` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/genetic_algorithm.rs:128:13 [INFO] [stderr] | [INFO] [stderr] 128 | matrix: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: change this to: `&[Vec]` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/genetic_algorithm.rs:129:17 [INFO] [stderr] | [INFO] [stderr] 129 | population: &Vec>, [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] help: change this to [INFO] [stderr] | [INFO] [stderr] 129 | population: &[Vec], [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] help: change `population.clone()` to [INFO] [stderr] | [INFO] [stderr] 138 | let mut current_population: Vec> = population.to_owned(); [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/genetic_algorithm.rs:131:26 [INFO] [stderr] | [INFO] [stderr] 131 | population_children: &Vec>, [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] help: change this to [INFO] [stderr] | [INFO] [stderr] 131 | population_children: &[Vec], [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] help: change `population_children.clone()` to [INFO] [stderr] | [INFO] [stderr] 139 | let mut current_population_children: Vec> = population_children.to_owned(); [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/genetic_algorithm.rs:202:17 [INFO] [stderr] | [INFO] [stderr] 202 | population: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: change this to: `&[Vec]` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/genetic_algorithm.rs:205:13 [INFO] [stderr] | [INFO] [stderr] 205 | matrix: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: change this to: `&[Vec]` [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/genetic_algorithm.rs:203:22 [INFO] [stderr] | [INFO] [stderr] 203 | population_size: &i32, [INFO] [stderr] | ^^^^ help: consider passing by value instead: `i32` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/genetic_algorithm.rs:204:30 [INFO] [stderr] | [INFO] [stderr] 204 | parents_population_size: &i32, [INFO] [stderr] | ^^^^ help: consider passing by value instead: `i32` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/genetic_algorithm.rs:217:17 [INFO] [stderr] | [INFO] [stderr] 217 | for i in 0..population_size.clone() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*population_size` [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: manual implementation of an assign operation [INFO] [stderr] --> src/genetic_algorithm.rs:222:9 [INFO] [stderr] | [INFO] [stderr] 222 | / permutations_evaluation_sum = permutations_evaluation_sum + [INFO] [stderr] 223 | | permutation_evaluation_values[i as usize] as i64; [INFO] [stderr] | |____________________________________________________________^ help: replace it with: `permutations_evaluation_sum += permutation_evaluation_values[i as usize] as i64` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/genetic_algorithm.rs:223:13 [INFO] [stderr] | [INFO] [stderr] 223 | permutation_evaluation_values[i as usize] as i64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(permutation_evaluation_values[i as usize])` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/genetic_algorithm.rs:229:17 [INFO] [stderr] | [INFO] [stderr] 229 | for i in 0..parents_population_size.clone() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*parents_population_size` [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/genetic_algorithm.rs:238:21 [INFO] [stderr] | [INFO] [stderr] 238 | for i in 0..population_size.clone() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*population_size` [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: manual implementation of an assign operation [INFO] [stderr] --> src/genetic_algorithm.rs:240:13 [INFO] [stderr] | [INFO] [stderr] 240 | current_value = current_value + permutation_evaluation_values[i as usize] as i64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `current_value += permutation_evaluation_values[i as usize] as i64` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/genetic_algorithm.rs:240:45 [INFO] [stderr] | [INFO] [stderr] 240 | current_value = current_value + permutation_evaluation_values[i as usize] as i64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(permutation_evaluation_values[i as usize])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/genetic_algorithm.rs:251:17 [INFO] [stderr] | [INFO] [stderr] 251 | previous_value = previous_value + permutation_evaluation_values[i as usize] as i64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `previous_value += permutation_evaluation_values[i as usize] as i64` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/genetic_algorithm.rs:251:51 [INFO] [stderr] | [INFO] [stderr] 251 | previous_value = previous_value + permutation_evaluation_values[i as usize] as i64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(permutation_evaluation_values[i as usize])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [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/genetic_algorithm.rs:262:30 [INFO] [stderr] | [INFO] [stderr] 262 | fn permutation_value(matrix: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: change this to: `&[Vec]` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/genetic_algorithm.rs:263:35 [INFO] [stderr] | [INFO] [stderr] 263 | permutation: &Vec [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[i32]` [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: manual implementation of an assign operation [INFO] [stderr] --> src/genetic_algorithm.rs:273:9 [INFO] [stderr] | [INFO] [stderr] 273 | value = value + matrix[previous_node][(permutation[(i as usize)] as usize)]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `value += matrix[previous_node][(permutation[(i as usize)] as usize)]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/genetic_algorithm.rs:278:5 [INFO] [stderr] | [INFO] [stderr] 278 | value = value + matrix[previous_node][0]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `value += matrix[previous_node][0]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [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/genetic_algorithm.rs:284:41 [INFO] [stderr] | [INFO] [stderr] 284 | fn permutation_evaluation_value(matrix: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: change this to: `&[Vec]` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/genetic_algorithm.rs:285:46 [INFO] [stderr] | [INFO] [stderr] 285 | permutation: &Vec [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[i32]` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/genetic_algorithm.rs:300:25 [INFO] [stderr] | [INFO] [stderr] 300 | parents_population: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: change this to: `&[Vec]` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/genetic_algorithm.rs:323:41 [INFO] [stderr] | [INFO] [stderr] 323 | fn cross_single_child_pmx(parents_pair: &Vec> [INFO] [stderr] | ^^^^^^^^^^^^^^ help: change this to: `&[Vec]` [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/genetic_algorithm.rs:343:39 [INFO] [stderr] | [INFO] [stderr] 343 | let temp_cross_point: usize = second_cross_point.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `second_cross_point` [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/genetic_algorithm.rs:344:30 [INFO] [stderr] | [INFO] [stderr] 344 | second_cross_point = first_cross_point.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `first_cross_point` [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/genetic_algorithm.rs:351:20 [INFO] [stderr] | [INFO] [stderr] 351 | child[i] = parents_pair[0][i].clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `parents_pair[0][i]` [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/genetic_algorithm.rs:361:30 [INFO] [stderr] | [INFO] [stderr] 361 | swap_index = second_cross_point.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `second_cross_point` [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/genetic_algorithm.rs:364:33 [INFO] [stderr] | [INFO] [stderr] 364 | child[swap_index] = parents_pair[1][i].clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `parents_pair[1][i]` [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: manual implementation of an assign operation [INFO] [stderr] --> src/genetic_algorithm.rs:365:13 [INFO] [stderr] | [INFO] [stderr] 365 | swap_index = swap_index + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `swap_index += 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [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/genetic_algorithm.rs:374:46 [INFO] [stderr] | [INFO] [stderr] 374 | fn generate_parents_pair(parents_population: &Vec> [INFO] [stderr] | ^^^^^^^^^^^^^^ help: change this to: `&[Vec]` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/genetic_algorithm.rs:395:18 [INFO] [stderr] | [INFO] [stderr] 395 | permutation: &Vec, [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] help: change this to [INFO] [stderr] | [INFO] [stderr] 395 | permutation: &[i32], [INFO] [stderr] | ^^^^^^ [INFO] [stderr] help: change `permutation.clone()` to [INFO] [stderr] | [INFO] [stderr] 401 | let mut new_population: Vec = permutation.to_owned(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/genetic_algorithm.rs:451:65 [INFO] [stderr] | [INFO] [stderr] 451 | fn generate_randomized_target_value(permutation_evaluation_sum: &i64 [INFO] [stderr] | ^^^^ help: consider passing by value instead: `i64` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/genetic_algorithm.rs:457:48 [INFO] [stderr] | [INFO] [stderr] 457 | let target_as_float: f64 = random_float * (permutation_evaluation_sum.clone() as f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*permutation_evaluation_sum` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/genetic_algorithm.rs:465:46 [INFO] [stderr] | [INFO] [stderr] 465 | fn get_best_population_element_value(matrix: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: change this to: `&[Vec]` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/genetic_algorithm.rs:466:50 [INFO] [stderr] | [INFO] [stderr] 466 | population: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: change this to: `&[Vec]` [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] Finished dev [unoptimized + debuginfo] target(s) in 3.72s [INFO] running `"docker" "inspect" "b939a59ef54c29767df8311025303b456537e9fa55c189524b7146a31cf93574"` [INFO] running `"docker" "rm" "-f" "b939a59ef54c29767df8311025303b456537e9fa55c189524b7146a31cf93574"` [INFO] [stdout] b939a59ef54c29767df8311025303b456537e9fa55c189524b7146a31cf93574