[INFO] updating cached repository duvholt/rust-metaheuristic-framework [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/duvholt/rust-metaheuristic-framework [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/duvholt/rust-metaheuristic-framework" "work/ex/pr-63376/sources/master#60960a260f7b5c695fd0717311d72ce62dd4eb43/gh/duvholt/rust-metaheuristic-framework"` [INFO] [stderr] Cloning into 'work/ex/pr-63376/sources/master#60960a260f7b5c695fd0717311d72ce62dd4eb43/gh/duvholt/rust-metaheuristic-framework'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/duvholt/rust-metaheuristic-framework" "work/ex/pr-63376/sources/try#266783e4e09e4e9d5307c1c8e695659c58bbcac7/gh/duvholt/rust-metaheuristic-framework"` [INFO] [stderr] Cloning into 'work/ex/pr-63376/sources/try#266783e4e09e4e9d5307c1c8e695659c58bbcac7/gh/duvholt/rust-metaheuristic-framework'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 11c125e2a2840aed9b61b2f40b7bc406ec9970f2 [INFO] sha for GitHub repo duvholt/rust-metaheuristic-framework: 11c125e2a2840aed9b61b2f40b7bc406ec9970f2 [INFO] validating manifest of duvholt/rust-metaheuristic-framework on toolchain master#60960a260f7b5c695fd0717311d72ce62dd4eb43 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+60960a260f7b5c695fd0717311d72ce62dd4eb43-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of duvholt/rust-metaheuristic-framework on toolchain try#266783e4e09e4e9d5307c1c8e695659c58bbcac7 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+266783e4e09e4e9d5307c1c8e695659c58bbcac7-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing duvholt/rust-metaheuristic-framework [INFO] finished frobbing duvholt/rust-metaheuristic-framework [INFO] frobbed toml for duvholt/rust-metaheuristic-framework written to work/ex/pr-63376/sources/master#60960a260f7b5c695fd0717311d72ce62dd4eb43/gh/duvholt/rust-metaheuristic-framework/Cargo.toml [INFO] started frobbing duvholt/rust-metaheuristic-framework [INFO] finished frobbing duvholt/rust-metaheuristic-framework [INFO] frobbed toml for duvholt/rust-metaheuristic-framework written to work/ex/pr-63376/sources/try#266783e4e09e4e9d5307c1c8e695659c58bbcac7/gh/duvholt/rust-metaheuristic-framework/Cargo.toml [INFO] crate duvholt/rust-metaheuristic-framework already has a lockfile, it will not be regenerated [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+60960a260f7b5c695fd0717311d72ce62dd4eb43-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+266783e4e09e4e9d5307c1c8e695659c58bbcac7-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] checking duvholt/rust-metaheuristic-framework against master#60960a260f7b5c695fd0717311d72ce62dd4eb43 for pr-63376 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/pr-63376/worker-1/master#60960a260f7b5c695fd0717311d72ce62dd4eb43:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/pr-63376/sources/master#60960a260f7b5c695fd0717311d72ce62dd4eb43/gh/duvholt/rust-metaheuristic-framework:/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" "-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" "+60960a260f7b5c695fd0717311d72ce62dd4eb43-alt" "check" "--frozen" "--all" "--all-targets"` [INFO] [stdout] fa6050d215bef1705f4d437c1048548c869401cc60a5e15a0ef4a58d87bf43ba [INFO] running `"docker" "start" "-a" "fa6050d215bef1705f4d437c1048548c869401cc60a5e15a0ef4a58d87bf43ba"` [INFO] [stderr] Checking assert_approx_eq v1.0.0 [INFO] [stderr] Checking serde_json v1.0.14 [INFO] [stderr] Checking statistical v0.1.1 [INFO] [stderr] Checking rustoa v0.0.1 (/opt/crater/workdir) [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/fitness_evaluation.rs:7:31 [INFO] [stderr] | [INFO] [stderr] 7 | pub type SingleTestFunction = Fn(&Vec) -> f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&Vec) -> f64` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/fitness_evaluation.rs:8:30 [INFO] [stderr] | [INFO] [stderr] 8 | pub type MultiTestFunction = Fn(&Vec) -> Vec; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&Vec) -> Vec` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/fitness_evaluation.rs:79:88 [INFO] [stderr] | [INFO] [stderr] 79 | pub fn read_shifted(&mut self, number: usize, dimensions: usize) -> Result<(), Box> { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Error` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/fitness_evaluation.rs:93:87 [INFO] [stderr] | [INFO] [stderr] 93 | pub fn read_rotate(&mut self, number: usize, dimensions: usize) -> Result<(), Box> { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Error` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/solution.rs:32:35 [INFO] [stderr] | [INFO] [stderr] 32 | pub fn from_single(solution: &Solution) -> SolutionJSON { [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn Solution` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/solution.rs:39:34 [INFO] [stderr] | [INFO] [stderr] 39 | pub fn from_multi(solution: &Solution>) -> SolutionJSON { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Solution>` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/fitness_evaluation.rs:7:31 [INFO] [stderr] | [INFO] [stderr] 7 | pub type SingleTestFunction = Fn(&Vec) -> f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&Vec) -> f64` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/fitness_evaluation.rs:8:30 [INFO] [stderr] | [INFO] [stderr] 8 | pub type MultiTestFunction = Fn(&Vec) -> Vec; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&Vec) -> Vec` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/fitness_evaluation.rs:79:88 [INFO] [stderr] | [INFO] [stderr] 79 | pub fn read_shifted(&mut self, number: usize, dimensions: usize) -> Result<(), Box> { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Error` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/fitness_evaluation.rs:93:87 [INFO] [stderr] | [INFO] [stderr] 93 | pub fn read_rotate(&mut self, number: usize, dimensions: usize) -> Result<(), Box> { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Error` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/problems/multi/dtlz.rs:188:28 [INFO] [stderr] | [INFO] [stderr] 188 | fn dtlz_optimum(dtlz: &Fn(&Vec) -> Vec, sum: &Fn(Vec) -> f64, x: f64, f: f64) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&Vec) -> Vec` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/problems/multi/dtlz.rs:188:61 [INFO] [stderr] | [INFO] [stderr] 188 | fn dtlz_optimum(dtlz: &Fn(&Vec) -> Vec, sum: &Fn(Vec) -> f64, x: f64, f: f64) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Vec) -> f64` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/problems/multi/dtlz.rs:202:32 [INFO] [stderr] | [INFO] [stderr] 202 | fn dtlz_not_optimum(dtlz: &Fn(&Vec) -> Vec, sum: &Fn(Vec) -> f64, f: f64) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&Vec) -> Vec` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/problems/multi/dtlz.rs:202:65 [INFO] [stderr] | [INFO] [stderr] 202 | fn dtlz_not_optimum(dtlz: &Fn(&Vec) -> Vec, sum: &Fn(Vec) -> f64, f: f64) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Vec) -> f64` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/solution.rs:32:35 [INFO] [stderr] | [INFO] [stderr] 32 | pub fn from_single(solution: &Solution) -> SolutionJSON { [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn Solution` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/solution.rs:39:34 [INFO] [stderr] | [INFO] [stderr] 39 | pub fn from_multi(solution: &Solution>) -> SolutionJSON { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Solution>` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/testing/utils.rs:29:40 [INFO] [stderr] | [INFO] [stderr] 29 | pub fn jmetal_compare(number: i8, uf: &Fn(&Vec) -> Vec, name: &str) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&Vec) -> Vec` [INFO] [stderr] [INFO] [stderr] warning: the item `serde_json` is imported redundantly [INFO] [stderr] --> src/testing/utils.rs:30:9 [INFO] [stderr] | [INFO] [stderr] 30 | use serde_json; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/lib.rs:15:1 [INFO] [stderr] | [INFO] [stderr] 15 | extern crate serde_json; [INFO] [stderr] | ------------------------ the item `serde_json` is already imported here [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/algorithms/amo.rs:91:21 [INFO] [stderr] | [INFO] [stderr] 91 | let mut index_offset = [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/algorithms/archive_amo.rs:126:21 [INFO] [stderr] | [INFO] [stderr] 126 | let mut index_offset = [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/algorithms/ewa.rs:268:17 [INFO] [stderr] | [INFO] [stderr] 268 | let mut new_worm = worms.combine_worms(&offspring1, &offspring2, iteration); [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/algorithms/loa.rs:297:23 [INFO] [stderr] | [INFO] [stderr] 297 | for (pride_index, mut lions) in pride_lions.chunks(pride_size).into_iter().enumerate() { [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/algorithms/loa.rs:997:14 [INFO] [stderr] | [INFO] [stderr] 997 | let (mut males, mut females) = partition_on_sex(nomad.population.into_iter().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/algorithms/loa.rs:997:25 [INFO] [stderr] | [INFO] [stderr] 997 | let (mut males, mut females) = partition_on_sex(nomad.population.into_iter().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/algorithms/moamo.rs:125:21 [INFO] [stderr] | [INFO] [stderr] 125 | let mut index_offset = [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/algorithms/nsamo.rs:100:21 [INFO] [stderr] | [INFO] [stderr] 100 | let mut index_offset = [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/statistics/sampler.rs:109:21 [INFO] [stderr] | [INFO] [stderr] 109 | let mut solutions = samples [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/algorithms/amo.rs:91:21 [INFO] [stderr] | [INFO] [stderr] 91 | let mut index_offset = [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/algorithms/archive_amo.rs:126:21 [INFO] [stderr] | [INFO] [stderr] 126 | let mut index_offset = [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/algorithms/ewa.rs:268:17 [INFO] [stderr] | [INFO] [stderr] 268 | let mut new_worm = worms.combine_worms(&offspring1, &offspring2, iteration); [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/algorithms/loa.rs:297:23 [INFO] [stderr] | [INFO] [stderr] 297 | for (pride_index, mut lions) in pride_lions.chunks(pride_size).into_iter().enumerate() { [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/algorithms/loa.rs:997:14 [INFO] [stderr] | [INFO] [stderr] 997 | let (mut males, mut females) = partition_on_sex(nomad.population.into_iter().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/algorithms/loa.rs:997:25 [INFO] [stderr] | [INFO] [stderr] 997 | let (mut males, mut females) = partition_on_sex(nomad.population.into_iter().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/algorithms/moamo.rs:125:21 [INFO] [stderr] | [INFO] [stderr] 125 | let mut index_offset = [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/algorithms/nsamo.rs:100:21 [INFO] [stderr] | [INFO] [stderr] 100 | let mut index_offset = [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/statistics/sampler.rs:109:21 [INFO] [stderr] | [INFO] [stderr] 109 | let mut solutions = samples [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 13.82s [INFO] running `"docker" "inspect" "fa6050d215bef1705f4d437c1048548c869401cc60a5e15a0ef4a58d87bf43ba"` [INFO] running `"docker" "rm" "-f" "fa6050d215bef1705f4d437c1048548c869401cc60a5e15a0ef4a58d87bf43ba"` [INFO] [stdout] fa6050d215bef1705f4d437c1048548c869401cc60a5e15a0ef4a58d87bf43ba