[INFO] updating cached repository https://github.com/slavam2605/cnn
[INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"`
[INFO] running `"git" "rev-parse" "HEAD"`
[INFO] [stdout] 8496c7182ebd52c1c763aee0475dcc01df866de7
[INFO] checking slavam2605/cnn against master#209b2be09fcaff937480d1fbbe8b31646e361c7a for pr-70917
[INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fslavam2605%2Fcnn" "/workspace/builds/worker-8/source"`
[INFO] [stderr] Cloning into '/workspace/builds/worker-8/source'...
[INFO] [stderr] done.
[INFO] [stderr] Checking out files:  76% (10/13)   
Checking out files:  84% (11/13)   
Checking out files:  92% (12/13)   
Checking out files: 100% (13/13)   
Checking out files: 100% (13/13), done.
[INFO] validating manifest of git repo https://github.com/slavam2605/cnn on toolchain 209b2be09fcaff937480d1fbbe8b31646e361c7a
[INFO] running `"/workspace/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "read-manifest" "--manifest-path" "Cargo.toml"`
[INFO] started tweaking git repo https://github.com/slavam2605/cnn
[INFO] finished tweaking git repo https://github.com/slavam2605/cnn
[INFO] tweaked toml for git repo https://github.com/slavam2605/cnn written to /workspace/builds/worker-8/source/Cargo.toml
[INFO] crate git repo https://github.com/slavam2605/cnn already has a lockfile, it will not be regenerated
[INFO] running `"/workspace/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "fetch" "--locked" "--manifest-path" "Cargo.toml"`
[INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "check" "--frozen" "--all" "--all-targets"`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 8a6e0d30ebfa41a2f11b8e64060274c27577e20601e88e83c437b3b2f983ab5b
[INFO] running `"docker" "start" "-a" "8a6e0d30ebfa41a2f11b8e64060274c27577e20601e88e83c437b3b2f983ab5b"`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Checking rand v0.3.15
[INFO] [stderr]     Checking cnn v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/cnn.rs:30:32
[INFO] [stderr]    |
[INFO] [stderr] 30 |     layers: Vec<Rc<RefCell<Box<NetworkLayer>>>>
[INFO] [stderr]    |                                ^^^^^^^^^^^^ help: use `dyn`: `dyn NetworkLayer`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/cnn.rs:39:35
[INFO] [stderr]    |
[INFO] [stderr] 39 |         let layer: Rc<RefCell<Box<NetworkLayer>>> = Rc::new(RefCell::new(box FullLayer::new(2, &result.layers[0])));
[INFO] [stderr]    |                                   ^^^^^^^^^^^^ help: use `dyn`: `dyn NetworkLayer`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/cnn.rs:41:35
[INFO] [stderr]    |
[INFO] [stderr] 41 |         let layer: Rc<RefCell<Box<NetworkLayer>>> = Rc::new(RefCell::new(box FullLayer::new(2, &result.layers[1])));
[INFO] [stderr]    |                                   ^^^^^^^^^^^^ help: use `dyn`: `dyn NetworkLayer`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/cnn.rs:43:35
[INFO] [stderr]    |
[INFO] [stderr] 43 |         let layer: Rc<RefCell<Box<NetworkLayer>>> = Rc::new(RefCell::new(box FullLayer::new(2, &result.layers[2])));
[INFO] [stderr]    |                                   ^^^^^^^^^^^^ help: use `dyn`: `dyn NetworkLayer`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]  --> src/full_layer.rs:9:26
[INFO] [stderr]   |
[INFO] [stderr] 9 |     prev: Rc<RefCell<Box<NetworkLayer>>>,
[INFO] [stderr]   |                          ^^^^^^^^^^^^ help: use `dyn`: `dyn NetworkLayer`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/full_layer.rs:19:48
[INFO] [stderr]    |
[INFO] [stderr] 19 |     pub fn new(n: usize, prev: &Rc<RefCell<Box<NetworkLayer>>>) -> FullLayer {
[INFO] [stderr]    |                                                ^^^^^^^^^^^^ help: use `dyn`: `dyn NetworkLayer`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/cnn.rs:30:32
[INFO] [stderr]    |
[INFO] [stderr] 30 |     layers: Vec<Rc<RefCell<Box<NetworkLayer>>>>
[INFO] [stderr]    |                                ^^^^^^^^^^^^ help: use `dyn`: `dyn NetworkLayer`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/cnn.rs:39:35
[INFO] [stderr]    |
[INFO] [stderr] 39 |         let layer: Rc<RefCell<Box<NetworkLayer>>> = Rc::new(RefCell::new(box FullLayer::new(2, &result.layers[0])));
[INFO] [stderr]    |                                   ^^^^^^^^^^^^ help: use `dyn`: `dyn NetworkLayer`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/cnn.rs:41:35
[INFO] [stderr]    |
[INFO] [stderr] 41 |         let layer: Rc<RefCell<Box<NetworkLayer>>> = Rc::new(RefCell::new(box FullLayer::new(2, &result.layers[1])));
[INFO] [stderr]    |                                   ^^^^^^^^^^^^ help: use `dyn`: `dyn NetworkLayer`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/cnn.rs:43:35
[INFO] [stderr]    |
[INFO] [stderr] 43 |         let layer: Rc<RefCell<Box<NetworkLayer>>> = Rc::new(RefCell::new(box FullLayer::new(2, &result.layers[2])));
[INFO] [stderr]    |                                   ^^^^^^^^^^^^ help: use `dyn`: `dyn NetworkLayer`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]  --> src/full_layer.rs:9:26
[INFO] [stderr]   |
[INFO] [stderr] 9 |     prev: Rc<RefCell<Box<NetworkLayer>>>,
[INFO] [stderr]   |                          ^^^^^^^^^^^^ help: use `dyn`: `dyn NetworkLayer`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/full_layer.rs:19:48
[INFO] [stderr]    |
[INFO] [stderr] 19 |     pub fn new(n: usize, prev: &Rc<RefCell<Box<NetworkLayer>>>) -> FullLayer {
[INFO] [stderr]    |                                                ^^^^^^^^^^^^ help: use `dyn`: `dyn NetworkLayer`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]   --> src/main.rs:19:9
[INFO] [stderr]    |
[INFO] [stderr] 19 |     for i in 0..100000 {
[INFO] [stderr]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `data`
[INFO] [stderr]   --> src/cnn.rs:48:29
[INFO] [stderr]    |
[INFO] [stderr] 48 |     pub fn train(&mut self, data: &[f64], ans: &[f64]) {
[INFO] [stderr]    |                             ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `data`
[INFO] [stderr]    --> src/full_layer.rs:105:28
[INFO] [stderr]     |
[INFO] [stderr] 105 |     fn set_data(&mut self, data: &[f64]) {}
[INFO] [stderr]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stderr] 
[INFO] [stderr] error[E0161]: cannot move a value of type [f64]: the size of [f64] cannot be statically determined
[INFO] [stderr]   --> src/cnn.rs:68:13
[INFO] [stderr]    |
[INFO] [stderr] 68 |         box (*self.layers[self.layers.len() - 1].borrow().outputs())
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error[E0508]: cannot move out of type `[f64]`, a non-copy slice
[INFO] [stderr]   --> src/cnn.rs:68:13
[INFO] [stderr]    |
[INFO] [stderr] 68 |         box (*self.layers[self.layers.len() - 1].borrow().outputs())
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             cannot move out of here
[INFO] [stderr]    |             move occurs because value has type `[f64]`, which does not implement the `Copy` trait
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]   --> src/main.rs:19:9
[INFO] [stderr]    |
[INFO] [stderr] 19 |     for i in 0..100000 {
[INFO] [stderr]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `data`
[INFO] [stderr]   --> src/cnn.rs:48:29
[INFO] [stderr]    |
[INFO] [stderr] 48 |     pub fn train(&mut self, data: &[f64], ans: &[f64]) {
[INFO] [stderr]    |                             ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `data`
[INFO] [stderr]    --> src/full_layer.rs:105:28
[INFO] [stderr]     |
[INFO] [stderr] 105 |     fn set_data(&mut self, data: &[f64]) {}
[INFO] [stderr]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stderr] 
[INFO] [stderr] error[E0596]: cannot borrow `prev` as mutable, as it is not declared as mutable
[INFO] [stderr]   --> src/full_layer.rs:86:9
[INFO] [stderr]    |
[INFO] [stderr] 85 |         let prev = self.prev.borrow_mut();
[INFO] [stderr]    |             ---- help: consider changing this to be mutable: `mut prev`
[INFO] [stderr] 86 |         prev.clear_errors();
[INFO] [stderr]    |         ^^^^ cannot borrow as mutable
[INFO] [stderr] 
[INFO] [stderr] error[E0596]: cannot borrow `prev` as mutable, as it is not declared as mutable
[INFO] [stderr]   --> src/full_layer.rs:91:17
[INFO] [stderr]    |
[INFO] [stderr] 85 |         let prev = self.prev.borrow_mut();
[INFO] [stderr]    |             ---- help: consider changing this to be mutable: `mut prev`
[INFO] [stderr] ...
[INFO] [stderr] 91 |                 prev.errors()[j] += self.weights[j][i] * self.errors[i]; 
[INFO] [stderr]    |                 ^^^^ cannot borrow as mutable
[INFO] [stderr] 
[INFO] [stderr] error[E0596]: cannot borrow `prev` as mutable, as it is not declared as mutable
[INFO] [stderr]    --> src/full_layer.rs:102:9
[INFO] [stderr]     |
[INFO] [stderr] 85  |         let prev = self.prev.borrow_mut();
[INFO] [stderr]     |             ---- help: consider changing this to be mutable: `mut prev`
[INFO] [stderr] ...
[INFO] [stderr] 102 |         prev.train_backward();
[INFO] [stderr]     |         ^^^^ cannot borrow as mutable
[INFO] [stderr] 
[INFO] [stderr] error: aborting due to 5 previous errors
[INFO] [stderr] 
[INFO] [stderr] Some errors have detailed explanations: E0161, E0508, E0596.
[INFO] [stderr] For more information about an error, try `rustc --explain E0161`.
[INFO] [stderr] error: could not compile `cnn`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error[E0161]: cannot move a value of type [f64]: the size of [f64] cannot be statically determined
[INFO] [stderr]   --> src/cnn.rs:68:13
[INFO] [stderr]    |
[INFO] [stderr] 68 |         box (*self.layers[self.layers.len() - 1].borrow().outputs())
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error[E0508]: cannot move out of type `[f64]`, a non-copy slice
[INFO] [stderr]   --> src/cnn.rs:68:13
[INFO] [stderr]    |
[INFO] [stderr] 68 |         box (*self.layers[self.layers.len() - 1].borrow().outputs())
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             cannot move out of here
[INFO] [stderr]    |             move occurs because value has type `[f64]`, which does not implement the `Copy` trait
[INFO] [stderr] 
[INFO] [stderr] error[E0596]: cannot borrow `prev` as mutable, as it is not declared as mutable
[INFO] [stderr]   --> src/full_layer.rs:86:9
[INFO] [stderr]    |
[INFO] [stderr] 85 |         let prev = self.prev.borrow_mut();
[INFO] [stderr]    |             ---- help: consider changing this to be mutable: `mut prev`
[INFO] [stderr] 86 |         prev.clear_errors();
[INFO] [stderr]    |         ^^^^ cannot borrow as mutable
[INFO] [stderr] 
[INFO] [stderr] error[E0596]: cannot borrow `prev` as mutable, as it is not declared as mutable
[INFO] [stderr]   --> src/full_layer.rs:91:17
[INFO] [stderr]    |
[INFO] [stderr] 85 |         let prev = self.prev.borrow_mut();
[INFO] [stderr]    |             ---- help: consider changing this to be mutable: `mut prev`
[INFO] [stderr] ...
[INFO] [stderr] 91 |                 prev.errors()[j] += self.weights[j][i] * self.errors[i]; 
[INFO] [stderr]    |                 ^^^^ cannot borrow as mutable
[INFO] [stderr] 
[INFO] [stderr] error[E0596]: cannot borrow `prev` as mutable, as it is not declared as mutable
[INFO] [stderr]    --> src/full_layer.rs:102:9
[INFO] [stderr]     |
[INFO] [stderr] 85  |         let prev = self.prev.borrow_mut();
[INFO] [stderr]     |             ---- help: consider changing this to be mutable: `mut prev`
[INFO] [stderr] ...
[INFO] [stderr] 102 |         prev.train_backward();
[INFO] [stderr]     |         ^^^^ cannot borrow as mutable
[INFO] [stderr] 
[INFO] [stderr] error: aborting due to 5 previous errors
[INFO] [stderr] 
[INFO] [stderr] Some errors have detailed explanations: E0161, E0508, E0596.
[INFO] [stderr] For more information about an error, try `rustc --explain E0161`.
[INFO] [stderr] error: could not compile `cnn`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] running `"docker" "inspect" "8a6e0d30ebfa41a2f11b8e64060274c27577e20601e88e83c437b3b2f983ab5b"`
[INFO] running `"docker" "rm" "-f" "8a6e0d30ebfa41a2f11b8e64060274c27577e20601e88e83c437b3b2f983ab5b"`
[INFO] [stdout] 8a6e0d30ebfa41a2f11b8e64060274c27577e20601e88e83c437b3b2f983ab5b
