[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] checking Gustorn/tsp against master#5a8a44196b3cf099f8c9b0156bd902eaec0b4e5f for pr-87248 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FGustorn%2Ftsp" "/workspace/builds/worker-8/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-8/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Gustorn/tsp on toolchain 5a8a44196b3cf099f8c9b0156bd902eaec0b4e5f [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+5a8a44196b3cf099f8c9b0156bd902eaec0b4e5f" "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-8/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" "+5a8a44196b3cf099f8c9b0156bd902eaec0b4e5f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded rand v0.3.12 [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-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+5a8a44196b3cf099f8c9b0156bd902eaec0b4e5f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 886aab486026b639618ba50e118bb2ce0e6f2601f1b85fda84a50c0d7933cfde [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "886aab486026b639618ba50e118bb2ce0e6f2601f1b85fda84a50c0d7933cfde", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "886aab486026b639618ba50e118bb2ce0e6f2601f1b85fda84a50c0d7933cfde", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "886aab486026b639618ba50e118bb2ce0e6f2601f1b85fda84a50c0d7933cfde", kill_on_drop: false }` [INFO] [stdout] 886aab486026b639618ba50e118bb2ce0e6f2601f1b85fda84a50c0d7933cfde [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+5a8a44196b3cf099f8c9b0156bd902eaec0b4e5f" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] ce8d2b3290162a354f4bc0a8be4c3610024b986aac8f1da325b111cbdf6c1470 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "ce8d2b3290162a354f4bc0a8be4c3610024b986aac8f1da325b111cbdf6c1470", kill_on_drop: false }` [INFO] [stderr] Compiling winapi-build v0.1.1 [INFO] [stderr] Checking winapi v0.2.5 [INFO] [stderr] Checking libc v0.2.4 [INFO] [stderr] Checking cast v0.0.0 (https://github.com/japaric/cast.rs#34ee2159) [INFO] [stderr] Checking itertools v0.4.4 [INFO] [stderr] Checking 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] Checking approx v0.0.0 (https://github.com/japaric/approx.rs#7f3d5147) [INFO] [stderr] Checking time v0.1.34 [INFO] [stderr] Checking rand v0.3.12 [INFO] [stderr] Checking timeit v0.1.2 [INFO] [stderr] Checking genetic v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused macro definition [INFO] [stdout] --> src/utility/macros.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | / macro_rules! assert_approx_eq { [INFO] [stdout] 2 | | ($lhs:expr, $rhs:expr, $tol: expr) => {{ [INFO] [stdout] 3 | | assert!(::approx::eq(&$lhs, &$rhs, ::approx::Abs::tol($tol))); [INFO] [stdout] 4 | | }}; [INFO] [stdout] 5 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_macros)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition [INFO] [stdout] --> src/crossover/macros.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | / macro_rules! test_crossover { [INFO] [stdout] 9 | | ($Name: ident, $Type: ty, $crossover: expr, [INFO] [stdout] 10 | | $(parent($($parent: expr),+)),+ [INFO] [stdout] 11 | | $(,child($($child: expr),*))*) => { [INFO] [stdout] ... | [INFO] [stdout] 23 | | }; [INFO] [stdout] 24 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition [INFO] [stdout] --> src/crossover/macros.rs:26:1 [INFO] [stdout] | [INFO] [stdout] 26 | / macro_rules! test_crossover_panic { [INFO] [stdout] 27 | | ($Name: ident, $Type: ty, $crossover: expr, [INFO] [stdout] 28 | | $(parent($($parent: expr),+)),+ [INFO] [stdout] 29 | | $(,child($($child: expr),*))*) => { [INFO] [stdout] ... | [INFO] [stdout] 45 | | }; [INFO] [stdout] 46 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition [INFO] [stdout] --> src/crossover/macros.rs:48:1 [INFO] [stdout] | [INFO] [stdout] 48 | / macro_rules! bench_crossover { [INFO] [stdout] 49 | | ($Name: ident, $Type: ty, $crossover: expr, [INFO] [stdout] 50 | | $(parent($($parent: expr),+)),+) => { [INFO] [stdout] 51 | | #[bench] [INFO] [stdout] ... | [INFO] [stdout] 65 | | }; [INFO] [stdout] 66 | | } [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/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/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] [stderr] warning: build failed, waiting for other jobs to finish... [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/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/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; 20 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0599`. [INFO] [stdout] [INFO] [stderr] error: build failed [INFO] running `Command { std: "docker" "inspect" "ce8d2b3290162a354f4bc0a8be4c3610024b986aac8f1da325b111cbdf6c1470", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ce8d2b3290162a354f4bc0a8be4c3610024b986aac8f1da325b111cbdf6c1470", kill_on_drop: false }` [INFO] [stdout] ce8d2b3290162a354f4bc0a8be4c3610024b986aac8f1da325b111cbdf6c1470