[INFO] fetching crate constensor-core 0.1.1...
[INFO] checking constensor-core-0.1.1 against 52995a223f2919dd3e2e427231db90a257350ded for pr-129249-4
[INFO] extracting crate constensor-core 0.1.1 into /workspace/builds/worker-4-tc2/source
[INFO] started tweaking crates.io crate constensor-core 0.1.1
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate constensor-core 0.1.1
[INFO] tweaked toml for crates.io crate constensor-core 0.1.1 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate constensor-core 0.1.1 on toolchain 52995a223f2919dd3e2e427231db90a257350ded
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+52995a223f2919dd3e2e427231db90a257350ded" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate constensor-core 0.1.1 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" "+52995a223f2919dd3e2e427231db90a257350ded" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:c0af3998e971868164375a7dfb646c9933ddd1a3bdb00fa2041266763dc1eeab" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] b40bc6e5bcb59c00a1350d209b18e282e5ef70ddc05511ca5fae8bd8c86b1b7f
[INFO] running `Command { std: "docker" "start" "b40bc6e5bcb59c00a1350d209b18e282e5ef70ddc05511ca5fae8bd8c86b1b7f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b40bc6e5bcb59c00a1350d209b18e282e5ef70ddc05511ca5fae8bd8c86b1b7f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b40bc6e5bcb59c00a1350d209b18e282e5ef70ddc05511ca5fae8bd8c86b1b7f" "/opt/rustwide/cargo-home/bin/cargo" "+52995a223f2919dd3e2e427231db90a257350ded" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b40bc6e5bcb59c00a1350d209b18e282e5ef70ddc05511ca5fae8bd8c86b1b7f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b40bc6e5bcb59c00a1350d209b18e282e5ef70ddc05511ca5fae8bd8c86b1b7f" "/opt/rustwide/cargo-home/bin/cargo" "+52995a223f2919dd3e2e427231db90a257350ded" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.85
[INFO] [stderr]    Compiling libm v0.2.13
[INFO] [stderr]    Compiling libc v0.2.155
[INFO] [stderr]     Checking either v1.12.0
[INFO] [stderr]     Checking bitflags v2.5.0
[INFO] [stderr]     Checking reborrow v0.5.5
[INFO] [stderr]    Compiling seq-macro v0.3.6
[INFO] [stderr]     Checking once_cell v1.21.3
[INFO] [stderr]    Compiling getrandom v0.3.2
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling pulp v0.21.4
[INFO] [stderr]    Compiling zerocopy v0.8.24
[INFO] [stderr]     Checking hashbrown v0.15.2
[INFO] [stderr]    Compiling thiserror v1.0.61
[INFO] [stderr]     Checking fixedbitset v0.5.7
[INFO] [stderr]     Checking raw-cpuid v11.5.0
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]     Checking indexmap v2.9.0
[INFO] [stderr]     Checking dirs-sys v0.4.1
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]     Checking dirs v5.0.1
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stderr]    Compiling quote v1.0.36
[INFO] [stderr]    Compiling syn v2.0.66
[INFO] [stderr]     Checking petgraph v0.8.1
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking rand v0.9.1
[INFO] [stderr]    Compiling bytemuck_derive v1.9.3
[INFO] [stderr]    Compiling thiserror-impl v1.0.61
[INFO] [stderr]     Checking rand_distr v0.5.1
[INFO] [stderr]     Checking bytemuck v1.22.0
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]     Checking dyn-stack v0.13.0
[INFO] [stderr]     Checking half v2.4.1
[INFO] [stderr]     Checking gemm-common v0.18.2
[INFO] [stderr]     Checking gemm-f32 v0.18.2
[INFO] [stderr]     Checking gemm-c32 v0.18.2
[INFO] [stderr]     Checking gemm-f64 v0.18.2
[INFO] [stderr]     Checking gemm-c64 v0.18.2
[INFO] [stderr]     Checking gemm-f16 v0.18.2
[INFO] [stderr]     Checking gemm v0.18.2
[INFO] [stderr]     Checking constensor-core v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] error: useless conversion to the same type: `String`
[INFO] [stdout]    --> src/error.rs:76:39
[INFO] [stdout]     |
[INFO] [stdout]  68 |   macro_rules! bail {
[INFO] [stdout] ...
[INFO] [stdout]  76 |           return Err($crate::Error::Msg(format!($fmt, $($arg)*).into()).bt())
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/graph.rs:647:13
[INFO] [stdout]     |
[INFO] [stdout] 647 | /             crate::bail!(
[INFO] [stdout] 648 | |                 "Graph compiled shape is {:?} does not match the last node shape {:?}!",
[INFO] [stdout] 649 | |                 &last.shape,
[INFO] [stdout] 650 | |                 S::shape()
[INFO] [stdout] 651 | |             );
[INFO] [stdout]     | |_____________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<String as Into<String>::into(val) to avoid triggering this lint
[INFO] [stdout]     = note: `#[deny(self_type_conversion)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/cpu_storage/mod.rs:30:23
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn to_cpu_storage(&self) -> Result<Cow<CpuStorage<T>>> {
[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] 30 |     fn to_cpu_storage(&self) -> Result<Cow<'_, CpuStorage<T>>> {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/graph.rs:44:20
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub fn get_ops(&self) -> RwLockReadGuard<Vec<GraphNode<T>>> {
[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] 44 |     pub fn get_ops(&self) -> RwLockReadGuard<'_, Vec<GraphNode<T>>> {
[INFO] [stdout]    |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/storage.rs:14:34
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub(crate) fn to_cpu_storage(&self) -> Result<Cow<CpuStorage<T>>> {
[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] 14 |     pub(crate) fn to_cpu_storage(&self) -> Result<Cow<'_, CpuStorage<T>>> {
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/storage.rs:32:23
[INFO] [stdout]    |
[INFO] [stdout] 32 |     fn to_cpu_storage(&self) -> Result<Cow<CpuStorage<T>>>;
[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] 32 |     fn to_cpu_storage(&self) -> Result<Cow<'_, CpuStorage<T>>>;
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `constensor-core` (lib test) due to 1 previous error; 8 warnings emitted
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/tensor/concretetensor.rs:63:25
[INFO] [stdout]     |
[INFO] [stdout]  59 | macro_rules! tensor_api {
[INFO] [stdout] ...
[INFO] [stdout]  63 |             pub fn data(&self) -> Result<Cow<Vec<T>>> {
[INFO] [stdout]     |                         ^^^^^            ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 110 | tensor_api!(Cpu);
[INFO] [stdout]     | ---------------- in this macro invocation
[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]  63 |             pub fn data(&self) -> Result<Cow<'_, Vec<T>>> {
[INFO] [stdout]     |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/tensor/concretetensor.rs:71:25
[INFO] [stdout]     |
[INFO] [stdout]  59 | macro_rules! tensor_api {
[INFO] [stdout] ...
[INFO] [stdout]  71 |             pub fn data(&self) -> Result<Cow<Vec<Vec<T>>>> {
[INFO] [stdout]     |                         ^^^^^            ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 110 | tensor_api!(Cpu);
[INFO] [stdout]     | ---------------- in this macro invocation
[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]  71 |             pub fn data(&self) -> Result<Cow<'_, Vec<Vec<T>>>> {
[INFO] [stdout]     |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/tensor/concretetensor.rs:89:25
[INFO] [stdout]     |
[INFO] [stdout]  59 | macro_rules! tensor_api {
[INFO] [stdout] ...
[INFO] [stdout]  89 |             pub fn data(&self) -> Result<Cow<Vec<Vec<Vec<T>>>>> {
[INFO] [stdout]     |                         ^^^^^            ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 110 | tensor_api!(Cpu);
[INFO] [stdout]     | ---------------- in this macro invocation
[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]  89 |             pub fn data(&self) -> Result<Cow<'_, Vec<Vec<Vec<T>>>>> {
[INFO] [stdout]     |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/tensor/graphtensor.rs:165:18
[INFO] [stdout]     |
[INFO] [stdout] 165 |     pub fn graph(&self) -> RwLockReadGuard<Graph<T>> {
[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] 165 |     pub fn graph(&self) -> RwLockReadGuard<'_, Graph<T>> {
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `String`
[INFO] [stdout]    --> src/error.rs:76:39
[INFO] [stdout]     |
[INFO] [stdout]  68 |   macro_rules! bail {
[INFO] [stdout] ...
[INFO] [stdout]  76 |           return Err($crate::Error::Msg(format!($fmt, $($arg)*).into()).bt())
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/graph.rs:647:13
[INFO] [stdout]     |
[INFO] [stdout] 647 | /             crate::bail!(
[INFO] [stdout] 648 | |                 "Graph compiled shape is {:?} does not match the last node shape {:?}!",
[INFO] [stdout] 649 | |                 &last.shape,
[INFO] [stdout] 650 | |                 S::shape()
[INFO] [stdout] 651 | |             );
[INFO] [stdout]     | |_____________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<String as Into<String>::into(val) to avoid triggering this lint
[INFO] [stdout]     = note: `#[deny(self_type_conversion)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/cpu_storage/mod.rs:30:23
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn to_cpu_storage(&self) -> Result<Cow<CpuStorage<T>>> {
[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] 30 |     fn to_cpu_storage(&self) -> Result<Cow<'_, CpuStorage<T>>> {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/graph.rs:44:20
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub fn get_ops(&self) -> RwLockReadGuard<Vec<GraphNode<T>>> {
[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] 44 |     pub fn get_ops(&self) -> RwLockReadGuard<'_, Vec<GraphNode<T>>> {
[INFO] [stdout]    |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/storage.rs:14:34
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub(crate) fn to_cpu_storage(&self) -> Result<Cow<CpuStorage<T>>> {
[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] 14 |     pub(crate) fn to_cpu_storage(&self) -> Result<Cow<'_, CpuStorage<T>>> {
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/storage.rs:32:23
[INFO] [stdout]    |
[INFO] [stdout] 32 |     fn to_cpu_storage(&self) -> Result<Cow<CpuStorage<T>>>;
[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] 32 |     fn to_cpu_storage(&self) -> Result<Cow<'_, CpuStorage<T>>>;
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/tensor/concretetensor.rs:63:25
[INFO] [stdout]     |
[INFO] [stdout]  59 | macro_rules! tensor_api {
[INFO] [stdout] ...
[INFO] [stdout]  63 |             pub fn data(&self) -> Result<Cow<Vec<T>>> {
[INFO] [stdout]     |                         ^^^^^            ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 110 | tensor_api!(Cpu);
[INFO] [stdout]     | ---------------- in this macro invocation
[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]  63 |             pub fn data(&self) -> Result<Cow<'_, Vec<T>>> {
[INFO] [stdout]     |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/tensor/concretetensor.rs:71:25
[INFO] [stdout]     |
[INFO] [stdout]  59 | macro_rules! tensor_api {
[INFO] [stdout] ...
[INFO] [stdout]  71 |             pub fn data(&self) -> Result<Cow<Vec<Vec<T>>>> {
[INFO] [stdout]     |                         ^^^^^            ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 110 | tensor_api!(Cpu);
[INFO] [stdout]     | ---------------- in this macro invocation
[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]  71 |             pub fn data(&self) -> Result<Cow<'_, Vec<Vec<T>>>> {
[INFO] [stdout]     |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/tensor/concretetensor.rs:89:25
[INFO] [stdout]     |
[INFO] [stdout]  59 | macro_rules! tensor_api {
[INFO] [stdout] ...
[INFO] [stdout]  89 |             pub fn data(&self) -> Result<Cow<Vec<Vec<Vec<T>>>>> {
[INFO] [stdout]     |                         ^^^^^            ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 110 | tensor_api!(Cpu);
[INFO] [stdout]     | ---------------- in this macro invocation
[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]  89 |             pub fn data(&self) -> Result<Cow<'_, Vec<Vec<Vec<T>>>>> {
[INFO] [stdout]     |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/tensor/graphtensor.rs:165:18
[INFO] [stdout]     |
[INFO] [stdout] 165 |     pub fn graph(&self) -> RwLockReadGuard<Graph<T>> {
[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] 165 |     pub fn graph(&self) -> RwLockReadGuard<'_, Graph<T>> {
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `constensor-core` (lib) due to 1 previous error; 8 warnings emitted
[INFO] [stderr] warning: unused dependency `dirs`
[INFO] [stderr]  --> Cargo.toml:7:15
[INFO] [stderr]   |
[INFO] [stderr] 7 | [dependencies.dirs]
[INFO] [stderr]   |               ^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `dirs`
[INFO] [stderr] warning: `constensor-core` (manifest) generated 1 warning
[INFO] running `Command { std: "docker" "inspect" "b40bc6e5bcb59c00a1350d209b18e282e5ef70ddc05511ca5fae8bd8c86b1b7f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b40bc6e5bcb59c00a1350d209b18e282e5ef70ddc05511ca5fae8bd8c86b1b7f", kill_on_drop: false }`
[INFO] [stdout] b40bc6e5bcb59c00a1350d209b18e282e5ef70ddc05511ca5fae8bd8c86b1b7f
