[INFO] cloning repository https://github.com/eliseuv/artificial-systems
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/eliseuv/artificial-systems" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Feliseuv%2Fartificial-systems", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Feliseuv%2Fartificial-systems'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 491cd8409575af22b859974f4604badd3d2bb8c5
[INFO] checking eliseuv/artificial-systems against try#a3a874232ae0a7586b5fbe7483c5a42e157bd62a for pr-151109
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Feliseuv%2Fartificial-systems" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/eliseuv/artificial-systems
[INFO] finished tweaking git repo https://github.com/eliseuv/artificial-systems
[INFO] tweaked toml for git repo https://github.com/eliseuv/artificial-systems written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/eliseuv/artificial-systems on toolchain a3a874232ae0a7586b5fbe7483c5a42e157bd62a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a3a874232ae0a7586b5fbe7483c5a42e157bd62a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/eliseuv/artificial-systems already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a3a874232ae0a7586b5fbe7483c5a42e157bd62a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[INFO] checking eliseuv/artificial-systems against try#a3a874232ae0a7586b5fbe7483c5a42e157bd62a for pr-151109
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Feliseuv%2Fartificial-systems" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/eliseuv/artificial-systems
[INFO] finished tweaking git repo https://github.com/eliseuv/artificial-systems
[INFO] tweaked toml for git repo https://github.com/eliseuv/artificial-systems written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/eliseuv/artificial-systems on toolchain a3a874232ae0a7586b5fbe7483c5a42e157bd62a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a3a874232ae0a7586b5fbe7483c5a42e157bd62a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/eliseuv/artificial-systems already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a3a874232ae0a7586b5fbe7483c5a42e157bd62a" "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 rand_xoshiro v0.7.0
[INFO] [stderr]   Downloaded ndarray-rand v0.15.0
[INFO] [stderr]   Downloaded noisy_float v0.2.0
[INFO] [stderr]   Downloaded rand_core v0.9.1
[INFO] [stderr]   Downloaded rand_distr v0.5.1
[INFO] [stderr]   Downloaded ndarray-stats v0.6.0
[INFO] [stderr]   Downloaded zerocopy-derive v0.8.18
[INFO] [stderr]   Downloaded zerocopy v0.8.18
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+a3a874232ae0a7586b5fbe7483c5a42e157bd62a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ef7c3edb98174fa8b855d2eea131368c3850ecac74936110340f7ed440e2b8a7
[INFO] running `Command { std: "docker" "start" "-a" "ef7c3edb98174fa8b855d2eea131368c3850ecac74936110340f7ed440e2b8a7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ef7c3edb98174fa8b855d2eea131368c3850ecac74936110340f7ed440e2b8a7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ef7c3edb98174fa8b855d2eea131368c3850ecac74936110340f7ed440e2b8a7", kill_on_drop: false }`
[INFO] [stdout] ef7c3edb98174fa8b855d2eea131368c3850ecac74936110340f7ed440e2b8a7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/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" "RUSTDOCFLAGS=--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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+a3a874232ae0a7586b5fbe7483c5a42e157bd62a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7dac49afa3ef22e3fd87776074f541504dc0b93b9da590cfdf791f9a911ba385
[INFO] running `Command { std: "docker" "start" "-a" "7dac49afa3ef22e3fd87776074f541504dc0b93b9da590cfdf791f9a911ba385", kill_on_drop: false }`
[INFO] [stderr]    Compiling libm v0.2.11
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling libc v0.2.169
[INFO] [stderr]    Compiling zerocopy v0.8.18
[INFO] [stderr]     Checking either v1.13.0
[INFO] [stderr]    Compiling matrixmultiply v0.3.9
[INFO] [stderr]    Compiling serde v1.0.217
[INFO] [stderr]     Checking indexmap v2.7.1
[INFO] [stderr]    Compiling syn v2.0.98
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]     Checking itertools v0.14.0
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]     Checking noisy_float v0.2.0
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]     Checking rand_core v0.9.1
[INFO] [stderr]     Checking rand v0.9.0
[INFO] [stderr]     Checking rand_xoshiro v0.7.0
[INFO] [stderr]     Checking rand_distr v0.5.1
[INFO] [stderr]     Checking zerocopy v0.7.35
[INFO] [stderr]     Checking ndarray v0.16.1
[INFO] [stderr]     Checking ppv-lite86 v0.2.20
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking rand_distr v0.4.3
[INFO] [stderr]     Checking ndarray-rand v0.15.0
[INFO] [stderr]     Checking ndarray-stats v0.6.0
[INFO] [stderr]     Checking artificial-systems v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0277]: the trait bound `R: Rng` is not satisfied
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_1d.rs:44:18
[INFO] [stdout]     |
[INFO] [stdout]  44 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> <Self as SiteState>::Index {
[INFO] [stdout]     |                  ^^^ the trait `RngCore` is not implemented for `R`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `rand_core` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand_core-0.6.4/src/lib.rs:142:1
[INFO] [stdout]     |
[INFO] [stdout] 142 | pub trait RngCore {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ this is the expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand_core-0.9.1/src/lib.rs:130:1
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub trait RngCore {
[INFO] [stdout]     | ----------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: required for `R` to implement `Rng`
[INFO] [stdout] note: the requirement `R: Rng` appears on the `impl`'s method `sample` but not on the corresponding trait's method
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:37:8
[INFO] [stdout]     |
[INFO] [stdout]  35 | pub trait Distribution<T> {
[INFO] [stdout]     |           ------------ in this trait
[INFO] [stdout]  36 |     /// Generate a random value of `T`, using `rng` as the source of randomness.
[INFO] [stdout]  37 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> T;
[INFO] [stdout]     |        ^^^^^^ this trait's method doesn't have the requirement `R: Rng`
[INFO] [stdout] help: consider further restricting type parameter `R` with trait `RngCore`
[INFO] [stdout]     |
[INFO] [stdout]  44 |     fn sample<R: Rng + ?Sized + rand::RngCore>(&self, rng: &mut R) -> <Self as SiteState>::Index {
[INFO] [stdout]     |                               +++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `R: Rng` is not satisfied
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_1d.rs:44:18
[INFO] [stdout]     |
[INFO] [stdout]  44 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> <Self as SiteState>::Index {
[INFO] [stdout]     |                  ^^^ the trait `RngCore` is not implemented for `R`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `rand_core` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand_core-0.6.4/src/lib.rs:142:1
[INFO] [stdout]     |
[INFO] [stdout] 142 | pub trait RngCore {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ this is the expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand_core-0.9.1/src/lib.rs:130:1
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub trait RngCore {
[INFO] [stdout]     | ----------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: required for `R` to implement `Rng`
[INFO] [stdout] note: the requirement `R: Rng` appears on the `impl`'s method `sample` but not on the corresponding trait's method
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:37:8
[INFO] [stdout]     |
[INFO] [stdout]  35 | pub trait Distribution<T> {
[INFO] [stdout]     |           ------------ in this trait
[INFO] [stdout]  36 |     /// Generate a random value of `T`, using `rng` as the source of randomness.
[INFO] [stdout]  37 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> T;
[INFO] [stdout]     |        ^^^^^^ this trait's method doesn't have the requirement `R: Rng`
[INFO] [stdout] help: consider further restricting type parameter `R` with trait `RngCore`
[INFO] [stdout]     |
[INFO] [stdout]  44 |     fn sample<R: Rng + ?Sized + rand::RngCore>(&self, rng: &mut R) -> <Self as SiteState>::Index {
[INFO] [stdout]     |                               +++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `R: Rng` is not satisfied
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_2d.rs:45:18
[INFO] [stdout]     |
[INFO] [stdout]  45 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> <Self as SiteState>::Index {
[INFO] [stdout]     |                  ^^^ the trait `RngCore` is not implemented for `R`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `rand_core` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand_core-0.6.4/src/lib.rs:142:1
[INFO] [stdout]     |
[INFO] [stdout] 142 | pub trait RngCore {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ this is the expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand_core-0.9.1/src/lib.rs:130:1
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub trait RngCore {
[INFO] [stdout]     | ----------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: required for `R` to implement `Rng`
[INFO] [stdout] note: the requirement `R: Rng` appears on the `impl`'s method `sample` but not on the corresponding trait's method
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:37:8
[INFO] [stdout]     |
[INFO] [stdout]  35 | pub trait Distribution<T> {
[INFO] [stdout]     |           ------------ in this trait
[INFO] [stdout]  36 |     /// Generate a random value of `T`, using `rng` as the source of randomness.
[INFO] [stdout]  37 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> T;
[INFO] [stdout]     |        ^^^^^^ this trait's method doesn't have the requirement `R: Rng`
[INFO] [stdout] help: consider further restricting type parameter `R` with trait `RngCore`
[INFO] [stdout]     |
[INFO] [stdout]  45 |     fn sample<R: Rng + ?Sized + rand::RngCore>(&self, rng: &mut R) -> <Self as SiteState>::Index {
[INFO] [stdout]     |                               +++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `R: Rng` is not satisfied
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_3d.rs:42:18
[INFO] [stdout]     |
[INFO] [stdout]  42 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> <Self as SiteState>::Index {
[INFO] [stdout]     |                  ^^^ the trait `RngCore` is not implemented for `R`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `rand_core` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand_core-0.6.4/src/lib.rs:142:1
[INFO] [stdout]     |
[INFO] [stdout] 142 | pub trait RngCore {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ this is the expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand_core-0.9.1/src/lib.rs:130:1
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub trait RngCore {
[INFO] [stdout]     | ----------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: required for `R` to implement `Rng`
[INFO] [stdout] note: the requirement `R: Rng` appears on the `impl`'s method `sample` but not on the corresponding trait's method
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:37:8
[INFO] [stdout]     |
[INFO] [stdout]  35 | pub trait Distribution<T> {
[INFO] [stdout]     |           ------------ in this trait
[INFO] [stdout]  36 |     /// Generate a random value of `T`, using `rng` as the source of randomness.
[INFO] [stdout]  37 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> T;
[INFO] [stdout]     |        ^^^^^^ this trait's method doesn't have the requirement `R: Rng`
[INFO] [stdout] help: consider further restricting type parameter `R` with trait `RngCore`
[INFO] [stdout]     |
[INFO] [stdout]  42 |     fn sample<R: Rng + ?Sized + rand::RngCore>(&self, rng: &mut R) -> <Self as SiteState>::Index {
[INFO] [stdout]     |                               +++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `R: Rng` is not satisfied
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_2d.rs:45:18
[INFO] [stdout]     |
[INFO] [stdout]  45 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> <Self as SiteState>::Index {
[INFO] [stdout]     |                  ^^^ the trait `RngCore` is not implemented for `R`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `rand_core` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand_core-0.6.4/src/lib.rs:142:1
[INFO] [stdout]     |
[INFO] [stdout] 142 | pub trait RngCore {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ this is the expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand_core-0.9.1/src/lib.rs:130:1
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub trait RngCore {
[INFO] [stdout]     | ----------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: required for `R` to implement `Rng`
[INFO] [stdout] note: the requirement `R: Rng` appears on the `impl`'s method `sample` but not on the corresponding trait's method
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:37:8
[INFO] [stdout]     |
[INFO] [stdout]  35 | pub trait Distribution<T> {
[INFO] [stdout]     |           ------------ in this trait
[INFO] [stdout]  36 |     /// Generate a random value of `T`, using `rng` as the source of randomness.
[INFO] [stdout]  37 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> T;
[INFO] [stdout]     |        ^^^^^^ this trait's method doesn't have the requirement `R: Rng`
[INFO] [stdout] help: consider further restricting type parameter `R` with trait `RngCore`
[INFO] [stdout]     |
[INFO] [stdout]  45 |     fn sample<R: Rng + ?Sized + rand::RngCore>(&self, rng: &mut R) -> <Self as SiteState>::Index {
[INFO] [stdout]     |                               +++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `R: Rng` is not satisfied
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_3d.rs:42:18
[INFO] [stdout]     |
[INFO] [stdout]  42 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> <Self as SiteState>::Index {
[INFO] [stdout]     |                  ^^^ the trait `RngCore` is not implemented for `R`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `rand_core` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand_core-0.6.4/src/lib.rs:142:1
[INFO] [stdout]     |
[INFO] [stdout] 142 | pub trait RngCore {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ this is the expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand_core-0.9.1/src/lib.rs:130:1
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub trait RngCore {
[INFO] [stdout]     | ----------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: required for `R` to implement `Rng`
[INFO] [stdout] note: the requirement `R: Rng` appears on the `impl`'s method `sample` but not on the corresponding trait's method
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:37:8
[INFO] [stdout]     |
[INFO] [stdout]  35 | pub trait Distribution<T> {
[INFO] [stdout]     |           ------------ in this trait
[INFO] [stdout]  36 |     /// Generate a random value of `T`, using `rng` as the source of randomness.
[INFO] [stdout]  37 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> T;
[INFO] [stdout]     |        ^^^^^^ this trait's method doesn't have the requirement `R: Rng`
[INFO] [stdout] help: consider further restricting type parameter `R` with trait `RngCore`
[INFO] [stdout]     |
[INFO] [stdout]  42 |     fn sample<R: Rng + ?Sized + rand::RngCore>(&self, rng: &mut R) -> <Self as SiteState>::Index {
[INFO] [stdout]     |                               +++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `R: rand::rng::Rng` is not satisfied
[INFO] [stdout]   --> src/states/lattices/square_lattices/impl_1d.rs:45:31
[INFO] [stdout]    |
[INFO] [stdout] 45 |         self.site_dist.sample(rng)
[INFO] [stdout]    |                        ------ ^^^ the trait `DerefMut` is not implemented for `R`
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]    = note: required for `R` to implement `rand::rng::Rng`
[INFO] [stdout] note: required by a bound in `rand_distr::Distribution::sample`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:37:18
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> T;
[INFO] [stdout]    |                  ^^^ required by this bound in `Distribution::sample`
[INFO] [stdout] help: consider further restricting type parameter `R` with trait `DerefMut`
[INFO] [stdout]    |
[INFO] [stdout] 44 |     fn sample<R: Rng + ?Sized + std::ops::DerefMut>(&self, rng: &mut R) -> <Self as SiteState>::Index {
[INFO] [stdout]    |                               ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `R: rand::rng::Rng` is not satisfied
[INFO] [stdout]   --> src/states/lattices/square_lattices/impl_1d.rs:45:31
[INFO] [stdout]    |
[INFO] [stdout] 45 |         self.site_dist.sample(rng)
[INFO] [stdout]    |                        ------ ^^^ the trait `DerefMut` is not implemented for `R`
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]    = note: required for `R` to implement `rand::rng::Rng`
[INFO] [stdout] note: required by a bound in `rand_distr::Distribution::sample`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:37:18
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> T;
[INFO] [stdout]    |                  ^^^ required by this bound in `Distribution::sample`
[INFO] [stdout] help: consider further restricting type parameter `R` with trait `DerefMut`
[INFO] [stdout]    |
[INFO] [stdout] 44 |     fn sample<R: Rng + ?Sized + std::ops::DerefMut>(&self, rng: &mut R) -> <Self as SiteState>::Index {
[INFO] [stdout]    |                               ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `R: rand::rng::Rng` is not satisfied
[INFO] [stdout]   --> src/states/lattices/square_lattices/impl_1d.rs:45:31
[INFO] [stdout]    |
[INFO] [stdout] 44 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> <Self as SiteState>::Index {
[INFO] [stdout]    |               - this type parameter needs to be `Sized`
[INFO] [stdout] 45 |         self.site_dist.sample(rng)
[INFO] [stdout]    |                        ------ ^^^ the trait `Sized` is not implemented for `R`
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]    = note: required for `R` to implement `rand::rng::Rng`
[INFO] [stdout] note: required by a bound in `rand_distr::Distribution::sample`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:37:18
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> T;
[INFO] [stdout]    |                  ^^^ required by this bound in `Distribution::sample`
[INFO] [stdout] help: consider removing the `?Sized` bound to make the type parameter `Sized`
[INFO] [stdout]    |
[INFO] [stdout] 44 -     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> <Self as SiteState>::Index {
[INFO] [stdout] 44 +     fn sample<R: Rng>(&self, rng: &mut R) -> <Self as SiteState>::Index {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `R: rand::rng::Rng` is not satisfied
[INFO] [stdout]   --> src/states/lattices/square_lattices/impl_1d.rs:45:31
[INFO] [stdout]    |
[INFO] [stdout] 44 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> <Self as SiteState>::Index {
[INFO] [stdout]    |               - this type parameter needs to be `Sized`
[INFO] [stdout] 45 |         self.site_dist.sample(rng)
[INFO] [stdout]    |                        ------ ^^^ the trait `Sized` is not implemented for `R`
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]    = note: required for `R` to implement `rand::rng::Rng`
[INFO] [stdout] note: required by a bound in `rand_distr::Distribution::sample`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:37:18
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> T;
[INFO] [stdout]    |                  ^^^ required by this bound in `Distribution::sample`
[INFO] [stdout] help: consider removing the `?Sized` bound to make the type parameter `Sized`
[INFO] [stdout]    |
[INFO] [stdout] 44 -     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> <Self as SiteState>::Index {
[INFO] [stdout] 44 +     fn sample<R: Rng>(&self, rng: &mut R) -> <Self as SiteState>::Index {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/states/lattices/square_lattices/impl_1d.rs:79:24
[INFO] [stdout]    |
[INFO] [stdout] 79 |             site_dist: Uniform::new(0, length),
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^ expected `Uniform<usize>`, found `Result<Uniform<usize>, Error>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `rand_distr::Uniform<_>`
[INFO] [stdout]                 found enum `Result<rand_distr::Uniform<_>, rand_distr::uniform::Error>`
[INFO] [stdout] help: consider using `Result::expect` to unwrap the `Result<rand_distr::Uniform<usize>, rand_distr::uniform::Error>` value, panicking if the value is a `Result::Err`
[INFO] [stdout]    |
[INFO] [stdout] 79 |             site_dist: Uniform::new(0, length).expect("REASON"),
[INFO] [stdout]    |                                               +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/states/lattices/square_lattices/impl_1d.rs:79:24
[INFO] [stdout]    |
[INFO] [stdout] 79 |             site_dist: Uniform::new(0, length),
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^ expected `Uniform<usize>`, found `Result<Uniform<usize>, Error>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `rand_distr::Uniform<_>`
[INFO] [stdout]                 found enum `Result<rand_distr::Uniform<_>, rand_distr::uniform::Error>`
[INFO] [stdout] help: consider using `Result::expect` to unwrap the `Result<rand_distr::Uniform<usize>, rand_distr::uniform::Error>` value, panicking if the value is a `Result::Err`
[INFO] [stdout]    |
[INFO] [stdout] 79 |             site_dist: Uniform::new(0, length).expect("REASON"),
[INFO] [stdout]    |                                               +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `D: rand::distributions::Distribution<_>` is not satisfied
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_1d.rs:89:49
[INFO] [stdout]     |
[INFO] [stdout]  89 |             state: Array1::random_using(length, dist, rng),
[INFO] [stdout]     |                    --------------------         ^^^^ the trait `rand::distributions::Distribution<_>` is not implemented for `D`
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `rand` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/distributions/distribution.rs:35:1
[INFO] [stdout]     |
[INFO] [stdout]  35 | pub trait Distribution<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^ this is the expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:35:1
[INFO] [stdout]     |
[INFO] [stdout]  35 | pub trait Distribution<T> {
[INFO] [stdout]     | ------------------------- this is the trait that was imported
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] help: the trait `rand::distributions::Distribution<_>` is not implemented for `D`
[INFO] [stdout]       but it is implemented for `&_`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/distributions/distribution.rs:115:1
[INFO] [stdout]     |
[INFO] [stdout] 115 | impl<'a, T, D: Distribution<T>> Distribution<T> for &'a D {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: for that trait implementation, expected `&_`, found `D`
[INFO] [stdout]     = note: required for `&D` to implement `rand::distributions::Distribution<_>`
[INFO] [stdout] note: required by a bound in `random_using`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ndarray-rand-0.15.0/src/lib.rs:121:14
[INFO] [stdout]     |
[INFO] [stdout] 119 |     fn random_using<Sh, IdS, R>(shape: Sh, distribution: IdS, rng: &mut R) -> ArrayBase<S, D>
[INFO] [stdout]     |        ------------ required by a bound in this associated function
[INFO] [stdout] 120 |     where
[INFO] [stdout] 121 |         IdS: Distribution<S::Elem>,
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RandomExt::random_using`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/states/lattices/square_lattices/impl_1d.rs:91:24
[INFO] [stdout]    |
[INFO] [stdout] 91 |             site_dist: Uniform::new(0, length),
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^ expected `Uniform<usize>`, found `Result<Uniform<usize>, Error>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `rand_distr::Uniform<_>`
[INFO] [stdout]                 found enum `Result<rand_distr::Uniform<_>, rand_distr::uniform::Error>`
[INFO] [stdout] help: consider using `Result::expect` to unwrap the `Result<rand_distr::Uniform<usize>, rand_distr::uniform::Error>` value, panicking if the value is a `Result::Err`
[INFO] [stdout]    |
[INFO] [stdout] 91 |             site_dist: Uniform::new(0, length).expect("REASON"),
[INFO] [stdout]    |                                               +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&mut R: rand::rng::Rng` is not satisfied
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_1d.rs:104:64
[INFO] [stdout]     |
[INFO] [stdout] 104 |         for (s, x) in self.sites_mut().zip((&dist).sample_iter(rng)) {
[INFO] [stdout]     |                                                    ----------- ^^^ the trait `DerefMut` is not implemented for `R`
[INFO] [stdout]     |                                                    |
[INFO] [stdout]     |                                                    required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `&mut R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: required for `&mut R` to implement `rand::rng::Rng`
[INFO] [stdout] note: required by a bound in `rand_distr::Distribution::sample_iter`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:74:12
[INFO] [stdout]     |
[INFO] [stdout]  72 |     fn sample_iter<R>(self, rng: R) -> Iter<Self, R, T>
[INFO] [stdout]     |        ----------- required by a bound in this associated function
[INFO] [stdout]  73 |     where
[INFO] [stdout]  74 |         R: Rng,
[INFO] [stdout]     |            ^^^ required by this bound in `Distribution::sample_iter`
[INFO] [stdout] help: consider further restricting type parameter `R` with trait `DerefMut`
[INFO] [stdout]     |
[INFO] [stdout]  99 |     fn set_random<D: Distribution<Self::Site>, R: rand::Rng + ?Sized + std::ops::DerefMut>(
[INFO] [stdout]     |                                                                      ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&mut R: rand::rng::Rng` is not satisfied
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_1d.rs:104:64
[INFO] [stdout]     |
[INFO] [stdout]  99 |     fn set_random<D: Distribution<Self::Site>, R: rand::Rng + ?Sized>(
[INFO] [stdout]     |                                                - this type parameter needs to be `Sized`
[INFO] [stdout] ...
[INFO] [stdout] 104 |         for (s, x) in self.sites_mut().zip((&dist).sample_iter(rng)) {
[INFO] [stdout]     |                                                    ----------- ^^^ the trait `Sized` is not implemented for `R`
[INFO] [stdout]     |                                                    |
[INFO] [stdout]     |                                                    required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `&mut R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: required for `&mut R` to implement `rand::rng::Rng`
[INFO] [stdout] note: required by a bound in `rand_distr::Distribution::sample_iter`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:74:12
[INFO] [stdout]     |
[INFO] [stdout]  72 |     fn sample_iter<R>(self, rng: R) -> Iter<Self, R, T>
[INFO] [stdout]     |        ----------- required by a bound in this associated function
[INFO] [stdout]  73 |     where
[INFO] [stdout]  74 |         R: Rng,
[INFO] [stdout]     |            ^^^ required by this bound in `Distribution::sample_iter`
[INFO] [stdout] help: consider removing the `?Sized` bound to make the type parameter `Sized`
[INFO] [stdout]     |
[INFO] [stdout]  99 -     fn set_random<D: Distribution<Self::Site>, R: rand::Rng + ?Sized>(
[INFO] [stdout]  99 +     fn set_random<D: Distribution<Self::Site>, R: rand::Rng>(
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `R: DerefMut` is not satisfied
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_1d.rs:104:40
[INFO] [stdout]     |
[INFO] [stdout] 104 |         for (s, x) in self.sites_mut().zip((&dist).sample_iter(rng)) {
[INFO] [stdout]     |                                        ^^^ the trait `DerefMut` is not implemented for `R`
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `&mut R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: required for `&mut R` to implement `rand::rng::Rng`
[INFO] [stdout]     = note: required for `rand_distr::Iter<&&D, &mut R, T>` to implement `Iterator`
[INFO] [stdout]     = note: required for `rand_distr::Iter<&&D, &mut R, T>` to implement `IntoIterator`
[INFO] [stdout] help: consider further restricting type parameter `R` with trait `DerefMut`
[INFO] [stdout]     |
[INFO] [stdout]  99 |     fn set_random<D: Distribution<Self::Site>, R: rand::Rng + ?Sized + std::ops::DerefMut>(
[INFO] [stdout]     |                                                                      ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `R` cannot be known at compilation time
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_1d.rs:104:40
[INFO] [stdout]     |
[INFO] [stdout]  99 |     fn set_random<D: Distribution<Self::Site>, R: rand::Rng + ?Sized>(
[INFO] [stdout]     |                                                - this type parameter needs to be `Sized`
[INFO] [stdout] ...
[INFO] [stdout] 104 |         for (s, x) in self.sites_mut().zip((&dist).sample_iter(rng)) {
[INFO] [stdout]     |                                        ^^^ doesn't have a size known at compile-time
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `&mut R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: required for `&mut R` to implement `rand::rng::Rng`
[INFO] [stdout]     = note: required for `rand_distr::Iter<&&D, &mut R, T>` to implement `Iterator`
[INFO] [stdout]     = note: required for `rand_distr::Iter<&&D, &mut R, T>` to implement `IntoIterator`
[INFO] [stdout] help: consider removing the `?Sized` bound to make the type parameter `Sized`
[INFO] [stdout]     |
[INFO] [stdout]  99 -     fn set_random<D: Distribution<Self::Site>, R: rand::Rng + ?Sized>(
[INFO] [stdout]  99 +     fn set_random<D: Distribution<Self::Site>, R: rand::Rng>(
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `D: rand::distributions::Distribution<_>` is not satisfied
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_1d.rs:89:49
[INFO] [stdout]     |
[INFO] [stdout]  89 |             state: Array1::random_using(length, dist, rng),
[INFO] [stdout]     |                    --------------------         ^^^^ the trait `rand::distributions::Distribution<_>` is not implemented for `D`
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `rand` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/distributions/distribution.rs:35:1
[INFO] [stdout]     |
[INFO] [stdout]  35 | pub trait Distribution<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^ this is the expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:35:1
[INFO] [stdout]     |
[INFO] [stdout]  35 | pub trait Distribution<T> {
[INFO] [stdout]     | ------------------------- this is the trait that was imported
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] help: the trait `rand::distributions::Distribution<_>` is not implemented for `D`
[INFO] [stdout]       but it is implemented for `&_`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/distributions/distribution.rs:115:1
[INFO] [stdout]     |
[INFO] [stdout] 115 | impl<'a, T, D: Distribution<T>> Distribution<T> for &'a D {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: for that trait implementation, expected `&_`, found `D`
[INFO] [stdout]     = note: required for `&D` to implement `rand::distributions::Distribution<_>`
[INFO] [stdout] note: required by a bound in `random_using`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ndarray-rand-0.15.0/src/lib.rs:121:14
[INFO] [stdout]     |
[INFO] [stdout] 119 |     fn random_using<Sh, IdS, R>(shape: Sh, distribution: IdS, rng: &mut R) -> ArrayBase<S, D>
[INFO] [stdout]     |        ------------ required by a bound in this associated function
[INFO] [stdout] 120 |     where
[INFO] [stdout] 121 |         IdS: Distribution<S::Elem>,
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RandomExt::random_using`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/states/lattices/square_lattices/impl_1d.rs:91:24
[INFO] [stdout]    |
[INFO] [stdout] 91 |             site_dist: Uniform::new(0, length),
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^ expected `Uniform<usize>`, found `Result<Uniform<usize>, Error>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `rand_distr::Uniform<_>`
[INFO] [stdout]                 found enum `Result<rand_distr::Uniform<_>, rand_distr::uniform::Error>`
[INFO] [stdout] help: consider using `Result::expect` to unwrap the `Result<rand_distr::Uniform<usize>, rand_distr::uniform::Error>` value, panicking if the value is a `Result::Err`
[INFO] [stdout]    |
[INFO] [stdout] 91 |             site_dist: Uniform::new(0, length).expect("REASON"),
[INFO] [stdout]    |                                               +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&mut R: rand::rng::Rng` is not satisfied
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_1d.rs:104:64
[INFO] [stdout]     |
[INFO] [stdout] 104 |         for (s, x) in self.sites_mut().zip((&dist).sample_iter(rng)) {
[INFO] [stdout]     |                                                    ----------- ^^^ the trait `DerefMut` is not implemented for `R`
[INFO] [stdout]     |                                                    |
[INFO] [stdout]     |                                                    required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `&mut R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: required for `&mut R` to implement `rand::rng::Rng`
[INFO] [stdout] note: required by a bound in `rand_distr::Distribution::sample_iter`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:74:12
[INFO] [stdout]     |
[INFO] [stdout]  72 |     fn sample_iter<R>(self, rng: R) -> Iter<Self, R, T>
[INFO] [stdout]     |        ----------- required by a bound in this associated function
[INFO] [stdout]  73 |     where
[INFO] [stdout]  74 |         R: Rng,
[INFO] [stdout]     |            ^^^ required by this bound in `Distribution::sample_iter`
[INFO] [stdout] help: consider further restricting type parameter `R` with trait `DerefMut`
[INFO] [stdout]     |
[INFO] [stdout]  99 |     fn set_random<D: Distribution<Self::Site>, R: rand::Rng + ?Sized + std::ops::DerefMut>(
[INFO] [stdout]     |                                                                      ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&mut R: rand::rng::Rng` is not satisfied
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_1d.rs:104:64
[INFO] [stdout]     |
[INFO] [stdout]  99 |     fn set_random<D: Distribution<Self::Site>, R: rand::Rng + ?Sized>(
[INFO] [stdout]     |                                                - this type parameter needs to be `Sized`
[INFO] [stdout] ...
[INFO] [stdout] 104 |         for (s, x) in self.sites_mut().zip((&dist).sample_iter(rng)) {
[INFO] [stdout]     |                                                    ----------- ^^^ the trait `Sized` is not implemented for `R`
[INFO] [stdout]     |                                                    |
[INFO] [stdout]     |                                                    required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `&mut R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: required for `&mut R` to implement `rand::rng::Rng`
[INFO] [stdout] note: required by a bound in `rand_distr::Distribution::sample_iter`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:74:12
[INFO] [stdout]     |
[INFO] [stdout]  72 |     fn sample_iter<R>(self, rng: R) -> Iter<Self, R, T>
[INFO] [stdout]     |        ----------- required by a bound in this associated function
[INFO] [stdout]  73 |     where
[INFO] [stdout]  74 |         R: Rng,
[INFO] [stdout]     |            ^^^ required by this bound in `Distribution::sample_iter`
[INFO] [stdout] help: consider removing the `?Sized` bound to make the type parameter `Sized`
[INFO] [stdout]     |
[INFO] [stdout]  99 -     fn set_random<D: Distribution<Self::Site>, R: rand::Rng + ?Sized>(
[INFO] [stdout]  99 +     fn set_random<D: Distribution<Self::Site>, R: rand::Rng>(
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `R: DerefMut` is not satisfied
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_1d.rs:104:40
[INFO] [stdout]     |
[INFO] [stdout] 104 |         for (s, x) in self.sites_mut().zip((&dist).sample_iter(rng)) {
[INFO] [stdout]     |                                        ^^^ the trait `DerefMut` is not implemented for `R`
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `&mut R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: required for `&mut R` to implement `rand::rng::Rng`
[INFO] [stdout]     = note: required for `rand_distr::Iter<&&D, &mut R, T>` to implement `Iterator`
[INFO] [stdout]     = note: required for `rand_distr::Iter<&&D, &mut R, T>` to implement `IntoIterator`
[INFO] [stdout] help: consider further restricting type parameter `R` with trait `DerefMut`
[INFO] [stdout]     |
[INFO] [stdout]  99 |     fn set_random<D: Distribution<Self::Site>, R: rand::Rng + ?Sized + std::ops::DerefMut>(
[INFO] [stdout]     |                                                                      ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `R` cannot be known at compilation time
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_1d.rs:104:40
[INFO] [stdout]     |
[INFO] [stdout]  99 |     fn set_random<D: Distribution<Self::Site>, R: rand::Rng + ?Sized>(
[INFO] [stdout]     |                                                - this type parameter needs to be `Sized`
[INFO] [stdout] ...
[INFO] [stdout] 104 |         for (s, x) in self.sites_mut().zip((&dist).sample_iter(rng)) {
[INFO] [stdout]     |                                        ^^^ doesn't have a size known at compile-time
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `&mut R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: required for `&mut R` to implement `rand::rng::Rng`
[INFO] [stdout]     = note: required for `rand_distr::Iter<&&D, &mut R, T>` to implement `Iterator`
[INFO] [stdout]     = note: required for `rand_distr::Iter<&&D, &mut R, T>` to implement `IntoIterator`
[INFO] [stdout] help: consider removing the `?Sized` bound to make the type parameter `Sized`
[INFO] [stdout]     |
[INFO] [stdout]  99 -     fn set_random<D: Distribution<Self::Site>, R: rand::Rng + ?Sized>(
[INFO] [stdout]  99 +     fn set_random<D: Distribution<Self::Site>, R: rand::Rng>(
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `R: DerefMut` is not satisfied
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_1d.rs:104:23
[INFO] [stdout]     |
[INFO] [stdout] 104 |         for (s, x) in self.sites_mut().zip((&dist).sample_iter(rng)) {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `DerefMut` is not implemented for `R`
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `&mut R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: required for `&mut R` to implement `rand::rng::Rng`
[INFO] [stdout]     = note: required for `rand_distr::Iter<&&D, &mut R, T>` to implement `Iterator`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `std::iter::Zip<impl Iterator<Item = &mut T>, rand_distr::Iter<&&D, &mut R, T>>` to implement `Iterator`
[INFO] [stdout]     = note: required for `std::iter::Zip<impl Iterator<Item = &mut T>, rand_distr::Iter<&&D, &mut R, T>>` to implement `IntoIterator`
[INFO] [stdout] help: consider further restricting type parameter `R` with trait `DerefMut`
[INFO] [stdout]     |
[INFO] [stdout]  99 |     fn set_random<D: Distribution<Self::Site>, R: rand::Rng + ?Sized + std::ops::DerefMut>(
[INFO] [stdout]     |                                                                      ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `R: DerefMut` is not satisfied
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_1d.rs:104:23
[INFO] [stdout]     |
[INFO] [stdout] 104 |         for (s, x) in self.sites_mut().zip((&dist).sample_iter(rng)) {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `DerefMut` is not implemented for `R`
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `&mut R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: required for `&mut R` to implement `rand::rng::Rng`
[INFO] [stdout]     = note: required for `rand_distr::Iter<&&D, &mut R, T>` to implement `Iterator`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `std::iter::Zip<impl Iterator<Item = &mut T>, rand_distr::Iter<&&D, &mut R, T>>` to implement `Iterator`
[INFO] [stdout]     = note: required for `std::iter::Zip<impl Iterator<Item = &mut T>, rand_distr::Iter<&&D, &mut R, T>>` to implement `IntoIterator`
[INFO] [stdout] help: consider further restricting type parameter `R` with trait `DerefMut`
[INFO] [stdout]     |
[INFO] [stdout]  99 |     fn set_random<D: Distribution<Self::Site>, R: rand::Rng + ?Sized + std::ops::DerefMut>(
[INFO] [stdout]     |                                                                      ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `R` cannot be known at compilation time
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_1d.rs:104:23
[INFO] [stdout]     |
[INFO] [stdout]  99 |     fn set_random<D: Distribution<Self::Site>, R: rand::Rng + ?Sized>(
[INFO] [stdout]     |                                                - this type parameter needs to be `Sized`
[INFO] [stdout] ...
[INFO] [stdout] 104 |         for (s, x) in self.sites_mut().zip((&dist).sample_iter(rng)) {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `&mut R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: required for `&mut R` to implement `rand::rng::Rng`
[INFO] [stdout]     = note: required for `rand_distr::Iter<&&D, &mut R, T>` to implement `Iterator`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `std::iter::Zip<impl Iterator<Item = &mut T>, rand_distr::Iter<&&D, &mut R, T>>` to implement `Iterator`
[INFO] [stdout]     = note: required for `std::iter::Zip<impl Iterator<Item = &mut T>, rand_distr::Iter<&&D, &mut R, T>>` to implement `IntoIterator`
[INFO] [stdout] help: consider removing the `?Sized` bound to make the type parameter `Sized`
[INFO] [stdout]     |
[INFO] [stdout]  99 -     fn set_random<D: Distribution<Self::Site>, R: rand::Rng + ?Sized>(
[INFO] [stdout]  99 +     fn set_random<D: Distribution<Self::Site>, R: rand::Rng>(
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `R` cannot be known at compilation time
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_1d.rs:104:23
[INFO] [stdout]     |
[INFO] [stdout]  99 |     fn set_random<D: Distribution<Self::Site>, R: rand::Rng + ?Sized>(
[INFO] [stdout]     |                                                - this type parameter needs to be `Sized`
[INFO] [stdout] ...
[INFO] [stdout] 104 |         for (s, x) in self.sites_mut().zip((&dist).sample_iter(rng)) {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `&mut R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: required for `&mut R` to implement `rand::rng::Rng`
[INFO] [stdout]     = note: required for `rand_distr::Iter<&&D, &mut R, T>` to implement `Iterator`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `std::iter::Zip<impl Iterator<Item = &mut T>, rand_distr::Iter<&&D, &mut R, T>>` to implement `Iterator`
[INFO] [stdout]     = note: required for `std::iter::Zip<impl Iterator<Item = &mut T>, rand_distr::Iter<&&D, &mut R, T>>` to implement `IntoIterator`
[INFO] [stdout] help: consider removing the `?Sized` bound to make the type parameter `Sized`
[INFO] [stdout]     |
[INFO] [stdout]  99 -     fn set_random<D: Distribution<Self::Site>, R: rand::Rng + ?Sized>(
[INFO] [stdout]  99 +     fn set_random<D: Distribution<Self::Site>, R: rand::Rng>(
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `R: rand::rng::Rng` is not satisfied
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_1d.rs:162:33
[INFO] [stdout]     |
[INFO] [stdout] 162 |             let i = self.sample(rng);
[INFO] [stdout]     |                          ------ ^^^ the trait `DerefMut` is not implemented for `R`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: required for `R` to implement `rand::rng::Rng`
[INFO] [stdout] note: required by a bound in `rand_distr::Distribution::sample`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:37:18
[INFO] [stdout]     |
[INFO] [stdout]  37 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> T;
[INFO] [stdout]     |                  ^^^ required by this bound in `Distribution::sample`
[INFO] [stdout] help: consider further restricting type parameter `R` with trait `DerefMut`
[INFO] [stdout]     |
[INFO] [stdout] 158 |     fn diffuse<R: rand::prelude::Rng + ?Sized + std::ops::DerefMut>(&mut self, diffusion_coin: Bernoulli, rng: &mut R) {
[INFO] [stdout]     |                                               ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `R: rand::rng::Rng` is not satisfied
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_1d.rs:162:33
[INFO] [stdout]     |
[INFO] [stdout] 158 |     fn diffuse<R: rand::prelude::Rng + ?Sized>(&mut self, diffusion_coin: Bernoulli, rng: &mut R) {
[INFO] [stdout]     |                - this type parameter needs to be `Sized`
[INFO] [stdout] ...
[INFO] [stdout] 162 |             let i = self.sample(rng);
[INFO] [stdout]     |                          ------ ^^^ the trait `Sized` is not implemented for `R`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: required for `R` to implement `rand::rng::Rng`
[INFO] [stdout] note: required by a bound in `rand_distr::Distribution::sample`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:37:18
[INFO] [stdout]     |
[INFO] [stdout]  37 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> T;
[INFO] [stdout]     |                  ^^^ required by this bound in `Distribution::sample`
[INFO] [stdout] help: consider removing the `?Sized` bound to make the type parameter `Sized`
[INFO] [stdout]     |
[INFO] [stdout] 158 -     fn diffuse<R: rand::prelude::Rng + ?Sized>(&mut self, diffusion_coin: Bernoulli, rng: &mut R) {
[INFO] [stdout] 158 +     fn diffuse<R: rand::prelude::Rng>(&mut self, diffusion_coin: Bernoulli, rng: &mut R) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `R: rand::rng::Rng` is not satisfied
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_1d.rs:171:38
[INFO] [stdout]     |
[INFO] [stdout] 171 |             if diffusion_coin.sample(rng) {
[INFO] [stdout]     |                               ------ ^^^ the trait `DerefMut` is not implemented for `R`
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: required for `R` to implement `rand::rng::Rng`
[INFO] [stdout] note: required by a bound in `rand_distr::Distribution::sample`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:37:18
[INFO] [stdout]     |
[INFO] [stdout]  37 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> T;
[INFO] [stdout]     |                  ^^^ required by this bound in `Distribution::sample`
[INFO] [stdout] help: consider further restricting type parameter `R` with trait `DerefMut`
[INFO] [stdout]     |
[INFO] [stdout] 158 |     fn diffuse<R: rand::prelude::Rng + ?Sized + std::ops::DerefMut>(&mut self, diffusion_coin: Bernoulli, rng: &mut R) {
[INFO] [stdout]     |                                               ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `R: rand::rng::Rng` is not satisfied
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_1d.rs:171:38
[INFO] [stdout]     |
[INFO] [stdout] 158 |     fn diffuse<R: rand::prelude::Rng + ?Sized>(&mut self, diffusion_coin: Bernoulli, rng: &mut R) {
[INFO] [stdout]     |                - this type parameter needs to be `Sized`
[INFO] [stdout] ...
[INFO] [stdout] 171 |             if diffusion_coin.sample(rng) {
[INFO] [stdout]     |                               ------ ^^^ the trait `Sized` is not implemented for `R`
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: required for `R` to implement `rand::rng::Rng`
[INFO] [stdout] note: required by a bound in `rand_distr::Distribution::sample`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:37:18
[INFO] [stdout]     |
[INFO] [stdout]  37 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> T;
[INFO] [stdout]     |                  ^^^ required by this bound in `Distribution::sample`
[INFO] [stdout] help: consider removing the `?Sized` bound to make the type parameter `Sized`
[INFO] [stdout]     |
[INFO] [stdout] 158 -     fn diffuse<R: rand::prelude::Rng + ?Sized>(&mut self, diffusion_coin: Bernoulli, rng: &mut R) {
[INFO] [stdout] 158 +     fn diffuse<R: rand::prelude::Rng>(&mut self, diffusion_coin: Bernoulli, rng: &mut R) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `R: rand::rng::Rng` is not satisfied
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_1d.rs:162:33
[INFO] [stdout]     |
[INFO] [stdout] 162 |             let i = self.sample(rng);
[INFO] [stdout]     |                          ------ ^^^ the trait `DerefMut` is not implemented for `R`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: required for `R` to implement `rand::rng::Rng`
[INFO] [stdout] note: required by a bound in `rand_distr::Distribution::sample`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:37:18
[INFO] [stdout]     |
[INFO] [stdout]  37 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> T;
[INFO] [stdout]     |                  ^^^ required by this bound in `Distribution::sample`
[INFO] [stdout] help: consider further restricting type parameter `R` with trait `DerefMut`
[INFO] [stdout]     |
[INFO] [stdout] 158 |     fn diffuse<R: rand::prelude::Rng + ?Sized + std::ops::DerefMut>(&mut self, diffusion_coin: Bernoulli, rng: &mut R) {
[INFO] [stdout]     |                                               ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `R: rand::rng::Rng` is not satisfied
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_1d.rs:162:33
[INFO] [stdout]     |
[INFO] [stdout] 158 |     fn diffuse<R: rand::prelude::Rng + ?Sized>(&mut self, diffusion_coin: Bernoulli, rng: &mut R) {
[INFO] [stdout]     |                - this type parameter needs to be `Sized`
[INFO] [stdout] ...
[INFO] [stdout] 162 |             let i = self.sample(rng);
[INFO] [stdout]     |                          ------ ^^^ the trait `Sized` is not implemented for `R`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: required for `R` to implement `rand::rng::Rng`
[INFO] [stdout] note: required by a bound in `rand_distr::Distribution::sample`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:37:18
[INFO] [stdout]     |
[INFO] [stdout]  37 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> T;
[INFO] [stdout]     |                  ^^^ required by this bound in `Distribution::sample`
[INFO] [stdout] help: consider removing the `?Sized` bound to make the type parameter `Sized`
[INFO] [stdout]     |
[INFO] [stdout] 158 -     fn diffuse<R: rand::prelude::Rng + ?Sized>(&mut self, diffusion_coin: Bernoulli, rng: &mut R) {
[INFO] [stdout] 158 +     fn diffuse<R: rand::prelude::Rng>(&mut self, diffusion_coin: Bernoulli, rng: &mut R) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `R: rand::rng::Rng` is not satisfied
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_1d.rs:171:38
[INFO] [stdout]     |
[INFO] [stdout] 171 |             if diffusion_coin.sample(rng) {
[INFO] [stdout]     |                               ------ ^^^ the trait `DerefMut` is not implemented for `R`
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: required for `R` to implement `rand::rng::Rng`
[INFO] [stdout] note: required by a bound in `rand_distr::Distribution::sample`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:37:18
[INFO] [stdout]     |
[INFO] [stdout]  37 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> T;
[INFO] [stdout]     |                  ^^^ required by this bound in `Distribution::sample`
[INFO] [stdout] help: consider further restricting type parameter `R` with trait `DerefMut`
[INFO] [stdout]     |
[INFO] [stdout] 158 |     fn diffuse<R: rand::prelude::Rng + ?Sized + std::ops::DerefMut>(&mut self, diffusion_coin: Bernoulli, rng: &mut R) {
[INFO] [stdout]     |                                               ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `R: rand::rng::Rng` is not satisfied
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_1d.rs:171:38
[INFO] [stdout]     |
[INFO] [stdout] 158 |     fn diffuse<R: rand::prelude::Rng + ?Sized>(&mut self, diffusion_coin: Bernoulli, rng: &mut R) {
[INFO] [stdout]     |                - this type parameter needs to be `Sized`
[INFO] [stdout] ...
[INFO] [stdout] 171 |             if diffusion_coin.sample(rng) {
[INFO] [stdout]     |                               ------ ^^^ the trait `Sized` is not implemented for `R`
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: required for `R` to implement `rand::rng::Rng`
[INFO] [stdout] note: required by a bound in `rand_distr::Distribution::sample`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:37:18
[INFO] [stdout]     |
[INFO] [stdout]  37 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> T;
[INFO] [stdout]     |                  ^^^ required by this bound in `Distribution::sample`
[INFO] [stdout] help: consider removing the `?Sized` bound to make the type parameter `Sized`
[INFO] [stdout]     |
[INFO] [stdout] 158 -     fn diffuse<R: rand::prelude::Rng + ?Sized>(&mut self, diffusion_coin: Bernoulli, rng: &mut R) {
[INFO] [stdout] 158 +     fn diffuse<R: rand::prelude::Rng>(&mut self, diffusion_coin: Bernoulli, rng: &mut R) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `R: rand::rng::Rng` is not satisfied
[INFO] [stdout]   --> src/states/lattices/square_lattices/impl_2d.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 |         [self.site_dist.sample(rng), self.site_dist.sample(rng)]
[INFO] [stdout]    |                         ------ ^^^ the trait `DerefMut` is not implemented for `R`
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]    = note: required for `R` to implement `rand::rng::Rng`
[INFO] [stdout] note: required by a bound in `rand_distr::Distribution::sample`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:37:18
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> T;
[INFO] [stdout]    |                  ^^^ required by this bound in `Distribution::sample`
[INFO] [stdout] help: consider further restricting type parameter `R` with trait `DerefMut`
[INFO] [stdout]    |
[INFO] [stdout] 45 |     fn sample<R: Rng + ?Sized + std::ops::DerefMut>(&self, rng: &mut R) -> <Self as SiteState>::Index {
[INFO] [stdout]    |                               ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `R: rand::rng::Rng` is not satisfied
[INFO] [stdout]   --> src/states/lattices/square_lattices/impl_2d.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 |         [self.site_dist.sample(rng), self.site_dist.sample(rng)]
[INFO] [stdout]    |                         ------ ^^^ the trait `DerefMut` is not implemented for `R`
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]    = note: required for `R` to implement `rand::rng::Rng`
[INFO] [stdout] note: required by a bound in `rand_distr::Distribution::sample`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:37:18
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> T;
[INFO] [stdout]    |                  ^^^ required by this bound in `Distribution::sample`
[INFO] [stdout] help: consider further restricting type parameter `R` with trait `DerefMut`
[INFO] [stdout]    |
[INFO] [stdout] 45 |     fn sample<R: Rng + ?Sized + std::ops::DerefMut>(&self, rng: &mut R) -> <Self as SiteState>::Index {
[INFO] [stdout]    |                               ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `R: rand::rng::Rng` is not satisfied
[INFO] [stdout]   --> src/states/lattices/square_lattices/impl_2d.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 45 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> <Self as SiteState>::Index {
[INFO] [stdout]    |               - this type parameter needs to be `Sized`
[INFO] [stdout] 46 |         [self.site_dist.sample(rng), self.site_dist.sample(rng)]
[INFO] [stdout]    |                         ------ ^^^ the trait `Sized` is not implemented for `R`
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]    = note: required for `R` to implement `rand::rng::Rng`
[INFO] [stdout] note: required by a bound in `rand_distr::Distribution::sample`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:37:18
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> T;
[INFO] [stdout]    |                  ^^^ required by this bound in `Distribution::sample`
[INFO] [stdout] help: consider removing the `?Sized` bound to make the type parameter `Sized`
[INFO] [stdout]    |
[INFO] [stdout] 45 -     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> <Self as SiteState>::Index {
[INFO] [stdout] 45 +     fn sample<R: Rng>(&self, rng: &mut R) -> <Self as SiteState>::Index {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `R: rand::rng::Rng` is not satisfied
[INFO] [stdout]   --> src/states/lattices/square_lattices/impl_2d.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 45 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> <Self as SiteState>::Index {
[INFO] [stdout]    |               - this type parameter needs to be `Sized`
[INFO] [stdout] 46 |         [self.site_dist.sample(rng), self.site_dist.sample(rng)]
[INFO] [stdout]    |                         ------ ^^^ the trait `Sized` is not implemented for `R`
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]    = note: required for `R` to implement `rand::rng::Rng`
[INFO] [stdout] note: required by a bound in `rand_distr::Distribution::sample`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:37:18
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> T;
[INFO] [stdout]    |                  ^^^ required by this bound in `Distribution::sample`
[INFO] [stdout] help: consider removing the `?Sized` bound to make the type parameter `Sized`
[INFO] [stdout]    |
[INFO] [stdout] 45 -     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> <Self as SiteState>::Index {
[INFO] [stdout] 45 +     fn sample<R: Rng>(&self, rng: &mut R) -> <Self as SiteState>::Index {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `R: rand::rng::Rng` is not satisfied
[INFO] [stdout]   --> src/states/lattices/square_lattices/impl_2d.rs:46:60
[INFO] [stdout]    |
[INFO] [stdout] 46 |         [self.site_dist.sample(rng), self.site_dist.sample(rng)]
[INFO] [stdout]    |                                                     ------ ^^^ the trait `DerefMut` is not implemented for `R`
[INFO] [stdout]    |                                                     |
[INFO] [stdout]    |                                                     required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]    = note: required for `R` to implement `rand::rng::Rng`
[INFO] [stdout] note: required by a bound in `rand_distr::Distribution::sample`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:37:18
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> T;
[INFO] [stdout]    |                  ^^^ required by this bound in `Distribution::sample`
[INFO] [stdout] help: consider further restricting type parameter `R` with trait `DerefMut`
[INFO] [stdout]    |
[INFO] [stdout] 45 |     fn sample<R: Rng + ?Sized + std::ops::DerefMut>(&self, rng: &mut R) -> <Self as SiteState>::Index {
[INFO] [stdout]    |                               ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `R: rand::rng::Rng` is not satisfied
[INFO] [stdout]   --> src/states/lattices/square_lattices/impl_2d.rs:46:60
[INFO] [stdout]    |
[INFO] [stdout] 46 |         [self.site_dist.sample(rng), self.site_dist.sample(rng)]
[INFO] [stdout]    |                                                     ------ ^^^ the trait `DerefMut` is not implemented for `R`
[INFO] [stdout]    |                                                     |
[INFO] [stdout]    |                                                     required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]    = note: required for `R` to implement `rand::rng::Rng`
[INFO] [stdout] note: required by a bound in `rand_distr::Distribution::sample`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:37:18
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> T;
[INFO] [stdout]    |                  ^^^ required by this bound in `Distribution::sample`
[INFO] [stdout] help: consider further restricting type parameter `R` with trait `DerefMut`
[INFO] [stdout]    |
[INFO] [stdout] 45 |     fn sample<R: Rng + ?Sized + std::ops::DerefMut>(&self, rng: &mut R) -> <Self as SiteState>::Index {
[INFO] [stdout]    |                               ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `R: rand::rng::Rng` is not satisfied
[INFO] [stdout]   --> src/states/lattices/square_lattices/impl_2d.rs:46:60
[INFO] [stdout]    |
[INFO] [stdout] 45 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> <Self as SiteState>::Index {
[INFO] [stdout]    |               - this type parameter needs to be `Sized`
[INFO] [stdout] 46 |         [self.site_dist.sample(rng), self.site_dist.sample(rng)]
[INFO] [stdout]    |                                                     ------ ^^^ the trait `Sized` is not implemented for `R`
[INFO] [stdout]    |                                                     |
[INFO] [stdout]    |                                                     required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]    = note: required for `R` to implement `rand::rng::Rng`
[INFO] [stdout] note: required by a bound in `rand_distr::Distribution::sample`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:37:18
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> T;
[INFO] [stdout]    |                  ^^^ required by this bound in `Distribution::sample`
[INFO] [stdout] help: consider removing the `?Sized` bound to make the type parameter `Sized`
[INFO] [stdout]    |
[INFO] [stdout] 45 -     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> <Self as SiteState>::Index {
[INFO] [stdout] 45 +     fn sample<R: Rng>(&self, rng: &mut R) -> <Self as SiteState>::Index {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `R: rand::rng::Rng` is not satisfied
[INFO] [stdout]   --> src/states/lattices/square_lattices/impl_2d.rs:46:60
[INFO] [stdout]    |
[INFO] [stdout] 45 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> <Self as SiteState>::Index {
[INFO] [stdout]    |               - this type parameter needs to be `Sized`
[INFO] [stdout] 46 |         [self.site_dist.sample(rng), self.site_dist.sample(rng)]
[INFO] [stdout]    |                                                     ------ ^^^ the trait `Sized` is not implemented for `R`
[INFO] [stdout]    |                                                     |
[INFO] [stdout]    |                                                     required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]    = note: required for `R` to implement `rand::rng::Rng`
[INFO] [stdout] note: required by a bound in `rand_distr::Distribution::sample`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:37:18
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> T;
[INFO] [stdout]    |                  ^^^ required by this bound in `Distribution::sample`
[INFO] [stdout] help: consider removing the `?Sized` bound to make the type parameter `Sized`
[INFO] [stdout]    |
[INFO] [stdout] 45 -     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> <Self as SiteState>::Index {
[INFO] [stdout] 45 +     fn sample<R: Rng>(&self, rng: &mut R) -> <Self as SiteState>::Index {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/states/lattices/square_lattices/impl_2d.rs:81:24
[INFO] [stdout]    |
[INFO] [stdout] 81 |             site_dist: Uniform::new(0, side_length),
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Uniform<usize>`, found `Result<Uniform<usize>, Error>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `rand_distr::Uniform<_>`
[INFO] [stdout]                 found enum `Result<rand_distr::Uniform<_>, rand_distr::uniform::Error>`
[INFO] [stdout] help: consider using `Result::expect` to unwrap the `Result<rand_distr::Uniform<usize>, rand_distr::uniform::Error>` value, panicking if the value is a `Result::Err`
[INFO] [stdout]    |
[INFO] [stdout] 81 |             site_dist: Uniform::new(0, side_length).expect("REASON"),
[INFO] [stdout]    |                                                    +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/states/lattices/square_lattices/impl_2d.rs:81:24
[INFO] [stdout]    |
[INFO] [stdout] 81 |             site_dist: Uniform::new(0, side_length),
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Uniform<usize>`, found `Result<Uniform<usize>, Error>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `rand_distr::Uniform<_>`
[INFO] [stdout]                 found enum `Result<rand_distr::Uniform<_>, rand_distr::uniform::Error>`
[INFO] [stdout] help: consider using `Result::expect` to unwrap the `Result<rand_distr::Uniform<usize>, rand_distr::uniform::Error>` value, panicking if the value is a `Result::Err`
[INFO] [stdout]    |
[INFO] [stdout] 81 |             site_dist: Uniform::new(0, side_length).expect("REASON"),
[INFO] [stdout]    |                                                    +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `D: rand::distributions::Distribution<_>` is not satisfied
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_2d.rs:91:59
[INFO] [stdout]     |
[INFO] [stdout]  91 |             state: Array2::random_using([side_length; 2], dist, rng),
[INFO] [stdout]     |                    --------------------                   ^^^^ the trait `rand::distributions::Distribution<_>` is not implemented for `D`
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `rand` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/distributions/distribution.rs:35:1
[INFO] [stdout]     |
[INFO] [stdout]  35 | pub trait Distribution<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^ this is the expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:35:1
[INFO] [stdout]     |
[INFO] [stdout]  35 | pub trait Distribution<T> {
[INFO] [stdout]     | ------------------------- this is the trait that was imported
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] help: the trait `rand::distributions::Distribution<_>` is not implemented for `D`
[INFO] [stdout]       but it is implemented for `&_`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/distributions/distribution.rs:115:1
[INFO] [stdout]     |
[INFO] [stdout] 115 | impl<'a, T, D: Distribution<T>> Distribution<T> for &'a D {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: for that trait implementation, expected `&_`, found `D`
[INFO] [stdout]     = note: required for `&D` to implement `rand::distributions::Distribution<_>`
[INFO] [stdout] note: required by a bound in `random_using`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ndarray-rand-0.15.0/src/lib.rs:121:14
[INFO] [stdout]     |
[INFO] [stdout] 119 |     fn random_using<Sh, IdS, R>(shape: Sh, distribution: IdS, rng: &mut R) -> ArrayBase<S, D>
[INFO] [stdout]     |        ------------ required by a bound in this associated function
[INFO] [stdout] 120 |     where
[INFO] [stdout] 121 |         IdS: Distribution<S::Elem>,
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RandomExt::random_using`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/states/lattices/square_lattices/impl_2d.rs:93:24
[INFO] [stdout]    |
[INFO] [stdout] 93 |             site_dist: Uniform::new(0, side_length),
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Uniform<usize>`, found `Result<Uniform<usize>, Error>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `rand_distr::Uniform<_>`
[INFO] [stdout]                 found enum `Result<rand_distr::Uniform<_>, rand_distr::uniform::Error>`
[INFO] [stdout] help: consider using `Result::expect` to unwrap the `Result<rand_distr::Uniform<usize>, rand_distr::uniform::Error>` value, panicking if the value is a `Result::Err`
[INFO] [stdout]    |
[INFO] [stdout] 93 |             site_dist: Uniform::new(0, side_length).expect("REASON"),
[INFO] [stdout]    |                                                    +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `D: rand::distributions::Distribution<_>` is not satisfied
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_2d.rs:91:59
[INFO] [stdout]     |
[INFO] [stdout]  91 |             state: Array2::random_using([side_length; 2], dist, rng),
[INFO] [stdout]     |                    --------------------                   ^^^^ the trait `rand::distributions::Distribution<_>` is not implemented for `D`
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `rand` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/distributions/distribution.rs:35:1
[INFO] [stdout]     |
[INFO] [stdout]  35 | pub trait Distribution<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^ this is the expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:35:1
[INFO] [stdout]     |
[INFO] [stdout]  35 | pub trait Distribution<T> {
[INFO] [stdout]     | ------------------------- this is the trait that was imported
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] help: the trait `rand::distributions::Distribution<_>` is not implemented for `D`
[INFO] [stdout]       but it is implemented for `&_`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/distributions/distribution.rs:115:1
[INFO] [stdout]     |
[INFO] [stdout] 115 | impl<'a, T, D: Distribution<T>> Distribution<T> for &'a D {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: for that trait implementation, expected `&_`, found `D`
[INFO] [stdout]     = note: required for `&D` to implement `rand::distributions::Distribution<_>`
[INFO] [stdout] note: required by a bound in `random_using`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ndarray-rand-0.15.0/src/lib.rs:121:14
[INFO] [stdout]     |
[INFO] [stdout] 119 |     fn random_using<Sh, IdS, R>(shape: Sh, distribution: IdS, rng: &mut R) -> ArrayBase<S, D>
[INFO] [stdout]     |        ------------ required by a bound in this associated function
[INFO] [stdout] 120 |     where
[INFO] [stdout] 121 |         IdS: Distribution<S::Elem>,
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RandomExt::random_using`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/states/lattices/square_lattices/impl_2d.rs:93:24
[INFO] [stdout]    |
[INFO] [stdout] 93 |             site_dist: Uniform::new(0, side_length),
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Uniform<usize>`, found `Result<Uniform<usize>, Error>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `rand_distr::Uniform<_>`
[INFO] [stdout]                 found enum `Result<rand_distr::Uniform<_>, rand_distr::uniform::Error>`
[INFO] [stdout] help: consider using `Result::expect` to unwrap the `Result<rand_distr::Uniform<usize>, rand_distr::uniform::Error>` value, panicking if the value is a `Result::Err`
[INFO] [stdout]    |
[INFO] [stdout] 93 |             site_dist: Uniform::new(0, side_length).expect("REASON"),
[INFO] [stdout]    |                                                    +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&mut R: rand::rng::Rng` is not satisfied
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_2d.rs:106:64
[INFO] [stdout]     |
[INFO] [stdout] 106 |         for (s, x) in self.sites_mut().zip((&dist).sample_iter(rng)) {
[INFO] [stdout]     |                                                    ----------- ^^^ the trait `DerefMut` is not implemented for `R`
[INFO] [stdout]     |                                                    |
[INFO] [stdout]     |                                                    required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `&mut R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: required for `&mut R` to implement `rand::rng::Rng`
[INFO] [stdout] note: required by a bound in `rand_distr::Distribution::sample_iter`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:74:12
[INFO] [stdout]     |
[INFO] [stdout]  72 |     fn sample_iter<R>(self, rng: R) -> Iter<Self, R, T>
[INFO] [stdout]     |        ----------- required by a bound in this associated function
[INFO] [stdout]  73 |     where
[INFO] [stdout]  74 |         R: Rng,
[INFO] [stdout]     |            ^^^ required by this bound in `Distribution::sample_iter`
[INFO] [stdout] help: consider further restricting type parameter `R` with trait `DerefMut`
[INFO] [stdout]     |
[INFO] [stdout] 101 |     fn set_random<D: Distribution<Self::Site>, R: rand::Rng + ?Sized + std::ops::DerefMut>(
[INFO] [stdout]     |                                                                      ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&mut R: rand::rng::Rng` is not satisfied
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_2d.rs:106:64
[INFO] [stdout]     |
[INFO] [stdout] 101 |     fn set_random<D: Distribution<Self::Site>, R: rand::Rng + ?Sized>(
[INFO] [stdout]     |                                                - this type parameter needs to be `Sized`
[INFO] [stdout] ...
[INFO] [stdout] 106 |         for (s, x) in self.sites_mut().zip((&dist).sample_iter(rng)) {
[INFO] [stdout]     |                                                    ----------- ^^^ the trait `Sized` is not implemented for `R`
[INFO] [stdout]     |                                                    |
[INFO] [stdout]     |                                                    required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `&mut R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: required for `&mut R` to implement `rand::rng::Rng`
[INFO] [stdout] note: required by a bound in `rand_distr::Distribution::sample_iter`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:74:12
[INFO] [stdout]     |
[INFO] [stdout]  72 |     fn sample_iter<R>(self, rng: R) -> Iter<Self, R, T>
[INFO] [stdout]     |        ----------- required by a bound in this associated function
[INFO] [stdout]  73 |     where
[INFO] [stdout]  74 |         R: Rng,
[INFO] [stdout]     |            ^^^ required by this bound in `Distribution::sample_iter`
[INFO] [stdout] help: consider removing the `?Sized` bound to make the type parameter `Sized`
[INFO] [stdout]     |
[INFO] [stdout] 101 -     fn set_random<D: Distribution<Self::Site>, R: rand::Rng + ?Sized>(
[INFO] [stdout] 101 +     fn set_random<D: Distribution<Self::Site>, R: rand::Rng>(
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `R: DerefMut` is not satisfied
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_2d.rs:106:40
[INFO] [stdout]     |
[INFO] [stdout] 106 |         for (s, x) in self.sites_mut().zip((&dist).sample_iter(rng)) {
[INFO] [stdout]     |                                        ^^^ the trait `DerefMut` is not implemented for `R`
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `&mut R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: required for `&mut R` to implement `rand::rng::Rng`
[INFO] [stdout]     = note: required for `rand_distr::Iter<&&D, &mut R, T>` to implement `Iterator`
[INFO] [stdout]     = note: required for `rand_distr::Iter<&&D, &mut R, T>` to implement `IntoIterator`
[INFO] [stdout] help: consider further restricting type parameter `R` with trait `DerefMut`
[INFO] [stdout]     |
[INFO] [stdout] 101 |     fn set_random<D: Distribution<Self::Site>, R: rand::Rng + ?Sized + std::ops::DerefMut>(
[INFO] [stdout]     |                                                                      ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&mut R: rand::rng::Rng` is not satisfied
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_2d.rs:106:64
[INFO] [stdout]     |
[INFO] [stdout] 106 |         for (s, x) in self.sites_mut().zip((&dist).sample_iter(rng)) {
[INFO] [stdout]     |                                                    ----------- ^^^ the trait `DerefMut` is not implemented for `R`
[INFO] [stdout]     |                                                    |
[INFO] [stdout]     |                                                    required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `&mut R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: required for `&mut R` to implement `rand::rng::Rng`
[INFO] [stdout] note: required by a bound in `rand_distr::Distribution::sample_iter`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:74:12
[INFO] [stdout]     |
[INFO] [stdout]  72 |     fn sample_iter<R>(self, rng: R) -> Iter<Self, R, T>
[INFO] [stdout]     |        ----------- required by a bound in this associated function
[INFO] [stdout]  73 |     where
[INFO] [stdout]  74 |         R: Rng,
[INFO] [stdout]     |            ^^^ required by this bound in `Distribution::sample_iter`
[INFO] [stdout] help: consider further restricting type parameter `R` with trait `DerefMut`
[INFO] [stdout]     |
[INFO] [stdout] 101 |     fn set_random<D: Distribution<Self::Site>, R: rand::Rng + ?Sized + std::ops::DerefMut>(
[INFO] [stdout]     |                                                                      ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&mut R: rand::rng::Rng` is not satisfied
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_2d.rs:106:64
[INFO] [stdout]     |
[INFO] [stdout] 101 |     fn set_random<D: Distribution<Self::Site>, R: rand::Rng + ?Sized>(
[INFO] [stdout]     |                                                - this type parameter needs to be `Sized`
[INFO] [stdout] ...
[INFO] [stdout] 106 |         for (s, x) in self.sites_mut().zip((&dist).sample_iter(rng)) {
[INFO] [stdout]     |                                                    ----------- ^^^ the trait `Sized` is not implemented for `R`
[INFO] [stdout]     |                                                    |
[INFO] [stdout]     |                                                    required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `&mut R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: required for `&mut R` to implement `rand::rng::Rng`
[INFO] [stdout] note: required by a bound in `rand_distr::Distribution::sample_iter`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:74:12
[INFO] [stdout]     |
[INFO] [stdout]  72 |     fn sample_iter<R>(self, rng: R) -> Iter<Self, R, T>
[INFO] [stdout]     |        ----------- required by a bound in this associated function
[INFO] [stdout]  73 |     where
[INFO] [stdout]  74 |         R: Rng,
[INFO] [stdout]     |            ^^^ required by this bound in `Distribution::sample_iter`
[INFO] [stdout] help: consider removing the `?Sized` bound to make the type parameter `Sized`
[INFO] [stdout]     |
[INFO] [stdout] 101 -     fn set_random<D: Distribution<Self::Site>, R: rand::Rng + ?Sized>(
[INFO] [stdout] 101 +     fn set_random<D: Distribution<Self::Site>, R: rand::Rng>(
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `R: DerefMut` is not satisfied
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_2d.rs:106:40
[INFO] [stdout]     |
[INFO] [stdout] 106 |         for (s, x) in self.sites_mut().zip((&dist).sample_iter(rng)) {
[INFO] [stdout]     |                                        ^^^ the trait `DerefMut` is not implemented for `R`
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `&mut R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: required for `&mut R` to implement `rand::rng::Rng`
[INFO] [stdout]     = note: required for `rand_distr::Iter<&&D, &mut R, T>` to implement `Iterator`
[INFO] [stdout]     = note: required for `rand_distr::Iter<&&D, &mut R, T>` to implement `IntoIterator`
[INFO] [stdout] help: consider further restricting type parameter `R` with trait `DerefMut`
[INFO] [stdout]     |
[INFO] [stdout] 101 |     fn set_random<D: Distribution<Self::Site>, R: rand::Rng + ?Sized + std::ops::DerefMut>(
[INFO] [stdout]     |                                                                      ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `R` cannot be known at compilation time
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_2d.rs:106:40
[INFO] [stdout]     |
[INFO] [stdout] 101 |     fn set_random<D: Distribution<Self::Site>, R: rand::Rng + ?Sized>(
[INFO] [stdout]     |                                                - this type parameter needs to be `Sized`
[INFO] [stdout] ...
[INFO] [stdout] 106 |         for (s, x) in self.sites_mut().zip((&dist).sample_iter(rng)) {
[INFO] [stdout]     |                                        ^^^ doesn't have a size known at compile-time
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `&mut R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: required for `&mut R` to implement `rand::rng::Rng`
[INFO] [stdout]     = note: required for `rand_distr::Iter<&&D, &mut R, T>` to implement `Iterator`
[INFO] [stdout]     = note: required for `rand_distr::Iter<&&D, &mut R, T>` to implement `IntoIterator`
[INFO] [stdout] help: consider removing the `?Sized` bound to make the type parameter `Sized`
[INFO] [stdout]     |
[INFO] [stdout] 101 -     fn set_random<D: Distribution<Self::Site>, R: rand::Rng + ?Sized>(
[INFO] [stdout] 101 +     fn set_random<D: Distribution<Self::Site>, R: rand::Rng>(
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `R: DerefMut` is not satisfied
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_2d.rs:106:23
[INFO] [stdout]     |
[INFO] [stdout] 106 |         for (s, x) in self.sites_mut().zip((&dist).sample_iter(rng)) {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `DerefMut` is not implemented for `R`
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `&mut R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: required for `&mut R` to implement `rand::rng::Rng`
[INFO] [stdout]     = note: required for `rand_distr::Iter<&&D, &mut R, T>` to implement `Iterator`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `std::iter::Zip<impl Iterator<Item = &mut T>, rand_distr::Iter<&&D, &mut R, T>>` to implement `Iterator`
[INFO] [stdout]     = note: required for `std::iter::Zip<impl Iterator<Item = &mut T>, rand_distr::Iter<&&D, &mut R, T>>` to implement `IntoIterator`
[INFO] [stdout] help: consider further restricting type parameter `R` with trait `DerefMut`
[INFO] [stdout]     |
[INFO] [stdout] 101 |     fn set_random<D: Distribution<Self::Site>, R: rand::Rng + ?Sized + std::ops::DerefMut>(
[INFO] [stdout]     |                                                                      ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `R` cannot be known at compilation time
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_2d.rs:106:40
[INFO] [stdout]     |
[INFO] [stdout] 101 |     fn set_random<D: Distribution<Self::Site>, R: rand::Rng + ?Sized>(
[INFO] [stdout]     |                                                - this type parameter needs to be `Sized`
[INFO] [stdout] ...
[INFO] [stdout] 106 |         for (s, x) in self.sites_mut().zip((&dist).sample_iter(rng)) {
[INFO] [stdout]     |                                        ^^^ doesn't have a size known at compile-time
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `&mut R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: required for `&mut R` to implement `rand::rng::Rng`
[INFO] [stdout]     = note: required for `rand_distr::Iter<&&D, &mut R, T>` to implement `Iterator`
[INFO] [stdout]     = note: required for `rand_distr::Iter<&&D, &mut R, T>` to implement `IntoIterator`
[INFO] [stdout] help: consider removing the `?Sized` bound to make the type parameter `Sized`
[INFO] [stdout]     |
[INFO] [stdout] 101 -     fn set_random<D: Distribution<Self::Site>, R: rand::Rng + ?Sized>(
[INFO] [stdout] 101 +     fn set_random<D: Distribution<Self::Site>, R: rand::Rng>(
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `R: DerefMut` is not satisfied
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_2d.rs:106:23
[INFO] [stdout]     |
[INFO] [stdout] 106 |         for (s, x) in self.sites_mut().zip((&dist).sample_iter(rng)) {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `DerefMut` is not implemented for `R`
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `&mut R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: required for `&mut R` to implement `rand::rng::Rng`
[INFO] [stdout]     = note: required for `rand_distr::Iter<&&D, &mut R, T>` to implement `Iterator`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `std::iter::Zip<impl Iterator<Item = &mut T>, rand_distr::Iter<&&D, &mut R, T>>` to implement `Iterator`
[INFO] [stdout]     = note: required for `std::iter::Zip<impl Iterator<Item = &mut T>, rand_distr::Iter<&&D, &mut R, T>>` to implement `IntoIterator`
[INFO] [stdout] help: consider further restricting type parameter `R` with trait `DerefMut`
[INFO] [stdout]     |
[INFO] [stdout] 101 |     fn set_random<D: Distribution<Self::Site>, R: rand::Rng + ?Sized + std::ops::DerefMut>(
[INFO] [stdout]     |                                                                      ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `R` cannot be known at compilation time
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_2d.rs:106:23
[INFO] [stdout]     |
[INFO] [stdout] 101 |     fn set_random<D: Distribution<Self::Site>, R: rand::Rng + ?Sized>(
[INFO] [stdout]     |                                                - this type parameter needs to be `Sized`
[INFO] [stdout] ...
[INFO] [stdout] 106 |         for (s, x) in self.sites_mut().zip((&dist).sample_iter(rng)) {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `&mut R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: required for `&mut R` to implement `rand::rng::Rng`
[INFO] [stdout]     = note: required for `rand_distr::Iter<&&D, &mut R, T>` to implement `Iterator`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `std::iter::Zip<impl Iterator<Item = &mut T>, rand_distr::Iter<&&D, &mut R, T>>` to implement `Iterator`
[INFO] [stdout]     = note: required for `std::iter::Zip<impl Iterator<Item = &mut T>, rand_distr::Iter<&&D, &mut R, T>>` to implement `IntoIterator`
[INFO] [stdout] help: consider removing the `?Sized` bound to make the type parameter `Sized`
[INFO] [stdout]     |
[INFO] [stdout] 101 -     fn set_random<D: Distribution<Self::Site>, R: rand::Rng + ?Sized>(
[INFO] [stdout] 101 +     fn set_random<D: Distribution<Self::Site>, R: rand::Rng>(
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `R` cannot be known at compilation time
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_2d.rs:106:23
[INFO] [stdout]     |
[INFO] [stdout] 101 |     fn set_random<D: Distribution<Self::Site>, R: rand::Rng + ?Sized>(
[INFO] [stdout]     |                                                - this type parameter needs to be `Sized`
[INFO] [stdout] ...
[INFO] [stdout] 106 |         for (s, x) in self.sites_mut().zip((&dist).sample_iter(rng)) {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `&mut R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: required for `&mut R` to implement `rand::rng::Rng`
[INFO] [stdout]     = note: required for `rand_distr::Iter<&&D, &mut R, T>` to implement `Iterator`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `std::iter::Zip<impl Iterator<Item = &mut T>, rand_distr::Iter<&&D, &mut R, T>>` to implement `Iterator`
[INFO] [stdout]     = note: required for `std::iter::Zip<impl Iterator<Item = &mut T>, rand_distr::Iter<&&D, &mut R, T>>` to implement `IntoIterator`
[INFO] [stdout] help: consider removing the `?Sized` bound to make the type parameter `Sized`
[INFO] [stdout]     |
[INFO] [stdout] 101 -     fn set_random<D: Distribution<Self::Site>, R: rand::Rng + ?Sized>(
[INFO] [stdout] 101 +     fn set_random<D: Distribution<Self::Site>, R: rand::Rng>(
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `R: rand::rng::Rng` is not satisfied
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_2d.rs:217:44
[INFO] [stdout]     |
[INFO] [stdout] 217 |             let idx @ [i, j] = self.sample(rng);
[INFO] [stdout]     |                                     ------ ^^^ the trait `DerefMut` is not implemented for `R`
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: required for `R` to implement `rand::rng::Rng`
[INFO] [stdout] note: required by a bound in `rand_distr::Distribution::sample`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:37:18
[INFO] [stdout]     |
[INFO] [stdout]  37 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> T;
[INFO] [stdout]     |                  ^^^ required by this bound in `Distribution::sample`
[INFO] [stdout] help: consider further restricting type parameter `R` with trait `DerefMut`
[INFO] [stdout]     |
[INFO] [stdout] 213 |     fn diffuse<R: rand::prelude::Rng + ?Sized + std::ops::DerefMut>(&mut self, diffusion_coin: Bernoulli, rng: &mut R) {
[INFO] [stdout]     |                                               ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `R: rand::rng::Rng` is not satisfied
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_2d.rs:217:44
[INFO] [stdout]     |
[INFO] [stdout] 217 |             let idx @ [i, j] = self.sample(rng);
[INFO] [stdout]     |                                     ------ ^^^ the trait `DerefMut` is not implemented for `R`
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: required for `R` to implement `rand::rng::Rng`
[INFO] [stdout] note: required by a bound in `rand_distr::Distribution::sample`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:37:18
[INFO] [stdout]     |
[INFO] [stdout]  37 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> T;
[INFO] [stdout]     |                  ^^^ required by this bound in `Distribution::sample`
[INFO] [stdout] help: consider further restricting type parameter `R` with trait `DerefMut`
[INFO] [stdout]     |
[INFO] [stdout] 213 |     fn diffuse<R: rand::prelude::Rng + ?Sized + std::ops::DerefMut>(&mut self, diffusion_coin: Bernoulli, rng: &mut R) {
[INFO] [stdout]     |                                               ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `R: rand::rng::Rng` is not satisfied
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_2d.rs:217:44
[INFO] [stdout]     |
[INFO] [stdout] 213 |     fn diffuse<R: rand::prelude::Rng + ?Sized>(&mut self, diffusion_coin: Bernoulli, rng: &mut R) {
[INFO] [stdout]     |                - this type parameter needs to be `Sized`
[INFO] [stdout] ...
[INFO] [stdout] 217 |             let idx @ [i, j] = self.sample(rng);
[INFO] [stdout]     |                                     ------ ^^^ the trait `Sized` is not implemented for `R`
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: required for `R` to implement `rand::rng::Rng`
[INFO] [stdout] note: required by a bound in `rand_distr::Distribution::sample`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:37:18
[INFO] [stdout]     |
[INFO] [stdout]  37 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> T;
[INFO] [stdout]     |                  ^^^ required by this bound in `Distribution::sample`
[INFO] [stdout] help: consider removing the `?Sized` bound to make the type parameter `Sized`
[INFO] [stdout]     |
[INFO] [stdout] 213 -     fn diffuse<R: rand::prelude::Rng + ?Sized>(&mut self, diffusion_coin: Bernoulli, rng: &mut R) {
[INFO] [stdout] 213 +     fn diffuse<R: rand::prelude::Rng>(&mut self, diffusion_coin: Bernoulli, rng: &mut R) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `R: rand::rng::Rng` is not satisfied
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_2d.rs:217:44
[INFO] [stdout]     |
[INFO] [stdout] 213 |     fn diffuse<R: rand::prelude::Rng + ?Sized>(&mut self, diffusion_coin: Bernoulli, rng: &mut R) {
[INFO] [stdout]     |                - this type parameter needs to be `Sized`
[INFO] [stdout] ...
[INFO] [stdout] 217 |             let idx @ [i, j] = self.sample(rng);
[INFO] [stdout]     |                                     ------ ^^^ the trait `Sized` is not implemented for `R`
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: required for `R` to implement `rand::rng::Rng`
[INFO] [stdout] note: required by a bound in `rand_distr::Distribution::sample`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:37:18
[INFO] [stdout]     |
[INFO] [stdout]  37 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> T;
[INFO] [stdout]     |                  ^^^ required by this bound in `Distribution::sample`
[INFO] [stdout] help: consider removing the `?Sized` bound to make the type parameter `Sized`
[INFO] [stdout]     |
[INFO] [stdout] 213 -     fn diffuse<R: rand::prelude::Rng + ?Sized>(&mut self, diffusion_coin: Bernoulli, rng: &mut R) {
[INFO] [stdout] 213 +     fn diffuse<R: rand::prelude::Rng>(&mut self, diffusion_coin: Bernoulli, rng: &mut R) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `R: rand::rng::Rng` is not satisfied
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_2d.rs:224:38
[INFO] [stdout]     |
[INFO] [stdout] 224 |             if diffusion_coin.sample(rng) {
[INFO] [stdout]     |                               ------ ^^^ the trait `DerefMut` is not implemented for `R`
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: required for `R` to implement `rand::rng::Rng`
[INFO] [stdout] note: required by a bound in `rand_distr::Distribution::sample`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:37:18
[INFO] [stdout]     |
[INFO] [stdout]  37 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> T;
[INFO] [stdout]     |                  ^^^ required by this bound in `Distribution::sample`
[INFO] [stdout] help: consider further restricting type parameter `R` with trait `DerefMut`
[INFO] [stdout]     |
[INFO] [stdout] 213 |     fn diffuse<R: rand::prelude::Rng + ?Sized + std::ops::DerefMut>(&mut self, diffusion_coin: Bernoulli, rng: &mut R) {
[INFO] [stdout]     |                                               ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `R: rand::rng::Rng` is not satisfied
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_2d.rs:224:38
[INFO] [stdout]     |
[INFO] [stdout] 224 |             if diffusion_coin.sample(rng) {
[INFO] [stdout]     |                               ------ ^^^ the trait `DerefMut` is not implemented for `R`
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: required for `R` to implement `rand::rng::Rng`
[INFO] [stdout] note: required by a bound in `rand_distr::Distribution::sample`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:37:18
[INFO] [stdout]     |
[INFO] [stdout]  37 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> T;
[INFO] [stdout]     |                  ^^^ required by this bound in `Distribution::sample`
[INFO] [stdout] help: consider further restricting type parameter `R` with trait `DerefMut`
[INFO] [stdout]     |
[INFO] [stdout] 213 |     fn diffuse<R: rand::prelude::Rng + ?Sized + std::ops::DerefMut>(&mut self, diffusion_coin: Bernoulli, rng: &mut R) {
[INFO] [stdout]     |                                               ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `R: rand::rng::Rng` is not satisfied
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_2d.rs:224:38
[INFO] [stdout]     |
[INFO] [stdout] 213 |     fn diffuse<R: rand::prelude::Rng + ?Sized>(&mut self, diffusion_coin: Bernoulli, rng: &mut R) {
[INFO] [stdout]     |                - this type parameter needs to be `Sized`
[INFO] [stdout] ...
[INFO] [stdout] 224 |             if diffusion_coin.sample(rng) {
[INFO] [stdout]     |                               ------ ^^^ the trait `Sized` is not implemented for `R`
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: required for `R` to implement `rand::rng::Rng`
[INFO] [stdout] note: required by a bound in `rand_distr::Distribution::sample`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:37:18
[INFO] [stdout]     |
[INFO] [stdout]  37 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> T;
[INFO] [stdout]     |                  ^^^ required by this bound in `Distribution::sample`
[INFO] [stdout] help: consider removing the `?Sized` bound to make the type parameter `Sized`
[INFO] [stdout]     |
[INFO] [stdout] 213 -     fn diffuse<R: rand::prelude::Rng + ?Sized>(&mut self, diffusion_coin: Bernoulli, rng: &mut R) {
[INFO] [stdout] 213 +     fn diffuse<R: rand::prelude::Rng>(&mut self, diffusion_coin: Bernoulli, rng: &mut R) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `R: rand::rng::Rng` is not satisfied
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_2d.rs:224:38
[INFO] [stdout]     |
[INFO] [stdout] 213 |     fn diffuse<R: rand::prelude::Rng + ?Sized>(&mut self, diffusion_coin: Bernoulli, rng: &mut R) {
[INFO] [stdout]     |                - this type parameter needs to be `Sized`
[INFO] [stdout] ...
[INFO] [stdout] 224 |             if diffusion_coin.sample(rng) {
[INFO] [stdout]     |                               ------ ^^^ the trait `Sized` is not implemented for `R`
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: required for `R` to implement `rand::rng::Rng`
[INFO] [stdout] note: required by a bound in `rand_distr::Distribution::sample`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:37:18
[INFO] [stdout]     |
[INFO] [stdout]  37 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> T;
[INFO] [stdout]     |                  ^^^ required by this bound in `Distribution::sample`
[INFO] [stdout] help: consider removing the `?Sized` bound to make the type parameter `Sized`
[INFO] [stdout]     |
[INFO] [stdout] 213 -     fn diffuse<R: rand::prelude::Rng + ?Sized>(&mut self, diffusion_coin: Bernoulli, rng: &mut R) {
[INFO] [stdout] 213 +     fn diffuse<R: rand::prelude::Rng>(&mut self, diffusion_coin: Bernoulli, rng: &mut R) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `R: rand::rng::Rng` is not satisfied
[INFO] [stdout]   --> src/states/lattices/square_lattices/impl_3d.rs:44:35
[INFO] [stdout]    |
[INFO] [stdout] 44 |             self.site_dist.sample(rng),
[INFO] [stdout]    |                            ------ ^^^ the trait `DerefMut` is not implemented for `R`
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]    = note: required for `R` to implement `rand::rng::Rng`
[INFO] [stdout] note: required by a bound in `rand_distr::Distribution::sample`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:37:18
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> T;
[INFO] [stdout]    |                  ^^^ required by this bound in `Distribution::sample`
[INFO] [stdout] help: consider further restricting type parameter `R` with trait `DerefMut`
[INFO] [stdout]    |
[INFO] [stdout] 42 |     fn sample<R: Rng + ?Sized + std::ops::DerefMut>(&self, rng: &mut R) -> <Self as SiteState>::Index {
[INFO] [stdout]    |                               ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `R: rand::rng::Rng` is not satisfied
[INFO] [stdout]   --> src/states/lattices/square_lattices/impl_3d.rs:44:35
[INFO] [stdout]    |
[INFO] [stdout] 44 |             self.site_dist.sample(rng),
[INFO] [stdout]    |                            ------ ^^^ the trait `DerefMut` is not implemented for `R`
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]    = note: required for `R` to implement `rand::rng::Rng`
[INFO] [stdout] note: required by a bound in `rand_distr::Distribution::sample`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:37:18
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> T;
[INFO] [stdout]    |                  ^^^ required by this bound in `Distribution::sample`
[INFO] [stdout] help: consider further restricting type parameter `R` with trait `DerefMut`
[INFO] [stdout]    |
[INFO] [stdout] 42 |     fn sample<R: Rng + ?Sized + std::ops::DerefMut>(&self, rng: &mut R) -> <Self as SiteState>::Index {
[INFO] [stdout]    |                               ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `R: rand::rng::Rng` is not satisfied
[INFO] [stdout]   --> src/states/lattices/square_lattices/impl_3d.rs:44:35
[INFO] [stdout]    |
[INFO] [stdout] 42 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> <Self as SiteState>::Index {
[INFO] [stdout]    |               - this type parameter needs to be `Sized`
[INFO] [stdout] 43 |         [
[INFO] [stdout] 44 |             self.site_dist.sample(rng),
[INFO] [stdout]    |                            ------ ^^^ the trait `Sized` is not implemented for `R`
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]    = note: required for `R` to implement `rand::rng::Rng`
[INFO] [stdout] note: required by a bound in `rand_distr::Distribution::sample`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:37:18
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> T;
[INFO] [stdout]    |                  ^^^ required by this bound in `Distribution::sample`
[INFO] [stdout] help: consider removing the `?Sized` bound to make the type parameter `Sized`
[INFO] [stdout]    |
[INFO] [stdout] 42 -     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> <Self as SiteState>::Index {
[INFO] [stdout] 42 +     fn sample<R: Rng>(&self, rng: &mut R) -> <Self as SiteState>::Index {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `R: rand::rng::Rng` is not satisfied
[INFO] [stdout]   --> src/states/lattices/square_lattices/impl_3d.rs:44:35
[INFO] [stdout]    |
[INFO] [stdout] 42 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> <Self as SiteState>::Index {
[INFO] [stdout]    |               - this type parameter needs to be `Sized`
[INFO] [stdout] 43 |         [
[INFO] [stdout] 44 |             self.site_dist.sample(rng),
[INFO] [stdout]    |                            ------ ^^^ the trait `Sized` is not implemented for `R`
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]    = note: required for `R` to implement `rand::rng::Rng`
[INFO] [stdout] note: required by a bound in `rand_distr::Distribution::sample`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:37:18
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> T;
[INFO] [stdout]    |                  ^^^ required by this bound in `Distribution::sample`
[INFO] [stdout] help: consider removing the `?Sized` bound to make the type parameter `Sized`
[INFO] [stdout]    |
[INFO] [stdout] 42 -     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> <Self as SiteState>::Index {
[INFO] [stdout] 42 +     fn sample<R: Rng>(&self, rng: &mut R) -> <Self as SiteState>::Index {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `R: rand::rng::Rng` is not satisfied
[INFO] [stdout]   --> src/states/lattices/square_lattices/impl_3d.rs:45:35
[INFO] [stdout]    |
[INFO] [stdout] 45 |             self.site_dist.sample(rng),
[INFO] [stdout]    |                            ------ ^^^ the trait `DerefMut` is not implemented for `R`
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]    = note: required for `R` to implement `rand::rng::Rng`
[INFO] [stdout] note: required by a bound in `rand_distr::Distribution::sample`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:37:18
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> T;
[INFO] [stdout]    |                  ^^^ required by this bound in `Distribution::sample`
[INFO] [stdout] help: consider further restricting type parameter `R` with trait `DerefMut`
[INFO] [stdout]    |
[INFO] [stdout] 42 |     fn sample<R: Rng + ?Sized + std::ops::DerefMut>(&self, rng: &mut R) -> <Self as SiteState>::Index {
[INFO] [stdout]    |                               ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `R: rand::rng::Rng` is not satisfied
[INFO] [stdout]   --> src/states/lattices/square_lattices/impl_3d.rs:45:35
[INFO] [stdout]    |
[INFO] [stdout] 45 |             self.site_dist.sample(rng),
[INFO] [stdout]    |                            ------ ^^^ the trait `DerefMut` is not implemented for `R`
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]    = note: required for `R` to implement `rand::rng::Rng`
[INFO] [stdout] note: required by a bound in `rand_distr::Distribution::sample`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:37:18
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> T;
[INFO] [stdout]    |                  ^^^ required by this bound in `Distribution::sample`
[INFO] [stdout] help: consider further restricting type parameter `R` with trait `DerefMut`
[INFO] [stdout]    |
[INFO] [stdout] 42 |     fn sample<R: Rng + ?Sized + std::ops::DerefMut>(&self, rng: &mut R) -> <Self as SiteState>::Index {
[INFO] [stdout]    |                               ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `R: rand::rng::Rng` is not satisfied
[INFO] [stdout]   --> src/states/lattices/square_lattices/impl_3d.rs:45:35
[INFO] [stdout]    |
[INFO] [stdout] 42 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> <Self as SiteState>::Index {
[INFO] [stdout]    |               - this type parameter needs to be `Sized`
[INFO] [stdout] ...
[INFO] [stdout] 45 |             self.site_dist.sample(rng),
[INFO] [stdout]    |                            ------ ^^^ the trait `Sized` is not implemented for `R`
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]    = note: required for `R` to implement `rand::rng::Rng`
[INFO] [stdout] note: required by a bound in `rand_distr::Distribution::sample`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:37:18
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> T;
[INFO] [stdout]    |                  ^^^ required by this bound in `Distribution::sample`
[INFO] [stdout] help: consider removing the `?Sized` bound to make the type parameter `Sized`
[INFO] [stdout]    |
[INFO] [stdout] 42 -     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> <Self as SiteState>::Index {
[INFO] [stdout] 42 +     fn sample<R: Rng>(&self, rng: &mut R) -> <Self as SiteState>::Index {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `R: rand::rng::Rng` is not satisfied
[INFO] [stdout]   --> src/states/lattices/square_lattices/impl_3d.rs:46:35
[INFO] [stdout]    |
[INFO] [stdout] 46 |             self.site_dist.sample(rng),
[INFO] [stdout]    |                            ------ ^^^ the trait `DerefMut` is not implemented for `R`
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]    = note: required for `R` to implement `rand::rng::Rng`
[INFO] [stdout] note: required by a bound in `rand_distr::Distribution::sample`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:37:18
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> T;
[INFO] [stdout]    |                  ^^^ required by this bound in `Distribution::sample`
[INFO] [stdout] help: consider further restricting type parameter `R` with trait `DerefMut`
[INFO] [stdout]    |
[INFO] [stdout] 42 |     fn sample<R: Rng + ?Sized + std::ops::DerefMut>(&self, rng: &mut R) -> <Self as SiteState>::Index {
[INFO] [stdout]    |                               ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `R: rand::rng::Rng` is not satisfied
[INFO] [stdout]   --> src/states/lattices/square_lattices/impl_3d.rs:45:35
[INFO] [stdout]    |
[INFO] [stdout] 42 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> <Self as SiteState>::Index {
[INFO] [stdout]    |               - this type parameter needs to be `Sized`
[INFO] [stdout] ...
[INFO] [stdout] 45 |             self.site_dist.sample(rng),
[INFO] [stdout]    |                            ------ ^^^ the trait `Sized` is not implemented for `R`
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]    = note: required for `R` to implement `rand::rng::Rng`
[INFO] [stdout] note: required by a bound in `rand_distr::Distribution::sample`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:37:18
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> T;
[INFO] [stdout]    |                  ^^^ required by this bound in `Distribution::sample`
[INFO] [stdout] help: consider removing the `?Sized` bound to make the type parameter `Sized`
[INFO] [stdout]    |
[INFO] [stdout] 42 -     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> <Self as SiteState>::Index {
[INFO] [stdout] 42 +     fn sample<R: Rng>(&self, rng: &mut R) -> <Self as SiteState>::Index {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `R: rand::rng::Rng` is not satisfied
[INFO] [stdout]   --> src/states/lattices/square_lattices/impl_3d.rs:46:35
[INFO] [stdout]    |
[INFO] [stdout] 46 |             self.site_dist.sample(rng),
[INFO] [stdout]    |                            ------ ^^^ the trait `DerefMut` is not implemented for `R`
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]    = note: required for `R` to implement `rand::rng::Rng`
[INFO] [stdout] note: required by a bound in `rand_distr::Distribution::sample`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:37:18
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> T;
[INFO] [stdout]    |                  ^^^ required by this bound in `Distribution::sample`
[INFO] [stdout] help: consider further restricting type parameter `R` with trait `DerefMut`
[INFO] [stdout]    |
[INFO] [stdout] 42 |     fn sample<R: Rng + ?Sized + std::ops::DerefMut>(&self, rng: &mut R) -> <Self as SiteState>::Index {
[INFO] [stdout]    |                               ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `R: rand::rng::Rng` is not satisfied
[INFO] [stdout]   --> src/states/lattices/square_lattices/impl_3d.rs:46:35
[INFO] [stdout]    |
[INFO] [stdout] 42 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> <Self as SiteState>::Index {
[INFO] [stdout]    |               - this type parameter needs to be `Sized`
[INFO] [stdout] ...
[INFO] [stdout] 46 |             self.site_dist.sample(rng),
[INFO] [stdout]    |                            ------ ^^^ the trait `Sized` is not implemented for `R`
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]    = note: required for `R` to implement `rand::rng::Rng`
[INFO] [stdout] note: required by a bound in `rand_distr::Distribution::sample`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:37:18
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> T;
[INFO] [stdout]    |                  ^^^ required by this bound in `Distribution::sample`
[INFO] [stdout] help: consider removing the `?Sized` bound to make the type parameter `Sized`
[INFO] [stdout]    |
[INFO] [stdout] 42 -     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> <Self as SiteState>::Index {
[INFO] [stdout] 42 +     fn sample<R: Rng>(&self, rng: &mut R) -> <Self as SiteState>::Index {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/states/lattices/square_lattices/impl_3d.rs:82:24
[INFO] [stdout]    |
[INFO] [stdout] 82 |             site_dist: Uniform::new(0, side_length),
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Uniform<usize>`, found `Result<Uniform<usize>, Error>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `rand_distr::Uniform<_>`
[INFO] [stdout]                 found enum `Result<rand_distr::Uniform<_>, rand_distr::uniform::Error>`
[INFO] [stdout] help: consider using `Result::expect` to unwrap the `Result<rand_distr::Uniform<usize>, rand_distr::uniform::Error>` value, panicking if the value is a `Result::Err`
[INFO] [stdout]    |
[INFO] [stdout] 82 |             site_dist: Uniform::new(0, side_length).expect("REASON"),
[INFO] [stdout]    |                                                    +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `R: rand::rng::Rng` is not satisfied
[INFO] [stdout]   --> src/states/lattices/square_lattices/impl_3d.rs:46:35
[INFO] [stdout]    |
[INFO] [stdout] 42 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> <Self as SiteState>::Index {
[INFO] [stdout]    |               - this type parameter needs to be `Sized`
[INFO] [stdout] ...
[INFO] [stdout] 46 |             self.site_dist.sample(rng),
[INFO] [stdout]    |                            ------ ^^^ the trait `Sized` is not implemented for `R`
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]    = note: required for `R` to implement `rand::rng::Rng`
[INFO] [stdout] note: required by a bound in `rand_distr::Distribution::sample`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:37:18
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> T;
[INFO] [stdout]    |                  ^^^ required by this bound in `Distribution::sample`
[INFO] [stdout] help: consider removing the `?Sized` bound to make the type parameter `Sized`
[INFO] [stdout]    |
[INFO] [stdout] 42 -     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> <Self as SiteState>::Index {
[INFO] [stdout] 42 +     fn sample<R: Rng>(&self, rng: &mut R) -> <Self as SiteState>::Index {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/states/lattices/square_lattices/impl_3d.rs:82:24
[INFO] [stdout]    |
[INFO] [stdout] 82 |             site_dist: Uniform::new(0, side_length),
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Uniform<usize>`, found `Result<Uniform<usize>, Error>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `rand_distr::Uniform<_>`
[INFO] [stdout]                 found enum `Result<rand_distr::Uniform<_>, rand_distr::uniform::Error>`
[INFO] [stdout] help: consider using `Result::expect` to unwrap the `Result<rand_distr::Uniform<usize>, rand_distr::uniform::Error>` value, panicking if the value is a `Result::Err`
[INFO] [stdout]    |
[INFO] [stdout] 82 |             site_dist: Uniform::new(0, side_length).expect("REASON"),
[INFO] [stdout]    |                                                    +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `D: rand::distributions::Distribution<_>` is not satisfied
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_3d.rs:92:59
[INFO] [stdout]     |
[INFO] [stdout]  92 |             state: Array3::random_using([side_length; 3], dist, rng),
[INFO] [stdout]     |                    --------------------                   ^^^^ the trait `rand::distributions::Distribution<_>` is not implemented for `D`
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `rand` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/distributions/distribution.rs:35:1
[INFO] [stdout]     |
[INFO] [stdout]  35 | pub trait Distribution<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^ this is the expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:35:1
[INFO] [stdout]     |
[INFO] [stdout]  35 | pub trait Distribution<T> {
[INFO] [stdout]     | ------------------------- this is the trait that was imported
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] help: the trait `rand::distributions::Distribution<_>` is not implemented for `D`
[INFO] [stdout]       but it is implemented for `&_`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/distributions/distribution.rs:115:1
[INFO] [stdout]     |
[INFO] [stdout] 115 | impl<'a, T, D: Distribution<T>> Distribution<T> for &'a D {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: for that trait implementation, expected `&_`, found `D`
[INFO] [stdout]     = note: required for `&D` to implement `rand::distributions::Distribution<_>`
[INFO] [stdout] note: required by a bound in `random_using`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ndarray-rand-0.15.0/src/lib.rs:121:14
[INFO] [stdout]     |
[INFO] [stdout] 119 |     fn random_using<Sh, IdS, R>(shape: Sh, distribution: IdS, rng: &mut R) -> ArrayBase<S, D>
[INFO] [stdout]     |        ------------ required by a bound in this associated function
[INFO] [stdout] 120 |     where
[INFO] [stdout] 121 |         IdS: Distribution<S::Elem>,
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RandomExt::random_using`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/states/lattices/square_lattices/impl_3d.rs:94:24
[INFO] [stdout]    |
[INFO] [stdout] 94 |             site_dist: Uniform::new(0, side_length),
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Uniform<usize>`, found `Result<Uniform<usize>, Error>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `rand_distr::Uniform<_>`
[INFO] [stdout]                 found enum `Result<rand_distr::Uniform<_>, rand_distr::uniform::Error>`
[INFO] [stdout] help: consider using `Result::expect` to unwrap the `Result<rand_distr::Uniform<usize>, rand_distr::uniform::Error>` value, panicking if the value is a `Result::Err`
[INFO] [stdout]    |
[INFO] [stdout] 94 |             site_dist: Uniform::new(0, side_length).expect("REASON"),
[INFO] [stdout]    |                                                    +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `D: rand::distributions::Distribution<_>` is not satisfied
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_3d.rs:92:59
[INFO] [stdout]     |
[INFO] [stdout]  92 |             state: Array3::random_using([side_length; 3], dist, rng),
[INFO] [stdout]     |                    --------------------                   ^^^^ the trait `rand::distributions::Distribution<_>` is not implemented for `D`
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `rand` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/distributions/distribution.rs:35:1
[INFO] [stdout]     |
[INFO] [stdout]  35 | pub trait Distribution<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^ this is the expected trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:35:1
[INFO] [stdout]     |
[INFO] [stdout]  35 | pub trait Distribution<T> {
[INFO] [stdout]     | ------------------------- this is the trait that was imported
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] help: the trait `rand::distributions::Distribution<_>` is not implemented for `D`
[INFO] [stdout]       but it is implemented for `&_`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/distributions/distribution.rs:115:1
[INFO] [stdout]     |
[INFO] [stdout] 115 | impl<'a, T, D: Distribution<T>> Distribution<T> for &'a D {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: for that trait implementation, expected `&_`, found `D`
[INFO] [stdout]     = note: required for `&D` to implement `rand::distributions::Distribution<_>`
[INFO] [stdout] note: required by a bound in `random_using`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ndarray-rand-0.15.0/src/lib.rs:121:14
[INFO] [stdout]     |
[INFO] [stdout] 119 |     fn random_using<Sh, IdS, R>(shape: Sh, distribution: IdS, rng: &mut R) -> ArrayBase<S, D>
[INFO] [stdout]     |        ------------ required by a bound in this associated function
[INFO] [stdout] 120 |     where
[INFO] [stdout] 121 |         IdS: Distribution<S::Elem>,
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RandomExt::random_using`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&mut R: rand::rng::Rng` is not satisfied
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_3d.rs:107:64
[INFO] [stdout]     |
[INFO] [stdout] 107 |         for (s, x) in self.sites_mut().zip((&dist).sample_iter(rng)) {
[INFO] [stdout]     |                                                    ----------- ^^^ the trait `DerefMut` is not implemented for `R`
[INFO] [stdout]     |                                                    |
[INFO] [stdout]     |                                                    required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `&mut R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: required for `&mut R` to implement `rand::rng::Rng`
[INFO] [stdout] note: required by a bound in `rand_distr::Distribution::sample_iter`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:74:12
[INFO] [stdout]     |
[INFO] [stdout]  72 |     fn sample_iter<R>(self, rng: R) -> Iter<Self, R, T>
[INFO] [stdout]     |        ----------- required by a bound in this associated function
[INFO] [stdout]  73 |     where
[INFO] [stdout]  74 |         R: Rng,
[INFO] [stdout]     |            ^^^ required by this bound in `Distribution::sample_iter`
[INFO] [stdout] help: consider further restricting type parameter `R` with trait `DerefMut`
[INFO] [stdout]     |
[INFO] [stdout] 102 |     fn set_random<D: Distribution<Self::Site>, R: rand::Rng + ?Sized + std::ops::DerefMut>(
[INFO] [stdout]     |                                                                      ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/states/lattices/square_lattices/impl_3d.rs:94:24
[INFO] [stdout]    |
[INFO] [stdout] 94 |             site_dist: Uniform::new(0, side_length),
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Uniform<usize>`, found `Result<Uniform<usize>, Error>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `rand_distr::Uniform<_>`
[INFO] [stdout]                 found enum `Result<rand_distr::Uniform<_>, rand_distr::uniform::Error>`
[INFO] [stdout] help: consider using `Result::expect` to unwrap the `Result<rand_distr::Uniform<usize>, rand_distr::uniform::Error>` value, panicking if the value is a `Result::Err`
[INFO] [stdout]    |
[INFO] [stdout] 94 |             site_dist: Uniform::new(0, side_length).expect("REASON"),
[INFO] [stdout]    |                                                    +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&mut R: rand::rng::Rng` is not satisfied
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_3d.rs:107:64
[INFO] [stdout]     |
[INFO] [stdout] 102 |     fn set_random<D: Distribution<Self::Site>, R: rand::Rng + ?Sized>(
[INFO] [stdout]     |                                                - this type parameter needs to be `Sized`
[INFO] [stdout] ...
[INFO] [stdout] 107 |         for (s, x) in self.sites_mut().zip((&dist).sample_iter(rng)) {
[INFO] [stdout]     |                                                    ----------- ^^^ the trait `Sized` is not implemented for `R`
[INFO] [stdout]     |                                                    |
[INFO] [stdout]     |                                                    required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `&mut R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: required for `&mut R` to implement `rand::rng::Rng`
[INFO] [stdout] note: required by a bound in `rand_distr::Distribution::sample_iter`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:74:12
[INFO] [stdout]     |
[INFO] [stdout]  72 |     fn sample_iter<R>(self, rng: R) -> Iter<Self, R, T>
[INFO] [stdout]     |        ----------- required by a bound in this associated function
[INFO] [stdout]  73 |     where
[INFO] [stdout]  74 |         R: Rng,
[INFO] [stdout]     |            ^^^ required by this bound in `Distribution::sample_iter`
[INFO] [stdout] help: consider removing the `?Sized` bound to make the type parameter `Sized`
[INFO] [stdout]     |
[INFO] [stdout] 102 -     fn set_random<D: Distribution<Self::Site>, R: rand::Rng + ?Sized>(
[INFO] [stdout] 102 +     fn set_random<D: Distribution<Self::Site>, R: rand::Rng>(
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `R: DerefMut` is not satisfied
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_3d.rs:107:40
[INFO] [stdout]     |
[INFO] [stdout] 107 |         for (s, x) in self.sites_mut().zip((&dist).sample_iter(rng)) {
[INFO] [stdout]     |                                        ^^^ the trait `DerefMut` is not implemented for `R`
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `&mut R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: required for `&mut R` to implement `rand::rng::Rng`
[INFO] [stdout]     = note: required for `rand_distr::Iter<&&D, &mut R, T>` to implement `Iterator`
[INFO] [stdout]     = note: required for `rand_distr::Iter<&&D, &mut R, T>` to implement `IntoIterator`
[INFO] [stdout] help: consider further restricting type parameter `R` with trait `DerefMut`
[INFO] [stdout]     |
[INFO] [stdout] 102 |     fn set_random<D: Distribution<Self::Site>, R: rand::Rng + ?Sized + std::ops::DerefMut>(
[INFO] [stdout]     |                                                                      ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `R` cannot be known at compilation time
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_3d.rs:107:40
[INFO] [stdout]     |
[INFO] [stdout] 102 |     fn set_random<D: Distribution<Self::Site>, R: rand::Rng + ?Sized>(
[INFO] [stdout]     |                                                - this type parameter needs to be `Sized`
[INFO] [stdout] ...
[INFO] [stdout] 107 |         for (s, x) in self.sites_mut().zip((&dist).sample_iter(rng)) {
[INFO] [stdout]     |                                        ^^^ doesn't have a size known at compile-time
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `&mut R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: required for `&mut R` to implement `rand::rng::Rng`
[INFO] [stdout]     = note: required for `rand_distr::Iter<&&D, &mut R, T>` to implement `Iterator`
[INFO] [stdout]     = note: required for `rand_distr::Iter<&&D, &mut R, T>` to implement `IntoIterator`
[INFO] [stdout] help: consider removing the `?Sized` bound to make the type parameter `Sized`
[INFO] [stdout]     |
[INFO] [stdout] 102 -     fn set_random<D: Distribution<Self::Site>, R: rand::Rng + ?Sized>(
[INFO] [stdout] 102 +     fn set_random<D: Distribution<Self::Site>, R: rand::Rng>(
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&mut R: rand::rng::Rng` is not satisfied
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_3d.rs:107:64
[INFO] [stdout]     |
[INFO] [stdout] 107 |         for (s, x) in self.sites_mut().zip((&dist).sample_iter(rng)) {
[INFO] [stdout]     |                                                    ----------- ^^^ the trait `DerefMut` is not implemented for `R`
[INFO] [stdout]     |                                                    |
[INFO] [stdout]     |                                                    required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `&mut R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: required for `&mut R` to implement `rand::rng::Rng`
[INFO] [stdout] note: required by a bound in `rand_distr::Distribution::sample_iter`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:74:12
[INFO] [stdout]     |
[INFO] [stdout]  72 |     fn sample_iter<R>(self, rng: R) -> Iter<Self, R, T>
[INFO] [stdout]     |        ----------- required by a bound in this associated function
[INFO] [stdout]  73 |     where
[INFO] [stdout]  74 |         R: Rng,
[INFO] [stdout]     |            ^^^ required by this bound in `Distribution::sample_iter`
[INFO] [stdout] help: consider further restricting type parameter `R` with trait `DerefMut`
[INFO] [stdout]     |
[INFO] [stdout] 102 |     fn set_random<D: Distribution<Self::Site>, R: rand::Rng + ?Sized + std::ops::DerefMut>(
[INFO] [stdout]     |                                                                      ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&mut R: rand::rng::Rng` is not satisfied
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_3d.rs:107:64
[INFO] [stdout]     |
[INFO] [stdout] 102 |     fn set_random<D: Distribution<Self::Site>, R: rand::Rng + ?Sized>(
[INFO] [stdout]     |                                                - this type parameter needs to be `Sized`
[INFO] [stdout] ...
[INFO] [stdout] 107 |         for (s, x) in self.sites_mut().zip((&dist).sample_iter(rng)) {
[INFO] [stdout]     |                                                    ----------- ^^^ the trait `Sized` is not implemented for `R`
[INFO] [stdout]     |                                                    |
[INFO] [stdout]     |                                                    required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `&mut R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: required for `&mut R` to implement `rand::rng::Rng`
[INFO] [stdout] note: required by a bound in `rand_distr::Distribution::sample_iter`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:74:12
[INFO] [stdout]     |
[INFO] [stdout]  72 |     fn sample_iter<R>(self, rng: R) -> Iter<Self, R, T>
[INFO] [stdout]     |        ----------- required by a bound in this associated function
[INFO] [stdout]  73 |     where
[INFO] [stdout]  74 |         R: Rng,
[INFO] [stdout]     |            ^^^ required by this bound in `Distribution::sample_iter`
[INFO] [stdout] help: consider removing the `?Sized` bound to make the type parameter `Sized`
[INFO] [stdout]     |
[INFO] [stdout] 102 -     fn set_random<D: Distribution<Self::Site>, R: rand::Rng + ?Sized>(
[INFO] [stdout] 102 +     fn set_random<D: Distribution<Self::Site>, R: rand::Rng>(
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `R: DerefMut` is not satisfied
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_3d.rs:107:23
[INFO] [stdout]     |
[INFO] [stdout] 107 |         for (s, x) in self.sites_mut().zip((&dist).sample_iter(rng)) {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `DerefMut` is not implemented for `R`
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `&mut R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: required for `&mut R` to implement `rand::rng::Rng`
[INFO] [stdout]     = note: required for `rand_distr::Iter<&&D, &mut R, T>` to implement `Iterator`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `std::iter::Zip<impl Iterator<Item = &mut T>, rand_distr::Iter<&&D, &mut R, T>>` to implement `Iterator`
[INFO] [stdout]     = note: required for `std::iter::Zip<impl Iterator<Item = &mut T>, rand_distr::Iter<&&D, &mut R, T>>` to implement `IntoIterator`
[INFO] [stdout] help: consider further restricting type parameter `R` with trait `DerefMut`
[INFO] [stdout]     |
[INFO] [stdout] 102 |     fn set_random<D: Distribution<Self::Site>, R: rand::Rng + ?Sized + std::ops::DerefMut>(
[INFO] [stdout]     |                                                                      ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `R: DerefMut` is not satisfied
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_3d.rs:107:40
[INFO] [stdout]     |
[INFO] [stdout] 107 |         for (s, x) in self.sites_mut().zip((&dist).sample_iter(rng)) {
[INFO] [stdout]     |                                        ^^^ the trait `DerefMut` is not implemented for `R`
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `&mut R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: required for `&mut R` to implement `rand::rng::Rng`
[INFO] [stdout]     = note: required for `rand_distr::Iter<&&D, &mut R, T>` to implement `Iterator`
[INFO] [stdout]     = note: required for `rand_distr::Iter<&&D, &mut R, T>` to implement `IntoIterator`
[INFO] [stdout] help: consider further restricting type parameter `R` with trait `DerefMut`
[INFO] [stdout]     |
[INFO] [stdout] 102 |     fn set_random<D: Distribution<Self::Site>, R: rand::Rng + ?Sized + std::ops::DerefMut>(
[INFO] [stdout]     |                                                                      ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `R` cannot be known at compilation time
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_3d.rs:107:23
[INFO] [stdout]     |
[INFO] [stdout] 102 |     fn set_random<D: Distribution<Self::Site>, R: rand::Rng + ?Sized>(
[INFO] [stdout]     |                                                - this type parameter needs to be `Sized`
[INFO] [stdout] ...
[INFO] [stdout] 107 |         for (s, x) in self.sites_mut().zip((&dist).sample_iter(rng)) {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `&mut R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: required for `&mut R` to implement `rand::rng::Rng`
[INFO] [stdout]     = note: required for `rand_distr::Iter<&&D, &mut R, T>` to implement `Iterator`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `std::iter::Zip<impl Iterator<Item = &mut T>, rand_distr::Iter<&&D, &mut R, T>>` to implement `Iterator`
[INFO] [stdout]     = note: required for `std::iter::Zip<impl Iterator<Item = &mut T>, rand_distr::Iter<&&D, &mut R, T>>` to implement `IntoIterator`
[INFO] [stdout] help: consider removing the `?Sized` bound to make the type parameter `Sized`
[INFO] [stdout]     |
[INFO] [stdout] 102 -     fn set_random<D: Distribution<Self::Site>, R: rand::Rng + ?Sized>(
[INFO] [stdout] 102 +     fn set_random<D: Distribution<Self::Site>, R: rand::Rng>(
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `R` cannot be known at compilation time
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_3d.rs:107:40
[INFO] [stdout]     |
[INFO] [stdout] 102 |     fn set_random<D: Distribution<Self::Site>, R: rand::Rng + ?Sized>(
[INFO] [stdout]     |                                                - this type parameter needs to be `Sized`
[INFO] [stdout] ...
[INFO] [stdout] 107 |         for (s, x) in self.sites_mut().zip((&dist).sample_iter(rng)) {
[INFO] [stdout]     |                                        ^^^ doesn't have a size known at compile-time
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `&mut R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: required for `&mut R` to implement `rand::rng::Rng`
[INFO] [stdout]     = note: required for `rand_distr::Iter<&&D, &mut R, T>` to implement `Iterator`
[INFO] [stdout]     = note: required for `rand_distr::Iter<&&D, &mut R, T>` to implement `IntoIterator`
[INFO] [stdout] help: consider removing the `?Sized` bound to make the type parameter `Sized`
[INFO] [stdout]     |
[INFO] [stdout] 102 -     fn set_random<D: Distribution<Self::Site>, R: rand::Rng + ?Sized>(
[INFO] [stdout] 102 +     fn set_random<D: Distribution<Self::Site>, R: rand::Rng>(
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `R: DerefMut` is not satisfied
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_3d.rs:107:23
[INFO] [stdout]     |
[INFO] [stdout] 107 |         for (s, x) in self.sites_mut().zip((&dist).sample_iter(rng)) {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `DerefMut` is not implemented for `R`
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `&mut R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: required for `&mut R` to implement `rand::rng::Rng`
[INFO] [stdout]     = note: required for `rand_distr::Iter<&&D, &mut R, T>` to implement `Iterator`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `std::iter::Zip<impl Iterator<Item = &mut T>, rand_distr::Iter<&&D, &mut R, T>>` to implement `Iterator`
[INFO] [stdout]     = note: required for `std::iter::Zip<impl Iterator<Item = &mut T>, rand_distr::Iter<&&D, &mut R, T>>` to implement `IntoIterator`
[INFO] [stdout] help: consider further restricting type parameter `R` with trait `DerefMut`
[INFO] [stdout]     |
[INFO] [stdout] 102 |     fn set_random<D: Distribution<Self::Site>, R: rand::Rng + ?Sized + std::ops::DerefMut>(
[INFO] [stdout]     |                                                                      ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `R` cannot be known at compilation time
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_3d.rs:107:23
[INFO] [stdout]     |
[INFO] [stdout] 102 |     fn set_random<D: Distribution<Self::Site>, R: rand::Rng + ?Sized>(
[INFO] [stdout]     |                                                - this type parameter needs to be `Sized`
[INFO] [stdout] ...
[INFO] [stdout] 107 |         for (s, x) in self.sites_mut().zip((&dist).sample_iter(rng)) {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `&mut R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: required for `&mut R` to implement `rand::rng::Rng`
[INFO] [stdout]     = note: required for `rand_distr::Iter<&&D, &mut R, T>` to implement `Iterator`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `std::iter::Zip<impl Iterator<Item = &mut T>, rand_distr::Iter<&&D, &mut R, T>>` to implement `Iterator`
[INFO] [stdout]     = note: required for `std::iter::Zip<impl Iterator<Item = &mut T>, rand_distr::Iter<&&D, &mut R, T>>` to implement `IntoIterator`
[INFO] [stdout] help: consider removing the `?Sized` bound to make the type parameter `Sized`
[INFO] [stdout]     |
[INFO] [stdout] 102 -     fn set_random<D: Distribution<Self::Site>, R: rand::Rng + ?Sized>(
[INFO] [stdout] 102 +     fn set_random<D: Distribution<Self::Site>, R: rand::Rng>(
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `R: rand::rng::Rng` is not satisfied
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_3d.rs:178:47
[INFO] [stdout]     |
[INFO] [stdout] 178 |             let idx @ [i, j, k] = self.sample(rng);
[INFO] [stdout]     |                                        ------ ^^^ the trait `DerefMut` is not implemented for `R`
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: required for `R` to implement `rand::rng::Rng`
[INFO] [stdout] note: required by a bound in `rand_distr::Distribution::sample`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:37:18
[INFO] [stdout]     |
[INFO] [stdout]  37 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> T;
[INFO] [stdout]     |                  ^^^ required by this bound in `Distribution::sample`
[INFO] [stdout] help: consider further restricting type parameter `R` with trait `DerefMut`
[INFO] [stdout]     |
[INFO] [stdout] 174 |     fn diffuse<R: rand::prelude::Rng + ?Sized + std::ops::DerefMut>(&mut self, diffusion_coin: Bernoulli, rng: &mut R) {
[INFO] [stdout]     |                                               ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `R: rand::rng::Rng` is not satisfied
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_3d.rs:178:47
[INFO] [stdout]     |
[INFO] [stdout] 178 |             let idx @ [i, j, k] = self.sample(rng);
[INFO] [stdout]     |                                        ------ ^^^ the trait `DerefMut` is not implemented for `R`
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: required for `R` to implement `rand::rng::Rng`
[INFO] [stdout] note: required by a bound in `rand_distr::Distribution::sample`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:37:18
[INFO] [stdout]     |
[INFO] [stdout]  37 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> T;
[INFO] [stdout]     |                  ^^^ required by this bound in `Distribution::sample`
[INFO] [stdout] help: consider further restricting type parameter `R` with trait `DerefMut`
[INFO] [stdout]     |
[INFO] [stdout] 174 |     fn diffuse<R: rand::prelude::Rng + ?Sized + std::ops::DerefMut>(&mut self, diffusion_coin: Bernoulli, rng: &mut R) {
[INFO] [stdout]     |                                               ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `R: rand::rng::Rng` is not satisfied
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_3d.rs:178:47
[INFO] [stdout]     |
[INFO] [stdout] 174 |     fn diffuse<R: rand::prelude::Rng + ?Sized>(&mut self, diffusion_coin: Bernoulli, rng: &mut R) {
[INFO] [stdout]     |                - this type parameter needs to be `Sized`
[INFO] [stdout] ...
[INFO] [stdout] 178 |             let idx @ [i, j, k] = self.sample(rng);
[INFO] [stdout]     |                                        ------ ^^^ the trait `Sized` is not implemented for `R`
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: required for `R` to implement `rand::rng::Rng`
[INFO] [stdout] note: required by a bound in `rand_distr::Distribution::sample`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:37:18
[INFO] [stdout]     |
[INFO] [stdout]  37 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> T;
[INFO] [stdout]     |                  ^^^ required by this bound in `Distribution::sample`
[INFO] [stdout] help: consider removing the `?Sized` bound to make the type parameter `Sized`
[INFO] [stdout]     |
[INFO] [stdout] 174 -     fn diffuse<R: rand::prelude::Rng + ?Sized>(&mut self, diffusion_coin: Bernoulli, rng: &mut R) {
[INFO] [stdout] 174 +     fn diffuse<R: rand::prelude::Rng>(&mut self, diffusion_coin: Bernoulli, rng: &mut R) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `R: rand::rng::Rng` is not satisfied
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_3d.rs:178:47
[INFO] [stdout]     |
[INFO] [stdout] 174 |     fn diffuse<R: rand::prelude::Rng + ?Sized>(&mut self, diffusion_coin: Bernoulli, rng: &mut R) {
[INFO] [stdout]     |                - this type parameter needs to be `Sized`
[INFO] [stdout] ...
[INFO] [stdout] 178 |             let idx @ [i, j, k] = self.sample(rng);
[INFO] [stdout]     |                                        ------ ^^^ the trait `Sized` is not implemented for `R`
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: required for `R` to implement `rand::rng::Rng`
[INFO] [stdout] note: required by a bound in `rand_distr::Distribution::sample`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:37:18
[INFO] [stdout]     |
[INFO] [stdout]  37 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> T;
[INFO] [stdout]     |                  ^^^ required by this bound in `Distribution::sample`
[INFO] [stdout] help: consider removing the `?Sized` bound to make the type parameter `Sized`
[INFO] [stdout]     |
[INFO] [stdout] 174 -     fn diffuse<R: rand::prelude::Rng + ?Sized>(&mut self, diffusion_coin: Bernoulli, rng: &mut R) {
[INFO] [stdout] 174 +     fn diffuse<R: rand::prelude::Rng>(&mut self, diffusion_coin: Bernoulli, rng: &mut R) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `sample` exists for enum `Result<rand_distr::Uniform<{integer}>, rand_distr::uniform::Error>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_3d.rs:180:47
[INFO] [stdout]     |
[INFO] [stdout] 180 |             let nn_idx = match direction_dist.sample(&mut *rng) {
[INFO] [stdout]     |                                               ^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<rand_distr::Uniform<{integer}>, rand_distr::uniform::Error>: RngCore`
[INFO] [stdout]             which is required by `Result<rand_distr::Uniform<{integer}>, rand_distr::uniform::Error>: Rng`
[INFO] [stdout] note: the method `sample` exists on the type `rand_distr::Uniform<{integer}>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:37:5
[INFO] [stdout]     |
[INFO] [stdout]  37 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> T;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: consider using `Result::expect` to unwrap the `rand_distr::Uniform<{integer}>` value, panicking if the value is a `Result::Err`
[INFO] [stdout]     |
[INFO] [stdout] 180 |             let nn_idx = match direction_dist.expect("REASON").sample(&mut *rng) {
[INFO] [stdout]     |                                              +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `R: rand::rng::Rng` is not satisfied
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_3d.rs:186:38
[INFO] [stdout]     |
[INFO] [stdout] 186 |             if diffusion_coin.sample(rng) {
[INFO] [stdout]     |                               ------ ^^^ the trait `DerefMut` is not implemented for `R`
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: required for `R` to implement `rand::rng::Rng`
[INFO] [stdout] note: required by a bound in `rand_distr::Distribution::sample`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:37:18
[INFO] [stdout]     |
[INFO] [stdout]  37 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> T;
[INFO] [stdout]     |                  ^^^ required by this bound in `Distribution::sample`
[INFO] [stdout] help: consider further restricting type parameter `R` with trait `DerefMut`
[INFO] [stdout]     |
[INFO] [stdout] 174 |     fn diffuse<R: rand::prelude::Rng + ?Sized + std::ops::DerefMut>(&mut self, diffusion_coin: Bernoulli, rng: &mut R) {
[INFO] [stdout]     |                                               ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `R: rand::rng::Rng` is not satisfied
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_3d.rs:186:38
[INFO] [stdout]     |
[INFO] [stdout] 174 |     fn diffuse<R: rand::prelude::Rng + ?Sized>(&mut self, diffusion_coin: Bernoulli, rng: &mut R) {
[INFO] [stdout]     |                - this type parameter needs to be `Sized`
[INFO] [stdout] ...
[INFO] [stdout] 186 |             if diffusion_coin.sample(rng) {
[INFO] [stdout]     |                               ------ ^^^ the trait `Sized` is not implemented for `R`
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: required for `R` to implement `rand::rng::Rng`
[INFO] [stdout] note: required by a bound in `rand_distr::Distribution::sample`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:37:18
[INFO] [stdout]     |
[INFO] [stdout]  37 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> T;
[INFO] [stdout]     |                  ^^^ required by this bound in `Distribution::sample`
[INFO] [stdout] help: consider removing the `?Sized` bound to make the type parameter `Sized`
[INFO] [stdout]     |
[INFO] [stdout] 174 -     fn diffuse<R: rand::prelude::Rng + ?Sized>(&mut self, diffusion_coin: Bernoulli, rng: &mut R) {
[INFO] [stdout] 174 +     fn diffuse<R: rand::prelude::Rng>(&mut self, diffusion_coin: Bernoulli, rng: &mut R) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `sample` exists for enum `Result<rand_distr::Uniform<{integer}>, rand_distr::uniform::Error>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_3d.rs:180:47
[INFO] [stdout]     |
[INFO] [stdout] 180 |             let nn_idx = match direction_dist.sample(&mut *rng) {
[INFO] [stdout]     |                                               ^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<rand_distr::Uniform<{integer}>, rand_distr::uniform::Error>: RngCore`
[INFO] [stdout]             which is required by `Result<rand_distr::Uniform<{integer}>, rand_distr::uniform::Error>: Rng`
[INFO] [stdout] note: the method `sample` exists on the type `rand_distr::Uniform<{integer}>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:37:5
[INFO] [stdout]     |
[INFO] [stdout]  37 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> T;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: consider using `Result::expect` to unwrap the `rand_distr::Uniform<{integer}>` value, panicking if the value is a `Result::Err`
[INFO] [stdout]     |
[INFO] [stdout] 180 |             let nn_idx = match direction_dist.expect("REASON").sample(&mut *rng) {
[INFO] [stdout]     |                                              +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `R: rand::rng::Rng` is not satisfied
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_3d.rs:186:38
[INFO] [stdout]     |
[INFO] [stdout] 186 |             if diffusion_coin.sample(rng) {
[INFO] [stdout]     |                               ------ ^^^ the trait `DerefMut` is not implemented for `R`
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: required for `R` to implement `rand::rng::Rng`
[INFO] [stdout] note: required by a bound in `rand_distr::Distribution::sample`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:37:18
[INFO] [stdout]     |
[INFO] [stdout]  37 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> T;
[INFO] [stdout]     |                  ^^^ required by this bound in `Distribution::sample`
[INFO] [stdout] help: consider further restricting type parameter `R` with trait `DerefMut`
[INFO] [stdout]     |
[INFO] [stdout] 174 |     fn diffuse<R: rand::prelude::Rng + ?Sized + std::ops::DerefMut>(&mut self, diffusion_coin: Bernoulli, rng: &mut R) {
[INFO] [stdout]     |                                               ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `R: rand::rng::Rng` is not satisfied
[INFO] [stdout]    --> src/states/lattices/square_lattices/impl_3d.rs:186:38
[INFO] [stdout]     |
[INFO] [stdout] 174 |     fn diffuse<R: rand::prelude::Rng + ?Sized>(&mut self, diffusion_coin: Bernoulli, rng: &mut R) {
[INFO] [stdout]     |                - this type parameter needs to be `Sized`
[INFO] [stdout] ...
[INFO] [stdout] 186 |             if diffusion_coin.sample(rng) {
[INFO] [stdout]     |                               ------ ^^^ the trait `Sized` is not implemented for `R`
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `R` to implement `rand_core::RngCore`
[INFO] [stdout]     = note: required for `R` to implement `rand::rng::Rng`
[INFO] [stdout] note: required by a bound in `rand_distr::Distribution::sample`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.9.0/src/distr/distribution.rs:37:18
[INFO] [stdout]     |
[INFO] [stdout]  37 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> T;
[INFO] [stdout]     |                  ^^^ required by this bound in `Distribution::sample`
[INFO] [stdout] help: consider removing the `?Sized` bound to make the type parameter `Sized`
[INFO] [stdout]     |
[INFO] [stdout] 174 -     fn diffuse<R: rand::prelude::Rng + ?Sized>(&mut self, diffusion_coin: Bernoulli, rng: &mut R) {
[INFO] [stdout] 174 +     fn diffuse<R: rand::prelude::Rng>(&mut self, diffusion_coin: Bernoulli, rng: &mut R) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0308, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0308, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `artificial-systems` (lib) due to 55 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `artificial-systems` (lib test) due to 55 previous errors
[INFO] running `Command { std: "docker" "inspect" "7dac49afa3ef22e3fd87776074f541504dc0b93b9da590cfdf791f9a911ba385", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7dac49afa3ef22e3fd87776074f541504dc0b93b9da590cfdf791f9a911ba385", kill_on_drop: false }`
[INFO] [stdout] 7dac49afa3ef22e3fd87776074f541504dc0b93b9da590cfdf791f9a911ba385
