[INFO] fetching crate ndrs 0.4.0...
[INFO] checking ndrs-0.4.0 against master#57f772f25c5ce2bd870d6f8c3ab318eaee5a3326 for pr-133502-22
[INFO] extracting crate ndrs 0.4.0 into /workspace/builds/worker-6-tc1/source
[INFO] started tweaking crates.io crate ndrs 0.4.0
[INFO] finished tweaking crates.io crate ndrs 0.4.0
[INFO] tweaked toml for crates.io crate ndrs 0.4.0 written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate ndrs 0.4.0 on toolchain 57f772f25c5ce2bd870d6f8c3ab318eaee5a3326
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+57f772f25c5ce2bd870d6f8c3ab318eaee5a3326" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate ndrs 0.4.0 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" "+57f772f25c5ce2bd870d6f8c3ab318eaee5a3326" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded filenamify v0.1.2
[INFO] [stderr]   Downloaded vcvars v0.1.6
[INFO] [stderr]   Downloaded cudaforge v0.1.5
[INFO] [stderr]   Downloaded npyz v0.9.0
[INFO] [stderr]   Downloaded cudarc v0.19.4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+57f772f25c5ce2bd870d6f8c3ab318eaee5a3326" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 701f72158683ce354dc18a2c019fc3357430a067bf6b8c8d41f7f763ebad8c58
[INFO] running `Command { std: "docker" "start" "-a" "701f72158683ce354dc18a2c019fc3357430a067bf6b8c8d41f7f763ebad8c58", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "701f72158683ce354dc18a2c019fc3357430a067bf6b8c8d41f7f763ebad8c58", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "701f72158683ce354dc18a2c019fc3357430a067bf6b8c8d41f7f763ebad8c58", kill_on_drop: false }`
[INFO] [stdout] 701f72158683ce354dc18a2c019fc3357430a067bf6b8c8d41f7f763ebad8c58
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+57f772f25c5ce2bd870d6f8c3ab318eaee5a3326" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ffcdc793492e4386ec434976fd030cb23e2b5536a4cc6c359f89f90f8e578693
[INFO] running `Command { std: "docker" "start" "-a" "ffcdc793492e4386ec434976fd030cb23e2b5536a4cc6c359f89f90f8e578693", kill_on_drop: false }`
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling env_home v0.1.0
[INFO] [stderr]    Compiling vcvars v0.1.6
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling filenamify v0.1.2
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling pest_generator v2.8.6
[INFO] [stderr]    Compiling fs2 v0.4.3
[INFO] [stderr]    Compiling rayon v1.12.0
[INFO] [stderr]    Compiling num_cpus v1.17.0
[INFO] [stderr]    Compiling cc v1.2.60
[INFO] [stderr]     Checking backtrace v0.3.76
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]    Compiling pest_derive v2.8.6
[INFO] [stderr]    Compiling which v7.0.3
[INFO] [stderr]    Compiling find_cuda_helper v0.2.0
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]    Compiling cudarc v0.19.4
[INFO] [stderr]     Checking regex v1.12.3
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking getrandom v0.4.2
[INFO] [stderr]    Compiling bytemuck_derive v1.10.2
[INFO] [stderr]     Checking libloading v0.9.0
[INFO] [stderr]     Checking tempfile v3.27.0
[INFO] [stderr]     Checking threadpool v1.8.1
[INFO] [stderr]     Checking env_filter v1.0.1
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]    Compiling ctor v0.2.9
[INFO] [stderr]     Checking env_logger v0.11.10
[INFO] [stderr]     Checking py_literal v0.4.0
[INFO] [stderr]     Checking bytemuck v1.25.0
[INFO] [stderr]     Checking npyz v0.9.0
[INFO] [stderr]    Compiling cudaforge v0.1.5
[INFO] [stderr]    Compiling ndrs v0.4.0 (/opt/rustwide/workdir)
[INFO] [stderr] warning: ndrs@0.4.0: /opt/rustwide/workdir/kernel/src/cpu/ops.cpp: In function 'void cpu_strided_copy(const uint8_t*, size_t, const size_t*, int, const size_t*, uint8_t*, size_t, const size_t*, size_t, size_t)':
[INFO] [stderr] warning: ndrs@0.4.0: /opt/rustwide/workdir/kernel/src/cpu/ops.cpp:74:31: warning: comparison of integer expressions of different signedness: 'int64_t' {aka 'long int'} and 'size_t' {aka 'long unsigned int'} [-Wsign-compare]
[INFO] [stderr] warning: ndrs@0.4.0:    74 |     for (int64_t idx = 0; idx < total_elements; ++idx) {
[INFO] [stderr] warning: ndrs@0.4.0:       |                           ~~~~^~~~~~~~~~~~~~~~
[INFO] [stderr] warning: ndrs@0.4.0: /opt/rustwide/workdir/kernel/src/cpu/ops.cpp: In function 'void cpu_contiguous(const uint8_t*, size_t, const size_t*, int, const size_t*, uint8_t*, size_t, size_t)':
[INFO] [stderr] warning: ndrs@0.4.0: /opt/rustwide/workdir/kernel/src/cpu/ops.cpp:94:31: warning: comparison of integer expressions of different signedness: 'int64_t' {aka 'long int'} and 'size_t' {aka 'long unsigned int'} [-Wsign-compare]
[INFO] [stderr] warning: ndrs@0.4.0:    94 |     for (int64_t idx = 0; idx < total_elements; ++idx) {
[INFO] [stderr] warning: ndrs@0.4.0:       |                           ~~~~^~~~~~~~~~~~~~~~
[INFO] [stderr] warning: ndrs@0.4.0: /opt/rustwide/workdir/kernel/src/cpu/ops.cpp: In instantiation of 'void cpu_strided_binary(const T*, const size_t*, const T*, const size_t*, T*, const size_t*, const size_t*, int, size_t, Op) [with T = float; Op = add_op<float>; size_t = long unsigned int]':
[INFO] [stderr] warning: ndrs@0.4.0: /opt/rustwide/workdir/kernel/src/cpu/ops.cpp:55:1:   required from here
[INFO] [stderr] warning: ndrs@0.4.0: /opt/rustwide/workdir/kernel/src/cpu/ops.cpp:29:33: warning: comparison of integer expressions of different signedness: 'int64_t' {aka 'long int'} and 'size_t' {aka 'long unsigned int'} [-Wsign-compare]
[INFO] [stderr] warning: ndrs@0.4.0:    29 |     for (int64_t idx = 0; idx < total_elements; ++idx) {
[INFO] [stderr] warning: ndrs@0.4.0:       |                                 ^~~~~~~~~~~~~~
[INFO] [stderr] warning: ndrs@0.4.0: /opt/rustwide/workdir/kernel/src/cpu/ops.cpp: In instantiation of 'void cpu_strided_binary(const T*, const size_t*, const T*, const size_t*, T*, const size_t*, const size_t*, int, size_t, Op) [with T = float; Op = sub_op<float>; size_t = long unsigned int]':
[INFO] [stderr] warning: ndrs@0.4.0: /opt/rustwide/workdir/kernel/src/cpu/ops.cpp:56:1:   required from here
[INFO] [stderr] warning: ndrs@0.4.0: /opt/rustwide/workdir/kernel/src/cpu/ops.cpp:29:33: warning: comparison of integer expressions of different signedness: 'int64_t' {aka 'long int'} and 'size_t' {aka 'long unsigned int'} [-Wsign-compare]
[INFO] [stderr] warning: ndrs@0.4.0: /opt/rustwide/workdir/kernel/src/cpu/ops.cpp: In instantiation of 'void cpu_strided_binary(const T*, const size_t*, const T*, const size_t*, T*, const size_t*, const size_t*, int, size_t, Op) [with T = float; Op = mul_op<float>; size_t = long unsigned int]':
[INFO] [stderr] warning: ndrs@0.4.0: /opt/rustwide/workdir/kernel/src/cpu/ops.cpp:57:1:   required from here
[INFO] [stderr] warning: ndrs@0.4.0: /opt/rustwide/workdir/kernel/src/cpu/ops.cpp:29:33: warning: comparison of integer expressions of different signedness: 'int64_t' {aka 'long int'} and 'size_t' {aka 'long unsigned int'} [-Wsign-compare]
[INFO] [stderr] warning: ndrs@0.4.0: /opt/rustwide/workdir/kernel/src/cpu/ops.cpp: In instantiation of 'void cpu_strided_binary(const T*, const size_t*, const T*, const size_t*, T*, const size_t*, const size_t*, int, size_t, Op) [with T = float; Op = div_op<float>; size_t = long unsigned int]':
[INFO] [stderr] warning: ndrs@0.4.0: /opt/rustwide/workdir/kernel/src/cpu/ops.cpp:58:1:   required from here
[INFO] [stderr] warning: ndrs@0.4.0: /opt/rustwide/workdir/kernel/src/cpu/ops.cpp:29:33: warning: comparison of integer expressions of different signedness: 'int64_t' {aka 'long int'} and 'size_t' {aka 'long unsigned int'} [-Wsign-compare]
[INFO] [stderr] warning: ndrs@0.4.0: /opt/rustwide/workdir/kernel/src/cpu/ops.cpp: In instantiation of 'void cpu_strided_binary(const T*, const size_t*, const T*, const size_t*, T*, const size_t*, const size_t*, int, size_t, Op) [with T = int; Op = add_op<int>; size_t = long unsigned int]':
[INFO] [stderr] warning: ndrs@0.4.0: /opt/rustwide/workdir/kernel/src/cpu/ops.cpp:61:1:   required from here
[INFO] [stderr] warning: ndrs@0.4.0: /opt/rustwide/workdir/kernel/src/cpu/ops.cpp:29:33: warning: comparison of integer expressions of different signedness: 'int64_t' {aka 'long int'} and 'size_t' {aka 'long unsigned int'} [-Wsign-compare]
[INFO] [stderr] warning: ndrs@0.4.0: /opt/rustwide/workdir/kernel/src/cpu/ops.cpp: In instantiation of 'void cpu_strided_binary(const T*, const size_t*, const T*, const size_t*, T*, const size_t*, const size_t*, int, size_t, Op) [with T = int; Op = sub_op<int>; size_t = long unsigned int]':
[INFO] [stderr] warning: ndrs@0.4.0: /opt/rustwide/workdir/kernel/src/cpu/ops.cpp:62:1:   required from here
[INFO] [stderr] warning: ndrs@0.4.0: /opt/rustwide/workdir/kernel/src/cpu/ops.cpp:29:33: warning: comparison of integer expressions of different signedness: 'int64_t' {aka 'long int'} and 'size_t' {aka 'long unsigned int'} [-Wsign-compare]
[INFO] [stderr] warning: ndrs@0.4.0: /opt/rustwide/workdir/kernel/src/cpu/ops.cpp: In instantiation of 'void cpu_strided_binary(const T*, const size_t*, const T*, const size_t*, T*, const size_t*, const size_t*, int, size_t, Op) [with T = int; Op = mul_op<int>; size_t = long unsigned int]':
[INFO] [stderr] warning: ndrs@0.4.0: /opt/rustwide/workdir/kernel/src/cpu/ops.cpp:63:1:   required from here
[INFO] [stderr] warning: ndrs@0.4.0: /opt/rustwide/workdir/kernel/src/cpu/ops.cpp:29:33: warning: comparison of integer expressions of different signedness: 'int64_t' {aka 'long int'} and 'size_t' {aka 'long unsigned int'} [-Wsign-compare]
[INFO] [stderr] warning: ndrs@0.4.0: /opt/rustwide/workdir/kernel/src/cpu/ops.cpp: In instantiation of 'void cpu_strided_binary(const T*, const size_t*, const T*, const size_t*, T*, const size_t*, const size_t*, int, size_t, Op) [with T = int; Op = div_op<int>; size_t = long unsigned int]':
[INFO] [stderr] warning: ndrs@0.4.0: /opt/rustwide/workdir/kernel/src/cpu/ops.cpp:64:1:   required from here
[INFO] [stderr] warning: ndrs@0.4.0: /opt/rustwide/workdir/kernel/src/cpu/ops.cpp:29:33: warning: comparison of integer expressions of different signedness: 'int64_t' {aka 'long int'} and 'size_t' {aka 'long unsigned int'} [-Wsign-compare]
[INFO] [stdout] warning: unused import: `cudarc::driver::DevicePtr`
[INFO] [stdout]  --> src/tensor/construction.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use cudarc::driver::DevicePtr;
[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: `get_dtype_info`
[INFO] [stdout]  --> src/tensor/conversion.rs:2:34
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::dtype::{DTypeMapping, get_dtype_info};
[INFO] [stdout]   |                                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> src/tensor/conversion.rs:8:22
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::Tensor`
[INFO] [stdout]  --> src/tensor/handle_ops.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::Tensor;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RcTensor`
[INFO] [stdout]   --> src/tensor/io.rs:13:21
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::tensor::{RcTensor, Tensor};
[INFO] [stdout]    |                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `access::*`
[INFO] [stdout]   --> src/tensor/mod.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub use access::*;
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `construction::*`
[INFO] [stdout]   --> src/tensor/mod.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub use construction::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `conversion::*`
[INFO] [stdout]   --> src/tensor/mod.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub use conversion::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: glob import doesn't reexport anything with visibility `pub` because no imported item is public enough
[INFO] [stdout]   --> src/tensor/mod.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub use data::*;
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the most public imported item is `pub(crate)`
[INFO] [stdout]   --> src/tensor/mod.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub use data::*;
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    = help: reduce the glob import's visibility or increase visibility of imported items
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SliceInfo`
[INFO] [stdout]  --> src/view/views.rs:2:30
[INFO] [stdout]   |
[INFO] [stdout] 2 | use super::slice::{SliceArg, SliceInfo};
[INFO] [stdout]   |                              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::cuda::Stream`
[INFO] [stdout]  --> src/view/views.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::cuda::Stream;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parking_lot::ReentrantMutexGuard`
[INFO] [stdout]   --> src/view/views.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use parking_lot::ReentrantMutexGuard;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RefMut` and `Ref`
[INFO] [stdout]   --> src/view/views.rs:13:17
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::cell::{Ref, RefMut};
[INFO] [stdout]    |                 ^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DerefMut` and `Deref`
[INFO] [stdout]   --> src/view/views.rs:14:16
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::ops::{Deref, DerefMut};
[INFO] [stdout]    |                ^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]   --> src/view/views.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::rc::Rc;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `Mutex`
[INFO] [stdout]   --> src/view/views.rs:16:17
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::sync::{Arc, Mutex};
[INFO] [stdout]    |                 ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::dtype::get_dtype_info`
[INFO] [stdout]  --> src/view_ops/device_transfer.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::dtype::get_dtype_info;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tensor::DataPtr`
[INFO] [stdout]  --> src/view_ops/device_transfer.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::tensor::DataPtr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::view::TensorViewOps`
[INFO] [stdout]  --> src/view_ops/device_transfer.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::view::TensorViewOps;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dev`
[INFO] [stdout]    --> src/dtype.rs:224:68
[INFO] [stdout]     |
[INFO] [stdout] 224 |         |a, a_strides, b, b_strides, c, c_strides, shape, ndim, n, dev, stream| {
[INFO] [stdout]     |                                                                    ^^^ help: if this is intentional, prefix it with an underscore: `_dev`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dev`
[INFO] [stdout]    --> src/dtype.rs:200:68
[INFO] [stdout]     |
[INFO] [stdout] 200 |         |a, a_strides, b, b_strides, c, c_strides, shape, ndim, n, dev, _| {
[INFO] [stdout]     |                                                                    ^^^ help: if this is intentional, prefix it with an underscore: `_dev`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dev`
[INFO] [stdout]    --> src/dtype.rs:167:68
[INFO] [stdout]     |
[INFO] [stdout] 167 |         |a, a_strides, b, b_strides, c, c_strides, shape, ndim, n, dev, stream| {
[INFO] [stdout]     |                                                                    ^^^ help: if this is intentional, prefix it with an underscore: `_dev`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dev`
[INFO] [stdout]    --> src/dtype.rs:142:68
[INFO] [stdout]     |
[INFO] [stdout] 142 |         |a, a_strides, b, b_strides, c, c_strides, shape, ndim, n, dev, _| {
[INFO] [stdout]     |                                                                    ^^^ help: if this is intentional, prefix it with an underscore: `_dev`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/macros.rs:158:9
[INFO] [stdout]     |
[INFO] [stdout] 158 |     use super::*;
[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: `cudarc::driver::DevicePtr`
[INFO] [stdout]  --> src/tensor/construction.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use cudarc::driver::DevicePtr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `get_dtype_info`
[INFO] [stdout]  --> src/tensor/conversion.rs:2:34
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::dtype::{DTypeMapping, get_dtype_info};
[INFO] [stdout]   |                                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> src/tensor/conversion.rs:8:22
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::Tensor`
[INFO] [stdout]  --> src/tensor/handle_ops.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::Tensor;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RcTensor`
[INFO] [stdout]   --> src/tensor/io.rs:13:21
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::tensor::{RcTensor, Tensor};
[INFO] [stdout]    |                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `access::*`
[INFO] [stdout]   --> src/tensor/mod.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub use access::*;
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `construction::*`
[INFO] [stdout]   --> src/tensor/mod.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub use construction::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `conversion::*`
[INFO] [stdout]   --> src/tensor/mod.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub use conversion::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: glob import doesn't reexport anything with visibility `pub` because no imported item is public enough
[INFO] [stdout]   --> src/tensor/mod.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub use data::*;
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the most public imported item is `pub(crate)`
[INFO] [stdout]   --> src/tensor/mod.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub use data::*;
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    = help: reduce the glob import's visibility or increase visibility of imported items
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SliceInfo`
[INFO] [stdout]  --> src/view/views.rs:2:30
[INFO] [stdout]   |
[INFO] [stdout] 2 | use super::slice::{SliceArg, SliceInfo};
[INFO] [stdout]   |                              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::cuda::Stream`
[INFO] [stdout]  --> src/view/views.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::cuda::Stream;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parking_lot::ReentrantMutexGuard`
[INFO] [stdout]   --> src/view/views.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use parking_lot::ReentrantMutexGuard;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RefMut` and `Ref`
[INFO] [stdout]   --> src/view/views.rs:13:17
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::cell::{Ref, RefMut};
[INFO] [stdout]    |                 ^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DerefMut` and `Deref`
[INFO] [stdout]   --> src/view/views.rs:14:16
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::ops::{Deref, DerefMut};
[INFO] [stdout]    |                ^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]   --> src/view/views.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::rc::Rc;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `Mutex`
[INFO] [stdout]   --> src/view/views.rs:16:17
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::sync::{Arc, Mutex};
[INFO] [stdout]    |                 ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `is_available as cuda_available` and `set_device as set_current_device`
[INFO] [stdout]    --> src/view/views.rs:225:58
[INFO] [stdout]     |
[INFO] [stdout] 225 |         self, get_device_count as get_cuda_device_count, is_available as cuda_available,
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 226 |         set_device as set_current_device,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::cuda::is_available`
[INFO] [stdout]    --> src/view_ops/binary.rs:134:9
[INFO] [stdout]     |
[INFO] [stdout] 134 |     use crate::cuda::is_available;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/view_ops/copy.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout] 100 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::DTYPE_FLOAT32`
[INFO] [stdout]    --> src/view_ops/copy.rs:101:9
[INFO] [stdout]     |
[INFO] [stdout] 101 |     use crate::DTYPE_FLOAT32;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::cuda`
[INFO] [stdout]    --> src/view_ops/copy.rs:102:9
[INFO] [stdout]     |
[INFO] [stdout] 102 |     use crate::cuda;
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `get_device_count as get_cuda_device_count`, `is_available as cuda_available`, and `set_device as set_current_device`
[INFO] [stdout]    --> src/view_ops/copy.rs:104:9
[INFO] [stdout]     |
[INFO] [stdout] 104 |         get_device_count as get_cuda_device_count, is_available as cuda_available,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 105 |         set_device as set_current_device,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::s`
[INFO] [stdout]    --> src/view_ops/copy.rs:107:9
[INFO] [stdout]     |
[INFO] [stdout] 107 |     use crate::s;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rc_view_to_vec_f32`
[INFO] [stdout]    --> src/view_ops/copy.rs:110:44
[INFO] [stdout]     |
[INFO] [stdout] 110 |     use crate::view::{arc_view_to_vec_f32, rc_view_to_vec_f32};
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::dtype::get_dtype_info`
[INFO] [stdout]  --> src/view_ops/device_transfer.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::dtype::get_dtype_info;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tensor::DataPtr`
[INFO] [stdout]  --> src/view_ops/device_transfer.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::tensor::DataPtr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::DTYPE_FLOAT32`
[INFO] [stdout]   --> src/view_ops/device_transfer.rs:91:9
[INFO] [stdout]    |
[INFO] [stdout] 91 |     use crate::DTYPE_FLOAT32;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `get_device_count as get_cuda_device_count`, `is_available as cuda_available`, and `set_device as set_current_device`
[INFO] [stdout]   --> src/view_ops/device_transfer.rs:94:15
[INFO] [stdout]    |
[INFO] [stdout] 94 |         self, get_device_count as get_cuda_device_count, is_available as cuda_available,
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 95 |         set_device as set_current_device,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::s`
[INFO] [stdout]   --> src/view_ops/device_transfer.rs:97:9
[INFO] [stdout]    |
[INFO] [stdout] 97 |     use crate::s;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/view/trait_def.rs:14:13
[INFO] [stdout]    |
[INFO] [stdout] 14 |         let mut axes: Vec<usize> = (0..self.shape().len()).rev().collect();
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `complete` is never used
[INFO] [stdout]   --> src/backend/cpu/event.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl CpuEventInner {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 28 |     fn complete(&self) {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `into_rc_raw` and `into_arc_raw` are never used
[INFO] [stdout]   --> src/tensor/conversion.rs:56:19
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Tensor {
[INFO] [stdout]    | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub(crate) fn into_rc_raw(self) -> Rc<RefCell<Self>> {
[INFO] [stdout]    |                   ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub(crate) fn into_arc_raw(self) -> Arc<ReentrantMutex<RefCell<Tensor>>> {
[INFO] [stdout]    |                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_gpu` is never used
[INFO] [stdout]   --> src/tensor/data.rs:31:19
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl DataPtr {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub(crate) fn is_gpu(&self) -> bool {
[INFO] [stdout]    |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lock_rc` is never used
[INFO] [stdout]   --> src/view/views.rs:19:4
[INFO] [stdout]    |
[INFO] [stdout] 19 | fn lock_rc(handle: &RcTensor) -> &RefCell<Tensor> {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lock_arc` is never used
[INFO] [stdout]   --> src/view/views.rs:24:4
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn lock_arc(handle: &ArcTensor) -> parking_lot::ReentrantMutexGuard<RefCell<Tensor>> {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `into_rc` is never used
[INFO] [stdout]   --> src/view/views.rs:28:4
[INFO] [stdout]    |
[INFO] [stdout] 28 | fn into_rc(t: Tensor) -> RcTensor {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `into_arc` is never used
[INFO] [stdout]   --> src/view/views.rs:31:4
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn into_arc(t: Tensor) -> ArcTensor {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/tensor/handle.rs:43:17
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub fn lock(&self) -> parking_lot::ReentrantMutexGuard<RefCell<Tensor>> {
[INFO] [stdout]    |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub fn lock(&self) -> parking_lot::ReentrantMutexGuard<'_, RefCell<Tensor>> {
[INFO] [stdout]    |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `T` should have a snake case name
[INFO] [stdout]   --> src/tensor/handle_ops.rs:31:20
[INFO] [stdout]    |
[INFO] [stdout] 31 |               pub fn T(&self) -> Result<$view, String> {
[INFO] [stdout]    |                      ^ help: convert the identifier to snake case: `t`
[INFO] [stdout] ...
[INFO] [stdout] 66 | / impl_tensor_wrapper!(
[INFO] [stdout] 67 | |     RcTensor,
[INFO] [stdout] 68 | |     RcTensorView,
[INFO] [stdout] 69 | |     Tensor::into_rc_raw // 原始转换（用于需要原始句柄的场合，但当前未使用）
[INFO] [stdout] 70 | | );
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout]    = note: this warning originates in the macro `impl_tensor_wrapper` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `T` should have a snake case name
[INFO] [stdout]   --> src/tensor/handle_ops.rs:31:20
[INFO] [stdout]    |
[INFO] [stdout] 31 |             pub fn T(&self) -> Result<$view, String> {
[INFO] [stdout]    |                    ^ help: convert the identifier to snake case: `t`
[INFO] [stdout] ...
[INFO] [stdout] 73 | impl_tensor_wrapper!(ArcTensor, ArcTensorView, Tensor::into_arc_raw);
[INFO] [stdout]    | -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_tensor_wrapper` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait method `T` should have a snake case name
[INFO] [stdout]   --> src/view/trait_def.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn T(&self) -> Result<Self, String> {
[INFO] [stdout]    |        ^ help: convert the identifier to snake case: `t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/view/views.rs:24:21
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn lock_arc(handle: &ArcTensor) -> parking_lot::ReentrantMutexGuard<RefCell<Tensor>> {
[INFO] [stdout]    |                     ^^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn lock_arc(handle: &ArcTensor) -> parking_lot::ReentrantMutexGuard<'_, RefCell<Tensor>> {
[INFO] [stdout]    |                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dev`
[INFO] [stdout]    --> src/dtype.rs:224:68
[INFO] [stdout]     |
[INFO] [stdout] 224 |         |a, a_strides, b, b_strides, c, c_strides, shape, ndim, n, dev, stream| {
[INFO] [stdout]     |                                                                    ^^^ help: if this is intentional, prefix it with an underscore: `_dev`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dev`
[INFO] [stdout]    --> src/dtype.rs:200:68
[INFO] [stdout]     |
[INFO] [stdout] 200 |         |a, a_strides, b, b_strides, c, c_strides, shape, ndim, n, dev, _| {
[INFO] [stdout]     |                                                                    ^^^ help: if this is intentional, prefix it with an underscore: `_dev`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dev`
[INFO] [stdout]    --> src/dtype.rs:167:68
[INFO] [stdout]     |
[INFO] [stdout] 167 |         |a, a_strides, b, b_strides, c, c_strides, shape, ndim, n, dev, stream| {
[INFO] [stdout]     |                                                                    ^^^ help: if this is intentional, prefix it with an underscore: `_dev`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dev`
[INFO] [stdout]    --> src/dtype.rs:142:68
[INFO] [stdout]     |
[INFO] [stdout] 142 |         |a, a_strides, b, b_strides, c, c_strides, shape, ndim, n, dev, _| {
[INFO] [stdout]     |                                                                    ^^^ help: if this is intentional, prefix it with an underscore: `_dev`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/view/views.rs:191:1
[INFO] [stdout]     |
[INFO] [stdout] 191 | impl_tensor_view!(RcTensorView, RcTensor);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 191 | let _ = impl_tensor_view!(RcTensorView, RcTensor);
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/view/views.rs:192:1
[INFO] [stdout]     |
[INFO] [stdout] 192 | impl_tensor_view!(ArcTensorView, ArcTensor);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 192 | let _ = impl_tensor_view!(ArcTensorView, ArcTensor);
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/view/trait_def.rs:14:13
[INFO] [stdout]    |
[INFO] [stdout] 14 |         let mut axes: Vec<usize> = (0..self.shape().len()).rev().collect();
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/view/views.rs:296:13
[INFO] [stdout]     |
[INFO] [stdout] 296 |         let mut a_view = a.into_arc().as_view();
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/view_ops/binary.rs:315:13
[INFO] [stdout]     |
[INFO] [stdout] 315 |         let mut a2 = Tensor::new_cpu_from_f32(vec![1.0, 2.0, 3.0, 4.0], vec![2, 2]);
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/view_ops/binary.rs:331:13
[INFO] [stdout]     |
[INFO] [stdout] 331 |         let mut a4 = Tensor::new_cpu_from_f32(vec![1.0, 2.0, 3.0, 4.0], vec![2, 2]);
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/view_ops/binary.rs:350:13
[INFO] [stdout]     |
[INFO] [stdout] 350 |         let mut a6 = Tensor::new_cpu_from_f32(vec![1.0, 2.0, 3.0, 4.0], vec![2, 2]);
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/view_ops/binary.rs:352:13
[INFO] [stdout]     |
[INFO] [stdout] 352 |         let mut a6_view = a6.into_rc().as_view();
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/view_ops/shape.rs:280:13
[INFO] [stdout]     |
[INFO] [stdout] 280 |         let mut a_view = a.into_rc().as_view();
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/view_ops/shape.rs:291:13
[INFO] [stdout]     |
[INFO] [stdout] 291 |         let mut a_view = a.into_rc().as_view();
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/view_ops/shape.rs:311:13
[INFO] [stdout]     |
[INFO] [stdout] 311 |         let mut a_view = a.into_arc().as_view();
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `complete` is never used
[INFO] [stdout]   --> src/backend/cpu/event.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl CpuEventInner {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 28 |     fn complete(&self) {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `into_rc_raw` and `into_arc_raw` are never used
[INFO] [stdout]   --> src/tensor/conversion.rs:56:19
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Tensor {
[INFO] [stdout]    | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub(crate) fn into_rc_raw(self) -> Rc<RefCell<Self>> {
[INFO] [stdout]    |                   ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub(crate) fn into_arc_raw(self) -> Arc<ReentrantMutex<RefCell<Tensor>>> {
[INFO] [stdout]    |                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_gpu` is never used
[INFO] [stdout]   --> src/tensor/data.rs:31:19
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl DataPtr {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub(crate) fn is_gpu(&self) -> bool {
[INFO] [stdout]    |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lock_rc` is never used
[INFO] [stdout]   --> src/view/views.rs:19:4
[INFO] [stdout]    |
[INFO] [stdout] 19 | fn lock_rc(handle: &RcTensor) -> &RefCell<Tensor> {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lock_arc` is never used
[INFO] [stdout]   --> src/view/views.rs:24:4
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn lock_arc(handle: &ArcTensor) -> parking_lot::ReentrantMutexGuard<RefCell<Tensor>> {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `into_rc` is never used
[INFO] [stdout]   --> src/view/views.rs:28:4
[INFO] [stdout]    |
[INFO] [stdout] 28 | fn into_rc(t: Tensor) -> RcTensor {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `into_arc` is never used
[INFO] [stdout]   --> src/view/views.rs:31:4
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn into_arc(t: Tensor) -> ArcTensor {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/tensor/handle.rs:43:17
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub fn lock(&self) -> parking_lot::ReentrantMutexGuard<RefCell<Tensor>> {
[INFO] [stdout]    |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub fn lock(&self) -> parking_lot::ReentrantMutexGuard<'_, RefCell<Tensor>> {
[INFO] [stdout]    |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `T` should have a snake case name
[INFO] [stdout]   --> src/tensor/handle_ops.rs:31:20
[INFO] [stdout]    |
[INFO] [stdout] 31 |               pub fn T(&self) -> Result<$view, String> {
[INFO] [stdout]    |                      ^ help: convert the identifier to snake case: `t`
[INFO] [stdout] ...
[INFO] [stdout] 66 | / impl_tensor_wrapper!(
[INFO] [stdout] 67 | |     RcTensor,
[INFO] [stdout] 68 | |     RcTensorView,
[INFO] [stdout] 69 | |     Tensor::into_rc_raw // 原始转换（用于需要原始句柄的场合，但当前未使用）
[INFO] [stdout] 70 | | );
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout]    = note: this warning originates in the macro `impl_tensor_wrapper` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `T` should have a snake case name
[INFO] [stdout]   --> src/tensor/handle_ops.rs:31:20
[INFO] [stdout]    |
[INFO] [stdout] 31 |             pub fn T(&self) -> Result<$view, String> {
[INFO] [stdout]    |                    ^ help: convert the identifier to snake case: `t`
[INFO] [stdout] ...
[INFO] [stdout] 73 | impl_tensor_wrapper!(ArcTensor, ArcTensorView, Tensor::into_arc_raw);
[INFO] [stdout]    | -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_tensor_wrapper` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait method `T` should have a snake case name
[INFO] [stdout]   --> src/view/trait_def.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn T(&self) -> Result<Self, String> {
[INFO] [stdout]    |        ^ help: convert the identifier to snake case: `t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/view/views.rs:24:21
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn lock_arc(handle: &ArcTensor) -> parking_lot::ReentrantMutexGuard<RefCell<Tensor>> {
[INFO] [stdout]    |                     ^^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn lock_arc(handle: &ArcTensor) -> parking_lot::ReentrantMutexGuard<'_, RefCell<Tensor>> {
[INFO] [stdout]    |                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/view/views.rs:191:1
[INFO] [stdout]     |
[INFO] [stdout] 191 | impl_tensor_view!(RcTensorView, RcTensor);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 191 | let _ = impl_tensor_view!(RcTensorView, RcTensor);
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/view/views.rs:192:1
[INFO] [stdout]     |
[INFO] [stdout] 192 | impl_tensor_view!(ArcTensorView, ArcTensor);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 192 | let _ = impl_tensor_view!(ArcTensorView, ArcTensor);
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/view/views.rs:355:9
[INFO] [stdout]     |
[INFO] [stdout] 355 |         cuda::set_device(1);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 355 |         let _ = cuda::set_device(1);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/view_ops/binary.rs:204:9
[INFO] [stdout]     |
[INFO] [stdout] 204 |         cuda::set_device(0);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 204 |         let _ = cuda::set_device(0);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/view_ops/binary.rs:258:9
[INFO] [stdout]     |
[INFO] [stdout] 258 |         cuda::set_device(0);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 258 |         let _ = cuda::set_device(0);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/view_ops/binary.rs:283:9
[INFO] [stdout]     |
[INFO] [stdout] 283 |         cuda::set_device(0);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 283 |         let _ = cuda::set_device(0);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_T` should have a snake case name
[INFO] [stdout]    --> src/view_ops/shape.rs:350:8
[INFO] [stdout]     |
[INFO] [stdout] 350 |     fn test_T() {
[INFO] [stdout]     |        ^^^^^^ help: convert the identifier to snake case: `test_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 33.72s
[INFO] running `Command { std: "docker" "inspect" "ffcdc793492e4386ec434976fd030cb23e2b5536a4cc6c359f89f90f8e578693", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ffcdc793492e4386ec434976fd030cb23e2b5536a4cc6c359f89f90f8e578693", kill_on_drop: false }`
[INFO] [stdout] ffcdc793492e4386ec434976fd030cb23e2b5536a4cc6c359f89f90f8e578693
