[INFO] cloning repository https://github.com/roberttang-00/nanograd-rs [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/roberttang-00/nanograd-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Froberttang-00%2Fnanograd-rs", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Froberttang-00%2Fnanograd-rs'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] d252ff92feffa928dab9ed5acc55b7cbe500f60e [INFO] checking roberttang-00/nanograd-rs against try#8384de5d92dd9b1c0b67caa5c1c1b11bf606490f for pr-146300 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Froberttang-00%2Fnanograd-rs" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/roberttang-00/nanograd-rs [INFO] finished tweaking git repo https://github.com/roberttang-00/nanograd-rs [INFO] tweaked toml for git repo https://github.com/roberttang-00/nanograd-rs written to /workspace/builds/worker-3-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/roberttang-00/nanograd-rs on toolchain 8384de5d92dd9b1c0b67caa5c1c1b11bf606490f [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8384de5d92dd9b1c0b67caa5c1c1b11bf606490f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/roberttang-00/nanograd-rs 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" "+8384de5d92dd9b1c0b67caa5c1c1b11bf606490f" "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 [ERROR] error running command: no output for 300 seconds [INFO] checking roberttang-00/nanograd-rs against try#8384de5d92dd9b1c0b67caa5c1c1b11bf606490f for pr-146300 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Froberttang-00%2Fnanograd-rs" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/roberttang-00/nanograd-rs [INFO] finished tweaking git repo https://github.com/roberttang-00/nanograd-rs [INFO] tweaked toml for git repo https://github.com/roberttang-00/nanograd-rs written to /workspace/builds/worker-3-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/roberttang-00/nanograd-rs on toolchain 8384de5d92dd9b1c0b67caa5c1c1b11bf606490f [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8384de5d92dd9b1c0b67caa5c1c1b11bf606490f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/roberttang-00/nanograd-rs 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" "+8384de5d92dd9b1c0b67caa5c1c1b11bf606490f" "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] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+8384de5d92dd9b1c0b67caa5c1c1b11bf606490f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 78a32d5c179939af9e02753487ca47ebbf8f5369e63213342a353df58bf7bc63 [INFO] running `Command { std: "docker" "start" "-a" "78a32d5c179939af9e02753487ca47ebbf8f5369e63213342a353df58bf7bc63", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "78a32d5c179939af9e02753487ca47ebbf8f5369e63213342a353df58bf7bc63", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "78a32d5c179939af9e02753487ca47ebbf8f5369e63213342a353df58bf7bc63", kill_on_drop: false }` [INFO] [stdout] 78a32d5c179939af9e02753487ca47ebbf8f5369e63213342a353df58bf7bc63 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+8384de5d92dd9b1c0b67caa5c1c1b11bf606490f" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 52ad6365c9df7982f4c5109b3b8e7fb58e9e8a355c2743ea5b4922c1b109bb35 [INFO] running `Command { std: "docker" "start" "-a" "52ad6365c9df7982f4c5109b3b8e7fb58e9e8a355c2743ea5b4922c1b109bb35", kill_on_drop: false }` [INFO] [stderr] Compiling matrixmultiply v0.3.10 [INFO] [stderr] Checking num-complex v0.4.6 [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Checking ndarray v0.16.1 [INFO] [stderr] Checking nanograd_rs v0.0.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/tensor.rs:168:22 [INFO] [stdout] | [INFO] [stdout] 168 | for (i, (parent, parent_grad)) in parents.iter().zip(grads).enumerate() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/tensor.rs:168:22 [INFO] [stdout] | [INFO] [stdout] 168 | for (i, (parent, parent_grad)) in parents.iter().zip(grads).enumerate() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `TensorData` [INFO] [stdout] --> tests/autograd_tests.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | assert_eq!(result.borrow().data, 5.0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | TensorData [INFO] [stdout] | {float} [INFO] [stdout] | [INFO] [stdout] note: the foreign item type `TensorData` doesn't implement `PartialEq<{float}>` [INFO] [stdout] --> /opt/rustwide/workdir/src/tensor.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | pub enum TensorData { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ not implement `PartialEq<{float}>` [INFO] [stdout] = note: this error originates in the macro `assert_eq` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `TensorData` [INFO] [stdout] --> tests/autograd_tests.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | assert_eq!(result.borrow().data, 5.0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | TensorData [INFO] [stdout] | {float} [INFO] [stdout] | [INFO] [stdout] note: the foreign item type `TensorData` doesn't implement `PartialEq<{float}>` [INFO] [stdout] --> /opt/rustwide/workdir/src/tensor.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | pub enum TensorData { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ not implement `PartialEq<{float}>` [INFO] [stdout] = note: this error originates in the macro `assert_eq` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `Option` [INFO] [stdout] --> tests/autograd_tests.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | assert_eq!(x.borrow().grad, Some(-2.5)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | Option [INFO] [stdout] | Option<{float}> [INFO] [stdout] | [INFO] [stdout] note: the foreign item type `Option` doesn't implement `PartialEq>` [INFO] [stdout] --> /rustc/8384de5d92dd9b1c0b67caa5c1c1b11bf606490f/library/core/src/option.rs:593:1 [INFO] [stdout] | [INFO] [stdout] = note: not implement `PartialEq>` [INFO] [stdout] = note: this error originates in the macro `assert_eq` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `TensorData` [INFO] [stdout] --> tests/autograd_tests.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 42 | assert_eq!(result.borrow().data, 5.0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | TensorData [INFO] [stdout] | {float} [INFO] [stdout] | [INFO] [stdout] note: the foreign item type `TensorData` doesn't implement `PartialEq<{float}>` [INFO] [stdout] --> /opt/rustwide/workdir/src/tensor.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | pub enum TensorData { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ not implement `PartialEq<{float}>` [INFO] [stdout] = note: this error originates in the macro `assert_eq` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `Option` [INFO] [stdout] --> tests/autograd_tests.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 43 | assert_eq!(x.borrow().grad, Some(6.0)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | Option [INFO] [stdout] | Option<{float}> [INFO] [stdout] | [INFO] [stdout] note: the foreign item type `Option` doesn't implement `PartialEq>` [INFO] [stdout] --> /rustc/8384de5d92dd9b1c0b67caa5c1c1b11bf606490f/library/core/src/option.rs:593:1 [INFO] [stdout] | [INFO] [stdout] = note: not implement `PartialEq>` [INFO] [stdout] = note: this error originates in the macro `assert_eq` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `TensorData` [INFO] [stdout] --> tests/autograd_tests.rs:59:5 [INFO] [stdout] | [INFO] [stdout] 59 | assert_eq!(result.borrow().data, 8.0); // 2*3 + 2 = 8 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | TensorData [INFO] [stdout] | {float} [INFO] [stdout] | [INFO] [stdout] note: the foreign item type `TensorData` doesn't implement `PartialEq<{float}>` [INFO] [stdout] --> /opt/rustwide/workdir/src/tensor.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | pub enum TensorData { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ not implement `PartialEq<{float}>` [INFO] [stdout] = note: this error originates in the macro `assert_eq` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `Option` [INFO] [stdout] --> tests/autograd_tests.rs:60:5 [INFO] [stdout] | [INFO] [stdout] 60 | assert_eq!(x.borrow().grad, Some(4.0)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | Option [INFO] [stdout] | Option<{float}> [INFO] [stdout] | [INFO] [stdout] note: the foreign item type `Option` doesn't implement `PartialEq>` [INFO] [stdout] --> /rustc/8384de5d92dd9b1c0b67caa5c1c1b11bf606490f/library/core/src/option.rs:593:1 [INFO] [stdout] | [INFO] [stdout] = note: not implement `PartialEq>` [INFO] [stdout] = note: this error originates in the macro `assert_eq` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `Option` [INFO] [stdout] --> tests/autograd_tests.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 61 | assert_eq!(y.borrow().grad, Some(2.0)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | Option [INFO] [stdout] | Option<{float}> [INFO] [stdout] | [INFO] [stdout] note: the foreign item type `Option` doesn't implement `PartialEq>` [INFO] [stdout] --> /rustc/8384de5d92dd9b1c0b67caa5c1c1b11bf606490f/library/core/src/option.rs:593:1 [INFO] [stdout] | [INFO] [stdout] = note: not implement `PartialEq>` [INFO] [stdout] = note: this error originates in the macro `assert_eq` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `TensorData` [INFO] [stdout] --> tests/autograd_tests.rs:81:5 [INFO] [stdout] | [INFO] [stdout] 81 | assert_eq!(result.borrow().data, 0.75); // (2+1)/(1+3) = 3/4 = 0.75 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | TensorData [INFO] [stdout] | {float} [INFO] [stdout] | [INFO] [stdout] note: the foreign item type `TensorData` doesn't implement `PartialEq<{float}>` [INFO] [stdout] --> /opt/rustwide/workdir/src/tensor.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | pub enum TensorData { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ not implement `PartialEq<{float}>` [INFO] [stdout] = note: this error originates in the macro `assert_eq` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: cannot subtract `{float}` from `TensorData` [INFO] [stdout] --> tests/autograd_tests.rs:82:39 [INFO] [stdout] | [INFO] [stdout] 82 | assert!((x.borrow().grad.unwrap() - 0.3125).abs() < 1e-6); [INFO] [stdout] | ------------------------ ^ ------ {float} [INFO] [stdout] | | [INFO] [stdout] | TensorData [INFO] [stdout] | [INFO] [stdout] note: the foreign item type `TensorData` doesn't implement `std::ops::Sub<{float}>` [INFO] [stdout] --> /opt/rustwide/workdir/src/tensor.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | pub enum TensorData { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ not implement `std::ops::Sub<{float}>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `TensorData` [INFO] [stdout] --> tests/autograd_tests.rs:95:5 [INFO] [stdout] | [INFO] [stdout] 95 | assert_eq!(result.borrow().data, 10.0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | TensorData [INFO] [stdout] | {float} [INFO] [stdout] | [INFO] [stdout] note: the foreign item type `TensorData` doesn't implement `PartialEq<{float}>` [INFO] [stdout] --> /opt/rustwide/workdir/src/tensor.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | pub enum TensorData { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ not implement `PartialEq<{float}>` [INFO] [stdout] = note: this error originates in the macro `assert_eq` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `Option` [INFO] [stdout] --> tests/autograd_tests.rs:96:5 [INFO] [stdout] | [INFO] [stdout] 96 | assert_eq!(x.borrow().grad, Some(2.0)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | Option [INFO] [stdout] | Option<{float}> [INFO] [stdout] | [INFO] [stdout] note: the foreign item type `Option` doesn't implement `PartialEq>` [INFO] [stdout] --> /rustc/8384de5d92dd9b1c0b67caa5c1c1b11bf606490f/library/core/src/option.rs:593:1 [INFO] [stdout] | [INFO] [stdout] = note: not implement `PartialEq>` [INFO] [stdout] = note: this error originates in the macro `assert_eq` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `TensorData` [INFO] [stdout] --> tests/autograd_tests.rs:108:5 [INFO] [stdout] | [INFO] [stdout] 108 | assert_eq!(result.borrow().data, 6.0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | TensorData [INFO] [stdout] | {float} [INFO] [stdout] | [INFO] [stdout] note: the foreign item type `TensorData` doesn't implement `PartialEq<{float}>` [INFO] [stdout] --> /opt/rustwide/workdir/src/tensor.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | pub enum TensorData { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ not implement `PartialEq<{float}>` [INFO] [stdout] = note: this error originates in the macro `assert_eq` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `Option` [INFO] [stdout] --> tests/autograd_tests.rs:109:5 [INFO] [stdout] | [INFO] [stdout] 109 | assert_eq!(x.borrow().grad, Some(3.0)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | Option [INFO] [stdout] | Option<{float}> [INFO] [stdout] | [INFO] [stdout] note: the foreign item type `Option` doesn't implement `PartialEq>` [INFO] [stdout] --> /rustc/8384de5d92dd9b1c0b67caa5c1c1b11bf606490f/library/core/src/option.rs:593:1 [INFO] [stdout] | [INFO] [stdout] = note: not implement `PartialEq>` [INFO] [stdout] = note: this error originates in the macro `assert_eq` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `Option` [INFO] [stdout] --> tests/autograd_tests.rs:110:5 [INFO] [stdout] | [INFO] [stdout] 110 | assert_eq!(y.borrow().grad, None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | Option [INFO] [stdout] | Option [INFO] [stdout] | [INFO] [stdout] note: the foreign item type `TensorData` doesn't implement `PartialEq` [INFO] [stdout] --> /opt/rustwide/workdir/src/tensor.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | pub enum TensorData { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ not implement `PartialEq` [INFO] [stdout] = note: this error originates in the macro `assert_eq` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `unary_ops::*` [INFO] [stdout] --> src/ops/mod.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 4 | pub use unary_ops::*; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `reduction_ops::*` [INFO] [stdout] --> src/ops/mod.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | pub use reduction_ops::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `TensorData` [INFO] [stdout] --> tests/autograd_tests.rs:129:5 [INFO] [stdout] | [INFO] [stdout] 129 | assert_eq!(result.borrow().data, 7.0); // 3*2 + 1 = 7 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | TensorData [INFO] [stdout] | {float} [INFO] [stdout] | [INFO] [stdout] note: the foreign item type `TensorData` doesn't implement `PartialEq<{float}>` [INFO] [stdout] --> /opt/rustwide/workdir/src/tensor.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | pub enum TensorData { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ not implement `PartialEq<{float}>` [INFO] [stdout] = note: this error originates in the macro `assert_eq` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `Option` [INFO] [stdout] --> tests/autograd_tests.rs:130:5 [INFO] [stdout] | [INFO] [stdout] 130 | assert_eq!(x.borrow().grad, Some(3.0)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | Option [INFO] [stdout] | Option<{float}> [INFO] [stdout] | [INFO] [stdout] note: the foreign item type `Option` doesn't implement `PartialEq>` [INFO] [stdout] --> /rustc/8384de5d92dd9b1c0b67caa5c1c1b11bf606490f/library/core/src/option.rs:593:1 [INFO] [stdout] | [INFO] [stdout] = note: not implement `PartialEq>` [INFO] [stdout] = note: this error originates in the macro `assert_eq` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> tests/autograd_tests.rs:177:23 [INFO] [stdout] | [INFO] [stdout] 177 | assert!(approx_eq(result.borrow().data, 0.0, 1e-6)); [INFO] [stdout] | --------- ^^^^^^^^^^^^^^^^^^^^ expected `f32`, found `TensorData` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] note: function defined here [INFO] [stdout] --> tests/autograd_tests.rs:162:4 [INFO] [stdout] | [INFO] [stdout] 162 | fn approx_eq(a: f32, b: f32, epsilon: f32) -> bool { [INFO] [stdout] | ^^^^^^^^^ ------ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `Option` [INFO] [stdout] --> tests/autograd_tests.rs:178:5 [INFO] [stdout] | [INFO] [stdout] 178 | assert_eq!(x.borrow().grad, Some(1.0)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | Option [INFO] [stdout] | Option<{float}> [INFO] [stdout] | [INFO] [stdout] note: the foreign item type `Option` doesn't implement `PartialEq>` [INFO] [stdout] --> /rustc/8384de5d92dd9b1c0b67caa5c1c1b11bf606490f/library/core/src/option.rs:593:1 [INFO] [stdout] | [INFO] [stdout] = note: not implement `PartialEq>` [INFO] [stdout] = note: this error originates in the macro `assert_eq` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `Option` [INFO] [stdout] --> tests/autograd_tests.rs:179:5 [INFO] [stdout] | [INFO] [stdout] 179 | assert_eq!(y.borrow().grad, Some(1.0)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | Option [INFO] [stdout] | Option<{float}> [INFO] [stdout] | [INFO] [stdout] note: the foreign item type `Option` doesn't implement `PartialEq>` [INFO] [stdout] --> /rustc/8384de5d92dd9b1c0b67caa5c1c1b11bf606490f/library/core/src/option.rs:593:1 [INFO] [stdout] | [INFO] [stdout] = note: not implement `PartialEq>` [INFO] [stdout] = note: this error originates in the macro `assert_eq` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0308, E0369. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0308`. [INFO] [stdout] [INFO] [stderr] error: could not compile `nanograd_rs` (test "autograd_tests") due to 20 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/tensor.rs:168:22 [INFO] [stdout] | [INFO] [stdout] 168 | for (i, (parent, parent_grad)) in parents.iter().zip(grads).enumerate() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `name` is never used [INFO] [stdout] --> src/ops/op_defs.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub trait Op: Debug { [INFO] [stdout] | -- method in this trait [INFO] [stdout] ... [INFO] [stdout] 7 | fn name(&self) -> &'static str { "PrimitiveOp "} [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Neg` is never constructed [INFO] [stdout] --> src/ops/op_defs.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct Neg; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Abs` is never constructed [INFO] [stdout] --> src/ops/op_defs.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct Abs; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ReLU` is never constructed [INFO] [stdout] --> src/ops/op_defs.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct ReLU; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Div` is never constructed [INFO] [stdout] --> src/ops/op_defs.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 33 | pub struct Div; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Sum` is never constructed [INFO] [stdout] --> src/ops/op_defs.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 38 | pub struct Sum { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Mean` is never constructed [INFO] [stdout] --> src/ops/op_defs.rs:44:12 [INFO] [stdout] | [INFO] [stdout] 44 | pub struct Mean { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `apply_unary_op` is never used [INFO] [stdout] --> src/ops/unary_ops.rs:58:4 [INFO] [stdout] | [INFO] [stdout] 58 | fn apply_unary_op(a: &TensorRef, op: Rc) -> TensorRef { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `neg` is never used [INFO] [stdout] --> src/ops/unary_ops.rs:71:8 [INFO] [stdout] | [INFO] [stdout] 71 | pub fn neg(a: &TensorRef) -> TensorRef { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `abs` is never used [INFO] [stdout] --> src/ops/unary_ops.rs:75:8 [INFO] [stdout] | [INFO] [stdout] 75 | pub fn abs(a: &TensorRef) -> TensorRef { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `relu` is never used [INFO] [stdout] --> src/ops/unary_ops.rs:79:8 [INFO] [stdout] | [INFO] [stdout] 79 | pub fn relu(a: &TensorRef) -> TensorRef { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `div` is never used [INFO] [stdout] --> src/ops/binary_ops.rs:98:8 [INFO] [stdout] | [INFO] [stdout] 98 | pub fn div(a: &TensorRef, b: &TensorRef) -> TensorRef { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `apply_reduction_op` is never used [INFO] [stdout] --> src/ops/reduction_ops.rs:171:4 [INFO] [stdout] | [INFO] [stdout] 171 | fn apply_reduction_op(a: &TensorRef, op: Rc) -> TensorRef { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sum` is never used [INFO] [stdout] --> src/ops/reduction_ops.rs:184:8 [INFO] [stdout] | [INFO] [stdout] 184 | pub fn sum(a: &TensorRef, axes: Option>, keepdim: bool) -> TensorRef { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mean` is never used [INFO] [stdout] --> src/ops/reduction_ops.rs:188:8 [INFO] [stdout] | [INFO] [stdout] 188 | pub fn mean(a: &TensorRef, axes: Option>, keepdim: bool) -> TensorRef { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `unary_ops::*` [INFO] [stdout] --> src/ops/mod.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 4 | pub use unary_ops::*; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `reduction_ops::*` [INFO] [stdout] --> src/ops/mod.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | pub use reduction_ops::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/tensor.rs:168:22 [INFO] [stdout] | [INFO] [stdout] 168 | for (i, (parent, parent_grad)) in parents.iter().zip(grads).enumerate() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `name` is never used [INFO] [stdout] --> src/ops/op_defs.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub trait Op: Debug { [INFO] [stdout] | -- method in this trait [INFO] [stdout] ... [INFO] [stdout] 7 | fn name(&self) -> &'static str { "PrimitiveOp "} [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Neg` is never constructed [INFO] [stdout] --> src/ops/op_defs.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct Neg; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Abs` is never constructed [INFO] [stdout] --> src/ops/op_defs.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct Abs; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ReLU` is never constructed [INFO] [stdout] --> src/ops/op_defs.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct ReLU; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Div` is never constructed [INFO] [stdout] --> src/ops/op_defs.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 33 | pub struct Div; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Sum` is never constructed [INFO] [stdout] --> src/ops/op_defs.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 38 | pub struct Sum { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Mean` is never constructed [INFO] [stdout] --> src/ops/op_defs.rs:44:12 [INFO] [stdout] | [INFO] [stdout] 44 | pub struct Mean { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `apply_unary_op` is never used [INFO] [stdout] --> src/ops/unary_ops.rs:58:4 [INFO] [stdout] | [INFO] [stdout] 58 | fn apply_unary_op(a: &TensorRef, op: Rc) -> TensorRef { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `neg` is never used [INFO] [stdout] --> src/ops/unary_ops.rs:71:8 [INFO] [stdout] | [INFO] [stdout] 71 | pub fn neg(a: &TensorRef) -> TensorRef { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `abs` is never used [INFO] [stdout] --> src/ops/unary_ops.rs:75:8 [INFO] [stdout] | [INFO] [stdout] 75 | pub fn abs(a: &TensorRef) -> TensorRef { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `relu` is never used [INFO] [stdout] --> src/ops/unary_ops.rs:79:8 [INFO] [stdout] | [INFO] [stdout] 79 | pub fn relu(a: &TensorRef) -> TensorRef { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `div` is never used [INFO] [stdout] --> src/ops/binary_ops.rs:98:8 [INFO] [stdout] | [INFO] [stdout] 98 | pub fn div(a: &TensorRef, b: &TensorRef) -> TensorRef { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `apply_reduction_op` is never used [INFO] [stdout] --> src/ops/reduction_ops.rs:171:4 [INFO] [stdout] | [INFO] [stdout] 171 | fn apply_reduction_op(a: &TensorRef, op: Rc) -> TensorRef { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sum` is never used [INFO] [stdout] --> src/ops/reduction_ops.rs:184:8 [INFO] [stdout] | [INFO] [stdout] 184 | pub fn sum(a: &TensorRef, axes: Option>, keepdim: bool) -> TensorRef { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mean` is never used [INFO] [stdout] --> src/ops/reduction_ops.rs:188:8 [INFO] [stdout] | [INFO] [stdout] 188 | pub fn mean(a: &TensorRef, axes: Option>, keepdim: bool) -> TensorRef { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "52ad6365c9df7982f4c5109b3b8e7fb58e9e8a355c2743ea5b4922c1b109bb35", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "52ad6365c9df7982f4c5109b3b8e7fb58e9e8a355c2743ea5b4922c1b109bb35", kill_on_drop: false }` [INFO] [stdout] 52ad6365c9df7982f4c5109b3b8e7fb58e9e8a355c2743ea5b4922c1b109bb35