[INFO] cloning repository https://github.com/ACoolUsername9001/TestNeural
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ACoolUsername9001/TestNeural" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FACoolUsername9001%2FTestNeural", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FACoolUsername9001%2FTestNeural'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 050b9700060e3f7a246779b3976533d837c27f34
[INFO] checking ACoolUsername9001/TestNeural against master#779e19d8baa3e3625bd4fc5c85cbb2ad47b43155 for pr-147589-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FACoolUsername9001%2FTestNeural" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/ACoolUsername9001/TestNeural
[INFO] finished tweaking git repo https://github.com/ACoolUsername9001/TestNeural
[INFO] tweaked toml for git repo https://github.com/ACoolUsername9001/TestNeural written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ACoolUsername9001/TestNeural on toolchain 779e19d8baa3e3625bd4fc5c85cbb2ad47b43155
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/ACoolUsername9001/TestNeural 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" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded mnist v0.5.0
[INFO] [stderr]   Downloaded matrixmultiply v0.3.2
[INFO] [stderr]   Downloaded num-complex v0.4.3
[INFO] [stderr]   Downloaded ndarray v0.15.6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 857339a71cd916063c069a3f30857587377e74c2353c5bea9998ad02a0521f7d
[INFO] running `Command { std: "docker" "start" "-a" "857339a71cd916063c069a3f30857587377e74c2353c5bea9998ad02a0521f7d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "857339a71cd916063c069a3f30857587377e74c2353c5bea9998ad02a0521f7d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "857339a71cd916063c069a3f30857587377e74c2353c5bea9998ad02a0521f7d", kill_on_drop: false }`
[INFO] [stdout] 857339a71cd916063c069a3f30857587377e74c2353c5bea9998ad02a0521f7d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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=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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ed880bf29e41075b458745e37af938d4a262939c200510701cb18ac148c4e2db
[INFO] running `Command { std: "docker" "start" "-a" "ed880bf29e41075b458745e37af938d4a262939c200510701cb18ac148c4e2db", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-traits v0.2.15
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]     Checking rawpointer v0.2.1
[INFO] [stderr]     Checking mnist v0.5.0
[INFO] [stderr]     Checking matrixmultiply v0.3.2
[INFO] [stderr]     Checking num-complex v0.4.3
[INFO] [stderr]     Checking ndarray v0.15.6
[INFO] [stderr]     Checking TestNeural v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0382]: use of moved value: `last_layer`
[INFO] [stdout]   --> src/neural_infra/mod.rs:41:38
[INFO] [stdout]    |
[INFO] [stdout] 36 |         let last_layer: Vec<Neuron> = Vec::new();
[INFO] [stdout]    |             ---------- move occurs because `last_layer` has type `Vec<Neuron>`, which does not implement the `Copy` trait
[INFO] [stdout] 37 |         for _ in 0..layer_count{
[INFO] [stdout]    |         ----------------------- inside of this loop
[INFO] [stdout] 38 |             let mut layer_neurons: Vec<Rc<Neuron>> = Vec::new();
[INFO] [stdout] 39 |             for _ in 0..node_count_per_layer{
[INFO] [stdout]    |             -------------------------------- inside of this loop
[INFO] [stdout] 40 |                 let current_neuron = Neuron{activation: Option::None, from_relations: Vec::new(), bias: 0.0};
[INFO] [stdout] 41 |                 for mut neuron_rc in last_layer.into_iter(){
[INFO] [stdout]    |                                      ^^^^^^^^^^ ----------- `last_layer` moved due to this method call, in previous iteration of loop
[INFO] [stdout]    |
[INFO] [stdout] note: `into_iter` takes ownership of the receiver `self`, which moves `last_layer`
[INFO] [stdout]   --> /rustc/779e19d8baa3e3625bd4fc5c85cbb2ad47b43155/library/core/src/iter/traits/collect.rs:310:18
[INFO] [stdout] help: you could `clone` the value and consume it, if the `Neuron: Clone` trait bound could be satisfied
[INFO] [stdout]    |
[INFO] [stdout] 41 |                 for mut neuron_rc in last_layer.clone().into_iter(){
[INFO] [stdout]    |                                                ++++++++
[INFO] [stdout] help: consider annotating `Neuron` with `#[derive(Clone)]`
[INFO] [stdout]   --> src/neural_infra/neuron.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 + #[derive(Clone)]
[INFO] [stdout] 13 | pub struct Neuron {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0505]: cannot move out of `neuron_rc` because it is borrowed
[INFO] [stdout]   --> src/neural_infra/mod.rs:42:114
[INFO] [stdout]    |
[INFO] [stdout] 41 |                 for mut neuron_rc in last_layer.into_iter(){
[INFO] [stdout]    |                     ------------- binding `neuron_rc` declared here
[INFO] [stdout] 42 |                     neuron_rc.from_relations.push(Rc::from(Relation{from: Rc::from(current_neuron), to: Rc::from(neuron_rc), weight: 0.0}));
[INFO] [stdout]    |                     ------------------------ ---- borrow later used by call                                      ^^^^^^^^^ move out of `neuron_rc` occurs here
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     borrow of `neuron_rc.from_relations` occurs here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0382]: use of moved value: `current_neuron`
[INFO] [stdout]   --> src/neural_infra/mod.rs:44:45
[INFO] [stdout]    |
[INFO] [stdout] 40 |                 let current_neuron = Neuron{activation: Option::None, from_relations: Vec::new(), bias: 0.0};
[INFO] [stdout]    |                     --------------   ----------------------------------------------------------------------- this reinitialization might get skipped
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     move occurs because `current_neuron` has type `Neuron`, which does not implement the `Copy` trait
[INFO] [stdout] 41 |                 for mut neuron_rc in last_layer.into_iter(){
[INFO] [stdout]    |                 ------------------------------------------- inside of this loop
[INFO] [stdout] 42 |                     neuron_rc.from_relations.push(Rc::from(Relation{from: Rc::from(current_neuron), to: Rc::from(neuron_rc), weight: 0.0}));
[INFO] [stdout]    |                                                                                    -------------- value moved here, in previous iteration of loop
[INFO] [stdout] 43 |                 };
[INFO] [stdout] 44 |                 layer_neurons.push(Rc::from(current_neuron));
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^ value used here after move
[INFO] [stdout]    |
[INFO] [stdout] note: if `Neuron` implemented `Clone`, you could clone the value
[INFO] [stdout]   --> src/neural_infra/neuron.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct Neuron {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^ consider implementing `Clone` for this type
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/neural_infra/mod.rs:42:84
[INFO] [stdout]    |
[INFO] [stdout] 42 |                     neuron_rc.from_relations.push(Rc::from(Relation{from: Rc::from(current_neuron), to: Rc::from(neuron_rc), weight: 0.0}));
[INFO] [stdout]    |                                                                                    -------------- you could clone this value
[INFO] [stdout] help: consider moving the expression out of the loop so it is only moved once
[INFO] [stdout]    |
[INFO] [stdout] 41 ~                 let mut value = Rc::from(current_neuron);
[INFO] [stdout] 42 ~                 for mut neuron_rc in last_layer.into_iter(){
[INFO] [stdout] 43 ~                     neuron_rc.from_relations.push(Rc::from(Relation{from: value, to: Rc::from(neuron_rc), weight: 0.0}));
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/neural_infra/mod.rs:51:25
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn train(&self, data: (&[u8], &str)) {
[INFO] [stdout]    |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input_data`
[INFO] [stdout]   --> src/neural_infra/mod.rs:72:23
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn run(&self, input_data: u32) {
[INFO] [stdout]    |                       ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0382, E0505.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0382`.
[INFO] [stdout] 
[INFO] [stdout] error[E0382]: use of moved value: `last_layer`
[INFO] [stdout]   --> src/neural_infra/mod.rs:41:38
[INFO] [stdout]    |
[INFO] [stdout] 36 |         let last_layer: Vec<Neuron> = Vec::new();
[INFO] [stdout]    |             ---------- move occurs because `last_layer` has type `Vec<Neuron>`, which does not implement the `Copy` trait
[INFO] [stdout] 37 |         for _ in 0..layer_count{
[INFO] [stdout]    |         ----------------------- inside of this loop
[INFO] [stdout] 38 |             let mut layer_neurons: Vec<Rc<Neuron>> = Vec::new();
[INFO] [stdout] 39 |             for _ in 0..node_count_per_layer{
[INFO] [stdout]    |             -------------------------------- inside of this loop
[INFO] [stdout] 40 |                 let current_neuron = Neuron{activation: Option::None, from_relations: Vec::new(), bias: 0.0};
[INFO] [stdout] 41 |                 for mut neuron_rc in last_layer.into_iter(){
[INFO] [stdout]    |                                      ^^^^^^^^^^ ----------- `last_layer` moved due to this method call, in previous iteration of loop
[INFO] [stdout]    |
[INFO] [stdout] note: `into_iter` takes ownership of the receiver `self`, which moves `last_layer`
[INFO] [stdout]   --> /rustc/779e19d8baa3e3625bd4fc5c85cbb2ad47b43155/library/core/src/iter/traits/collect.rs:310:18
[INFO] [stdout] help: you could `clone` the value and consume it, if the `Neuron: Clone` trait bound could be satisfied
[INFO] [stdout]    |
[INFO] [stdout] 41 |                 for mut neuron_rc in last_layer.clone().into_iter(){
[INFO] [stdout]    |                                                ++++++++
[INFO] [stdout] help: consider annotating `Neuron` with `#[derive(Clone)]`
[INFO] [stdout]   --> src/neural_infra/neuron.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 + #[derive(Clone)]
[INFO] [stdout] 13 | pub struct Neuron {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `TestNeural` (bin "TestNeural" test) due to 3 previous errors; 2 warnings emitted
[INFO] [stdout] error[E0505]: cannot move out of `neuron_rc` because it is borrowed
[INFO] [stdout]   --> src/neural_infra/mod.rs:42:114
[INFO] [stdout]    |
[INFO] [stdout] 41 |                 for mut neuron_rc in last_layer.into_iter(){
[INFO] [stdout]    |                     ------------- binding `neuron_rc` declared here
[INFO] [stdout] 42 |                     neuron_rc.from_relations.push(Rc::from(Relation{from: Rc::from(current_neuron), to: Rc::from(neuron_rc), weight: 0.0}));
[INFO] [stdout]    |                     ------------------------ ---- borrow later used by call                                      ^^^^^^^^^ move out of `neuron_rc` occurs here
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     borrow of `neuron_rc.from_relations` occurs here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0382]: use of moved value: `current_neuron`
[INFO] [stdout]   --> src/neural_infra/mod.rs:44:45
[INFO] [stdout]    |
[INFO] [stdout] 40 |                 let current_neuron = Neuron{activation: Option::None, from_relations: Vec::new(), bias: 0.0};
[INFO] [stdout]    |                     --------------   ----------------------------------------------------------------------- this reinitialization might get skipped
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     move occurs because `current_neuron` has type `Neuron`, which does not implement the `Copy` trait
[INFO] [stdout] 41 |                 for mut neuron_rc in last_layer.into_iter(){
[INFO] [stdout]    |                 ------------------------------------------- inside of this loop
[INFO] [stdout] 42 |                     neuron_rc.from_relations.push(Rc::from(Relation{from: Rc::from(current_neuron), to: Rc::from(neuron_rc), weight: 0.0}));
[INFO] [stdout]    |                                                                                    -------------- value moved here, in previous iteration of loop
[INFO] [stdout] 43 |                 };
[INFO] [stdout] 44 |                 layer_neurons.push(Rc::from(current_neuron));
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^ value used here after move
[INFO] [stdout]    |
[INFO] [stdout] note: if `Neuron` implemented `Clone`, you could clone the value
[INFO] [stdout]   --> src/neural_infra/neuron.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct Neuron {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^ consider implementing `Clone` for this type
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/neural_infra/mod.rs:42:84
[INFO] [stdout]    |
[INFO] [stdout] 42 |                     neuron_rc.from_relations.push(Rc::from(Relation{from: Rc::from(current_neuron), to: Rc::from(neuron_rc), weight: 0.0}));
[INFO] [stdout]    |                                                                                    -------------- you could clone this value
[INFO] [stdout] help: consider moving the expression out of the loop so it is only moved once
[INFO] [stdout]    |
[INFO] [stdout] 41 ~                 let mut value = Rc::from(current_neuron);
[INFO] [stdout] 42 ~                 for mut neuron_rc in last_layer.into_iter(){
[INFO] [stdout] 43 ~                     neuron_rc.from_relations.push(Rc::from(Relation{from: value, to: Rc::from(neuron_rc), weight: 0.0}));
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/neural_infra/mod.rs:51:25
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn train(&self, data: (&[u8], &str)) {
[INFO] [stdout]    |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input_data`
[INFO] [stdout]   --> src/neural_infra/mod.rs:72:23
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn run(&self, input_data: u32) {
[INFO] [stdout]    |                       ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0382, E0505.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0382`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `TestNeural` (bin "TestNeural") due to 3 previous errors; 2 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "ed880bf29e41075b458745e37af938d4a262939c200510701cb18ac148c4e2db", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ed880bf29e41075b458745e37af938d4a262939c200510701cb18ac148c4e2db", kill_on_drop: false }`
[INFO] [stdout] ed880bf29e41075b458745e37af938d4a262939c200510701cb18ac148c4e2db
