[INFO] cloning repository https://github.com/Gustorn/tsp [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Gustorn/tsp" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FGustorn%2Ftsp", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FGustorn%2Ftsp'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 096a391667eb5b12d3abbfdff5fe277a657f9a87 [INFO] testing Gustorn/tsp against master#a77da2d454e6caa227a85b16410b95f93495e7e0 for pr-91031 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FGustorn%2Ftsp" "/workspace/builds/worker-106/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-106/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Gustorn/tsp on toolchain a77da2d454e6caa227a85b16410b95f93495e7e0 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+a77da2d454e6caa227a85b16410b95f93495e7e0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/Gustorn/tsp [INFO] finished tweaking git repo https://github.com/Gustorn/tsp [INFO] tweaked toml for git repo https://github.com/Gustorn/tsp written to /workspace/builds/worker-106/source/Cargo.toml [INFO] crate git repo https://github.com/Gustorn/tsp already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+a77da2d454e6caa227a85b16410b95f93495e7e0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded linear-map v0.0.4 [INFO] [stderr] Downloaded timeit v0.1.2 [INFO] [stderr] Downloaded libc v0.2.4 [INFO] [stderr] Downloaded itertools v0.4.4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-106/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-106/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:5736fa189c1c60b01babf4b8b698fe57b6ecc41933a7ff2e0b8d7a221459412b" "/opt/rustwide/cargo-home/bin/cargo" "+a77da2d454e6caa227a85b16410b95f93495e7e0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 04d17d90a54cd90ec7d18a7f5d22c12378e42c0233546981b5e4a820f4f591ed [INFO] running `Command { std: "docker" "start" "-a" "04d17d90a54cd90ec7d18a7f5d22c12378e42c0233546981b5e4a820f4f591ed", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "04d17d90a54cd90ec7d18a7f5d22c12378e42c0233546981b5e4a820f4f591ed", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "04d17d90a54cd90ec7d18a7f5d22c12378e42c0233546981b5e4a820f4f591ed", kill_on_drop: false }` [INFO] [stdout] 04d17d90a54cd90ec7d18a7f5d22c12378e42c0233546981b5e4a820f4f591ed [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-106/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-106/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:5736fa189c1c60b01babf4b8b698fe57b6ecc41933a7ff2e0b8d7a221459412b" "/opt/rustwide/cargo-home/bin/cargo" "+a77da2d454e6caa227a85b16410b95f93495e7e0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 9c3acd3c7b98c71ae2ca805b485c162b291a3031dfc81b98529e5647bb3a5736 [INFO] running `Command { std: "docker" "start" "-a" "9c3acd3c7b98c71ae2ca805b485c162b291a3031dfc81b98529e5647bb3a5736", kill_on_drop: false }` [INFO] [stderr] Compiling winapi-build v0.1.1 [INFO] [stderr] Compiling winapi v0.2.5 [INFO] [stderr] Compiling libc v0.2.4 [INFO] [stderr] Compiling cast v0.0.0 (https://github.com/japaric/cast.rs#34ee2159) [INFO] [stderr] Compiling linear-map v0.0.4 [INFO] [stderr] Compiling itertools v0.4.4 [INFO] [stderr] Compiling float v0.0.0 (https://github.com/japaric/float.rs#6f1ad86a) [INFO] [stderr] Compiling kernel32-sys v0.2.1 [INFO] [stderr] Compiling advapi32-sys v0.1.2 [INFO] [stderr] Compiling approx v0.0.0 (https://github.com/japaric/approx.rs#7f3d5147) [INFO] [stderr] Compiling rand v0.3.12 [INFO] [stderr] Compiling time v0.1.34 [INFO] [stderr] Compiling timeit v0.1.2 [INFO] [stderr] Compiling genetic v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused macro definition: `assert_approx_eq` [INFO] [stdout] --> src/utility/macros.rs:1:14 [INFO] [stdout] | [INFO] [stdout] 1 | macro_rules! assert_approx_eq { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_macros)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `test_crossover` [INFO] [stdout] --> src/crossover/macros.rs:8:14 [INFO] [stdout] | [INFO] [stdout] 8 | macro_rules! test_crossover { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `test_crossover_panic` [INFO] [stdout] --> src/crossover/macros.rs:26:14 [INFO] [stdout] | [INFO] [stdout] 26 | macro_rules! test_crossover_panic { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `bench_crossover` [INFO] [stdout] --> src/crossover/macros.rs:48:14 [INFO] [stdout] | [INFO] [stdout] 48 | macro_rules! bench_crossover { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `happens` exists for struct `ThreadRng`, but its trait bounds were not satisfied [INFO] [stdout] --> src/algorithm.rs:69:28 [INFO] [stdout] | [INFO] [stdout] 69 | if rng.happens(self.crossover_rate) { [INFO] [stdout] | ^^^^^^^ method cannot be called on `ThreadRng` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/rand-0.3.12/src/lib.rs:856:1 [INFO] [stdout] | [INFO] [stdout] 856 | pub struct ThreadRng { [INFO] [stdout] | -------------------- doesn't satisfy `ThreadRng: RngExt` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `ThreadRng: RngExt` [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] note: `RngExt` defines an item `happens`, perhaps you need to implement it [INFO] [stdout] --> src/utility/mod.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | pub trait RngExt: Rng where Self: Sized { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `independent_indexes` exists for struct `ThreadRng`, but its trait bounds were not satisfied [INFO] [stdout] --> src/crossover/cut_splice.rs:34:28 [INFO] [stdout] | [INFO] [stdout] 34 | .unwrap_or(rng.independent_indexes(parent1, parent2)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ method cannot be called on `ThreadRng` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/rand-0.3.12/src/lib.rs:856:1 [INFO] [stdout] | [INFO] [stdout] 856 | pub struct ThreadRng { [INFO] [stdout] | -------------------- doesn't satisfy `ThreadRng: RngExt` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `ThreadRng: RngExt` [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] note: `RngExt` defines an item `independent_indexes`, perhaps you need to implement it [INFO] [stdout] --> src/utility/mod.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | pub trait RngExt: Rng where Self: Sized { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `choose1` exists for struct `ThreadRng`, but its trait bounds were not satisfied [INFO] [stdout] --> src/crossover/edge_recombination.rs:34:26 [INFO] [stdout] | [INFO] [stdout] 34 | let start0 = rng.choose1(parent1); [INFO] [stdout] | ^^^^^^^ method cannot be called on `ThreadRng` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/rand-0.3.12/src/lib.rs:856:1 [INFO] [stdout] | [INFO] [stdout] 856 | pub struct ThreadRng { [INFO] [stdout] | -------------------- doesn't satisfy `ThreadRng: RngExt` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `ThreadRng: RngExt` [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] note: `RngExt` defines an item `choose1`, perhaps you need to implement it [INFO] [stdout] --> src/utility/mod.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | pub trait RngExt: Rng where Self: Sized { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `choose1` exists for struct `ThreadRng`, but its trait bounds were not satisfied [INFO] [stdout] --> src/crossover/edge_recombination.rs:35:26 [INFO] [stdout] | [INFO] [stdout] 35 | let start1 = rng.choose1(parent2); [INFO] [stdout] | ^^^^^^^ method cannot be called on `ThreadRng` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/rand-0.3.12/src/lib.rs:856:1 [INFO] [stdout] | [INFO] [stdout] 856 | pub struct ThreadRng { [INFO] [stdout] | -------------------- doesn't satisfy `ThreadRng: RngExt` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `ThreadRng: RngExt` [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] note: `RngExt` defines an item `choose1`, perhaps you need to implement it [INFO] [stdout] --> src/utility/mod.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | pub trait RngExt: Rng where Self: Sized { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `choose1` exists for mutable reference `&mut R`, but its trait bounds were not satisfied [INFO] [stdout] --> src/crossover/edge_recombination.rs:94:13 [INFO] [stdout] | [INFO] [stdout] 94 | rng.choose1(&min_group).0.clone() [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `R: RngExt` [INFO] [stdout] `&mut R: RngExt` [INFO] [stdout] = help: items from traits can only be used if the type parameter is bounded by the trait [INFO] [stdout] help: the following trait defines an item `choose1`, perhaps you need to restrict type parameter `R` with it: [INFO] [stdout] | [INFO] [stdout] 76 | fn best_neighbor(current: &T, adjacency_matrix: &mut LinearMap>, rng: &mut R) -> T [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `index` exists for struct `ThreadRng`, but its trait bounds were not satisfied [INFO] [stdout] --> src/crossover/one_point.rs:33:53 [INFO] [stdout] | [INFO] [stdout] 33 | let split = self.preset_split.unwrap_or(rng.index(parent1)); [INFO] [stdout] | ^^^^^ method cannot be called on `ThreadRng` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/rand-0.3.12/src/lib.rs:856:1 [INFO] [stdout] | [INFO] [stdout] 856 | pub struct ThreadRng { [INFO] [stdout] | -------------------- doesn't satisfy `ThreadRng: RngExt` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `ThreadRng: RngExt` [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] note: `RngExt` defines an item `index`, perhaps you need to implement it [INFO] [stdout] --> src/utility/mod.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | pub trait RngExt: Rng where Self: Sized { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `range_indexes` exists for struct `ThreadRng`, but its trait bounds were not satisfied [INFO] [stdout] --> src/crossover/order1.rs:36:53 [INFO] [stdout] | [INFO] [stdout] 36 | let split = self.preset_split.unwrap_or(rng.range_indexes(parent1)); [INFO] [stdout] | ^^^^^^^^^^^^^ method cannot be called on `ThreadRng` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/rand-0.3.12/src/lib.rs:856:1 [INFO] [stdout] | [INFO] [stdout] 856 | pub struct ThreadRng { [INFO] [stdout] | -------------------- doesn't satisfy `ThreadRng: RngExt` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `ThreadRng: RngExt` [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] note: `RngExt` defines an item `range_indexes`, perhaps you need to implement it [INFO] [stdout] --> src/utility/mod.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | pub trait RngExt: Rng where Self: Sized { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `range_indexes` exists for struct `ThreadRng`, but its trait bounds were not satisfied [INFO] [stdout] --> src/crossover/partially_mapped.rs:40:53 [INFO] [stdout] | [INFO] [stdout] 40 | let split = self.preset_split.unwrap_or(rng.range_indexes(parent1)); [INFO] [stdout] | ^^^^^^^^^^^^^ method cannot be called on `ThreadRng` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/rand-0.3.12/src/lib.rs:856:1 [INFO] [stdout] | [INFO] [stdout] 856 | pub struct ThreadRng { [INFO] [stdout] | -------------------- doesn't satisfy `ThreadRng: RngExt` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `ThreadRng: RngExt` [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] note: `RngExt` defines an item `range_indexes`, perhaps you need to implement it [INFO] [stdout] --> src/utility/mod.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | pub trait RngExt: Rng where Self: Sized { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `range_indexes` exists for struct `ThreadRng`, but its trait bounds were not satisfied [INFO] [stdout] --> src/crossover/two_point.rs:39:68 [INFO] [stdout] | [INFO] [stdout] 39 | let (mid_start, mid_end) = self.preset_split.unwrap_or(rng.range_indexes(parent1)); [INFO] [stdout] | ^^^^^^^^^^^^^ method cannot be called on `ThreadRng` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/rand-0.3.12/src/lib.rs:856:1 [INFO] [stdout] | [INFO] [stdout] 856 | pub struct ThreadRng { [INFO] [stdout] | -------------------- doesn't satisfy `ThreadRng: RngExt` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `ThreadRng: RngExt` [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] note: `RngExt` defines an item `range_indexes`, perhaps you need to implement it [INFO] [stdout] --> src/utility/mod.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | pub trait RngExt: Rng where Self: Sized { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `happens` exists for struct `ThreadRng`, but its trait bounds were not satisfied [INFO] [stdout] --> src/crossover/uniform.rs:33:20 [INFO] [stdout] | [INFO] [stdout] 33 | if rng.happens(self.probability) { [INFO] [stdout] | ^^^^^^^ method cannot be called on `ThreadRng` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/rand-0.3.12/src/lib.rs:856:1 [INFO] [stdout] | [INFO] [stdout] 856 | pub struct ThreadRng { [INFO] [stdout] | -------------------- doesn't satisfy `ThreadRng: RngExt` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `ThreadRng: RngExt` [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] note: `RngExt` defines an item `happens`, perhaps you need to implement it [INFO] [stdout] --> src/utility/mod.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | pub trait RngExt: Rng where Self: Sized { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `happens` exists for struct `ThreadRng`, but its trait bounds were not satisfied [INFO] [stdout] --> src/mutation/centre_inverse.rs:24:16 [INFO] [stdout] | [INFO] [stdout] 24 | if rng.happens(mutation_rate) { [INFO] [stdout] | ^^^^^^^ method cannot be called on `ThreadRng` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/rand-0.3.12/src/lib.rs:856:1 [INFO] [stdout] | [INFO] [stdout] 856 | pub struct ThreadRng { [INFO] [stdout] | -------------------- doesn't satisfy `ThreadRng: RngExt` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `ThreadRng: RngExt` [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] note: `RngExt` defines an item `happens`, perhaps you need to implement it [INFO] [stdout] --> src/utility/mod.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | pub trait RngExt: Rng where Self: Sized { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `index` exists for struct `ThreadRng`, but its trait bounds were not satisfied [INFO] [stdout] --> src/mutation/centre_inverse.rs:26:57 [INFO] [stdout] | [INFO] [stdout] 26 | let split = self.preset_split.unwrap_or(rng.index(&genes)); [INFO] [stdout] | ^^^^^ method cannot be called on `ThreadRng` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/rand-0.3.12/src/lib.rs:856:1 [INFO] [stdout] | [INFO] [stdout] 856 | pub struct ThreadRng { [INFO] [stdout] | -------------------- doesn't satisfy `ThreadRng: RngExt` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `ThreadRng: RngExt` [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] note: `RngExt` defines an item `index`, perhaps you need to implement it [INFO] [stdout] --> src/utility/mod.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | pub trait RngExt: Rng where Self: Sized { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `happens` exists for struct `ThreadRng`, but its trait bounds were not satisfied [INFO] [stdout] --> src/mutation/flip_bit.rs:19:16 [INFO] [stdout] | [INFO] [stdout] 19 | if rng.happens(mutation_rate) { [INFO] [stdout] | ^^^^^^^ method cannot be called on `ThreadRng` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/rand-0.3.12/src/lib.rs:856:1 [INFO] [stdout] | [INFO] [stdout] 856 | pub struct ThreadRng { [INFO] [stdout] | -------------------- doesn't satisfy `ThreadRng: RngExt` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `ThreadRng: RngExt` [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] note: `RngExt` defines an item `happens`, perhaps you need to implement it [INFO] [stdout] --> src/utility/mod.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | pub trait RngExt: Rng where Self: Sized { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `index` exists for struct `ThreadRng`, but its trait bounds were not satisfied [INFO] [stdout] --> src/mutation/flip_bit.rs:20:32 [INFO] [stdout] | [INFO] [stdout] 20 | let position = rng.index(&genes); [INFO] [stdout] | ^^^^^ method cannot be called on `ThreadRng` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/rand-0.3.12/src/lib.rs:856:1 [INFO] [stdout] | [INFO] [stdout] 856 | pub struct ThreadRng { [INFO] [stdout] | -------------------- doesn't satisfy `ThreadRng: RngExt` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `ThreadRng: RngExt` [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] note: `RngExt` defines an item `index`, perhaps you need to implement it [INFO] [stdout] --> src/utility/mod.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | pub trait RngExt: Rng where Self: Sized { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `happens` exists for struct `ThreadRng`, but its trait bounds were not satisfied [INFO] [stdout] --> src/mutation/partial_shuffle.rs:21:20 [INFO] [stdout] | [INFO] [stdout] 21 | if rng.happens(mutation_rate) { [INFO] [stdout] | ^^^^^^^ method cannot be called on `ThreadRng` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/rand-0.3.12/src/lib.rs:856:1 [INFO] [stdout] | [INFO] [stdout] 856 | pub struct ThreadRng { [INFO] [stdout] | -------------------- doesn't satisfy `ThreadRng: RngExt` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `ThreadRng: RngExt` [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] note: `RngExt` defines an item `happens`, perhaps you need to implement it [INFO] [stdout] --> src/utility/mod.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | pub trait RngExt: Rng where Self: Sized { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `happens` exists for struct `ThreadRng`, but its trait bounds were not satisfied [INFO] [stdout] --> src/mutation/reverse_sequence.rs:28:16 [INFO] [stdout] | [INFO] [stdout] 28 | if rng.happens(mutation_rate) { [INFO] [stdout] | ^^^^^^^ method cannot be called on `ThreadRng` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/rand-0.3.12/src/lib.rs:856:1 [INFO] [stdout] | [INFO] [stdout] 856 | pub struct ThreadRng { [INFO] [stdout] | -------------------- doesn't satisfy `ThreadRng: RngExt` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `ThreadRng: RngExt` [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] note: `RngExt` defines an item `happens`, perhaps you need to implement it [INFO] [stdout] --> src/utility/mod.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | pub trait RngExt: Rng where Self: Sized { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `happens` exists for struct `ThreadRng`, but its trait bounds were not satisfied [INFO] [stdout] --> src/mutation/shuffle.rs:18:16 [INFO] [stdout] | [INFO] [stdout] 18 | if rng.happens(mutation_rate) { [INFO] [stdout] | ^^^^^^^ method cannot be called on `ThreadRng` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/rand-0.3.12/src/lib.rs:856:1 [INFO] [stdout] | [INFO] [stdout] 856 | pub struct ThreadRng { [INFO] [stdout] | -------------------- doesn't satisfy `ThreadRng: RngExt` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `ThreadRng: RngExt` [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] note: `RngExt` defines an item `happens`, perhaps you need to implement it [INFO] [stdout] --> src/utility/mod.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | pub trait RngExt: Rng where Self: Sized { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `happens` exists for struct `ThreadRng`, but its trait bounds were not satisfied [INFO] [stdout] --> src/mutation/thrors.rs:19:16 [INFO] [stdout] | [INFO] [stdout] 19 | if rng.happens(mutation_rate) { [INFO] [stdout] | ^^^^^^^ method cannot be called on `ThreadRng` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/rand-0.3.12/src/lib.rs:856:1 [INFO] [stdout] | [INFO] [stdout] 856 | pub struct ThreadRng { [INFO] [stdout] | -------------------- doesn't satisfy `ThreadRng: RngExt` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `ThreadRng: RngExt` [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] note: `RngExt` defines an item `happens`, perhaps you need to implement it [INFO] [stdout] --> src/utility/mod.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | pub trait RngExt: Rng where Self: Sized { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `happens` exists for struct `ThreadRng`, but its trait bounds were not satisfied [INFO] [stdout] --> src/mutation/twors.rs:18:16 [INFO] [stdout] | [INFO] [stdout] 18 | if rng.happens(mutation_rate) { [INFO] [stdout] | ^^^^^^^ method cannot be called on `ThreadRng` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/rand-0.3.12/src/lib.rs:856:1 [INFO] [stdout] | [INFO] [stdout] 856 | pub struct ThreadRng { [INFO] [stdout] | -------------------- doesn't satisfy `ThreadRng: RngExt` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `ThreadRng: RngExt` [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] note: `RngExt` defines an item `happens`, perhaps you need to implement it [INFO] [stdout] --> src/utility/mod.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | pub trait RngExt: Rng where Self: Sized { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `range_indexes` exists for struct `ThreadRng`, but its trait bounds were not satisfied [INFO] [stdout] --> src/mutation/twors.rs:19:32 [INFO] [stdout] | [INFO] [stdout] 19 | let (p0, p1) = rng.range_indexes(&genes); [INFO] [stdout] | ^^^^^^^^^^^^^ method cannot be called on `ThreadRng` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/rand-0.3.12/src/lib.rs:856:1 [INFO] [stdout] | [INFO] [stdout] 856 | pub struct ThreadRng { [INFO] [stdout] | -------------------- doesn't satisfy `ThreadRng: RngExt` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `ThreadRng: RngExt` [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] note: `RngExt` defines an item `range_indexes`, perhaps you need to implement it [INFO] [stdout] --> src/utility/mod.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | pub trait RngExt: Rng where Self: Sized { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `happens` exists for struct `ThreadRng`, but its trait bounds were not satisfied [INFO] [stdout] --> src/mutation/uniform.rs:27:20 [INFO] [stdout] | [INFO] [stdout] 27 | if rng.happens(mutation_rate) { [INFO] [stdout] | ^^^^^^^ method cannot be called on `ThreadRng` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/rand-0.3.12/src/lib.rs:856:1 [INFO] [stdout] | [INFO] [stdout] 856 | pub struct ThreadRng { [INFO] [stdout] | -------------------- doesn't satisfy `ThreadRng: RngExt` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `ThreadRng: RngExt` [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] note: `RngExt` defines an item `happens`, perhaps you need to implement it [INFO] [stdout] --> src/utility/mod.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | pub trait RngExt: Rng where Self: Sized { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `choose1` exists for struct `ThreadRng`, but its trait bounds were not satisfied [INFO] [stdout] --> src/reinsertion/uniform.rs:24:37 [INFO] [stdout] | [INFO] [stdout] 24 | random.push(rng.choose1(parents).clone()); [INFO] [stdout] | ^^^^^^^ method cannot be called on `ThreadRng` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/rand-0.3.12/src/lib.rs:856:1 [INFO] [stdout] | [INFO] [stdout] 856 | pub struct ThreadRng { [INFO] [stdout] | -------------------- doesn't satisfy `ThreadRng: RngExt` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `ThreadRng: RngExt` [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] note: `RngExt` defines an item `choose1`, perhaps you need to implement it [INFO] [stdout] --> src/utility/mod.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | pub trait RngExt: Rng where Self: Sized { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `choose1` exists for mutable reference `&mut R`, but its trait bounds were not satisfied [INFO] [stdout] --> src/selection/tournament.rs:47:23 [INFO] [stdout] | [INFO] [stdout] 47 | let mut max = rng.choose1(chromosomes); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `R: RngExt` [INFO] [stdout] `&mut R: RngExt` [INFO] [stdout] = help: items from traits can only be used if the type parameter is bounded by the trait [INFO] [stdout] help: the following trait defines an item `choose1`, perhaps you need to restrict type parameter `R` with it: [INFO] [stdout] | [INFO] [stdout] 43 | fn hold_tournament(chromosomes: &[Chromosome], [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `choose1` exists for mutable reference `&mut R`, but its trait bounds were not satisfied [INFO] [stdout] --> src/selection/tournament.rs:49:27 [INFO] [stdout] | [INFO] [stdout] 49 | let current = rng.choose1(chromosomes); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `R: RngExt` [INFO] [stdout] `&mut R: RngExt` [INFO] [stdout] = help: items from traits can only be used if the type parameter is bounded by the trait [INFO] [stdout] help: the following trait defines an item `choose1`, perhaps you need to restrict type parameter `R` with it: [INFO] [stdout] | [INFO] [stdout] 43 | fn hold_tournament(chromosomes: &[Chromosome], [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools` [INFO] [stdout] --> src/generation.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use itertools::Itertools; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `utility::RngExt` [INFO] [stdout] --> src/algorithm.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use utility::RngExt; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `utility::RngExt` [INFO] [stdout] --> src/crossover/cut_splice.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use utility::RngExt; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `utility::RngExt` [INFO] [stdout] --> src/crossover/edge_recombination.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use utility::RngExt; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `utility::RngExt` [INFO] [stdout] --> src/crossover/one_point.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use utility::RngExt; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `utility::RngExt` [INFO] [stdout] --> src/crossover/order1.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use utility::RngExt; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `utility::RngExt` [INFO] [stdout] --> src/crossover/partially_mapped.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use utility::RngExt; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `utility::RngExt` [INFO] [stdout] --> src/crossover/two_point.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use utility::RngExt; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `utility::RngExt` [INFO] [stdout] --> src/crossover/uniform.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use utility::RngExt; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `utility::RngExt` [INFO] [stdout] --> src/mutation/centre_inverse.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use utility::RngExt; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `utility::RngExt` [INFO] [stdout] --> src/mutation/flip_bit.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use utility::RngExt; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `utility::RngExt` [INFO] [stdout] --> src/mutation/partial_shuffle.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use utility::RngExt; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `utility::RngExt` [INFO] [stdout] --> src/mutation/reverse_sequence.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use utility::RngExt; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `utility::RngExt` [INFO] [stdout] --> src/mutation/shuffle.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use utility::RngExt; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Rng` [INFO] [stdout] --> src/mutation/thrors.rs:1:18 [INFO] [stdout] | [INFO] [stdout] 1 | use rand::{self, Rng}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RngExt` [INFO] [stdout] --> src/mutation/thrors.rs:5:23 [INFO] [stdout] | [INFO] [stdout] 5 | use utility::{Gather, RngExt}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `utility::RngExt` [INFO] [stdout] --> src/mutation/twors.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use utility::RngExt; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `utility::RngExt` [INFO] [stdout] --> src/mutation/uniform.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use utility::RngExt; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `utility::RngExt` [INFO] [stdout] --> src/reinsertion/uniform.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use utility::RngExt; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `utility::RngExt` [INFO] [stdout] --> src/selection/tournament.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use utility::RngExt; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 24 previous errors; 24 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0599`. [INFO] [stdout] [INFO] [stderr] error: could not compile `genetic` due to 25 previous errors; 24 warnings emitted [INFO] running `Command { std: "docker" "inspect" "9c3acd3c7b98c71ae2ca805b485c162b291a3031dfc81b98529e5647bb3a5736", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9c3acd3c7b98c71ae2ca805b485c162b291a3031dfc81b98529e5647bb3a5736", kill_on_drop: false }` [INFO] [stdout] 9c3acd3c7b98c71ae2ca805b485c162b291a3031dfc81b98529e5647bb3a5736