[INFO] cloning repository https://github.com/zfyre/rusty-torch
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/zfyre/rusty-torch" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzfyre%2Frusty-torch", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzfyre%2Frusty-torch'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 96fd41e0f80fd020ff8741e64c7728b287e9d174
[INFO] testing zfyre/rusty-torch against master#c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 for pr-146098-7
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzfyre%2Frusty-torch" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/zfyre/rusty-torch
[INFO] finished tweaking git repo https://github.com/zfyre/rusty-torch
[INFO] tweaked toml for git repo https://github.com/zfyre/rusty-torch written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/zfyre/rusty-torch on toolchain c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/zfyre/rusty-torch 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" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] bc5566171292eb6b4ae5c2a503dc8f55651d9638ce3d3633c39d8c0b1c25f57c
[INFO] running `Command { std: "docker" "start" "-a" "bc5566171292eb6b4ae5c2a503dc8f55651d9638ce3d3633c39d8c0b1c25f57c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bc5566171292eb6b4ae5c2a503dc8f55651d9638ce3d3633c39d8c0b1c25f57c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bc5566171292eb6b4ae5c2a503dc8f55651d9638ce3d3633c39d8c0b1c25f57c", kill_on_drop: false }`
[INFO] [stdout] bc5566171292eb6b4ae5c2a503dc8f55651d9638ce3d3633c39d8c0b1c25f57c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8c1dc2930876f49f379ed887a177d72dfe8c223523c0d717ddc0b1b36c991f7e
[INFO] running `Command { std: "docker" "start" "-a" "8c1dc2930876f49f379ed887a177d72dfe8c223523c0d717ddc0b1b36c991f7e", kill_on_drop: false }`
[INFO] [stderr]    Compiling rustytorch v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: associated type `dtype` should have an upper camel case name
[INFO] [stdout]   --> src/backend/mod.rs:36:14
[INFO] [stdout]    |
[INFO] [stdout] 36 |         type dtype;
[INFO] [stdout]    |              ^^^^^ help: convert the identifier to upper camel case: `Dtype`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `clone` and `iter`
[INFO] [stdout]   --> src/backend/mod.rs:90:15
[INFO] [stdout]    |
[INFO] [stdout] 90 |     use std::{clone, iter, rc::Rc};
[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 variable: `dim`
[INFO] [stdout]    --> src/backend/mod.rs:177:23
[INFO] [stdout]     |
[INFO] [stdout] 177 |         fn abs(&self, dim: Option<&[usize]>) -> Self {
[INFO] [stdout]     |                       ^^^ help: if this is intentional, prefix it with an underscore: `_dim`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]    --> src/backend/mod.rs:181:23
[INFO] [stdout]     |
[INFO] [stdout] 181 |         fn add(&self, other: &Self) -> Self {
[INFO] [stdout]     |                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]    --> src/backend/mod.rs:184:23
[INFO] [stdout]     |
[INFO] [stdout] 184 |         fn sub(&self, other: &Self) -> Self {
[INFO] [stdout]     |                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]    --> src/backend/mod.rs:187:23
[INFO] [stdout]     |
[INFO] [stdout] 187 |         fn mul(&self, other: &Self) -> Self {
[INFO] [stdout]     |                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]    --> src/backend/mod.rs:190:23
[INFO] [stdout]     |
[INFO] [stdout] 190 |         fn div(&self, other: &Self) -> Self {
[INFO] [stdout]     |                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dim`
[INFO] [stdout]    --> src/backend/mod.rs:194:24
[INFO] [stdout]     |
[INFO] [stdout] 194 |         fn crop(&self, dim : &[usize]) -> Self {
[INFO] [stdout]     |                        ^^^ help: if this is intentional, prefix it with an underscore: `_dim`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `shape`
[INFO] [stdout]    --> src/backend/mod.rs:197:26
[INFO] [stdout]     |
[INFO] [stdout] 197 |         fn expand(&self, shape: &[usize]) -> Self {
[INFO] [stdout]     |                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_shape`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dim`
[INFO] [stdout]    --> src/backend/mod.rs:200:23
[INFO] [stdout]     |
[INFO] [stdout] 200 |         fn max(&self, dim: &[usize]) -> Self {
[INFO] [stdout]     |                       ^^^ help: if this is intentional, prefix it with an underscore: `_dim`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dim`
[INFO] [stdout]    --> src/backend/mod.rs:203:23
[INFO] [stdout]     |
[INFO] [stdout] 203 |         fn min(&self, dim: &[usize]) -> Self {
[INFO] [stdout]     |                       ^^^ help: if this is intentional, prefix it with an underscore: `_dim`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]    --> src/backend/mod.rs:206:23
[INFO] [stdout]     |
[INFO] [stdout] 206 |         fn pow(&self, other: &Self) -> Self {
[INFO] [stdout]     |                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dim`
[INFO] [stdout]    --> src/backend/mod.rs:209:23
[INFO] [stdout]     |
[INFO] [stdout] 209 |         fn pad(&self, dim : &[usize]) -> Self {
[INFO] [stdout]     |                       ^^^ help: if this is intentional, prefix it with an underscore: `_dim`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dim`
[INFO] [stdout]    --> src/backend/mod.rs:215:27
[INFO] [stdout]     |
[INFO] [stdout] 215 |         fn permute(&self, dim: &[usize]) -> Self {
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_dim`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]    --> src/backend/mod.rs:218:30
[INFO] [stdout]     |
[INFO] [stdout] 218 |         fn apply_cond(&self, f: impl Fn(Self::dtype) -> Self::dtype) -> Self {
[INFO] [stdout]     |                              ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]    --> src/backend/mod.rs:221:22
[INFO] [stdout]     |
[INFO] [stdout] 221 |         fn eq(&self, other: &Self) -> Self {
[INFO] [stdout]     |                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dim`
[INFO] [stdout]    --> src/backend/mod.rs:224:27
[INFO] [stdout]     |
[INFO] [stdout] 224 |         fn reshape(&self, dim: &[usize]) -> Self {
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_dim`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dim`
[INFO] [stdout]    --> src/backend/mod.rs:226:24
[INFO] [stdout]     |
[INFO] [stdout] 226 |         }fn sum(&self, dim: &[usize]) -> Self {
[INFO] [stdout]     |                        ^^^ help: if this is intentional, prefix it with an underscore: `_dim`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dim`
[INFO] [stdout]    --> src/backend/mod.rs:229:29
[INFO] [stdout]     |
[INFO] [stdout] 229 |         fn unsqueeze(&self, dim: &[usize]) -> Self {
[INFO] [stdout]     |                             ^^^ help: if this is intentional, prefix it with an underscore: `_dim`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `iterate_display` is never used
[INFO] [stdout]   --> src/main.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn iterate_display<T: Iterator> (itr: T)
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]   --> src/backend/mod.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub trait TensorBackend{
[INFO] [stdout]    |               ------------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 44 |         fn exp(&self) -> Self;
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 45 |         fn log(&self) -> Self;
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 46 |         fn abs(&self, dim: Option<&[usize]>) -> Self;
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |         fn add(&self, other: &Self) -> Self;
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 50 |         fn sub(&self, other: &Self) -> Self;
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 51 |         fn mul(&self, other: &Self) -> Self;
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 52 |         fn div(&self, other: &Self) -> Self;
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 53 |         fn pow(&self, other: &Self) -> Self;
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 54 |         fn eq(&self, other: &Self) -> Self;
[INFO] [stdout]    |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |         fn apply_cond(&self, f: impl Fn(Self::dtype) -> Self::dtype) -> Self; // yohoo static dispatch over a function
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |         fn sum(&self, dim: &[usize]) -> Self;
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 61 |         fn max(&self, dim: &[usize]) -> Self; // we cannot use dim as an iterator beacuse somethings like tuples have not 'em implem...
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 62 |         fn min(&self, dim: &[usize]) -> Self;
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |         fn permute(&self, dim: &[usize]) -> Self;
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 66 |         fn reshape(&self, dim: &[usize]) -> Self;
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 67 |         fn expand(&self, shape: &[usize]) -> Self;
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 68 |         fn unsqueeze(&self, dim: &[usize]) -> Self;
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |         fn pad(&self, dim : &[usize]) -> Self;
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 72 |         fn crop(&self, dim : &[usize]) -> Self;
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |         fn shape(&self) -> &[usize];
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 77 |         fn ravel(&self) -> Vec<Self::dtype>;
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 80 |         fn to_Cpu(&self) -> CpuTensorBackend<Self::dtype> where Self::dtype: DataType;
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `size` is never used
[INFO] [stdout]    --> src/backend/mod.rs:359:12
[INFO] [stdout]     |
[INFO] [stdout] 352 |     pub trait Shape {
[INFO] [stdout]     |               ----- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 359 |         fn size(&self) -> usize {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Cpu_backend` should have a snake case name
[INFO] [stdout]   --> src/backend/mod.rs:88:9
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub mod Cpu_backend {
[INFO] [stdout]    |         ^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `cpu_backend`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait method `to_Cpu` should have a snake case name
[INFO] [stdout]   --> src/backend/mod.rs:80:12
[INFO] [stdout]    |
[INFO] [stdout] 80 |         fn to_Cpu(&self) -> CpuTensorBackend<Self::dtype> where Self::dtype: DataType;
[INFO] [stdout]    |            ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `to_cpu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.53s
[INFO] running `Command { std: "docker" "inspect" "8c1dc2930876f49f379ed887a177d72dfe8c223523c0d717ddc0b1b36c991f7e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8c1dc2930876f49f379ed887a177d72dfe8c223523c0d717ddc0b1b36c991f7e", kill_on_drop: false }`
[INFO] [stdout] 8c1dc2930876f49f379ed887a177d72dfe8c223523c0d717ddc0b1b36c991f7e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] df811fb0481386edefad08aae2b2932b0b26e0545505f1adeffb798f79c8ad81
[INFO] running `Command { std: "docker" "start" "-a" "df811fb0481386edefad08aae2b2932b0b26e0545505f1adeffb798f79c8ad81", kill_on_drop: false }`
[INFO] [stderr]    Compiling rustytorch v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: associated type `dtype` should have an upper camel case name
[INFO] [stdout]   --> src/backend/mod.rs:36:14
[INFO] [stdout]    |
[INFO] [stdout] 36 |         type dtype;
[INFO] [stdout]    |              ^^^^^ help: convert the identifier to upper camel case: `Dtype`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `clone` and `iter`
[INFO] [stdout]   --> src/backend/mod.rs:90:15
[INFO] [stdout]    |
[INFO] [stdout] 90 |     use std::{clone, iter, rc::Rc};
[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 variable: `dim`
[INFO] [stdout]    --> src/backend/mod.rs:177:23
[INFO] [stdout]     |
[INFO] [stdout] 177 |         fn abs(&self, dim: Option<&[usize]>) -> Self {
[INFO] [stdout]     |                       ^^^ help: if this is intentional, prefix it with an underscore: `_dim`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]    --> src/backend/mod.rs:181:23
[INFO] [stdout]     |
[INFO] [stdout] 181 |         fn add(&self, other: &Self) -> Self {
[INFO] [stdout]     |                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]    --> src/backend/mod.rs:184:23
[INFO] [stdout]     |
[INFO] [stdout] 184 |         fn sub(&self, other: &Self) -> Self {
[INFO] [stdout]     |                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]    --> src/backend/mod.rs:187:23
[INFO] [stdout]     |
[INFO] [stdout] 187 |         fn mul(&self, other: &Self) -> Self {
[INFO] [stdout]     |                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]    --> src/backend/mod.rs:190:23
[INFO] [stdout]     |
[INFO] [stdout] 190 |         fn div(&self, other: &Self) -> Self {
[INFO] [stdout]     |                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dim`
[INFO] [stdout]    --> src/backend/mod.rs:194:24
[INFO] [stdout]     |
[INFO] [stdout] 194 |         fn crop(&self, dim : &[usize]) -> Self {
[INFO] [stdout]     |                        ^^^ help: if this is intentional, prefix it with an underscore: `_dim`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `shape`
[INFO] [stdout]    --> src/backend/mod.rs:197:26
[INFO] [stdout]     |
[INFO] [stdout] 197 |         fn expand(&self, shape: &[usize]) -> Self {
[INFO] [stdout]     |                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_shape`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dim`
[INFO] [stdout]    --> src/backend/mod.rs:200:23
[INFO] [stdout]     |
[INFO] [stdout] 200 |         fn max(&self, dim: &[usize]) -> Self {
[INFO] [stdout]     |                       ^^^ help: if this is intentional, prefix it with an underscore: `_dim`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dim`
[INFO] [stdout]    --> src/backend/mod.rs:203:23
[INFO] [stdout]     |
[INFO] [stdout] 203 |         fn min(&self, dim: &[usize]) -> Self {
[INFO] [stdout]     |                       ^^^ help: if this is intentional, prefix it with an underscore: `_dim`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]    --> src/backend/mod.rs:206:23
[INFO] [stdout]     |
[INFO] [stdout] 206 |         fn pow(&self, other: &Self) -> Self {
[INFO] [stdout]     |                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dim`
[INFO] [stdout]    --> src/backend/mod.rs:209:23
[INFO] [stdout]     |
[INFO] [stdout] 209 |         fn pad(&self, dim : &[usize]) -> Self {
[INFO] [stdout]     |                       ^^^ help: if this is intentional, prefix it with an underscore: `_dim`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dim`
[INFO] [stdout]    --> src/backend/mod.rs:215:27
[INFO] [stdout]     |
[INFO] [stdout] 215 |         fn permute(&self, dim: &[usize]) -> Self {
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_dim`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]    --> src/backend/mod.rs:218:30
[INFO] [stdout]     |
[INFO] [stdout] 218 |         fn apply_cond(&self, f: impl Fn(Self::dtype) -> Self::dtype) -> Self {
[INFO] [stdout]     |                              ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]    --> src/backend/mod.rs:221:22
[INFO] [stdout]     |
[INFO] [stdout] 221 |         fn eq(&self, other: &Self) -> Self {
[INFO] [stdout]     |                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dim`
[INFO] [stdout]    --> src/backend/mod.rs:224:27
[INFO] [stdout]     |
[INFO] [stdout] 224 |         fn reshape(&self, dim: &[usize]) -> Self {
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_dim`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dim`
[INFO] [stdout]    --> src/backend/mod.rs:226:24
[INFO] [stdout]     |
[INFO] [stdout] 226 |         }fn sum(&self, dim: &[usize]) -> Self {
[INFO] [stdout]     |                        ^^^ help: if this is intentional, prefix it with an underscore: `_dim`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dim`
[INFO] [stdout]    --> src/backend/mod.rs:229:29
[INFO] [stdout]     |
[INFO] [stdout] 229 |         fn unsqueeze(&self, dim: &[usize]) -> Self {
[INFO] [stdout]     |                             ^^^ help: if this is intentional, prefix it with an underscore: `_dim`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]   --> src/main.rs:34:13
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let a = (1, 2, 3);
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]   --> src/backend/mod.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub trait TensorBackend{
[INFO] [stdout]    |               ------------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 44 |         fn exp(&self) -> Self;
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 45 |         fn log(&self) -> Self;
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 46 |         fn abs(&self, dim: Option<&[usize]>) -> Self;
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |         fn add(&self, other: &Self) -> Self;
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 50 |         fn sub(&self, other: &Self) -> Self;
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 51 |         fn mul(&self, other: &Self) -> Self;
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 52 |         fn div(&self, other: &Self) -> Self;
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 53 |         fn pow(&self, other: &Self) -> Self;
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 54 |         fn eq(&self, other: &Self) -> Self;
[INFO] [stdout]    |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |         fn apply_cond(&self, f: impl Fn(Self::dtype) -> Self::dtype) -> Self; // yohoo static dispatch over a function
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |         fn sum(&self, dim: &[usize]) -> Self;
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 61 |         fn max(&self, dim: &[usize]) -> Self; // we cannot use dim as an iterator beacuse somethings like tuples have not 'em implem...
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 62 |         fn min(&self, dim: &[usize]) -> Self;
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |         fn permute(&self, dim: &[usize]) -> Self;
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 66 |         fn reshape(&self, dim: &[usize]) -> Self;
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 67 |         fn expand(&self, shape: &[usize]) -> Self;
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 68 |         fn unsqueeze(&self, dim: &[usize]) -> Self;
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |         fn pad(&self, dim : &[usize]) -> Self;
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 72 |         fn crop(&self, dim : &[usize]) -> Self;
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |         fn shape(&self) -> &[usize];
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 77 |         fn ravel(&self) -> Vec<Self::dtype>;
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 80 |         fn to_Cpu(&self) -> CpuTensorBackend<Self::dtype> where Self::dtype: DataType;
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `size` is never used
[INFO] [stdout]    --> src/backend/mod.rs:359:12
[INFO] [stdout]     |
[INFO] [stdout] 352 |     pub trait Shape {
[INFO] [stdout]     |               ----- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 359 |         fn size(&self) -> usize {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Cpu_backend` should have a snake case name
[INFO] [stdout]   --> src/backend/mod.rs:88:9
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub mod Cpu_backend {
[INFO] [stdout]    |         ^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `cpu_backend`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait method `to_Cpu` should have a snake case name
[INFO] [stdout]   --> src/backend/mod.rs:80:12
[INFO] [stdout]    |
[INFO] [stdout] 80 |         fn to_Cpu(&self) -> CpuTensorBackend<Self::dtype> where Self::dtype: DataType;
[INFO] [stdout]    |            ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `to_cpu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.36s
[INFO] running `Command { std: "docker" "inspect" "df811fb0481386edefad08aae2b2932b0b26e0545505f1adeffb798f79c8ad81", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "df811fb0481386edefad08aae2b2932b0b26e0545505f1adeffb798f79c8ad81", kill_on_drop: false }`
[INFO] [stdout] df811fb0481386edefad08aae2b2932b0b26e0545505f1adeffb798f79c8ad81
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 1a3b16b2e607d2e0f7955b542d86e7c4634062eba80a011d9dc37e5588d39417
[INFO] running `Command { std: "docker" "start" "-a" "1a3b16b2e607d2e0f7955b542d86e7c4634062eba80a011d9dc37e5588d39417", kill_on_drop: false }`
[INFO] [stderr] warning: associated type `dtype` should have an upper camel case name
[INFO] [stderr]   --> src/backend/mod.rs:36:14
[INFO] [stderr]    |
[INFO] [stderr] 36 |         type dtype;
[INFO] [stderr]    |              ^^^^^ help: convert the identifier to upper camel case: `Dtype`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `clone` and `iter`
[INFO] [stderr]   --> src/backend/mod.rs:90:15
[INFO] [stderr]    |
[INFO] [stderr] 90 |     use std::{clone, iter, rc::Rc};
[INFO] [stderr]    |               ^^^^^  ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `dim`
[INFO] [stderr]    --> src/backend/mod.rs:177:23
[INFO] [stderr]     |
[INFO] [stderr] 177 |         fn abs(&self, dim: Option<&[usize]>) -> Self {
[INFO] [stderr]     |                       ^^^ help: if this is intentional, prefix it with an underscore: `_dim`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `other`
[INFO] [stderr]    --> src/backend/mod.rs:181:23
[INFO] [stderr]     |
[INFO] [stderr] 181 |         fn add(&self, other: &Self) -> Self {
[INFO] [stderr]     |                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `other`
[INFO] [stderr]    --> src/backend/mod.rs:184:23
[INFO] [stderr]     |
[INFO] [stderr] 184 |         fn sub(&self, other: &Self) -> Self {
[INFO] [stderr]     |                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `other`
[INFO] [stderr]    --> src/backend/mod.rs:187:23
[INFO] [stderr]     |
[INFO] [stderr] 187 |         fn mul(&self, other: &Self) -> Self {
[INFO] [stderr]     |                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `other`
[INFO] [stderr]    --> src/backend/mod.rs:190:23
[INFO] [stderr]     |
[INFO] [stderr] 190 |         fn div(&self, other: &Self) -> Self {
[INFO] [stderr]     |                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `dim`
[INFO] [stderr]    --> src/backend/mod.rs:194:24
[INFO] [stderr]     |
[INFO] [stderr] 194 |         fn crop(&self, dim : &[usize]) -> Self {
[INFO] [stderr]     |                        ^^^ help: if this is intentional, prefix it with an underscore: `_dim`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `shape`
[INFO] [stderr]    --> src/backend/mod.rs:197:26
[INFO] [stderr]     |
[INFO] [stderr] 197 |         fn expand(&self, shape: &[usize]) -> Self {
[INFO] [stderr]     |                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_shape`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `dim`
[INFO] [stderr]    --> src/backend/mod.rs:200:23
[INFO] [stderr]     |
[INFO] [stderr] 200 |         fn max(&self, dim: &[usize]) -> Self {
[INFO] [stderr]     |                       ^^^ help: if this is intentional, prefix it with an underscore: `_dim`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `dim`
[INFO] [stderr]    --> src/backend/mod.rs:203:23
[INFO] [stderr]     |
[INFO] [stderr] 203 |         fn min(&self, dim: &[usize]) -> Self {
[INFO] [stderr]     |                       ^^^ help: if this is intentional, prefix it with an underscore: `_dim`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `other`
[INFO] [stderr]    --> src/backend/mod.rs:206:23
[INFO] [stderr]     |
[INFO] [stderr] 206 |         fn pow(&self, other: &Self) -> Self {
[INFO] [stderr]     |                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `dim`
[INFO] [stderr]    --> src/backend/mod.rs:209:23
[INFO] [stderr]     |
[INFO] [stderr] 209 |         fn pad(&self, dim : &[usize]) -> Self {
[INFO] [stderr]     |                       ^^^ help: if this is intentional, prefix it with an underscore: `_dim`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `dim`
[INFO] [stderr]    --> src/backend/mod.rs:215:27
[INFO] [stderr]     |
[INFO] [stderr] 215 |         fn permute(&self, dim: &[usize]) -> Self {
[INFO] [stderr]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_dim`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `f`
[INFO] [stderr]    --> src/backend/mod.rs:218:30
[INFO] [stderr]     |
[INFO] [stderr] 218 |         fn apply_cond(&self, f: impl Fn(Self::dtype) -> Self::dtype) -> Self {
[INFO] [stderr]     |                              ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `other`
[INFO] [stderr]    --> src/backend/mod.rs:221:22
[INFO] [stderr]     |
[INFO] [stderr] 221 |         fn eq(&self, other: &Self) -> Self {
[INFO] [stderr]     |                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `dim`
[INFO] [stderr]    --> src/backend/mod.rs:224:27
[INFO] [stderr]     |
[INFO] [stderr] 224 |         fn reshape(&self, dim: &[usize]) -> Self {
[INFO] [stderr]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_dim`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `dim`
[INFO] [stderr]    --> src/backend/mod.rs:226:24
[INFO] [stderr]     |
[INFO] [stderr] 226 |         }fn sum(&self, dim: &[usize]) -> Self {
[INFO] [stderr]     |                        ^^^ help: if this is intentional, prefix it with an underscore: `_dim`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `dim`
[INFO] [stderr]    --> src/backend/mod.rs:229:29
[INFO] [stderr]     |
[INFO] [stderr] 229 |         fn unsqueeze(&self, dim: &[usize]) -> Self {
[INFO] [stderr]     |                             ^^^ help: if this is intentional, prefix it with an underscore: `_dim`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `a`
[INFO] [stderr]   --> src/main.rs:34:13
[INFO] [stderr]    |
[INFO] [stderr] 34 |         let a = (1, 2, 3);
[INFO] [stderr]    |             ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stderr] 
[INFO] [stderr] warning: multiple methods are never used
[INFO] [stderr]   --> src/backend/mod.rs:44:12
[INFO] [stderr]    |
[INFO] [stderr] 35 |     pub trait TensorBackend{
[INFO] [stderr]    |               ------------- methods in this trait
[INFO] [stderr] ...
[INFO] [stderr] 44 |         fn exp(&self) -> Self;
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 45 |         fn log(&self) -> Self;
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 46 |         fn abs(&self, dim: Option<&[usize]>) -> Self;
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 49 |         fn add(&self, other: &Self) -> Self;
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 50 |         fn sub(&self, other: &Self) -> Self;
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 51 |         fn mul(&self, other: &Self) -> Self;
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 52 |         fn div(&self, other: &Self) -> Self;
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 53 |         fn pow(&self, other: &Self) -> Self;
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 54 |         fn eq(&self, other: &Self) -> Self;
[INFO] [stderr]    |            ^^
[INFO] [stderr] ...
[INFO] [stderr] 57 |         fn apply_cond(&self, f: impl Fn(Self::dtype) -> Self::dtype) -> Self; // yohoo static dispatch over a function
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 60 |         fn sum(&self, dim: &[usize]) -> Self;
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 61 |         fn max(&self, dim: &[usize]) -> Self; // we cannot use dim as an iterator beacuse somethings like tuples have not 'em implem...
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 62 |         fn min(&self, dim: &[usize]) -> Self;
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 65 |         fn permute(&self, dim: &[usize]) -> Self;
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] 66 |         fn reshape(&self, dim: &[usize]) -> Self;
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] 67 |         fn expand(&self, shape: &[usize]) -> Self;
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] 68 |         fn unsqueeze(&self, dim: &[usize]) -> Self;
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 71 |         fn pad(&self, dim : &[usize]) -> Self;
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 72 |         fn crop(&self, dim : &[usize]) -> Self;
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 76 |         fn shape(&self) -> &[usize];
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] 77 |         fn ravel(&self) -> Vec<Self::dtype>;
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 80 |         fn to_Cpu(&self) -> CpuTensorBackend<Self::dtype> where Self::dtype: DataType;
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: method `size` is never used
[INFO] [stderr]    --> src/backend/mod.rs:359:12
[INFO] [stderr]     |
[INFO] [stderr] 352 |     pub trait Shape {
[INFO] [stderr]     |               ----- method in this trait
[INFO] [stderr] ...
[INFO] [stderr] 359 |         fn size(&self) -> usize {
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: module `Cpu_backend` should have a snake case name
[INFO] [stderr]   --> src/backend/mod.rs:88:9
[INFO] [stderr]    |
[INFO] [stderr] 88 | pub mod Cpu_backend {
[INFO] [stderr]    |         ^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `cpu_backend`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait method `to_Cpu` should have a snake case name
[INFO] [stderr]   --> src/backend/mod.rs:80:12
[INFO] [stderr]    |
[INFO] [stderr] 80 |         fn to_Cpu(&self) -> CpuTensorBackend<Self::dtype> where Self::dtype: DataType;
[INFO] [stderr]    |            ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `to_cpu`
[INFO] [stderr] 
[INFO] [stderr] warning: `rustytorch` (bin "rustytorch" test) generated 24 warnings (run `cargo fix --bin "rustytorch" -p rustytorch --tests` to apply 19 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.05s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/rustytorch-3fd933f0866919d7)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test tests::test_generic_iterator ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "1a3b16b2e607d2e0f7955b542d86e7c4634062eba80a011d9dc37e5588d39417", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1a3b16b2e607d2e0f7955b542d86e7c4634062eba80a011d9dc37e5588d39417", kill_on_drop: false }`
[INFO] [stdout] 1a3b16b2e607d2e0f7955b542d86e7c4634062eba80a011d9dc37e5588d39417
