[INFO] fetching crate candle-core-fathomdb 0.11.0...
[INFO] checking candle-core-fathomdb-0.11.0 against 52995a223f2919dd3e2e427231db90a257350ded for pr-129249-4
[INFO] extracting crate candle-core-fathomdb 0.11.0 into /workspace/builds/worker-0-tc2/source
[INFO] started tweaking crates.io crate candle-core-fathomdb 0.11.0
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate candle-core-fathomdb 0.11.0
[INFO] tweaked toml for crates.io crate candle-core-fathomdb 0.11.0 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate candle-core-fathomdb 0.11.0 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 candle-core-fathomdb 0.11.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" "+52995a223f2919dd3e2e427231db90a257350ded" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] d093a36a24776e8f6fb79a57e3fc1b82c03c899dcf3652ccfe652888fdaf6338
[INFO] running `Command { std: "docker" "start" "d093a36a24776e8f6fb79a57e3fc1b82c03c899dcf3652ccfe652888fdaf6338", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d093a36a24776e8f6fb79a57e3fc1b82c03c899dcf3652ccfe652888fdaf6338", 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" "d093a36a24776e8f6fb79a57e3fc1b82c03c899dcf3652ccfe652888fdaf6338" "/opt/rustwide/cargo-home/bin/cargo" "+52995a223f2919dd3e2e427231db90a257350ded" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d093a36a24776e8f6fb79a57e3fc1b82c03c899dcf3652ccfe652888fdaf6338", 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" "d093a36a24776e8f6fb79a57e3fc1b82c03c899dcf3652ccfe652888fdaf6338" "/opt/rustwide/cargo-home/bin/cargo" "+52995a223f2919dd3e2e427231db90a257350ded" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling zerocopy v0.8.62
[INFO] [stderr]     Checking either v1.19.0
[INFO] [stderr]    Compiling pulp v0.22.3
[INFO] [stderr]     Checking raw-cpuid v11.6.0
[INFO] [stderr]     Checking pulp-wasm-simd-flag v0.1.1
[INFO] [stderr]    Compiling zerocopy-derive v0.8.62
[INFO] [stderr]    Compiling bytemuck_derive v1.12.1
[INFO] [stderr]    Compiling serde_json v1.0.154
[INFO] [stderr]     Checking serde v1.0.229
[INFO] [stderr]    Compiling onig_sys v69.9.3
[INFO] [stderr]     Checking regex-automata v0.4.18
[INFO] [stderr]    Compiling derive_builder_core v0.20.2
[INFO] [stderr]    Compiling esaxx-rs v0.1.10
[INFO] [stderr]    Compiling alloca v0.4.0
[INFO] [stderr]    Compiling monostate-impl v0.1.18
[INFO] [stderr]    Compiling macro_rules_attribute-proc_macro v0.2.3
[INFO] [stderr]     Checking unicode-normalization-alignments v0.1.12
[INFO] [stderr]    Compiling clap_derive v4.6.7
[INFO] [stderr]     Checking rayon v1.12.0
[INFO] [stderr]     Checking itertools v0.14.0
[INFO] [stderr]     Checking monostate v0.1.18
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]     Checking macro_rules_attribute v0.2.3
[INFO] [stderr]     Checking zerofrom v0.1.8
[INFO] [stderr]     Checking crc32fast v1.5.2
[INFO] [stderr]    Compiling anyhow v1.0.104
[INFO] [stderr]     Checking yoke v0.8.3
[INFO] [stderr]     Checking zip v7.2.0
[INFO] [stderr]     Checking memmap2 v0.9.11
[INFO] [stderr]     Checking page_size v0.6.0
[INFO] [stderr]     Checking num_cpus v1.17.0
[INFO] [stderr]     Checking dary_heap v0.3.9
[INFO] [stderr]     Checking compact_str v0.9.1
[INFO] [stderr]     Checking spm_precompiled v0.1.4
[INFO] [stderr]     Checking safetensors v0.7.0
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking bytemuck v1.25.2
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]     Checking dyn-stack v0.13.2
[INFO] [stderr]    Compiling derive_builder_macro v0.20.2
[INFO] [stderr]     Checking derive_builder v0.20.2
[INFO] [stderr]     Checking clap v4.6.7
[INFO] [stderr]     Checking regex v1.13.1
[INFO] [stderr]     Checking criterion-plot v0.8.2
[INFO] [stderr]     Checking rayon-cond v0.4.0
[INFO] [stderr]     Checking onig v6.5.3
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking ahash v0.8.12
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking rand v0.9.5
[INFO] [stderr]     Checking rand_distr v0.5.1
[INFO] [stderr]     Checking tokenizers v0.22.2
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking gemm-common v0.19.0
[INFO] [stderr]     Checking ciborium-ll v0.2.2
[INFO] [stderr]     Checking float8 v0.7.0
[INFO] [stderr]     Checking ciborium v0.2.2
[INFO] [stderr]     Checking gemm-f32 v0.19.0
[INFO] [stderr]     Checking gemm-c32 v0.19.0
[INFO] [stderr]     Checking gemm-f64 v0.19.0
[INFO] [stderr]     Checking gemm-c64 v0.19.0
[INFO] [stderr]     Checking criterion v0.8.2
[INFO] [stderr]     Checking gemm-f16 v0.19.0
[INFO] [stderr]     Checking gemm v0.19.0
[INFO] [stderr]     Checking candle-core-fathomdb v0.11.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated constant `std::f64::INFINITY`: replaced by the `INFINITY` associated constant on `f64`
[INFO] [stdout]   --> src/cpu/erf.rs:49:14
[INFO] [stdout]    |
[INFO] [stdout] 49 |         f64::INFINITY
[INFO] [stdout]    |              ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::NEG_INFINITY`: replaced by the `NEG_INFINITY` associated constant on `f64`
[INFO] [stdout]   --> src/cpu/erf.rs:51:14
[INFO] [stdout]    |
[INFO] [stdout] 51 |         f64::NEG_INFINITY
[INFO] [stdout]    |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::INFINITY`: replaced by the `INFINITY` associated constant on `f64`
[INFO] [stdout]   --> src/cpu/erf.rs:73:14
[INFO] [stdout]    |
[INFO] [stdout] 73 |         f64::INFINITY
[INFO] [stdout]    |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::NEG_INFINITY`: replaced by the `NEG_INFINITY` associated constant on `f64`
[INFO] [stdout]   --> src/cpu/erf.rs:75:14
[INFO] [stdout]    |
[INFO] [stdout] 75 |         f64::NEG_INFINITY
[INFO] [stdout]    |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::INFINITY`: replaced by the `INFINITY` associated constant on `f64`
[INFO] [stdout]   --> src/cpu/erf.rs:49:14
[INFO] [stdout]    |
[INFO] [stdout] 49 |         f64::INFINITY
[INFO] [stdout]    |              ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::NEG_INFINITY`: replaced by the `NEG_INFINITY` associated constant on `f64`
[INFO] [stdout]   --> src/cpu/erf.rs:51:14
[INFO] [stdout]    |
[INFO] [stdout] 51 |         f64::NEG_INFINITY
[INFO] [stdout]    |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::INFINITY`: replaced by the `INFINITY` associated constant on `f64`
[INFO] [stdout]   --> src/cpu/erf.rs:73:14
[INFO] [stdout]    |
[INFO] [stdout] 73 |         f64::INFINITY
[INFO] [stdout]    |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::NEG_INFINITY`: replaced by the `NEG_INFINITY` associated constant on `f64`
[INFO] [stdout]   --> src/cpu/erf.rs:75:14
[INFO] [stdout]    |
[INFO] [stdout] 75 |         f64::NEG_INFINITY
[INFO] [stdout]    |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/backprop.rs:349:29
[INFO] [stdout]     |
[INFO] [stdout] 349 | ...                   crate::bail!("backward not supported for avgpool2d if ksize {kernel_size:?} != stride {stride:?}")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout]     = note: `#[deny(self_type_conversion)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/backprop.rs:364:29
[INFO] [stdout]     |
[INFO] [stdout] 364 | ...                   crate::bail!("backward not supported for maxpool2d if ksize {kernel_size:?} != stride {stride:?}")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/backprop.rs:381:29
[INFO] [stdout]     |
[INFO] [stdout] 381 | ...                   crate::bail!("backward not supported for non integer upscaling factors")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/backprop.rs:397:29
[INFO] [stdout]     |
[INFO] [stdout] 397 | ...                   crate::bail!("backward not supported for non integer upscaling factors")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/backprop.rs:403:29
[INFO] [stdout]     |
[INFO] [stdout] 403 | ...                   crate::bail!("backward not supported for non uniform upscaling factors")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/backprop.rs:412:25
[INFO] [stdout]     |
[INFO] [stdout] 412 |                         crate::bail!("backward not supported for upsample_bilinear2d")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/conv.rs:243:13
[INFO] [stdout]     |
[INFO] [stdout] 243 |             crate::bail!("in_channel mismatch between input ({c_in}) and kernel ({c_in_k})")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/conv.rs:246:13
[INFO] [stdout]     |
[INFO] [stdout] 246 |             crate::bail!("in_channel {c_in} is not divisible by the number of groups")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 |   macro_rules! bail {
[INFO] [stdout] 292 |       ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |           return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/conv.rs:312:13
[INFO] [stdout]     |
[INFO] [stdout] 312 | /             crate::bail!(
[INFO] [stdout] 313 | |                 "in_channel mismatch between input ({c_in}, groups {groups}) and kernel ({c_in_k})"
[INFO] [stdout] 314 | |             )
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/conv.rs:355:13
[INFO] [stdout]     |
[INFO] [stdout] 355 |             crate::bail!("in_channel mismatch between input ({c_in}) and kernel ({c_in_k})")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:293:39
[INFO] [stdout]      |
[INFO] [stdout]  291 | macro_rules! bail {
[INFO] [stdout]  292 |     ($msg:literal $(,)?) => {
[INFO] [stdout]  293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/cpu_backend/mod.rs:1676:30
[INFO] [stdout]      |
[INFO] [stdout] 1676 |                         _ => crate::bail!("dtype mismatch"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:293:39
[INFO] [stdout]      |
[INFO] [stdout]  291 | macro_rules! bail {
[INFO] [stdout]  292 |     ($msg:literal $(,)?) => {
[INFO] [stdout]  293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/cpu_backend/mod.rs:1687:30
[INFO] [stdout]      |
[INFO] [stdout] 1687 |                         _ => crate::bail!("dtype mismatch"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:293:39
[INFO] [stdout]      |
[INFO] [stdout]  291 | macro_rules! bail {
[INFO] [stdout]  292 |     ($msg:literal $(,)?) => {
[INFO] [stdout]  293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/cpu_backend/mod.rs:1698:30
[INFO] [stdout]      |
[INFO] [stdout] 1698 |                         _ => crate::bail!("dtype mismatch"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:293:39
[INFO] [stdout]      |
[INFO] [stdout]  291 | macro_rules! bail {
[INFO] [stdout]  292 |     ($msg:literal $(,)?) => {
[INFO] [stdout]  293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/cpu_backend/mod.rs:1709:30
[INFO] [stdout]      |
[INFO] [stdout] 1709 |                         _ => crate::bail!("dtype mismatch"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:293:39
[INFO] [stdout]      |
[INFO] [stdout]  291 | macro_rules! bail {
[INFO] [stdout]  292 |     ($msg:literal $(,)?) => {
[INFO] [stdout]  293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/cpu_backend/mod.rs:1720:30
[INFO] [stdout]      |
[INFO] [stdout] 1720 |                         _ => crate::bail!("dtype mismatch"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:293:39
[INFO] [stdout]      |
[INFO] [stdout]  291 | macro_rules! bail {
[INFO] [stdout]  292 |     ($msg:literal $(,)?) => {
[INFO] [stdout]  293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/cpu_backend/mod.rs:1731:30
[INFO] [stdout]      |
[INFO] [stdout] 1731 |                         _ => crate::bail!("dtype mismatch"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:293:39
[INFO] [stdout]      |
[INFO] [stdout]  291 | macro_rules! bail {
[INFO] [stdout]  292 |     ($msg:literal $(,)?) => {
[INFO] [stdout]  293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/cpu_backend/mod.rs:1742:30
[INFO] [stdout]      |
[INFO] [stdout] 1742 |                         _ => crate::bail!("dtype mismatch"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:293:39
[INFO] [stdout]      |
[INFO] [stdout]  291 | macro_rules! bail {
[INFO] [stdout]  292 |     ($msg:literal $(,)?) => {
[INFO] [stdout]  293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/cpu_backend/mod.rs:1753:30
[INFO] [stdout]      |
[INFO] [stdout] 1753 |                         _ => crate::bail!("dtype mismatch"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:293:39
[INFO] [stdout]      |
[INFO] [stdout]  291 | macro_rules! bail {
[INFO] [stdout]  292 |     ($msg:literal $(,)?) => {
[INFO] [stdout]  293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/cpu_backend/mod.rs:1764:30
[INFO] [stdout]      |
[INFO] [stdout] 1764 |                         _ => crate::bail!("dtype mismatch"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:293:39
[INFO] [stdout]      |
[INFO] [stdout]  291 | macro_rules! bail {
[INFO] [stdout]  292 |     ($msg:literal $(,)?) => {
[INFO] [stdout]  293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/cpu_backend/mod.rs:1775:30
[INFO] [stdout]      |
[INFO] [stdout] 1775 |                         _ => crate::bail!("dtype mismatch"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:293:39
[INFO] [stdout]      |
[INFO] [stdout]  291 | macro_rules! bail {
[INFO] [stdout]  292 |     ($msg:literal $(,)?) => {
[INFO] [stdout]  293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/cpu_backend/mod.rs:1786:30
[INFO] [stdout]      |
[INFO] [stdout] 1786 |                         _ => crate::bail!("dtype mismatch"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:293:39
[INFO] [stdout]      |
[INFO] [stdout]  291 | macro_rules! bail {
[INFO] [stdout]  292 |     ($msg:literal $(,)?) => {
[INFO] [stdout]  293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/cpu_backend/mod.rs:1797:30
[INFO] [stdout]      |
[INFO] [stdout] 1797 |                         _ => crate::bail!("dtype mismatch"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:293:39
[INFO] [stdout]      |
[INFO] [stdout]  291 | macro_rules! bail {
[INFO] [stdout]  292 |     ($msg:literal $(,)?) => {
[INFO] [stdout]  293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/cpu_backend/mod.rs:1808:30
[INFO] [stdout]      |
[INFO] [stdout] 1808 |                         _ => crate::bail!("dtype mismatch"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:293:39
[INFO] [stdout]      |
[INFO] [stdout]  291 | macro_rules! bail {
[INFO] [stdout]  292 |     ($msg:literal $(,)?) => {
[INFO] [stdout]  293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/cpu_backend/mod.rs:1819:30
[INFO] [stdout]      |
[INFO] [stdout] 1819 |                         _ => crate::bail!("dtype mismatch"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:293:39
[INFO] [stdout]      |
[INFO] [stdout]  291 |   macro_rules! bail {
[INFO] [stdout]  292 |       ($msg:literal $(,)?) => {
[INFO] [stdout]  293 |           return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]      |                                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/cpu_backend/mod.rs:2787:17
[INFO] [stdout]      |
[INFO] [stdout] 2787 | /                 crate::bail!(
[INFO] [stdout] 2788 | |                     "convtr1d: the second argument (kernel) has to be contiguous {kernel_l:?}"
[INFO] [stdout] 2789 | |                 )
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:299:39
[INFO] [stdout]      |
[INFO] [stdout]  291 |   macro_rules! bail {
[INFO] [stdout] ...
[INFO] [stdout]  299 |           return Err($crate::Error::Msg(format!($fmt, $($arg)*).into()).bt())
[INFO] [stdout]      |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/cpu_backend/mod.rs:2792:17
[INFO] [stdout]      |
[INFO] [stdout] 2792 | /                 crate::bail!(
[INFO] [stdout] 2793 | |                     "convtr1d: shape mismatch on c_in {:?} {:?}",
[INFO] [stdout] 2794 | |                     l.shape(),
[INFO] [stdout] 2795 | |                     kernel_l.shape()
[INFO] [stdout] 2796 | |                 )
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:293:39
[INFO] [stdout]      |
[INFO] [stdout]  291 | macro_rules! bail {
[INFO] [stdout]  292 |     ($msg:literal $(,)?) => {
[INFO] [stdout]  293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/cpu_backend/mod.rs:3010:17
[INFO] [stdout]      |
[INFO] [stdout] 3010 |                 crate::bail!("const_set not supported for dummy type F6E2M3")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:293:39
[INFO] [stdout]      |
[INFO] [stdout]  291 | macro_rules! bail {
[INFO] [stdout]  292 |     ($msg:literal $(,)?) => {
[INFO] [stdout]  293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/cpu_backend/mod.rs:3013:17
[INFO] [stdout]      |
[INFO] [stdout] 3013 |                 crate::bail!("const_set not supported for dummy type F6E3M2")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:293:39
[INFO] [stdout]      |
[INFO] [stdout]  291 | macro_rules! bail {
[INFO] [stdout]  292 |     ($msg:literal $(,)?) => {
[INFO] [stdout]  293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/cpu_backend/mod.rs:3016:17
[INFO] [stdout]      |
[INFO] [stdout] 3016 |                 crate::bail!("const_set not supported for dummy type F4")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:293:39
[INFO] [stdout]      |
[INFO] [stdout]  291 | macro_rules! bail {
[INFO] [stdout]  292 |     ($msg:literal $(,)?) => {
[INFO] [stdout]  293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/cpu_backend/mod.rs:3019:17
[INFO] [stdout]      |
[INFO] [stdout] 3019 |                 crate::bail!("const_set not supported for dummy type F8E8M0")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:299:39
[INFO] [stdout]      |
[INFO] [stdout]  291 |   macro_rules! bail {
[INFO] [stdout] ...
[INFO] [stdout]  299 |           return Err($crate::Error::Msg(format!($fmt, $($arg)*).into()).bt())
[INFO] [stdout]      |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/cpu_backend/mod.rs:3021:24
[INFO] [stdout]      |
[INFO] [stdout] 3021 |               (st, s) => crate::bail!(
[INFO] [stdout]      |  ________________________-
[INFO] [stdout] 3022 | |                 "const_set dtype mismatch, expected {:?} but got {:?}",
[INFO] [stdout] 3023 | |                 st.dtype(),
[INFO] [stdout] 3024 | |                 s
[INFO] [stdout] 3025 | |             ),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:293:39
[INFO] [stdout]      |
[INFO] [stdout]  291 | macro_rules! bail {
[INFO] [stdout]  292 |     ($msg:literal $(,)?) => {
[INFO] [stdout]  293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/cpu_backend/mod.rs:3059:9
[INFO] [stdout]      |
[INFO] [stdout] 3059 |         crate::bail!("cannot seed the CPU rng with set_seed")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:293:39
[INFO] [stdout]      |
[INFO] [stdout]  291 | macro_rules! bail {
[INFO] [stdout]  292 |     ($msg:literal $(,)?) => {
[INFO] [stdout]  293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/cpu_backend/mod.rs:3063:9
[INFO] [stdout]      |
[INFO] [stdout] 3063 |         crate::bail!("cannot get the CPU rng seed with get_current_seed")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/device.rs:119:13
[INFO] [stdout]     |
[INFO] [stdout] 119 |             crate::bail!("empty array")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:299:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] ...
[INFO] [stdout] 299 |         return Err($crate::Error::Msg(format!($fmt, $($arg)*).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/device.rs:125:17
[INFO] [stdout]     |
[INFO] [stdout] 125 |                 crate::bail!("two elements have different len {m} {}", v.len())
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/device.rs:140:13
[INFO] [stdout]     |
[INFO] [stdout] 140 |             crate::bail!("empty array")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:299:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] ...
[INFO] [stdout] 299 |         return Err($crate::Error::Msg(format!($fmt, $($arg)*).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/device.rs:146:17
[INFO] [stdout]     |
[INFO] [stdout] 146 |                 crate::bail!("two elements have different len {m} {}", v.len())
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/device.rs:165:13
[INFO] [stdout]     |
[INFO] [stdout] 165 |             crate::bail!("empty array")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/device.rs:172:17
[INFO] [stdout]     |
[INFO] [stdout] 172 |                 crate::bail!("two elements have different shapes {shape:?} {shape0:?}")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/device.rs:199:13
[INFO] [stdout]     |
[INFO] [stdout] 199 |             crate::bail!("empty array")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/device.rs:206:17
[INFO] [stdout]     |
[INFO] [stdout] 206 |                 crate::bail!("two elements have different shapes {shape:?} {shape0:?}")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/device.rs:241:26
[INFO] [stdout]     |
[INFO] [stdout] 241 |             Self::Cpu => crate::bail!("expected a cuda device, got cpu"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/device.rs:242:31
[INFO] [stdout]     |
[INFO] [stdout] 242 |             Self::Metal(_) => crate::bail!("expected a cuda device, got Metal"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/device.rs:248:30
[INFO] [stdout]     |
[INFO] [stdout] 248 |             Self::Cuda(_) => crate::bail!("expected a metal device, got cuda"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/device.rs:249:26
[INFO] [stdout]     |
[INFO] [stdout] 249 |             Self::Cpu => crate::bail!("expected a metal device, got cpu"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/indexer.rs:51:25
[INFO] [stdout]     |
[INFO] [stdout]  51 |                         crate::bail!("multi-dimensional tensor indexing is not supported")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/indexer.rs:57:42
[INFO] [stdout]     |
[INFO] [stdout]  57 |                 TensorIndexer::Err(e) => crate::bail!("indexing error {e:?}"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:299:39
[INFO] [stdout]     |
[INFO] [stdout] 291 |   macro_rules! bail {
[INFO] [stdout] ...
[INFO] [stdout] 299 |           return Err($crate::Error::Msg(format!($fmt, $($arg)*).into()).bt())
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/layout.rs:134:13
[INFO] [stdout]     |
[INFO] [stdout] 134 | /             crate::bail!(
[INFO] [stdout] 135 | |                 "dimension mismatch in permute, tensor {:?}, dims: {:?}",
[INFO] [stdout] 136 | |                 self.dims(),
[INFO] [stdout] 137 | |                 idxs
[INFO] [stdout] 138 | |             )
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/npy.rs:407:21
[INFO] [stdout]     |
[INFO] [stdout] 407 |             None => crate::bail!("cannot find tensor {name}"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/pickle.rs:332:21
[INFO] [stdout]     |
[INFO] [stdout] 332 |             None => crate::bail!("unexpected empty stack"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/pickle.rs:385:21
[INFO] [stdout]     |
[INFO] [stdout] 385 |             None => crate::bail!("unexpected empty stack"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/pickle.rs:392:21
[INFO] [stdout]     |
[INFO] [stdout] 392 |             None => crate::bail!("missing object in memo {id}"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/pickle.rs:432:17
[INFO] [stdout]     |
[INFO] [stdout] 432 |                 crate::bail!("marker object not found")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/pickle.rs:441:17
[INFO] [stdout]     |
[INFO] [stdout] 441 |                 crate::bail!("unknown op-code {op_code}")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/pickle.rs:521:21
[INFO] [stdout]     |
[INFO] [stdout] 521 |                     crate::bail!("expected a list, got {pylist:?}")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/pickle.rs:530:21
[INFO] [stdout]     |
[INFO] [stdout] 530 |                     crate::bail!("expected a list, got {pylist:?}")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/pickle.rs:540:21
[INFO] [stdout]     |
[INFO] [stdout] 540 |                     crate::bail!("expected a dict, got {pydict:?}")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/pickle.rs:548:25
[INFO] [stdout]     |
[INFO] [stdout] 548 |                         crate::bail!("setitems: not an even number of objects")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/pickle.rs:555:21
[INFO] [stdout]     |
[INFO] [stdout] 555 |                     crate::bail!("expected a dict, got {pydict:?}")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/pickle.rs:568:21
[INFO] [stdout]     |
[INFO] [stdout] 568 |                     crate::bail!("setitems: not an even number of objects")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/pickle.rs:644:13
[INFO] [stdout]     |
[INFO] [stdout] 644 |             crate::bail!("unsupported storage type {other}")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:299:39
[INFO] [stdout]     |
[INFO] [stdout] 291 |   macro_rules! bail {
[INFO] [stdout] ...
[INFO] [stdout] 299 |           return Err($crate::Error::Msg(format!($fmt, $($arg)*).into()).bt())
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/pickle.rs:781:13
[INFO] [stdout]     |
[INFO] [stdout] 781 | /             crate::bail!(
[INFO] [stdout] 782 | |                 "cannot retrieve non-contiguous tensors {:?}",
[INFO] [stdout] 783 | |                 tensor_info.layout
[INFO] [stdout] 784 | |             )
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/ggml_file.rs:27:18
[INFO] [stdout]     |
[INFO] [stdout]  27 |             _ => crate::bail!("unknown magic {value:08x}"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/ggml_file.rs:55:18
[INFO] [stdout]     |
[INFO] [stdout]  55 |             _ => crate::bail!("ggml: unsupported magic/version {magic:?}/{version}"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 |   macro_rules! bail {
[INFO] [stdout] 292 |       ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |           return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/ggml_file.rs:147:9
[INFO] [stdout]     |
[INFO] [stdout] 147 | /         crate::bail!(
[INFO] [stdout] 148 | |             "the number of elements {tensor_elems} is not divisible by the block size {block_size}"
[INFO] [stdout] 149 | |         )
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/ggml_file.rs:187:14
[INFO] [stdout]     |
[INFO] [stdout] 187 |         _ => crate::bail!("quantized type {ggml_dtype:?} is not supported yet"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/ggml_file.rs:221:19
[INFO] [stdout]     |
[INFO] [stdout] 221 |         Err(e) => crate::bail!("Error creating tensor {name}: {e}"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/ggml_file.rs:262:21
[INFO] [stdout]     |
[INFO] [stdout] 262 |             None => crate::bail!("cannot find tensor with name '{name}'"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/gguf_file.rs:22:18
[INFO] [stdout]     |
[INFO] [stdout]  22 |             _ => crate::bail!("unknown magic 0x{value:08x}"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/gguf_file.rs:44:18
[INFO] [stdout]     |
[INFO] [stdout]  44 |             _ => crate::bail!("gguf: unsupported magic/version {magic:?}/{version}"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 |   macro_rules! bail {
[INFO] [stdout] 292 |       ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |           return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/gguf_file.rs:67:13
[INFO] [stdout]     |
[INFO] [stdout]  67 | /             crate::bail!(
[INFO] [stdout]  68 | |             "the number of elements {tensor_elems} is not divisible by the block size {block_size}"
[INFO] [stdout]  69 | |         )
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/gguf_file.rs:181:18
[INFO] [stdout]     |
[INFO] [stdout] 181 |             v => crate::bail!("not a u8 {v:?}"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/gguf_file.rs:188:18
[INFO] [stdout]     |
[INFO] [stdout] 188 |             v => crate::bail!("not a i8 {v:?}"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/gguf_file.rs:195:18
[INFO] [stdout]     |
[INFO] [stdout] 195 |             v => crate::bail!("not a u16 {v:?}"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/gguf_file.rs:202:18
[INFO] [stdout]     |
[INFO] [stdout] 202 |             v => crate::bail!("not a i16 {v:?}"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/gguf_file.rs:209:18
[INFO] [stdout]     |
[INFO] [stdout] 209 |             v => crate::bail!("not a u32 {v:?}"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/gguf_file.rs:216:18
[INFO] [stdout]     |
[INFO] [stdout] 216 |             v => crate::bail!("not a i32 {v:?}"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/gguf_file.rs:229:18
[INFO] [stdout]     |
[INFO] [stdout] 229 |             v => crate::bail!("not a u64 or upcastable to u64 {v:?}"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/gguf_file.rs:236:18
[INFO] [stdout]     |
[INFO] [stdout] 236 |             v => crate::bail!("not a i64 {v:?}"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/gguf_file.rs:243:18
[INFO] [stdout]     |
[INFO] [stdout] 243 |             v => crate::bail!("not a f32 {v:?}"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/gguf_file.rs:250:18
[INFO] [stdout]     |
[INFO] [stdout] 250 |             v => crate::bail!("not a f64 {v:?}"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/gguf_file.rs:257:18
[INFO] [stdout]     |
[INFO] [stdout] 257 |             v => crate::bail!("not a bool {v:?}"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/gguf_file.rs:264:18
[INFO] [stdout]     |
[INFO] [stdout] 264 |             v => crate::bail!("not a vec {v:?}"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/gguf_file.rs:271:18
[INFO] [stdout]     |
[INFO] [stdout] 271 |             v => crate::bail!("not a string {v:?}"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/gguf_file.rs:294:22
[INFO] [stdout]     |
[INFO] [stdout] 294 |                 b => crate::bail!("unexpected bool value {b}"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/gguf_file.rs:340:25
[INFO] [stdout]     |
[INFO] [stdout] 340 |                         crate::bail!("multiple value-types in the same array {value_type:?}")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/gguf_file.rs:371:18
[INFO] [stdout]     |
[INFO] [stdout] 371 |             v => crate::bail!("unrecognized value-type {v:#08x}"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/gguf_file.rs:478:21
[INFO] [stdout]     |
[INFO] [stdout] 478 |             None => crate::bail!("cannot find tensor info for {name}"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 |   macro_rules! bail {
[INFO] [stdout] 292 |       ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |           return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/gguf_file.rs:528:13
[INFO] [stdout]     |
[INFO] [stdout] 528 | /             crate::bail!(
[INFO] [stdout] 529 | |                 "internal error, unexpected current position {tensor_start_pos} {offset} {pos}"
[INFO] [stdout] 530 | |             )
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:299:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] ...
[INFO] [stdout] 299 |         return Err($crate::Error::Msg(format!($fmt, $($arg)*).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/imatrix_file.rs:37:9
[INFO] [stdout]     |
[INFO] [stdout]  37 |         crate::bail!("No data in file {}", fname.as_ref().display());
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:299:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] ...
[INFO] [stdout] 299 |         return Err($crate::Error::Msg(format!($fmt, $($arg)*).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/imatrix_file.rs:69:13
[INFO] [stdout]     |
[INFO] [stdout]  69 |             crate::bail!("Invalid nval for entry {}: {}", i + 1, nval);
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:299:39
[INFO] [stdout]      |
[INFO] [stdout]  291 | macro_rules! bail {
[INFO] [stdout] ...
[INFO] [stdout]  299 |         return Err($crate::Error::Msg(format!($fmt, $($arg)*).into()).bt())
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/quantized/k_quants.rs:2325:9
[INFO] [stdout]      |
[INFO] [stdout] 2325 |         crate::bail!("unexpected lhs length {} {mkn:?}", lhs.len());
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/tokenizer.rs:41:14
[INFO] [stdout]     |
[INFO] [stdout]  41 |         _ => crate::bail!("expected numeric value for token type/id, got {v:?}"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/tokenizer.rs:207:13
[INFO] [stdout]     |
[INFO] [stdout] 207 |             crate::bail!("unsupported tokenizer model `{model_kind}`");
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/mod.rs:165:18
[INFO] [stdout]     |
[INFO] [stdout] 165 |             _ => crate::bail!("Invalid quantize storage locations do not match"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/mod.rs:186:18
[INFO] [stdout]     |
[INFO] [stdout] 186 |             _ => crate::bail!("Invalid quantize storage locations do not match"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/mod.rs:198:18
[INFO] [stdout]     |
[INFO] [stdout] 198 |             _ => crate::bail!("Invalid quantize source storage locations: not on cpu"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/mod.rs:219:18
[INFO] [stdout]     |
[INFO] [stdout] 219 |             _ => crate::bail!("Invalid quantize storage locations do not match"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/mod.rs:249:17
[INFO] [stdout]     |
[INFO] [stdout] 249 |                 crate::bail!("not implemented");
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/mod.rs:293:18
[INFO] [stdout]     |
[INFO] [stdout] 293 |             _ => crate::bail!("unknown dtype for tensor {u}"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/mod.rs:466:9
[INFO] [stdout]     |
[INFO] [stdout] 466 |         crate::bail!("scalar tensor cannot be quantized {shape:?}")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:299:39
[INFO] [stdout]     |
[INFO] [stdout] 291 |   macro_rules! bail {
[INFO] [stdout] ...
[INFO] [stdout] 299 |           return Err($crate::Error::Msg(format!($fmt, $($arg)*).into()).bt())
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/mod.rs:469:9
[INFO] [stdout]     |
[INFO] [stdout] 469 | /         crate::bail!(
[INFO] [stdout] 470 | |             "quantized tensor must have their last dim divisible by block size {shape:?} {}",
[INFO] [stdout] 471 | |             block_size
[INFO] [stdout] 472 | |         )
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:299:39
[INFO] [stdout]     |
[INFO] [stdout] 291 |   macro_rules! bail {
[INFO] [stdout] ...
[INFO] [stdout] 299 |           return Err($crate::Error::Msg(format!($fmt, $($arg)*).into()).bt())
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/mod.rs:491:13
[INFO] [stdout]     |
[INFO] [stdout] 491 | /             crate::bail!(
[INFO] [stdout] 492 | |                 "tensor size ({shape:?}) is not divisible by block size {}",
[INFO] [stdout] 493 | |                 block_size
[INFO] [stdout] 494 | |             )
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:299:39
[INFO] [stdout]     |
[INFO] [stdout] 291 |   macro_rules! bail {
[INFO] [stdout] ...
[INFO] [stdout] 299 |           return Err($crate::Error::Msg(format!($fmt, $($arg)*).into()).bt())
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/mod.rs:513:13
[INFO] [stdout]     |
[INFO] [stdout] 513 | /             crate::bail!(
[INFO] [stdout] 514 | |                 "imatrix weights must have the same length {} as the last dim of src {}",
[INFO] [stdout] 515 | |                 imatrix_weights.len(),
[INFO] [stdout] 516 | |                 src.dim(D::Minus1)?
[INFO] [stdout] 517 | |             );
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:299:39
[INFO] [stdout]     |
[INFO] [stdout] 291 |   macro_rules! bail {
[INFO] [stdout] ...
[INFO] [stdout] 299 |           return Err($crate::Error::Msg(format!($fmt, $($arg)*).into()).bt())
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/mod.rs:526:13
[INFO] [stdout]     |
[INFO] [stdout] 526 | /             crate::bail!(
[INFO] [stdout] 527 | |                 "tensor size ({shape:?}) is not divisible by block size {}",
[INFO] [stdout] 528 | |                 block_size
[INFO] [stdout] 529 | |             );
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:299:39
[INFO] [stdout]     |
[INFO] [stdout] 291 |   macro_rules! bail {
[INFO] [stdout] ...
[INFO] [stdout] 299 |           return Err($crate::Error::Msg(format!($fmt, $($arg)*).into()).bt())
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/mod.rs:547:13
[INFO] [stdout]     |
[INFO] [stdout] 547 | /             crate::bail!(
[INFO] [stdout] 548 | |                 "`quantize_onto` expects a `src` to be on the cpu, got {:?}.",
[INFO] [stdout] 549 | |                 src.device()
[INFO] [stdout] 550 | |             )
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:299:39
[INFO] [stdout]     |
[INFO] [stdout] 291 |   macro_rules! bail {
[INFO] [stdout] ...
[INFO] [stdout] 299 |           return Err($crate::Error::Msg(format!($fmt, $($arg)*).into()).bt())
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/mod.rs:556:13
[INFO] [stdout]     |
[INFO] [stdout] 556 | /             crate::bail!(
[INFO] [stdout] 557 | |                 "imatrix weights must have the same length {} as the last dim of src {}",
[INFO] [stdout] 558 | |                 imatrix_weights.len(),
[INFO] [stdout] 559 | |                 src.dim(D::Minus1)?
[INFO] [stdout] 560 | |             );
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:299:39
[INFO] [stdout]     |
[INFO] [stdout] 291 |   macro_rules! bail {
[INFO] [stdout] ...
[INFO] [stdout] 299 |           return Err($crate::Error::Msg(format!($fmt, $($arg)*).into()).bt())
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/mod.rs:568:13
[INFO] [stdout]     |
[INFO] [stdout] 568 | /             crate::bail!(
[INFO] [stdout] 569 | |                 "tensor size ({shape:?}) is not divisible by block size {}",
[INFO] [stdout] 570 | |                 block_size
[INFO] [stdout] 571 | |             )
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:299:39
[INFO] [stdout]     |
[INFO] [stdout] 291 |   macro_rules! bail {
[INFO] [stdout] ...
[INFO] [stdout] 299 |           return Err($crate::Error::Msg(format!($fmt, $($arg)*).into()).bt())
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/mod.rs:585:13
[INFO] [stdout]     |
[INFO] [stdout] 585 | /             crate::bail!(
[INFO] [stdout] 586 | |                 "`quantize_onto` expects a `src` to be on the cpu, got {:?}.",
[INFO] [stdout] 587 | |                 src.device()
[INFO] [stdout] 588 | |             )
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:299:39
[INFO] [stdout]     |
[INFO] [stdout] 291 |   macro_rules! bail {
[INFO] [stdout] ...
[INFO] [stdout] 299 |           return Err($crate::Error::Msg(format!($fmt, $($arg)*).into()).bt())
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/mod.rs:596:13
[INFO] [stdout]     |
[INFO] [stdout] 596 | /             crate::bail!(
[INFO] [stdout] 597 | |                 "tensor size ({shape:?}) is not divisible by block size {}",
[INFO] [stdout] 598 | |                 block_size
[INFO] [stdout] 599 | |             )
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/mod.rs:689:17
[INFO] [stdout]     |
[INFO] [stdout] 689 |                 crate::bail!("not implemented");
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/mod.rs:786:13
[INFO] [stdout]     |
[INFO] [stdout] 786 |             crate::bail!("input tensor is not contiguous {layout:?}")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/mod.rs:792:13
[INFO] [stdout]     |
[INFO] [stdout] 792 |             crate::bail!("input tensor has only one dimension {layout:?}")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:299:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] ...
[INFO] [stdout] 299 |         return Err($crate::Error::Msg(format!($fmt, $($arg)*).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/mod.rs:797:13
[INFO] [stdout]     |
[INFO] [stdout] 797 |             crate::bail!("input tensor {layout:?} incompatible with {:?}", self.shape)
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/mod.rs:804:55
[INFO] [stdout]     |
[INFO] [stdout] 804 |             QStorage::Metal(_) | QStorage::Cuda(_) => crate::bail!("Invalid storage"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/mod.rs:831:18
[INFO] [stdout]     |
[INFO] [stdout] 831 |             _ => crate::bail!("Expected f32/f16"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/shape.rs:234:13
[INFO] [stdout]     |
[INFO] [stdout] 234 |             crate::bail!("only 2d matrixes are supported {lhs:?} {rhs:?}")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/shape.rs:239:13
[INFO] [stdout]     |
[INFO] [stdout] 239 |             crate::bail!("different inner dimensions in broadcast matmul {lhs:?} {rhs:?}")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/shape.rs:488:9
[INFO] [stdout]     |
[INFO] [stdout] 488 |         crate::bail!("cannot reshape tensor of {el_count} elements to {s:?}")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/shape.rs:491:9
[INFO] [stdout]     |
[INFO] [stdout] 491 |         crate::bail!("cannot reshape tensor with {el_count} elements to {s:?}")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/sort.rs:267:21
[INFO] [stdout]     |
[INFO] [stdout] 267 |             None => crate::bail!("empty last-dim in arg-sort"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/streaming.rs:191:27
[INFO] [stdout]     |
[INFO] [stdout] 191 |             (lhs, rhs) => crate::bail!("INTERNAL ERROR inconsistent lhs and rhs {lhs:?} {rhs:?}"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/tensor.rs:499:13
[INFO] [stdout]     |
[INFO] [stdout] 499 |             bail!("step cannot be zero")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:293:39
[INFO] [stdout]      |
[INFO] [stdout]  291 | macro_rules! bail {
[INFO] [stdout]  292 |     ($msg:literal $(,)?) => {
[INFO] [stdout]  293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/tensor.rs:1356:13
[INFO] [stdout]      |
[INFO] [stdout] 1356 |             bail!("kernel-size {kernel_size:?} is larger than the input size {h},{w}")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:293:39
[INFO] [stdout]      |
[INFO] [stdout]  291 | macro_rules! bail {
[INFO] [stdout]  292 |     ($msg:literal $(,)?) => {
[INFO] [stdout]  293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/tensor.rs:1394:13
[INFO] [stdout]      |
[INFO] [stdout] 1394 |             bail!("kernel-size {kernel_size:?} is larger than the input size {h},{w}")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:293:39
[INFO] [stdout]      |
[INFO] [stdout]  291 | macro_rules! bail {
[INFO] [stdout]  292 |     ($msg:literal $(,)?) => {
[INFO] [stdout]  293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/tensor.rs:1451:13
[INFO] [stdout]      |
[INFO] [stdout] 1451 |             bail!("norm not supported for integer dtypes");
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:293:39
[INFO] [stdout]      |
[INFO] [stdout]  291 | macro_rules! bail {
[INFO] [stdout]  292 |     ($msg:literal $(,)?) => {
[INFO] [stdout]  293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/tensor.rs:1668:13
[INFO] [stdout]      |
[INFO] [stdout] 1668 |             crate::bail!("cannot use slice_set when self and src share their storage")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:293:39
[INFO] [stdout]      |
[INFO] [stdout]  291 | macro_rules! bail {
[INFO] [stdout]  292 |     ($msg:literal $(,)?) => {
[INFO] [stdout]  293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/tensor.rs:1707:13
[INFO] [stdout]      |
[INFO] [stdout] 1707 |             crate::bail!("cannot use slice_set when self and src share their storage")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:299:39
[INFO] [stdout]      |
[INFO] [stdout]  291 |   macro_rules! bail {
[INFO] [stdout] ...
[INFO] [stdout]  299 |           return Err($crate::Error::Msg(format!($fmt, $($arg)*).into()).bt())
[INFO] [stdout]      |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/tensor.rs:2301:13
[INFO] [stdout]      |
[INFO] [stdout] 2301 | /             bail!(
[INFO] [stdout] 2302 | |                 "dimension mismatch in permute, tensor {:?}, dims: {:?}",
[INFO] [stdout] 2303 | |                 self.dims(),
[INFO] [stdout] 2304 | |                 dims
[INFO] [stdout] 2305 | |             )
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:299:39
[INFO] [stdout]      |
[INFO] [stdout]  291 |   macro_rules! bail {
[INFO] [stdout] ...
[INFO] [stdout]  299 |           return Err($crate::Error::Msg(format!($fmt, $($arg)*).into()).bt())
[INFO] [stdout]      |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/tensor.rs:2388:21
[INFO] [stdout]      |
[INFO] [stdout] 2388 | /                     bail!(
[INFO] [stdout] 2389 | |                         "not implemented yet, self.device: {:?}, device: {:?}",
[INFO] [stdout] 2390 | |                         self.device(),
[INFO] [stdout] 2391 | |                         device
[INFO] [stdout] 2392 | |                     )
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:293:39
[INFO] [stdout]      |
[INFO] [stdout]  291 | macro_rules! bail {
[INFO] [stdout]  292 |     ($msg:literal $(,)?) => {
[INFO] [stdout]  293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/tensor.rs:2688:13
[INFO] [stdout]      |
[INFO] [stdout] 2688 |             bail!("cannot use pad_with_same on an empty tensor")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:293:39
[INFO] [stdout]      |
[INFO] [stdout]  291 | macro_rules! bail {
[INFO] [stdout]  292 |     ($msg:literal $(,)?) => {
[INFO] [stdout]  293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/tensor.rs:2766:13
[INFO] [stdout]      |
[INFO] [stdout] 2766 |             bail!("axis {axis} is too large, tensor rank {rank}")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:293:39
[INFO] [stdout]      |
[INFO] [stdout]  291 | macro_rules! bail {
[INFO] [stdout]  292 |     ($msg:literal $(,)?) => {
[INFO] [stdout]  293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/tensor.rs:2772:17
[INFO] [stdout]      |
[INFO] [stdout] 2772 |                 bail!("axis {axis} is too small, tensor rank {rank}")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:299:39
[INFO] [stdout]      |
[INFO] [stdout]  291 |   macro_rules! bail {
[INFO] [stdout] ...
[INFO] [stdout]  299 |           return Err($crate::Error::Msg(format!($fmt, $($arg)*).into()).bt())
[INFO] [stdout]      |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/tensor.rs:2834:13
[INFO] [stdout]      |
[INFO] [stdout] 2834 | /             bail!(
[INFO] [stdout] 2835 | |                 "slice-assign requires input with the same rank {} <> {}",
[INFO] [stdout] 2836 | |                 self_dims.len(),
[INFO] [stdout] 2837 | |                 src_dims.len()
[INFO] [stdout] 2838 | |             )
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:299:39
[INFO] [stdout]      |
[INFO] [stdout]  291 |   macro_rules! bail {
[INFO] [stdout] ...
[INFO] [stdout]  299 |           return Err($crate::Error::Msg(format!($fmt, $($arg)*).into()).bt())
[INFO] [stdout]      |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/tensor.rs:2841:13
[INFO] [stdout]      |
[INFO] [stdout] 2841 | /             bail!(
[INFO] [stdout] 2842 | |                 "slice-assign requires input with the same rank as there are ranges {} <> {}",
[INFO] [stdout] 2843 | |                 self_dims.len(),
[INFO] [stdout] 2844 | |                 ranges.len()
[INFO] [stdout] 2845 | |             )
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:293:39
[INFO] [stdout]      |
[INFO] [stdout]  291 | macro_rules! bail {
[INFO] [stdout]  292 |     ($msg:literal $(,)?) => {
[INFO] [stdout]  293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/tensor.rs:2861:17
[INFO] [stdout]      |
[INFO] [stdout] 2861 |                 bail!("slice-assign: empty range for dim {i}, {start_included} {end_excluded}")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:299:39
[INFO] [stdout]      |
[INFO] [stdout]  291 |   macro_rules! bail {
[INFO] [stdout] ...
[INFO] [stdout]  299 |           return Err($crate::Error::Msg(format!($fmt, $($arg)*).into()).bt())
[INFO] [stdout]      |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/tensor.rs:2864:17
[INFO] [stdout]      |
[INFO] [stdout] 2864 | /                 bail!(
[INFO] [stdout] 2865 | |                     "slice-assign: upper bound is out of range for dim {i}, {end_excluded} {}",
[INFO] [stdout] 2866 | |                     self_dims[i]
[INFO] [stdout] 2867 | |                 )
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:299:39
[INFO] [stdout]      |
[INFO] [stdout]  291 |   macro_rules! bail {
[INFO] [stdout] ...
[INFO] [stdout]  299 |           return Err($crate::Error::Msg(format!($fmt, $($arg)*).into()).bt())
[INFO] [stdout]      |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/tensor.rs:2870:17
[INFO] [stdout]      |
[INFO] [stdout] 2870 | / ...   bail!(
[INFO] [stdout] 2871 | | ...       "slice-assign: the range for dim {i} ({start_included}..{end_excluded}) does not match the size of src {}", src_dims[i]
[INFO] [stdout] 2872 | | ...   )
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:293:39
[INFO] [stdout]      |
[INFO] [stdout]  291 |   macro_rules! bail {
[INFO] [stdout]  292 |       ($msg:literal $(,)?) => {
[INFO] [stdout]  293 |           return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]      |                                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/tensor.rs:2944:13
[INFO] [stdout]      |
[INFO] [stdout] 2944 | /             bail!(
[INFO] [stdout] 2945 | |                 "unsqueeze: maximum size for tensor at dimension {dim} is {max_len} but size is {size}"
[INFO] [stdout] 2946 | |             )
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/tensor_cat.rs:252:13
[INFO] [stdout]     |
[INFO] [stdout] 252 |             crate::bail!("cannot use slice_set when self and src share their storage")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/tensor_cat.rs:280:17
[INFO] [stdout]     |
[INFO] [stdout] 280 |                 crate::bail!("shape mismatch on target dim, dst: {v1}, src: {v2} + {offset}")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/tensor_cat.rs:283:17
[INFO] [stdout]     |
[INFO] [stdout] 283 |                 crate::bail!("shape mismatch on dim {dim_idx}, {v1} <> {v2}")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `candle-core-fathomdb` (lib) due to 142 previous errors; 4 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/backprop.rs:349:29
[INFO] [stdout]     |
[INFO] [stdout] 349 | ...                   crate::bail!("backward not supported for avgpool2d if ksize {kernel_size:?} != stride {stride:?}")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout]     = note: `#[deny(self_type_conversion)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/backprop.rs:364:29
[INFO] [stdout]     |
[INFO] [stdout] 364 | ...                   crate::bail!("backward not supported for maxpool2d if ksize {kernel_size:?} != stride {stride:?}")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/backprop.rs:381:29
[INFO] [stdout]     |
[INFO] [stdout] 381 | ...                   crate::bail!("backward not supported for non integer upscaling factors")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/backprop.rs:397:29
[INFO] [stdout]     |
[INFO] [stdout] 397 | ...                   crate::bail!("backward not supported for non integer upscaling factors")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/backprop.rs:403:29
[INFO] [stdout]     |
[INFO] [stdout] 403 | ...                   crate::bail!("backward not supported for non uniform upscaling factors")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/backprop.rs:412:25
[INFO] [stdout]     |
[INFO] [stdout] 412 |                         crate::bail!("backward not supported for upsample_bilinear2d")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/conv.rs:243:13
[INFO] [stdout]     |
[INFO] [stdout] 243 |             crate::bail!("in_channel mismatch between input ({c_in}) and kernel ({c_in_k})")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/conv.rs:246:13
[INFO] [stdout]     |
[INFO] [stdout] 246 |             crate::bail!("in_channel {c_in} is not divisible by the number of groups")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 |   macro_rules! bail {
[INFO] [stdout] 292 |       ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |           return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/conv.rs:312:13
[INFO] [stdout]     |
[INFO] [stdout] 312 | /             crate::bail!(
[INFO] [stdout] 313 | |                 "in_channel mismatch between input ({c_in}, groups {groups}) and kernel ({c_in_k})"
[INFO] [stdout] 314 | |             )
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/conv.rs:355:13
[INFO] [stdout]     |
[INFO] [stdout] 355 |             crate::bail!("in_channel mismatch between input ({c_in}) and kernel ({c_in_k})")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:293:39
[INFO] [stdout]      |
[INFO] [stdout]  291 | macro_rules! bail {
[INFO] [stdout]  292 |     ($msg:literal $(,)?) => {
[INFO] [stdout]  293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/cpu_backend/mod.rs:1676:30
[INFO] [stdout]      |
[INFO] [stdout] 1676 |                         _ => crate::bail!("dtype mismatch"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:293:39
[INFO] [stdout]      |
[INFO] [stdout]  291 | macro_rules! bail {
[INFO] [stdout]  292 |     ($msg:literal $(,)?) => {
[INFO] [stdout]  293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/cpu_backend/mod.rs:1687:30
[INFO] [stdout]      |
[INFO] [stdout] 1687 |                         _ => crate::bail!("dtype mismatch"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:293:39
[INFO] [stdout]      |
[INFO] [stdout]  291 | macro_rules! bail {
[INFO] [stdout]  292 |     ($msg:literal $(,)?) => {
[INFO] [stdout]  293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/cpu_backend/mod.rs:1698:30
[INFO] [stdout]      |
[INFO] [stdout] 1698 |                         _ => crate::bail!("dtype mismatch"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:293:39
[INFO] [stdout]      |
[INFO] [stdout]  291 | macro_rules! bail {
[INFO] [stdout]  292 |     ($msg:literal $(,)?) => {
[INFO] [stdout]  293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/cpu_backend/mod.rs:1709:30
[INFO] [stdout]      |
[INFO] [stdout] 1709 |                         _ => crate::bail!("dtype mismatch"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:293:39
[INFO] [stdout]      |
[INFO] [stdout]  291 | macro_rules! bail {
[INFO] [stdout]  292 |     ($msg:literal $(,)?) => {
[INFO] [stdout]  293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/cpu_backend/mod.rs:1720:30
[INFO] [stdout]      |
[INFO] [stdout] 1720 |                         _ => crate::bail!("dtype mismatch"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:293:39
[INFO] [stdout]      |
[INFO] [stdout]  291 | macro_rules! bail {
[INFO] [stdout]  292 |     ($msg:literal $(,)?) => {
[INFO] [stdout]  293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/cpu_backend/mod.rs:1731:30
[INFO] [stdout]      |
[INFO] [stdout] 1731 |                         _ => crate::bail!("dtype mismatch"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:293:39
[INFO] [stdout]      |
[INFO] [stdout]  291 | macro_rules! bail {
[INFO] [stdout]  292 |     ($msg:literal $(,)?) => {
[INFO] [stdout]  293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/cpu_backend/mod.rs:1742:30
[INFO] [stdout]      |
[INFO] [stdout] 1742 |                         _ => crate::bail!("dtype mismatch"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:293:39
[INFO] [stdout]      |
[INFO] [stdout]  291 | macro_rules! bail {
[INFO] [stdout]  292 |     ($msg:literal $(,)?) => {
[INFO] [stdout]  293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/cpu_backend/mod.rs:1753:30
[INFO] [stdout]      |
[INFO] [stdout] 1753 |                         _ => crate::bail!("dtype mismatch"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:293:39
[INFO] [stdout]      |
[INFO] [stdout]  291 | macro_rules! bail {
[INFO] [stdout]  292 |     ($msg:literal $(,)?) => {
[INFO] [stdout]  293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/cpu_backend/mod.rs:1764:30
[INFO] [stdout]      |
[INFO] [stdout] 1764 |                         _ => crate::bail!("dtype mismatch"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:293:39
[INFO] [stdout]      |
[INFO] [stdout]  291 | macro_rules! bail {
[INFO] [stdout]  292 |     ($msg:literal $(,)?) => {
[INFO] [stdout]  293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/cpu_backend/mod.rs:1775:30
[INFO] [stdout]      |
[INFO] [stdout] 1775 |                         _ => crate::bail!("dtype mismatch"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:293:39
[INFO] [stdout]      |
[INFO] [stdout]  291 | macro_rules! bail {
[INFO] [stdout]  292 |     ($msg:literal $(,)?) => {
[INFO] [stdout]  293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/cpu_backend/mod.rs:1786:30
[INFO] [stdout]      |
[INFO] [stdout] 1786 |                         _ => crate::bail!("dtype mismatch"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:293:39
[INFO] [stdout]      |
[INFO] [stdout]  291 | macro_rules! bail {
[INFO] [stdout]  292 |     ($msg:literal $(,)?) => {
[INFO] [stdout]  293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/cpu_backend/mod.rs:1797:30
[INFO] [stdout]      |
[INFO] [stdout] 1797 |                         _ => crate::bail!("dtype mismatch"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:293:39
[INFO] [stdout]      |
[INFO] [stdout]  291 | macro_rules! bail {
[INFO] [stdout]  292 |     ($msg:literal $(,)?) => {
[INFO] [stdout]  293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/cpu_backend/mod.rs:1808:30
[INFO] [stdout]      |
[INFO] [stdout] 1808 |                         _ => crate::bail!("dtype mismatch"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:293:39
[INFO] [stdout]      |
[INFO] [stdout]  291 | macro_rules! bail {
[INFO] [stdout]  292 |     ($msg:literal $(,)?) => {
[INFO] [stdout]  293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/cpu_backend/mod.rs:1819:30
[INFO] [stdout]      |
[INFO] [stdout] 1819 |                         _ => crate::bail!("dtype mismatch"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:293:39
[INFO] [stdout]      |
[INFO] [stdout]  291 |   macro_rules! bail {
[INFO] [stdout]  292 |       ($msg:literal $(,)?) => {
[INFO] [stdout]  293 |           return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]      |                                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/cpu_backend/mod.rs:2787:17
[INFO] [stdout]      |
[INFO] [stdout] 2787 | /                 crate::bail!(
[INFO] [stdout] 2788 | |                     "convtr1d: the second argument (kernel) has to be contiguous {kernel_l:?}"
[INFO] [stdout] 2789 | |                 )
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:299:39
[INFO] [stdout]      |
[INFO] [stdout]  291 |   macro_rules! bail {
[INFO] [stdout] ...
[INFO] [stdout]  299 |           return Err($crate::Error::Msg(format!($fmt, $($arg)*).into()).bt())
[INFO] [stdout]      |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/cpu_backend/mod.rs:2792:17
[INFO] [stdout]      |
[INFO] [stdout] 2792 | /                 crate::bail!(
[INFO] [stdout] 2793 | |                     "convtr1d: shape mismatch on c_in {:?} {:?}",
[INFO] [stdout] 2794 | |                     l.shape(),
[INFO] [stdout] 2795 | |                     kernel_l.shape()
[INFO] [stdout] 2796 | |                 )
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:293:39
[INFO] [stdout]      |
[INFO] [stdout]  291 | macro_rules! bail {
[INFO] [stdout]  292 |     ($msg:literal $(,)?) => {
[INFO] [stdout]  293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/cpu_backend/mod.rs:3010:17
[INFO] [stdout]      |
[INFO] [stdout] 3010 |                 crate::bail!("const_set not supported for dummy type F6E2M3")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:293:39
[INFO] [stdout]      |
[INFO] [stdout]  291 | macro_rules! bail {
[INFO] [stdout]  292 |     ($msg:literal $(,)?) => {
[INFO] [stdout]  293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/cpu_backend/mod.rs:3013:17
[INFO] [stdout]      |
[INFO] [stdout] 3013 |                 crate::bail!("const_set not supported for dummy type F6E3M2")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:293:39
[INFO] [stdout]      |
[INFO] [stdout]  291 | macro_rules! bail {
[INFO] [stdout]  292 |     ($msg:literal $(,)?) => {
[INFO] [stdout]  293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/cpu_backend/mod.rs:3016:17
[INFO] [stdout]      |
[INFO] [stdout] 3016 |                 crate::bail!("const_set not supported for dummy type F4")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:293:39
[INFO] [stdout]      |
[INFO] [stdout]  291 | macro_rules! bail {
[INFO] [stdout]  292 |     ($msg:literal $(,)?) => {
[INFO] [stdout]  293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/cpu_backend/mod.rs:3019:17
[INFO] [stdout]      |
[INFO] [stdout] 3019 |                 crate::bail!("const_set not supported for dummy type F8E8M0")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:299:39
[INFO] [stdout]      |
[INFO] [stdout]  291 |   macro_rules! bail {
[INFO] [stdout] ...
[INFO] [stdout]  299 |           return Err($crate::Error::Msg(format!($fmt, $($arg)*).into()).bt())
[INFO] [stdout]      |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/cpu_backend/mod.rs:3021:24
[INFO] [stdout]      |
[INFO] [stdout] 3021 |               (st, s) => crate::bail!(
[INFO] [stdout]      |  ________________________-
[INFO] [stdout] 3022 | |                 "const_set dtype mismatch, expected {:?} but got {:?}",
[INFO] [stdout] 3023 | |                 st.dtype(),
[INFO] [stdout] 3024 | |                 s
[INFO] [stdout] 3025 | |             ),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:293:39
[INFO] [stdout]      |
[INFO] [stdout]  291 | macro_rules! bail {
[INFO] [stdout]  292 |     ($msg:literal $(,)?) => {
[INFO] [stdout]  293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/cpu_backend/mod.rs:3059:9
[INFO] [stdout]      |
[INFO] [stdout] 3059 |         crate::bail!("cannot seed the CPU rng with set_seed")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:293:39
[INFO] [stdout]      |
[INFO] [stdout]  291 | macro_rules! bail {
[INFO] [stdout]  292 |     ($msg:literal $(,)?) => {
[INFO] [stdout]  293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/cpu_backend/mod.rs:3063:9
[INFO] [stdout]      |
[INFO] [stdout] 3063 |         crate::bail!("cannot get the CPU rng seed with get_current_seed")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/device.rs:119:13
[INFO] [stdout]     |
[INFO] [stdout] 119 |             crate::bail!("empty array")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:299:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] ...
[INFO] [stdout] 299 |         return Err($crate::Error::Msg(format!($fmt, $($arg)*).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/device.rs:125:17
[INFO] [stdout]     |
[INFO] [stdout] 125 |                 crate::bail!("two elements have different len {m} {}", v.len())
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/device.rs:140:13
[INFO] [stdout]     |
[INFO] [stdout] 140 |             crate::bail!("empty array")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:299:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] ...
[INFO] [stdout] 299 |         return Err($crate::Error::Msg(format!($fmt, $($arg)*).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/device.rs:146:17
[INFO] [stdout]     |
[INFO] [stdout] 146 |                 crate::bail!("two elements have different len {m} {}", v.len())
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/device.rs:165:13
[INFO] [stdout]     |
[INFO] [stdout] 165 |             crate::bail!("empty array")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/device.rs:172:17
[INFO] [stdout]     |
[INFO] [stdout] 172 |                 crate::bail!("two elements have different shapes {shape:?} {shape0:?}")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/device.rs:199:13
[INFO] [stdout]     |
[INFO] [stdout] 199 |             crate::bail!("empty array")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/device.rs:206:17
[INFO] [stdout]     |
[INFO] [stdout] 206 |                 crate::bail!("two elements have different shapes {shape:?} {shape0:?}")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/device.rs:241:26
[INFO] [stdout]     |
[INFO] [stdout] 241 |             Self::Cpu => crate::bail!("expected a cuda device, got cpu"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/device.rs:242:31
[INFO] [stdout]     |
[INFO] [stdout] 242 |             Self::Metal(_) => crate::bail!("expected a cuda device, got Metal"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/device.rs:248:30
[INFO] [stdout]     |
[INFO] [stdout] 248 |             Self::Cuda(_) => crate::bail!("expected a metal device, got cuda"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/device.rs:249:26
[INFO] [stdout]     |
[INFO] [stdout] 249 |             Self::Cpu => crate::bail!("expected a metal device, got cpu"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/indexer.rs:51:25
[INFO] [stdout]     |
[INFO] [stdout]  51 |                         crate::bail!("multi-dimensional tensor indexing is not supported")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/indexer.rs:57:42
[INFO] [stdout]     |
[INFO] [stdout]  57 |                 TensorIndexer::Err(e) => crate::bail!("indexing error {e:?}"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:299:39
[INFO] [stdout]     |
[INFO] [stdout] 291 |   macro_rules! bail {
[INFO] [stdout] ...
[INFO] [stdout] 299 |           return Err($crate::Error::Msg(format!($fmt, $($arg)*).into()).bt())
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/layout.rs:134:13
[INFO] [stdout]     |
[INFO] [stdout] 134 | /             crate::bail!(
[INFO] [stdout] 135 | |                 "dimension mismatch in permute, tensor {:?}, dims: {:?}",
[INFO] [stdout] 136 | |                 self.dims(),
[INFO] [stdout] 137 | |                 idxs
[INFO] [stdout] 138 | |             )
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/npy.rs:407:21
[INFO] [stdout]     |
[INFO] [stdout] 407 |             None => crate::bail!("cannot find tensor {name}"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/pickle.rs:332:21
[INFO] [stdout]     |
[INFO] [stdout] 332 |             None => crate::bail!("unexpected empty stack"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/pickle.rs:385:21
[INFO] [stdout]     |
[INFO] [stdout] 385 |             None => crate::bail!("unexpected empty stack"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/pickle.rs:392:21
[INFO] [stdout]     |
[INFO] [stdout] 392 |             None => crate::bail!("missing object in memo {id}"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/pickle.rs:432:17
[INFO] [stdout]     |
[INFO] [stdout] 432 |                 crate::bail!("marker object not found")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/pickle.rs:441:17
[INFO] [stdout]     |
[INFO] [stdout] 441 |                 crate::bail!("unknown op-code {op_code}")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/pickle.rs:521:21
[INFO] [stdout]     |
[INFO] [stdout] 521 |                     crate::bail!("expected a list, got {pylist:?}")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/pickle.rs:530:21
[INFO] [stdout]     |
[INFO] [stdout] 530 |                     crate::bail!("expected a list, got {pylist:?}")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/pickle.rs:540:21
[INFO] [stdout]     |
[INFO] [stdout] 540 |                     crate::bail!("expected a dict, got {pydict:?}")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/pickle.rs:548:25
[INFO] [stdout]     |
[INFO] [stdout] 548 |                         crate::bail!("setitems: not an even number of objects")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/pickle.rs:555:21
[INFO] [stdout]     |
[INFO] [stdout] 555 |                     crate::bail!("expected a dict, got {pydict:?}")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/pickle.rs:568:21
[INFO] [stdout]     |
[INFO] [stdout] 568 |                     crate::bail!("setitems: not an even number of objects")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/pickle.rs:644:13
[INFO] [stdout]     |
[INFO] [stdout] 644 |             crate::bail!("unsupported storage type {other}")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:299:39
[INFO] [stdout]     |
[INFO] [stdout] 291 |   macro_rules! bail {
[INFO] [stdout] ...
[INFO] [stdout] 299 |           return Err($crate::Error::Msg(format!($fmt, $($arg)*).into()).bt())
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/pickle.rs:781:13
[INFO] [stdout]     |
[INFO] [stdout] 781 | /             crate::bail!(
[INFO] [stdout] 782 | |                 "cannot retrieve non-contiguous tensors {:?}",
[INFO] [stdout] 783 | |                 tensor_info.layout
[INFO] [stdout] 784 | |             )
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/ggml_file.rs:27:18
[INFO] [stdout]     |
[INFO] [stdout]  27 |             _ => crate::bail!("unknown magic {value:08x}"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/ggml_file.rs:55:18
[INFO] [stdout]     |
[INFO] [stdout]  55 |             _ => crate::bail!("ggml: unsupported magic/version {magic:?}/{version}"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 |   macro_rules! bail {
[INFO] [stdout] 292 |       ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |           return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/ggml_file.rs:147:9
[INFO] [stdout]     |
[INFO] [stdout] 147 | /         crate::bail!(
[INFO] [stdout] 148 | |             "the number of elements {tensor_elems} is not divisible by the block size {block_size}"
[INFO] [stdout] 149 | |         )
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/ggml_file.rs:187:14
[INFO] [stdout]     |
[INFO] [stdout] 187 |         _ => crate::bail!("quantized type {ggml_dtype:?} is not supported yet"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/ggml_file.rs:221:19
[INFO] [stdout]     |
[INFO] [stdout] 221 |         Err(e) => crate::bail!("Error creating tensor {name}: {e}"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/ggml_file.rs:262:21
[INFO] [stdout]     |
[INFO] [stdout] 262 |             None => crate::bail!("cannot find tensor with name '{name}'"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/gguf_file.rs:22:18
[INFO] [stdout]     |
[INFO] [stdout]  22 |             _ => crate::bail!("unknown magic 0x{value:08x}"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/gguf_file.rs:44:18
[INFO] [stdout]     |
[INFO] [stdout]  44 |             _ => crate::bail!("gguf: unsupported magic/version {magic:?}/{version}"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 |   macro_rules! bail {
[INFO] [stdout] 292 |       ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |           return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/gguf_file.rs:67:13
[INFO] [stdout]     |
[INFO] [stdout]  67 | /             crate::bail!(
[INFO] [stdout]  68 | |             "the number of elements {tensor_elems} is not divisible by the block size {block_size}"
[INFO] [stdout]  69 | |         )
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/gguf_file.rs:181:18
[INFO] [stdout]     |
[INFO] [stdout] 181 |             v => crate::bail!("not a u8 {v:?}"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/gguf_file.rs:188:18
[INFO] [stdout]     |
[INFO] [stdout] 188 |             v => crate::bail!("not a i8 {v:?}"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/gguf_file.rs:195:18
[INFO] [stdout]     |
[INFO] [stdout] 195 |             v => crate::bail!("not a u16 {v:?}"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/gguf_file.rs:202:18
[INFO] [stdout]     |
[INFO] [stdout] 202 |             v => crate::bail!("not a i16 {v:?}"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/gguf_file.rs:209:18
[INFO] [stdout]     |
[INFO] [stdout] 209 |             v => crate::bail!("not a u32 {v:?}"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/gguf_file.rs:216:18
[INFO] [stdout]     |
[INFO] [stdout] 216 |             v => crate::bail!("not a i32 {v:?}"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/gguf_file.rs:229:18
[INFO] [stdout]     |
[INFO] [stdout] 229 |             v => crate::bail!("not a u64 or upcastable to u64 {v:?}"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/gguf_file.rs:236:18
[INFO] [stdout]     |
[INFO] [stdout] 236 |             v => crate::bail!("not a i64 {v:?}"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/gguf_file.rs:243:18
[INFO] [stdout]     |
[INFO] [stdout] 243 |             v => crate::bail!("not a f32 {v:?}"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/gguf_file.rs:250:18
[INFO] [stdout]     |
[INFO] [stdout] 250 |             v => crate::bail!("not a f64 {v:?}"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/gguf_file.rs:257:18
[INFO] [stdout]     |
[INFO] [stdout] 257 |             v => crate::bail!("not a bool {v:?}"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/gguf_file.rs:264:18
[INFO] [stdout]     |
[INFO] [stdout] 264 |             v => crate::bail!("not a vec {v:?}"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/gguf_file.rs:271:18
[INFO] [stdout]     |
[INFO] [stdout] 271 |             v => crate::bail!("not a string {v:?}"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/gguf_file.rs:294:22
[INFO] [stdout]     |
[INFO] [stdout] 294 |                 b => crate::bail!("unexpected bool value {b}"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/gguf_file.rs:340:25
[INFO] [stdout]     |
[INFO] [stdout] 340 |                         crate::bail!("multiple value-types in the same array {value_type:?}")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/gguf_file.rs:371:18
[INFO] [stdout]     |
[INFO] [stdout] 371 |             v => crate::bail!("unrecognized value-type {v:#08x}"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/gguf_file.rs:478:21
[INFO] [stdout]     |
[INFO] [stdout] 478 |             None => crate::bail!("cannot find tensor info for {name}"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 |   macro_rules! bail {
[INFO] [stdout] 292 |       ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |           return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/gguf_file.rs:528:13
[INFO] [stdout]     |
[INFO] [stdout] 528 | /             crate::bail!(
[INFO] [stdout] 529 | |                 "internal error, unexpected current position {tensor_start_pos} {offset} {pos}"
[INFO] [stdout] 530 | |             )
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:299:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] ...
[INFO] [stdout] 299 |         return Err($crate::Error::Msg(format!($fmt, $($arg)*).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/imatrix_file.rs:37:9
[INFO] [stdout]     |
[INFO] [stdout]  37 |         crate::bail!("No data in file {}", fname.as_ref().display());
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:299:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] ...
[INFO] [stdout] 299 |         return Err($crate::Error::Msg(format!($fmt, $($arg)*).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/imatrix_file.rs:69:13
[INFO] [stdout]     |
[INFO] [stdout]  69 |             crate::bail!("Invalid nval for entry {}: {}", i + 1, nval);
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:299:39
[INFO] [stdout]      |
[INFO] [stdout]  291 | macro_rules! bail {
[INFO] [stdout] ...
[INFO] [stdout]  299 |         return Err($crate::Error::Msg(format!($fmt, $($arg)*).into()).bt())
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/quantized/k_quants.rs:2325:9
[INFO] [stdout]      |
[INFO] [stdout] 2325 |         crate::bail!("unexpected lhs length {} {mkn:?}", lhs.len());
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/tokenizer.rs:41:14
[INFO] [stdout]     |
[INFO] [stdout]  41 |         _ => crate::bail!("expected numeric value for token type/id, got {v:?}"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/tokenizer.rs:207:13
[INFO] [stdout]     |
[INFO] [stdout] 207 |             crate::bail!("unsupported tokenizer model `{model_kind}`");
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/mod.rs:165:18
[INFO] [stdout]     |
[INFO] [stdout] 165 |             _ => crate::bail!("Invalid quantize storage locations do not match"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/mod.rs:186:18
[INFO] [stdout]     |
[INFO] [stdout] 186 |             _ => crate::bail!("Invalid quantize storage locations do not match"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/mod.rs:198:18
[INFO] [stdout]     |
[INFO] [stdout] 198 |             _ => crate::bail!("Invalid quantize source storage locations: not on cpu"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/mod.rs:219:18
[INFO] [stdout]     |
[INFO] [stdout] 219 |             _ => crate::bail!("Invalid quantize storage locations do not match"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/mod.rs:249:17
[INFO] [stdout]     |
[INFO] [stdout] 249 |                 crate::bail!("not implemented");
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/mod.rs:293:18
[INFO] [stdout]     |
[INFO] [stdout] 293 |             _ => crate::bail!("unknown dtype for tensor {u}"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/mod.rs:466:9
[INFO] [stdout]     |
[INFO] [stdout] 466 |         crate::bail!("scalar tensor cannot be quantized {shape:?}")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:299:39
[INFO] [stdout]     |
[INFO] [stdout] 291 |   macro_rules! bail {
[INFO] [stdout] ...
[INFO] [stdout] 299 |           return Err($crate::Error::Msg(format!($fmt, $($arg)*).into()).bt())
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/mod.rs:469:9
[INFO] [stdout]     |
[INFO] [stdout] 469 | /         crate::bail!(
[INFO] [stdout] 470 | |             "quantized tensor must have their last dim divisible by block size {shape:?} {}",
[INFO] [stdout] 471 | |             block_size
[INFO] [stdout] 472 | |         )
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:299:39
[INFO] [stdout]     |
[INFO] [stdout] 291 |   macro_rules! bail {
[INFO] [stdout] ...
[INFO] [stdout] 299 |           return Err($crate::Error::Msg(format!($fmt, $($arg)*).into()).bt())
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/mod.rs:491:13
[INFO] [stdout]     |
[INFO] [stdout] 491 | /             crate::bail!(
[INFO] [stdout] 492 | |                 "tensor size ({shape:?}) is not divisible by block size {}",
[INFO] [stdout] 493 | |                 block_size
[INFO] [stdout] 494 | |             )
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:299:39
[INFO] [stdout]     |
[INFO] [stdout] 291 |   macro_rules! bail {
[INFO] [stdout] ...
[INFO] [stdout] 299 |           return Err($crate::Error::Msg(format!($fmt, $($arg)*).into()).bt())
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/mod.rs:513:13
[INFO] [stdout]     |
[INFO] [stdout] 513 | /             crate::bail!(
[INFO] [stdout] 514 | |                 "imatrix weights must have the same length {} as the last dim of src {}",
[INFO] [stdout] 515 | |                 imatrix_weights.len(),
[INFO] [stdout] 516 | |                 src.dim(D::Minus1)?
[INFO] [stdout] 517 | |             );
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:299:39
[INFO] [stdout]     |
[INFO] [stdout] 291 |   macro_rules! bail {
[INFO] [stdout] ...
[INFO] [stdout] 299 |           return Err($crate::Error::Msg(format!($fmt, $($arg)*).into()).bt())
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/mod.rs:526:13
[INFO] [stdout]     |
[INFO] [stdout] 526 | /             crate::bail!(
[INFO] [stdout] 527 | |                 "tensor size ({shape:?}) is not divisible by block size {}",
[INFO] [stdout] 528 | |                 block_size
[INFO] [stdout] 529 | |             );
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:299:39
[INFO] [stdout]     |
[INFO] [stdout] 291 |   macro_rules! bail {
[INFO] [stdout] ...
[INFO] [stdout] 299 |           return Err($crate::Error::Msg(format!($fmt, $($arg)*).into()).bt())
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/mod.rs:547:13
[INFO] [stdout]     |
[INFO] [stdout] 547 | /             crate::bail!(
[INFO] [stdout] 548 | |                 "`quantize_onto` expects a `src` to be on the cpu, got {:?}.",
[INFO] [stdout] 549 | |                 src.device()
[INFO] [stdout] 550 | |             )
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:299:39
[INFO] [stdout]     |
[INFO] [stdout] 291 |   macro_rules! bail {
[INFO] [stdout] ...
[INFO] [stdout] 299 |           return Err($crate::Error::Msg(format!($fmt, $($arg)*).into()).bt())
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/mod.rs:556:13
[INFO] [stdout]     |
[INFO] [stdout] 556 | /             crate::bail!(
[INFO] [stdout] 557 | |                 "imatrix weights must have the same length {} as the last dim of src {}",
[INFO] [stdout] 558 | |                 imatrix_weights.len(),
[INFO] [stdout] 559 | |                 src.dim(D::Minus1)?
[INFO] [stdout] 560 | |             );
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:299:39
[INFO] [stdout]     |
[INFO] [stdout] 291 |   macro_rules! bail {
[INFO] [stdout] ...
[INFO] [stdout] 299 |           return Err($crate::Error::Msg(format!($fmt, $($arg)*).into()).bt())
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/mod.rs:568:13
[INFO] [stdout]     |
[INFO] [stdout] 568 | /             crate::bail!(
[INFO] [stdout] 569 | |                 "tensor size ({shape:?}) is not divisible by block size {}",
[INFO] [stdout] 570 | |                 block_size
[INFO] [stdout] 571 | |             )
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:299:39
[INFO] [stdout]     |
[INFO] [stdout] 291 |   macro_rules! bail {
[INFO] [stdout] ...
[INFO] [stdout] 299 |           return Err($crate::Error::Msg(format!($fmt, $($arg)*).into()).bt())
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/mod.rs:585:13
[INFO] [stdout]     |
[INFO] [stdout] 585 | /             crate::bail!(
[INFO] [stdout] 586 | |                 "`quantize_onto` expects a `src` to be on the cpu, got {:?}.",
[INFO] [stdout] 587 | |                 src.device()
[INFO] [stdout] 588 | |             )
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:299:39
[INFO] [stdout]     |
[INFO] [stdout] 291 |   macro_rules! bail {
[INFO] [stdout] ...
[INFO] [stdout] 299 |           return Err($crate::Error::Msg(format!($fmt, $($arg)*).into()).bt())
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/mod.rs:596:13
[INFO] [stdout]     |
[INFO] [stdout] 596 | /             crate::bail!(
[INFO] [stdout] 597 | |                 "tensor size ({shape:?}) is not divisible by block size {}",
[INFO] [stdout] 598 | |                 block_size
[INFO] [stdout] 599 | |             )
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/mod.rs:689:17
[INFO] [stdout]     |
[INFO] [stdout] 689 |                 crate::bail!("not implemented");
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/mod.rs:786:13
[INFO] [stdout]     |
[INFO] [stdout] 786 |             crate::bail!("input tensor is not contiguous {layout:?}")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/mod.rs:792:13
[INFO] [stdout]     |
[INFO] [stdout] 792 |             crate::bail!("input tensor has only one dimension {layout:?}")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:299:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] ...
[INFO] [stdout] 299 |         return Err($crate::Error::Msg(format!($fmt, $($arg)*).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/mod.rs:797:13
[INFO] [stdout]     |
[INFO] [stdout] 797 |             crate::bail!("input tensor {layout:?} incompatible with {:?}", self.shape)
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/mod.rs:804:55
[INFO] [stdout]     |
[INFO] [stdout] 804 |             QStorage::Metal(_) | QStorage::Cuda(_) => crate::bail!("Invalid storage"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/quantized/mod.rs:831:18
[INFO] [stdout]     |
[INFO] [stdout] 831 |             _ => crate::bail!("Expected f32/f16"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/shape.rs:234:13
[INFO] [stdout]     |
[INFO] [stdout] 234 |             crate::bail!("only 2d matrixes are supported {lhs:?} {rhs:?}")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/shape.rs:239:13
[INFO] [stdout]     |
[INFO] [stdout] 239 |             crate::bail!("different inner dimensions in broadcast matmul {lhs:?} {rhs:?}")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/shape.rs:488:9
[INFO] [stdout]     |
[INFO] [stdout] 488 |         crate::bail!("cannot reshape tensor of {el_count} elements to {s:?}")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/shape.rs:491:9
[INFO] [stdout]     |
[INFO] [stdout] 491 |         crate::bail!("cannot reshape tensor with {el_count} elements to {s:?}")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/sort.rs:267:21
[INFO] [stdout]     |
[INFO] [stdout] 267 |             None => crate::bail!("empty last-dim in arg-sort"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/streaming.rs:191:27
[INFO] [stdout]     |
[INFO] [stdout] 191 |             (lhs, rhs) => crate::bail!("INTERNAL ERROR inconsistent lhs and rhs {lhs:?} {rhs:?}"),
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/tensor.rs:499:13
[INFO] [stdout]     |
[INFO] [stdout] 499 |             bail!("step cannot be zero")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:293:39
[INFO] [stdout]      |
[INFO] [stdout]  291 | macro_rules! bail {
[INFO] [stdout]  292 |     ($msg:literal $(,)?) => {
[INFO] [stdout]  293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/tensor.rs:1356:13
[INFO] [stdout]      |
[INFO] [stdout] 1356 |             bail!("kernel-size {kernel_size:?} is larger than the input size {h},{w}")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:293:39
[INFO] [stdout]      |
[INFO] [stdout]  291 | macro_rules! bail {
[INFO] [stdout]  292 |     ($msg:literal $(,)?) => {
[INFO] [stdout]  293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/tensor.rs:1394:13
[INFO] [stdout]      |
[INFO] [stdout] 1394 |             bail!("kernel-size {kernel_size:?} is larger than the input size {h},{w}")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:293:39
[INFO] [stdout]      |
[INFO] [stdout]  291 | macro_rules! bail {
[INFO] [stdout]  292 |     ($msg:literal $(,)?) => {
[INFO] [stdout]  293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/tensor.rs:1451:13
[INFO] [stdout]      |
[INFO] [stdout] 1451 |             bail!("norm not supported for integer dtypes");
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:293:39
[INFO] [stdout]      |
[INFO] [stdout]  291 | macro_rules! bail {
[INFO] [stdout]  292 |     ($msg:literal $(,)?) => {
[INFO] [stdout]  293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/tensor.rs:1668:13
[INFO] [stdout]      |
[INFO] [stdout] 1668 |             crate::bail!("cannot use slice_set when self and src share their storage")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:293:39
[INFO] [stdout]      |
[INFO] [stdout]  291 | macro_rules! bail {
[INFO] [stdout]  292 |     ($msg:literal $(,)?) => {
[INFO] [stdout]  293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/tensor.rs:1707:13
[INFO] [stdout]      |
[INFO] [stdout] 1707 |             crate::bail!("cannot use slice_set when self and src share their storage")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:299:39
[INFO] [stdout]      |
[INFO] [stdout]  291 |   macro_rules! bail {
[INFO] [stdout] ...
[INFO] [stdout]  299 |           return Err($crate::Error::Msg(format!($fmt, $($arg)*).into()).bt())
[INFO] [stdout]      |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/tensor.rs:2301:13
[INFO] [stdout]      |
[INFO] [stdout] 2301 | /             bail!(
[INFO] [stdout] 2302 | |                 "dimension mismatch in permute, tensor {:?}, dims: {:?}",
[INFO] [stdout] 2303 | |                 self.dims(),
[INFO] [stdout] 2304 | |                 dims
[INFO] [stdout] 2305 | |             )
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:299:39
[INFO] [stdout]      |
[INFO] [stdout]  291 |   macro_rules! bail {
[INFO] [stdout] ...
[INFO] [stdout]  299 |           return Err($crate::Error::Msg(format!($fmt, $($arg)*).into()).bt())
[INFO] [stdout]      |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/tensor.rs:2388:21
[INFO] [stdout]      |
[INFO] [stdout] 2388 | /                     bail!(
[INFO] [stdout] 2389 | |                         "not implemented yet, self.device: {:?}, device: {:?}",
[INFO] [stdout] 2390 | |                         self.device(),
[INFO] [stdout] 2391 | |                         device
[INFO] [stdout] 2392 | |                     )
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:293:39
[INFO] [stdout]      |
[INFO] [stdout]  291 | macro_rules! bail {
[INFO] [stdout]  292 |     ($msg:literal $(,)?) => {
[INFO] [stdout]  293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/tensor.rs:2688:13
[INFO] [stdout]      |
[INFO] [stdout] 2688 |             bail!("cannot use pad_with_same on an empty tensor")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:293:39
[INFO] [stdout]      |
[INFO] [stdout]  291 | macro_rules! bail {
[INFO] [stdout]  292 |     ($msg:literal $(,)?) => {
[INFO] [stdout]  293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/tensor.rs:2766:13
[INFO] [stdout]      |
[INFO] [stdout] 2766 |             bail!("axis {axis} is too large, tensor rank {rank}")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:293:39
[INFO] [stdout]      |
[INFO] [stdout]  291 | macro_rules! bail {
[INFO] [stdout]  292 |     ($msg:literal $(,)?) => {
[INFO] [stdout]  293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/tensor.rs:2772:17
[INFO] [stdout]      |
[INFO] [stdout] 2772 |                 bail!("axis {axis} is too small, tensor rank {rank}")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:299:39
[INFO] [stdout]      |
[INFO] [stdout]  291 |   macro_rules! bail {
[INFO] [stdout] ...
[INFO] [stdout]  299 |           return Err($crate::Error::Msg(format!($fmt, $($arg)*).into()).bt())
[INFO] [stdout]      |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/tensor.rs:2834:13
[INFO] [stdout]      |
[INFO] [stdout] 2834 | /             bail!(
[INFO] [stdout] 2835 | |                 "slice-assign requires input with the same rank {} <> {}",
[INFO] [stdout] 2836 | |                 self_dims.len(),
[INFO] [stdout] 2837 | |                 src_dims.len()
[INFO] [stdout] 2838 | |             )
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:299:39
[INFO] [stdout]      |
[INFO] [stdout]  291 |   macro_rules! bail {
[INFO] [stdout] ...
[INFO] [stdout]  299 |           return Err($crate::Error::Msg(format!($fmt, $($arg)*).into()).bt())
[INFO] [stdout]      |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/tensor.rs:2841:13
[INFO] [stdout]      |
[INFO] [stdout] 2841 | /             bail!(
[INFO] [stdout] 2842 | |                 "slice-assign requires input with the same rank as there are ranges {} <> {}",
[INFO] [stdout] 2843 | |                 self_dims.len(),
[INFO] [stdout] 2844 | |                 ranges.len()
[INFO] [stdout] 2845 | |             )
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:293:39
[INFO] [stdout]      |
[INFO] [stdout]  291 | macro_rules! bail {
[INFO] [stdout]  292 |     ($msg:literal $(,)?) => {
[INFO] [stdout]  293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/tensor.rs:2861:17
[INFO] [stdout]      |
[INFO] [stdout] 2861 |                 bail!("slice-assign: empty range for dim {i}, {start_included} {end_excluded}")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:299:39
[INFO] [stdout]      |
[INFO] [stdout]  291 |   macro_rules! bail {
[INFO] [stdout] ...
[INFO] [stdout]  299 |           return Err($crate::Error::Msg(format!($fmt, $($arg)*).into()).bt())
[INFO] [stdout]      |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/tensor.rs:2864:17
[INFO] [stdout]      |
[INFO] [stdout] 2864 | /                 bail!(
[INFO] [stdout] 2865 | |                     "slice-assign: upper bound is out of range for dim {i}, {end_excluded} {}",
[INFO] [stdout] 2866 | |                     self_dims[i]
[INFO] [stdout] 2867 | |                 )
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:299:39
[INFO] [stdout]      |
[INFO] [stdout]  291 |   macro_rules! bail {
[INFO] [stdout] ...
[INFO] [stdout]  299 |           return Err($crate::Error::Msg(format!($fmt, $($arg)*).into()).bt())
[INFO] [stdout]      |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/tensor.rs:2870:17
[INFO] [stdout]      |
[INFO] [stdout] 2870 | / ...   bail!(
[INFO] [stdout] 2871 | | ...       "slice-assign: the range for dim {i} ({start_included}..{end_excluded}) does not match the size of src {}", src_dims[i]
[INFO] [stdout] 2872 | | ...   )
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> src/error.rs:293:39
[INFO] [stdout]      |
[INFO] [stdout]  291 |   macro_rules! bail {
[INFO] [stdout]  292 |       ($msg:literal $(,)?) => {
[INFO] [stdout]  293 |           return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]      |                                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/tensor.rs:2944:13
[INFO] [stdout]      |
[INFO] [stdout] 2944 | /             bail!(
[INFO] [stdout] 2945 | |                 "unsqueeze: maximum size for tensor at dimension {dim} is {max_len} but size is {size}"
[INFO] [stdout] 2946 | |             )
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/tensor_cat.rs:252:13
[INFO] [stdout]     |
[INFO] [stdout] 252 |             crate::bail!("cannot use slice_set when self and src share their storage")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/tensor_cat.rs:280:17
[INFO] [stdout]     |
[INFO] [stdout] 280 |                 crate::bail!("shape mismatch on target dim, dst: {v1}, src: {v2} + {offset}")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/error.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 291 | macro_rules! bail {
[INFO] [stdout] 292 |     ($msg:literal $(,)?) => {
[INFO] [stdout] 293 |         return Err($crate::Error::Msg(format!($msg).into()).bt())
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/tensor_cat.rs:283:17
[INFO] [stdout]     |
[INFO] [stdout] 283 |                 crate::bail!("shape mismatch on dim {dim_idx}, {v1} <> {v2}")
[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 `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `candle-core-fathomdb` (lib test) due to 142 previous errors; 4 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "d093a36a24776e8f6fb79a57e3fc1b82c03c899dcf3652ccfe652888fdaf6338", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d093a36a24776e8f6fb79a57e3fc1b82c03c899dcf3652ccfe652888fdaf6338", kill_on_drop: false }`
[INFO] [stdout] d093a36a24776e8f6fb79a57e3fc1b82c03c899dcf3652ccfe652888fdaf6338
