[INFO] cloning repository https://github.com/wallabra/neurs_project [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/wallabra/neurs_project" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwallabra%2Fneurs_project", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwallabra%2Fneurs_project'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 01d8a5ff4eaf4270c6b8fe9dd091ade4bbc0d0f0 [INFO] testing wallabra/neurs_project against 1.84.0 for beta-1.85-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwallabra%2Fneurs_project" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/wallabra/neurs_project on toolchain 1.84.0 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.84.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/wallabra/neurs_project [INFO] finished tweaking git repo https://github.com/wallabra/neurs_project [INFO] tweaked toml for git repo https://github.com/wallabra/neurs_project written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/wallabra/neurs_project 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" "+1.84.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"` [INFO] [stderr] note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest [INFO] [stderr] note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest [INFO] [stderr] note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions [INFO] [stderr] warning: /workspace/builds/worker-2-tc1/source/cnmc/Cargo.toml: unused manifest key: package.website [INFO] [stderr] warning: /workspace/builds/worker-2-tc1/source/cnmc_console/Cargo.toml: unused manifest key: package.website [INFO] [stderr] warning: /workspace/builds/worker-2-tc1/source/styliso/Cargo.toml: unused manifest key: package.website [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded color_space v0.5.3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/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:86ea7c7af713d31e8cfdb68a6d0db50b5cf7cbeecde3d112f9f257f747318d36" "/opt/rustwide/cargo-home/bin/cargo" "+1.84.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 82d73934382d927c2b071dca3bc080a55390b581f8e6a20fa02a363fb2d88897 [INFO] running `Command { std: "docker" "start" "-a" "82d73934382d927c2b071dca3bc080a55390b581f8e6a20fa02a363fb2d88897", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "82d73934382d927c2b071dca3bc080a55390b581f8e6a20fa02a363fb2d88897", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "82d73934382d927c2b071dca3bc080a55390b581f8e6a20fa02a363fb2d88897", kill_on_drop: false }` [INFO] [stdout] 82d73934382d927c2b071dca3bc080a55390b581f8e6a20fa02a363fb2d88897 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:86ea7c7af713d31e8cfdb68a6d0db50b5cf7cbeecde3d112f9f257f747318d36" "/opt/rustwide/cargo-home/bin/cargo" "+1.84.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] a98484baf2d0f398bc4e5ac1c972e2d3da95873acafa8a5c929428ecef4bac87 [INFO] running `Command { std: "docker" "start" "-a" "a98484baf2d0f398bc4e5ac1c972e2d3da95873acafa8a5c929428ecef4bac87", kill_on_drop: false }` [INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"` [INFO] [stderr] note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest [INFO] [stderr] note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest [INFO] [stderr] note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions [INFO] [stderr] warning: /opt/rustwide/workdir/cnmc/Cargo.toml: unused manifest key: package.website [INFO] [stderr] warning: /opt/rustwide/workdir/styliso/Cargo.toml: unused manifest key: package.website [INFO] [stderr] warning: /opt/rustwide/workdir/cnmc_console/Cargo.toml: unused manifest key: package.website [INFO] [stderr] Compiling cfg-if v1.0.0 [INFO] [stderr] Compiling libc v0.2.135 [INFO] [stderr] Compiling ppv-lite86 v0.2.16 [INFO] [stderr] Compiling autocfg v1.1.0 [INFO] [stderr] Compiling libm v0.2.5 [INFO] [stderr] Compiling adler v1.0.2 [INFO] [stderr] Compiling crc32fast v1.3.2 [INFO] [stderr] Compiling float_eq v1.0.1 [INFO] [stderr] Compiling bitflags v1.3.2 [INFO] [stderr] Compiling color_space v0.5.3 [INFO] [stderr] Compiling miniz_oxide v0.5.4 [INFO] [stderr] Compiling miniz_oxide v0.6.2 [INFO] [stderr] Compiling num-traits v0.2.15 [INFO] [stderr] Compiling flate2 v1.0.24 [INFO] [stderr] Compiling png v0.17.7 [INFO] [stderr] Compiling getrandom v0.2.8 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling rand_distr v0.4.3 [INFO] [stderr] Compiling wordmarkov v0.1.4 (/opt/rustwide/workdir/wordmarkov) [INFO] [stdout] warning: ambiguous glob re-exports [INFO] [stdout] --> wordmarkov/src/chain/selectors/prelude.rs:3:9 [INFO] [stdout] | [INFO] [stdout] 3 | pub use super::fixed::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^ the name `NaiveRandomSelector` in the type namespace is first re-exported here [INFO] [stdout] 4 | pub use super::interface::*; [INFO] [stdout] 5 | pub use super::random::*; [INFO] [stdout] | ---------------- but the name `NaiveRandomSelector` in the type namespace is also re-exported here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(ambiguous_glob_reexports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: ambiguous glob re-exports [INFO] [stdout] --> wordmarkov/src/chain/selectors/prelude.rs:3:9 [INFO] [stdout] | [INFO] [stdout] 3 | pub use super::fixed::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^ the name `NaiveRandomSelector` in the value namespace is first re-exported here [INFO] [stdout] 4 | pub use super::interface::*; [INFO] [stdout] 5 | pub use super::random::*; [INFO] [stdout] | ---------------- but the name `NaiveRandomSelector` in the value namespace is also re-exported here [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling neurs v0.1.1 (/opt/rustwide/workdir/neurs) [INFO] [stdout] warning: unexpected `cfg` condition name: `debug` [INFO] [stdout] --> neurs/src/neuralnet.rs:84:17 [INFO] [stdout] | [INFO] [stdout] 84 | if cfg!(debug) || cfg!(tests) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: expected names are: `clippy`, `debug_assertions`, `doc`, `docsrs`, `doctest`, `feature`, `fmt_debug`, `miri`, `overflow_checks`, `panic`, `proc_macro`, `relocation_model`, `rustfmt`, `sanitize`, `sanitizer_cfi_generalize_pointers`, `sanitizer_cfi_normalize_integers`, `target_abi`, `target_arch`, `target_endian`, `target_env`, `target_family`, `target_feature`, `target_has_atomic`, `target_has_atomic_equal_alignment`, `target_has_atomic_load_store`, `target_os`, `target_pointer_width`, `target_thread_local`, `target_vendor`, `test`, `ub_checks`, `unix`, and `windows` [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(debug)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(debug)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `tests` [INFO] [stdout] --> neurs/src/neuralnet.rs:84:32 [INFO] [stdout] | [INFO] [stdout] 84 | if cfg!(debug) || cfg!(tests) { [INFO] [stdout] | ^^^^^ help: there is a config with a similar name: `test` [INFO] [stdout] | [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tests)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tests)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `debug` [INFO] [stdout] --> neurs/src/neuralnet.rs:192:17 [INFO] [stdout] | [INFO] [stdout] 192 | if cfg!(debug) || cfg!(tests) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(debug)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(debug)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `tests` [INFO] [stdout] --> neurs/src/neuralnet.rs:192:32 [INFO] [stdout] | [INFO] [stdout] 192 | if cfg!(debug) || cfg!(tests) { [INFO] [stdout] | ^^^^^ help: there is a config with a similar name: `test` [INFO] [stdout] | [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tests)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tests)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `dbg` [INFO] [stdout] --> neurs/src/train/jitterstrat.rs:156:17 [INFO] [stdout] | [INFO] [stdout] 156 | if cfg!(dbg) { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(dbg)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(dbg)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `dbg` [INFO] [stdout] --> neurs/src/train/jitterstrat.rs:244:17 [INFO] [stdout] | [INFO] [stdout] 244 | if cfg!(dbg) { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(dbg)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(dbg)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `debug` [INFO] [stdout] --> neurs/src/train/label.rs:113:18 [INFO] [stdout] | [INFO] [stdout] 113 | if (cfg!(debug) || cfg!(tests)) && cases_inputs.len() != cases_labels.len() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(debug)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(debug)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `tests` [INFO] [stdout] --> neurs/src/train/label.rs:113:33 [INFO] [stdout] | [INFO] [stdout] 113 | if (cfg!(debug) || cfg!(tests)) && cases_inputs.len() != cases_labels.len() { [INFO] [stdout] | ^^^^^ help: there is a config with a similar name: `test` [INFO] [stdout] | [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tests)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tests)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> neurs/src/train/trainer.rs:50:17 [INFO] [stdout] | [INFO] [stdout] 37 | impl<'a, AssemblyType, ATF, TS> Trainer<'a, AssemblyType, ATF, TS> [INFO] [stdout] | -- lifetime `'a` declared here [INFO] [stdout] ... [INFO] [stdout] 50 | ) -> Trainer { [INFO] [stdout] | ^ this elided lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(elided_named_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> neurs/src/train/jitterstrat.rs:453:75 [INFO] [stdout] | [INFO] [stdout] 400 | impl EpochState [INFO] [stdout] | ------------ expected this type parameter [INFO] [stdout] ... [INFO] [stdout] 453 | self.jitters[index] = match frame.start_train_run(assembly) { [INFO] [stdout] | --------------- ^^^^^^^^ expected type parameter `AssemblyType`, found `&mut AssemblyType` [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected type parameter `_` [INFO] [stdout] found mutable reference `&mut _` [INFO] [stdout] help: the return type of this call is `&mut AssemblyType` due to the type of the argument passed [INFO] [stdout] --> neurs/src/train/jitterstrat.rs:453:53 [INFO] [stdout] | [INFO] [stdout] 453 | self.jitters[index] = match frame.start_train_run(assembly) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^--------^ [INFO] [stdout] | | [INFO] [stdout] | this argument influences the return type of `start_train_run` [INFO] [stdout] note: method defined here [INFO] [stdout] --> neurs/src/frame.rs:25:8 [INFO] [stdout] | [INFO] [stdout] 25 | fn start_train_run( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> neurs/src/train/jitterstrat.rs:461:65 [INFO] [stdout] | [INFO] [stdout] 400 | impl EpochState [INFO] [stdout] | ---------- expected this type parameter [INFO] [stdout] ... [INFO] [stdout] 461 | self.jitters[index] = Self::handle_to_state(handle); [INFO] [stdout] | --------------------- ^^^^^^ expected type parameter `HandleType`, found `&mut HandleType` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected type parameter `_` [INFO] [stdout] found mutable reference `&mut _` [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> neurs/src/train/jitterstrat.rs:429:8 [INFO] [stdout] | [INFO] [stdout] 429 | fn handle_to_state(mut handle: HandleType) -> EpochJitterState { [INFO] [stdout] | ^^^^^^^^^^^^^^^ ---------------------- [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0507]: cannot move out of `self.result` which is behind a mutable reference [INFO] [stdout] --> neurs/src/frame.rs:87:19 [INFO] [stdout] | [INFO] [stdout] 87 | Error(self.result.unwrap_err()) [INFO] [stdout] | ^^^^^^^^^^^ ------------ `self.result` moved due to this method call [INFO] [stdout] | | [INFO] [stdout] | help: consider calling `.as_ref()` or `.as_mut()` to borrow the type's contents [INFO] [stdout] | move occurs because `self.result` has type `Result`, which does not implement the `Copy` trait [INFO] [stdout] | [INFO] [stdout] note: `Result::::unwrap_err` takes ownership of the receiver `self`, which moves `self.result` [INFO] [stdout] --> /rustc/9fc6b43126469e3858e2fe86cafb4f0fd5068869/library/core/src/result.rs:1193:23 [INFO] [stdout] help: you can `clone` the value and consume it, but this might not be your desired behavior [INFO] [stdout] | [INFO] [stdout] 87 | Error( as Clone>::clone(&self.result).unwrap_err()) [INFO] [stdout] | +++++++++++++++++++++++++++++++++++++++ + [INFO] [stdout] help: consider cloning the value if the performance cost is acceptable [INFO] [stdout] | [INFO] [stdout] 87 | Error(self.result.clone().unwrap_err()) [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0507]: cannot move out of `self.result` which is behind a shared reference [INFO] [stdout] --> neurs/src/frame.rs:92:9 [INFO] [stdout] | [INFO] [stdout] 92 | self.result.unwrap_or(0.0) [INFO] [stdout] | ^^^^^^^^^^^ -------------- `self.result` moved due to this method call [INFO] [stdout] | | [INFO] [stdout] | help: consider calling `.as_ref()` or `.as_mut()` to borrow the type's contents [INFO] [stdout] | move occurs because `self.result` has type `Result`, which does not implement the `Copy` trait [INFO] [stdout] | [INFO] [stdout] note: `Result::::unwrap_or` takes ownership of the receiver `self`, which moves `self.result` [INFO] [stdout] --> /rustc/9fc6b43126469e3858e2fe86cafb4f0fd5068869/library/core/src/result.rs:1434:22 [INFO] [stdout] help: you can `clone` the value and consume it, but this might not be your desired behavior [INFO] [stdout] | [INFO] [stdout] 92 | as Clone>::clone(&self.result).unwrap_or(0.0) [INFO] [stdout] | +++++++++++++++++++++++++++++++++++++++ + [INFO] [stdout] help: consider cloning the value if the performance cost is acceptable [INFO] [stdout] | [INFO] [stdout] 92 | self.result.clone().unwrap_or(0.0) [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0507]: cannot move out of a shared reference [INFO] [stdout] --> neurs/src/frame.rs:213:24 [INFO] [stdout] | [INFO] [stdout] 213 | .for_each(|(&handle, &mut res)| { [INFO] [stdout] | ^^------^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | data moved here [INFO] [stdout] | move occurs because `handle` has type `HandleType`, which does not implement the `Copy` trait [INFO] [stdout] | [INFO] [stdout] help: consider borrowing the pattern binding [INFO] [stdout] | [INFO] [stdout] 213 | .for_each(|(&ref handle, &mut res)| { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0507]: cannot move out of a mutable reference [INFO] [stdout] --> neurs/src/frame.rs:213:24 [INFO] [stdout] | [INFO] [stdout] 213 | .for_each(|(&handle, &mut res)| { [INFO] [stdout] | ^^^^^^^^^^^^^^^---^ [INFO] [stdout] | | [INFO] [stdout] | data moved here [INFO] [stdout] | move occurs because `res` has type `HandleResult`, which does not implement the `Copy` trait [INFO] [stdout] | [INFO] [stdout] help: consider borrowing the pattern binding [INFO] [stdout] | [INFO] [stdout] 213 | .for_each(|(&handle, &mut ref res)| { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0596]: cannot borrow `handle` as mutable, as it is not declared as mutable [INFO] [stdout] --> neurs/src/frame.rs:214:29 [INFO] [stdout] | [INFO] [stdout] 214 | let state = handle.poll_state(); [INFO] [stdout] | ^^^^^^ cannot borrow as mutable [INFO] [stdout] | [INFO] [stdout] help: consider changing this to be mutable [INFO] [stdout] | [INFO] [stdout] 213 | .for_each(|(&mut handle, &mut res)| { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0594]: cannot assign to `res.state`, as `res` is not declared as mutable [INFO] [stdout] --> neurs/src/frame.rs:215:17 [INFO] [stdout] | [INFO] [stdout] 215 | res.state = state; [INFO] [stdout] | ^^^^^^^^^ cannot assign [INFO] [stdout] | [INFO] [stdout] help: consider changing this to be mutable [INFO] [stdout] | [INFO] [stdout] 213 | .for_each(|(&handle, &mut mut res)| { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0382]: use of moved value: `state` [INFO] [stdout] --> neurs/src/frame.rs:217:29 [INFO] [stdout] | [INFO] [stdout] 214 | let state = handle.poll_state(); [INFO] [stdout] | ----- move occurs because `state` has type `frame::FrameRunState`, which does not implement the `Copy` trait [INFO] [stdout] 215 | res.state = state; [INFO] [stdout] | ----- value moved here [INFO] [stdout] 216 | [INFO] [stdout] 217 | if matches!(state, FrameRunState::Done) { [INFO] [stdout] | ^^^^^ value used here after move [INFO] [stdout] | [INFO] [stdout] note: if `frame::FrameRunState` implemented `Clone`, you could clone the value [INFO] [stdout] --> neurs/src/frame.rs:124:1 [INFO] [stdout] | [INFO] [stdout] 124 | pub enum FrameRunState { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ consider implementing `Clone` for this type [INFO] [stdout] ... [INFO] [stdout] 215 | res.state = state; [INFO] [stdout] | ----- you could clone this value [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0594]: cannot assign to `res.fitness`, as `res` is not declared as mutable [INFO] [stdout] --> neurs/src/frame.rs:218:21 [INFO] [stdout] | [INFO] [stdout] 218 | res.fitness = handle.get_fitness(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot assign [INFO] [stdout] | [INFO] [stdout] help: consider changing this to be mutable [INFO] [stdout] | [INFO] [stdout] 213 | .for_each(|(&handle, &mut mut res)| { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0507]: cannot move out of `*handle` which is behind a shared reference [INFO] [stdout] --> neurs/src/frame.rs:224:47 [INFO] [stdout] | [INFO] [stdout] 224 | item.returned_assembly = Some(handle.finish()); [INFO] [stdout] | ^^^^^^ -------- `*handle` moved due to this method call [INFO] [stdout] | | [INFO] [stdout] | move occurs because `*handle` has type `HandleType`, which does not implement the `Copy` trait [INFO] [stdout] | [INFO] [stdout] note: `frame::FrameHandle::finish` takes ownership of the receiver `self`, which moves `*handle` [INFO] [stdout] --> neurs/src/frame.rs:151:15 [INFO] [stdout] | [INFO] [stdout] 151 | fn finish(self) -> AssemblyType; [INFO] [stdout] | ^^^^ [INFO] [stdout] help: if `HandleType` implemented `Clone`, you could clone the value [INFO] [stdout] --> neurs/src/frame.rs:194:6 [INFO] [stdout] | [INFO] [stdout] 194 | impl HandlePool [INFO] [stdout] | ^^^^^^^^^^ consider constraining this type parameter with `Clone` [INFO] [stdout] ... [INFO] [stdout] 224 | item.returned_assembly = Some(handle.finish()); [INFO] [stdout] | ------ you could clone this value [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0596]: cannot borrow `*h` as mutable, as it is behind a `&` reference [INFO] [stdout] --> neurs/src/frame.rs:228:34 [INFO] [stdout] | [INFO] [stdout] 228 | self.handles.retain(|h| !h.poll_state().is_done()); [INFO] [stdout] | - ^ `h` is a `&` reference, so the data it refers to cannot be borrowed as mutable [INFO] [stdout] | | [INFO] [stdout] | consider changing this binding's type to be: `&mut HandleType` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0596]: cannot borrow `res` as mutable, as it is not declared as mutable [INFO] [stdout] --> neurs/src/frame.rs:204:13 [INFO] [stdout] | [INFO] [stdout] 204 | let res: Vec> = vec![]; [INFO] [stdout] | ^^^ not mutable [INFO] [stdout] ... [INFO] [stdout] 207 | res.push(HandleResult::default()); [INFO] [stdout] | --- cannot borrow as mutable [INFO] [stdout] ... [INFO] [stdout] 212 | .zip(res.iter_mut()) [INFO] [stdout] | --- cannot borrow as mutable [INFO] [stdout] ... [INFO] [stdout] 222 | self.handles.iter().zip(res.iter_mut()).for_each( [INFO] [stdout] | --- cannot borrow as mutable [INFO] [stdout] | [INFO] [stdout] help: consider changing this to be mutable [INFO] [stdout] | [INFO] [stdout] 204 | let mut res: Vec> = vec![]; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Done` [INFO] [stdout] --> neurs/src/train/jitterstrat.rs:396:24 [INFO] [stdout] | [INFO] [stdout] 396 | matches!(self, Done) || matches!(self, Error) [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_Done` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Error` [INFO] [stdout] --> neurs/src/train/jitterstrat.rs:396:48 [INFO] [stdout] | [INFO] [stdout] 396 | matches!(self, Done) || matches!(self, Error) [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_Error` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `frame` [INFO] [stdout] --> neurs/src/train/jitterstrat.rs:477:9 [INFO] [stdout] | [INFO] [stdout] 477 | frame: &mut FrameType, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_frame` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `assembly` [INFO] [stdout] --> neurs/src/train/jitterstrat.rs:486:41 [INFO] [stdout] | [INFO] [stdout] 486 | EpochJitterState::Error(assembly, err) => Err(err), [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_assembly` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `frame` [INFO] [stdout] --> neurs/src/train/jitterstrat.rs:492:49 [INFO] [stdout] | [INFO] [stdout] 492 | pub fn results_ok_only(self, frame: &mut FrameType) -> Vec<(AssemblyType, f32)> [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_frame` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `assembly` [INFO] [stdout] --> neurs/src/train/jitterstrat.rs:500:41 [INFO] [stdout] | [INFO] [stdout] 500 | EpochJitterState::Error(assembly, err) => None, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_assembly` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `err` [INFO] [stdout] --> neurs/src/train/jitterstrat.rs:500:51 [INFO] [stdout] | [INFO] [stdout] 500 | EpochJitterState::Error(assembly, err) => None, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> neurs/src/train/jitterstrat.rs:533:13 [INFO] [stdout] | [INFO] [stdout] 533 | let mut state: EpochState = [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0596]: cannot borrow `results` as mutable, as it is not declared as mutable [INFO] [stdout] --> neurs/src/train/jitterstrat.rs:570:36 [INFO] [stdout] | [INFO] [stdout] 570 | for (wnbs, fitness) in &mut results { [INFO] [stdout] | ^^^^^^^^^^^^ cannot borrow as mutable [INFO] [stdout] | [INFO] [stdout] help: consider changing this to be mutable [INFO] [stdout] | [INFO] [stdout] 538 | let mut results = results [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0382]: borrow of moved value: `assembly` [INFO] [stdout] --> neurs/src/train/label.rs:179:13 [INFO] [stdout] | [INFO] [stdout] 171 | assembly: NeuralClassifier, [INFO] [stdout] | -------- move occurs because `assembly` has type `NeuralClassifier`, which does not implement the `Copy` trait [INFO] [stdout] ... [INFO] [stdout] 176 | for (case, desired_label) in &self.inputs { [INFO] [stdout] | ----------------------------------------- inside of this loop [INFO] [stdout] ... [INFO] [stdout] 179 | / assembly [INFO] [stdout] 180 | | .classifier [INFO] [stdout] | |___________________________^ value borrowed here after move [INFO] [stdout] 181 | .compute_values(case, &mut outputs) [INFO] [stdout] 182 | .map_err(|error_string| (assembly, error_string))?; [INFO] [stdout] | -------------- value moved into closure here, in previous iteration of loop [INFO] [stdout] | [INFO] [stdout] note: if `NeuralClassifier` implemented `Clone`, you could clone the value [INFO] [stdout] --> neurs/src/train/label.rs:151:1 [INFO] [stdout] | [INFO] [stdout] 151 | pub struct NeuralClassifier { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ consider implementing `Clone` for this type [INFO] [stdout] ... [INFO] [stdout] 182 | .map_err(|error_string| (assembly, error_string))?; [INFO] [stdout] | -------- you could clone this value [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0308, E0382, E0507, E0594, E0596. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0308`. [INFO] [stdout] [INFO] [stderr] error: could not compile `neurs` (lib) due to 15 previous errors; 17 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] running `Command { std: "docker" "inspect" "a98484baf2d0f398bc4e5ac1c972e2d3da95873acafa8a5c929428ecef4bac87", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a98484baf2d0f398bc4e5ac1c972e2d3da95873acafa8a5c929428ecef4bac87", kill_on_drop: false }` [INFO] [stdout] a98484baf2d0f398bc4e5ac1c972e2d3da95873acafa8a5c929428ecef4bac87