[INFO] fetching crate candle-core-mold 0.11.0...
[INFO] checking candle-core-mold-0.11.0 against 52995a223f2919dd3e2e427231db90a257350ded for pr-129249-4
[INFO] extracting crate candle-core-mold 0.11.0 into /workspace/builds/worker-0-tc2/source
[INFO] started tweaking crates.io crate candle-core-mold 0.11.0
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate candle-core-mold 0.11.0
[INFO] tweaked toml for crates.io crate candle-core-mold 0.11.0 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate candle-core-mold 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-mold 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] 85439e7c117ce169daf724fd11dd37138382ef7bda6b30d7b9decbd12c1b9f5d
[INFO] running `Command { std: "docker" "start" "85439e7c117ce169daf724fd11dd37138382ef7bda6b30d7b9decbd12c1b9f5d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "85439e7c117ce169daf724fd11dd37138382ef7bda6b30d7b9decbd12c1b9f5d", 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" "85439e7c117ce169daf724fd11dd37138382ef7bda6b30d7b9decbd12c1b9f5d" "/opt/rustwide/cargo-home/bin/cargo" "+52995a223f2919dd3e2e427231db90a257350ded" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "85439e7c117ce169daf724fd11dd37138382ef7bda6b30d7b9decbd12c1b9f5d", 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" "85439e7c117ce169daf724fd11dd37138382ef7bda6b30d7b9decbd12c1b9f5d" "/opt/rustwide/cargo-home/bin/cargo" "+52995a223f2919dd3e2e427231db90a257350ded" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling zerocopy v0.8.47
[INFO] [stderr]     Checking bitflags v2.11.0
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling cc v1.2.57
[INFO] [stderr]    Compiling pulp v0.22.2
[INFO] [stderr]     Checking pulp-wasm-simd-flag v0.1.0
[INFO] [stderr]     Checking reborrow v0.5.5
[INFO] [stderr]    Compiling dyn-stack-macros v0.1.3
[INFO] [stderr]    Compiling seq-macro v0.3.6
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]     Checking regex-syntax v0.8.10
[INFO] [stderr]     Checking foldhash v0.2.0
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]     Checking hashbrown v0.16.1
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]     Checking raw-cpuid v11.6.0
[INFO] [stderr]     Checking minimal-lexical v0.2.1
[INFO] [stderr]    Compiling esaxx-rs v0.1.10
[INFO] [stderr]     Checking rustix v1.1.4
[INFO] [stderr]     Checking itertools v0.14.0
[INFO] [stderr]     Checking stable_deref_trait v1.2.1
[INFO] [stderr]     Checking ciborium-io v0.2.2
[INFO] [stderr]     Checking base64 v0.13.1
[INFO] [stderr]    Compiling macro_rules_attribute-proc_macro v0.2.2
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking unicode-normalization-alignments v0.1.12
[INFO] [stderr]     Checking clap_builder v4.6.0
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking macro_rules_attribute v0.2.2
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]     Checking cast v0.3.0
[INFO] [stderr]     Checking log v0.4.29
[INFO] [stderr]     Checking crossbeam-deque v0.8.6
[INFO] [stderr]     Checking rayon-core v1.13.0
[INFO] [stderr]     Checking unicode_categories v0.1.1
[INFO] [stderr]     Checking typed-path v0.12.3
[INFO] [stderr]     Checking indexmap v2.13.0
[INFO] [stderr]     Checking anes v0.1.6
[INFO] [stderr]     Checking oorandom v11.1.5
[INFO] [stderr]    Compiling onig_sys v69.9.1
[INFO] [stderr]    Compiling alloca v0.4.0
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]     Checking num_cpus v1.17.0
[INFO] [stderr]     Checking memmap2 v0.9.10
[INFO] [stderr]     Checking page_size v0.6.0
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]     Checking rayon v1.11.0
[INFO] [stderr]     Checking tempfile v3.27.0
[INFO] [stderr]     Checking zip v8.6.0
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking criterion-plot v0.8.2
[INFO] [stderr]     Checking rayon-cond v0.4.0
[INFO] [stderr]     Checking regex v1.12.3
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]     Checking onig v6.5.1
[INFO] [stderr]    Compiling zerocopy-derive v0.8.47
[INFO] [stderr]    Compiling bytemuck_derive v1.10.2
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling monostate-impl v0.1.18
[INFO] [stderr]    Compiling clap_derive v4.6.0
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]     Checking monostate v0.1.18
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking yoke v0.8.1
[INFO] [stderr]     Checking thiserror v2.0.18
[INFO] [stderr]     Checking bytemuck v1.25.0
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]     Checking dyn-stack v0.13.2
[INFO] [stderr]     Checking clap v4.6.0
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]    Compiling derive_builder_core v0.20.2
[INFO] [stderr]    Compiling derive_builder_macro v0.20.2
[INFO] [stderr]     Checking derive_builder v0.20.2
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking spm_precompiled v0.1.4
[INFO] [stderr]     Checking compact_str v0.9.0
[INFO] [stderr]     Checking dary_heap v0.3.8
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking safetensors v0.8.0
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking rand v0.9.2
[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-mold 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:43:14
[INFO] [stdout]    |
[INFO] [stdout] 43 |         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:45:14
[INFO] [stdout]    |
[INFO] [stdout] 45 |         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:67:14
[INFO] [stdout]    |
[INFO] [stdout] 67 |         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:69:14
[INFO] [stdout]    |
[INFO] [stdout] 69 |         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:43:14
[INFO] [stdout]    |
[INFO] [stdout] 43 |         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:45:14
[INFO] [stdout]    |
[INFO] [stdout] 45 |         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:67:14
[INFO] [stdout]    |
[INFO] [stdout] 67 |         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:69:14
[INFO] [stdout]    |
[INFO] [stdout] 69 |         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:1686:30
[INFO] [stdout]      |
[INFO] [stdout] 1686 |                         _ => 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:1697:30
[INFO] [stdout]      |
[INFO] [stdout] 1697 |                         _ => 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:1708:30
[INFO] [stdout]      |
[INFO] [stdout] 1708 |                         _ => 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:1719:30
[INFO] [stdout]      |
[INFO] [stdout] 1719 |                         _ => 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:1730:30
[INFO] [stdout]      |
[INFO] [stdout] 1730 |                         _ => 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:1741:30
[INFO] [stdout]      |
[INFO] [stdout] 1741 |                         _ => 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:1752:30
[INFO] [stdout]      |
[INFO] [stdout] 1752 |                         _ => 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:1763:30
[INFO] [stdout]      |
[INFO] [stdout] 1763 |                         _ => 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:1774:30
[INFO] [stdout]      |
[INFO] [stdout] 1774 |                         _ => 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:1785:30
[INFO] [stdout]      |
[INFO] [stdout] 1785 |                         _ => 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:1796:30
[INFO] [stdout]      |
[INFO] [stdout] 1796 |                         _ => 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:1807:30
[INFO] [stdout]      |
[INFO] [stdout] 1807 |                         _ => 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:1818:30
[INFO] [stdout]      |
[INFO] [stdout] 1818 |                         _ => 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:1829:30
[INFO] [stdout]      |
[INFO] [stdout] 1829 |                         _ => 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:2814:17
[INFO] [stdout]      |
[INFO] [stdout] 2814 | /                 crate::bail!(
[INFO] [stdout] 2815 | |                     "convtr1d: the second argument (kernel) has to be contiguous {kernel_l:?}"
[INFO] [stdout] 2816 | |                 )
[INFO] [stdout]      | |_________________- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]      = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid 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:2819:17
[INFO] [stdout]      |
[INFO] [stdout] 2819 | /                 crate::bail!(
[INFO] [stdout] 2820 | |                     "convtr1d: shape mismatch on c_in {:?} {:?}",
[INFO] [stdout] 2821 | |                     l.shape(),
[INFO] [stdout] 2822 | |                     kernel_l.shape()
[INFO] [stdout] 2823 | |                 )
[INFO] [stdout]      | |_________________- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]      = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid 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:3048:17
[INFO] [stdout]      |
[INFO] [stdout] 3048 |                 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:3051:17
[INFO] [stdout]      |
[INFO] [stdout] 3051 |                 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:3054:17
[INFO] [stdout]      |
[INFO] [stdout] 3054 |                 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:3057:17
[INFO] [stdout]      |
[INFO] [stdout] 3057 |                 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:3059:24
[INFO] [stdout]      |
[INFO] [stdout] 3059 |               (st, s) => crate::bail!(
[INFO] [stdout]      |  ________________________-
[INFO] [stdout] 3060 | |                 "const_set dtype mismatch, expected {:?} but got {:?}",
[INFO] [stdout] 3061 | |                 st.dtype(),
[INFO] [stdout] 3062 | |                 s
[INFO] [stdout] 3063 | |             ),
[INFO] [stdout]      | |_____________- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]      = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid 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:3097:9
[INFO] [stdout]      |
[INFO] [stdout] 3097 |         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:3101:9
[INFO] [stdout]      |
[INFO] [stdout] 3101 |         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:189:13
[INFO] [stdout]     |
[INFO] [stdout] 189 | /             crate::bail!(
[INFO] [stdout] 190 | |                 "dimension mismatch in permute, tensor {:?}, dims: {:?}",
[INFO] [stdout] 191 | |                 self.dims(),
[INFO] [stdout] 192 | |                 idxs
[INFO] [stdout] 193 | |             )
[INFO] [stdout]     | |_____________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid 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:405:21
[INFO] [stdout]     |
[INFO] [stdout] 405 |             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:45:18
[INFO] [stdout]     |
[INFO] [stdout]  45 |             _ => 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:67:18
[INFO] [stdout]     |
[INFO] [stdout]  67 |             _ => 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:97:13
[INFO] [stdout]     |
[INFO] [stdout]  97 | /             crate::bail!(
[INFO] [stdout]  98 | |             "the number of elements {tensor_elems} is not divisible by the block size {block_size}"
[INFO] [stdout]  99 | |         )
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid 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:106:13
[INFO] [stdout]     |
[INFO] [stdout] 106 | /             crate::bail!(
[INFO] [stdout] 107 | |                 "tensor needs {size_in_bytes} bytes at offset {tensor_start}, only {remaining} remaining in file"
[INFO] [stdout] 108 | |             )
[INFO] [stdout]     | |_____________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid 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:137:9
[INFO] [stdout]     |
[INFO] [stdout] 137 |         crate::bail!("gguf: string length {len} exceeds max {GGUF_MAX_STRING_LENGTH}")
[INFO] [stdout]     |         ------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid 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:141:9
[INFO] [stdout]     |
[INFO] [stdout] 141 |         crate::bail!("gguf: string length {len} exceeds remaining file bytes {remaining}")
[INFO] [stdout]     |         ---------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid 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:225:18
[INFO] [stdout]     |
[INFO] [stdout] 225 |             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:232:18
[INFO] [stdout]     |
[INFO] [stdout] 232 |             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:239:18
[INFO] [stdout]     |
[INFO] [stdout] 239 |             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:246:18
[INFO] [stdout]     |
[INFO] [stdout] 246 |             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:253:18
[INFO] [stdout]     |
[INFO] [stdout] 253 |             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:260:18
[INFO] [stdout]     |
[INFO] [stdout] 260 |             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:273:18
[INFO] [stdout]     |
[INFO] [stdout] 273 |             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:280:18
[INFO] [stdout]     |
[INFO] [stdout] 280 |             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:287:18
[INFO] [stdout]     |
[INFO] [stdout] 287 |             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:294:18
[INFO] [stdout]     |
[INFO] [stdout] 294 |             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:301:18
[INFO] [stdout]     |
[INFO] [stdout] 301 |             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:308:18
[INFO] [stdout]     |
[INFO] [stdout] 308 |             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:315:18
[INFO] [stdout]     |
[INFO] [stdout] 315 |             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:327:13
[INFO] [stdout]     |
[INFO] [stdout] 327 |             crate::bail!("gguf: value nesting depth exceeds max {GGUF_MAX_VALUE_DEPTH}")
[INFO] [stdout]     |             ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid 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:343:22
[INFO] [stdout]     |
[INFO] [stdout] 343 |                 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:351:21
[INFO] [stdout]     |
[INFO] [stdout] 351 |                     crate::bail!("gguf: array length {len} exceeds max {GGUF_MAX_ARRAY_ELEMENTS}")
[INFO] [stdout]     |                     ------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid 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:356:21
[INFO] [stdout]     |
[INFO] [stdout] 356 | /                     crate::bail!(
[INFO] [stdout] 357 | |                         "gguf: array of {len} elements needs at least {needed} bytes, only {remaining} remaining"
[INFO] [stdout] 358 | |                     )
[INFO] [stdout]     | |_____________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid 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:400:25
[INFO] [stdout]     |
[INFO] [stdout] 400 |                         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:431:18
[INFO] [stdout]     |
[INFO] [stdout] 431 |             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:481:13
[INFO] [stdout]     |
[INFO] [stdout] 481 |             crate::bail!("gguf: tensor_count {tensor_count} exceeds max {GGUF_MAX_ARRAY_ELEMENTS}")
[INFO] [stdout]     |             --------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid 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:484:13
[INFO] [stdout]     |
[INFO] [stdout] 484 | /             crate::bail!(
[INFO] [stdout] 485 | |                 "gguf: metadata_kv_count {metadata_kv_count} exceeds max {GGUF_MAX_ARRAY_ELEMENTS}"
[INFO] [stdout] 486 | |             )
[INFO] [stdout]     | |_____________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid 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:501:13
[INFO] [stdout]     |
[INFO] [stdout] 501 | / ...   crate::bail!(
[INFO] [stdout] 502 | | ...       "gguf: header declares {tensor_count} tensors and {metadata_kv_count} metadata entries, needs at least {needed} bytes, ...
[INFO] [stdout] 503 | | ...   )
[INFO] [stdout]     | |_______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid 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:519:17
[INFO] [stdout]     |
[INFO] [stdout] 519 | /                 crate::bail!(
[INFO] [stdout] 520 | |                     "gguf: tensor '{tensor_name}' has {n_dimensions} dimensions, max is {GGUF_MAX_TENSOR_DIMS}"
[INFO] [stdout] 521 | |                 )
[INFO] [stdout]     | |_________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid 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:577:21
[INFO] [stdout]     |
[INFO] [stdout] 577 |             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:627:13
[INFO] [stdout]     |
[INFO] [stdout] 627 | /             crate::bail!(
[INFO] [stdout] 628 | |                 "internal error, unexpected current position {tensor_start_pos} {offset} {pos}"
[INFO] [stdout] 629 | |             )
[INFO] [stdout]     | |_____________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid 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:2661:9
[INFO] [stdout]      |
[INFO] [stdout] 2661 |         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:174:18
[INFO] [stdout]     |
[INFO] [stdout] 174 |             _ => 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:195:18
[INFO] [stdout]     |
[INFO] [stdout] 195 |             _ => 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:207:18
[INFO] [stdout]     |
[INFO] [stdout] 207 |             _ => 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:228:18
[INFO] [stdout]     |
[INFO] [stdout] 228 |             _ => 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:258:17
[INFO] [stdout]     |
[INFO] [stdout] 258 |                 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:318:18
[INFO] [stdout]     |
[INFO] [stdout] 318 |             _ => 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: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:451:13
[INFO] [stdout]     |
[INFO] [stdout] 451 | /             crate::bail!(
[INFO] [stdout] 452 | |                 "quantized embedding hidden size {hidden} is not divisible by block size {}",
[INFO] [stdout] 453 | |                 T::BLCK_SIZE
[INFO] [stdout] 454 | |             )
[INFO] [stdout]     | |_____________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid 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:458:13
[INFO] [stdout]     |
[INFO] [stdout] 458 | /             crate::bail!(
[INFO] [stdout] 459 | |                 "quantized tensor has {} blocks, expected {}",
[INFO] [stdout] 460 | |                 self.len(),
[INFO] [stdout] 461 | |                 rows * row_blocks
[INFO] [stdout] 462 | |             )
[INFO] [stdout]     | |_____________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid 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:468:17
[INFO] [stdout]     |
[INFO] [stdout] 468 |                 crate::bail!("embedding id {row} is out of range for {rows} rows")
[INFO] [stdout]     |                 ------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid 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:521:9
[INFO] [stdout]     |
[INFO] [stdout] 521 |         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:524:9
[INFO] [stdout]     |
[INFO] [stdout] 524 | /         crate::bail!(
[INFO] [stdout] 525 | |             "quantized tensor must have their last dim divisible by block size {shape:?} {}",
[INFO] [stdout] 526 | |             block_size
[INFO] [stdout] 527 | |         )
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid 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:550:13
[INFO] [stdout]     |
[INFO] [stdout] 550 | /             crate::bail!(
[INFO] [stdout] 551 | |                 "tensor size ({shape:?}) is not divisible by block size {}",
[INFO] [stdout] 552 | |                 block_size
[INFO] [stdout] 553 | |             )
[INFO] [stdout]     | |_____________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid 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:579:13
[INFO] [stdout]     |
[INFO] [stdout] 579 | /             crate::bail!(
[INFO] [stdout] 580 | |                 "tensor size ({shape:?}) is not divisible by block size {}",
[INFO] [stdout] 581 | |                 block_size
[INFO] [stdout] 582 | |             )
[INFO] [stdout]     | |_____________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid 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:602:13
[INFO] [stdout]     |
[INFO] [stdout] 602 | /             crate::bail!(
[INFO] [stdout] 603 | |                 "imatrix weights must have the same length {} as the last dim of src {}",
[INFO] [stdout] 604 | |                 imatrix_weights.len(),
[INFO] [stdout] 605 | |                 src.dim(D::Minus1)?
[INFO] [stdout] 606 | |             );
[INFO] [stdout]     | |_____________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid 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:615:13
[INFO] [stdout]     |
[INFO] [stdout] 615 | /             crate::bail!(
[INFO] [stdout] 616 | |                 "tensor size ({shape:?}) is not divisible by block size {}",
[INFO] [stdout] 617 | |                 block_size
[INFO] [stdout] 618 | |             );
[INFO] [stdout]     | |_____________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid 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:637:13
[INFO] [stdout]     |
[INFO] [stdout] 637 | /             crate::bail!(
[INFO] [stdout] 638 | |                 "`quantize_onto` expects a `src` to be on the cpu, got {:?}.",
[INFO] [stdout] 639 | |                 src.device()
[INFO] [stdout] 640 | |             )
[INFO] [stdout]     | |_____________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid 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:646:13
[INFO] [stdout]     |
[INFO] [stdout] 646 | /             crate::bail!(
[INFO] [stdout] 647 | |                 "imatrix weights must have the same length {} as the last dim of src {}",
[INFO] [stdout] 648 | |                 imatrix_weights.len(),
[INFO] [stdout] 649 | |                 src.dim(D::Minus1)?
[INFO] [stdout] 650 | |             );
[INFO] [stdout]     | |_____________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid 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:658:13
[INFO] [stdout]     |
[INFO] [stdout] 658 | /             crate::bail!(
[INFO] [stdout] 659 | |                 "tensor size ({shape:?}) is not divisible by block size {}",
[INFO] [stdout] 660 | |                 block_size
[INFO] [stdout] 661 | |             )
[INFO] [stdout]     | |_____________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid 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:676:13
[INFO] [stdout]     |
[INFO] [stdout] 676 | /             crate::bail!(
[INFO] [stdout] 677 | |                 "`quantize_onto` expects a `src` to be on the cpu, got {:?}.",
[INFO] [stdout] 678 | |                 src.device()
[INFO] [stdout] 679 | |             )
[INFO] [stdout]     | |_____________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid 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:687:13
[INFO] [stdout]     |
[INFO] [stdout] 687 | /             crate::bail!(
[INFO] [stdout] 688 | |                 "tensor size ({shape:?}) is not divisible by block size {}",
[INFO] [stdout] 689 | |                 block_size
[INFO] [stdout] 690 | |             )
[INFO] [stdout]     | |_____________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid 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:698:18
[INFO] [stdout]     |
[INFO] [stdout] 698 |             _ => crate::bail!("expected CPU storage for quantize_onto source"),
[INFO] [stdout]     |                  ------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid 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:764:13
[INFO] [stdout]     |
[INFO] [stdout] 764 | /             crate::bail!(
[INFO] [stdout] 765 | |                 "quantized embedding hidden size {hidden} is not divisible by block size {}",
[INFO] [stdout] 766 | |                 self.dtype().block_size()
[INFO] [stdout] 767 | |             )
[INFO] [stdout]     | |_____________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid 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:839:17
[INFO] [stdout]     |
[INFO] [stdout] 839 |                 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:959:13
[INFO] [stdout]     |
[INFO] [stdout] 959 |             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:965:13
[INFO] [stdout]     |
[INFO] [stdout] 965 |             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:970:13
[INFO] [stdout]     |
[INFO] [stdout] 970 |             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:977:55
[INFO] [stdout]     |
[INFO] [stdout] 977 |             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:1040:18
[INFO] [stdout]      |
[INFO] [stdout] 1040 |             _ => 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:271:21
[INFO] [stdout]     |
[INFO] [stdout] 271 |             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:253:13
[INFO] [stdout]     |
[INFO] [stdout] 253 |             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:281:17
[INFO] [stdout]     |
[INFO] [stdout] 281 |                 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:284:17
[INFO] [stdout]     |
[INFO] [stdout] 284 |                 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] [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:1686:30
[INFO] [stdout]      |
[INFO] [stdout] 1686 |                         _ => 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:1697:30
[INFO] [stdout]      |
[INFO] [stdout] 1697 |                         _ => 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:1708:30
[INFO] [stdout]      |
[INFO] [stdout] 1708 |                         _ => 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:1719:30
[INFO] [stdout]      |
[INFO] [stdout] 1719 |                         _ => 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:1730:30
[INFO] [stdout]      |
[INFO] [stdout] 1730 |                         _ => 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:1741:30
[INFO] [stdout]      |
[INFO] [stdout] 1741 |                         _ => 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:1752:30
[INFO] [stdout]      |
[INFO] [stdout] 1752 |                         _ => 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:1763:30
[INFO] [stdout]      |
[INFO] [stdout] 1763 |                         _ => 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:1774:30
[INFO] [stdout]      |
[INFO] [stdout] 1774 |                         _ => 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:1785:30
[INFO] [stdout]      |
[INFO] [stdout] 1785 |                         _ => 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:1796:30
[INFO] [stdout]      |
[INFO] [stdout] 1796 |                         _ => 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:1807:30
[INFO] [stdout]      |
[INFO] [stdout] 1807 |                         _ => 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:1818:30
[INFO] [stdout]      |
[INFO] [stdout] 1818 |                         _ => 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:1829:30
[INFO] [stdout]      |
[INFO] [stdout] 1829 |                         _ => 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:2814:17
[INFO] [stdout]      |
[INFO] [stdout] 2814 | /                 crate::bail!(
[INFO] [stdout] 2815 | |                     "convtr1d: the second argument (kernel) has to be contiguous {kernel_l:?}"
[INFO] [stdout] 2816 | |                 )
[INFO] [stdout]      | |_________________- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]      = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid 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:2819:17
[INFO] [stdout]      |
[INFO] [stdout] 2819 | /                 crate::bail!(
[INFO] [stdout] 2820 | |                     "convtr1d: shape mismatch on c_in {:?} {:?}",
[INFO] [stdout] 2821 | |                     l.shape(),
[INFO] [stdout] 2822 | |                     kernel_l.shape()
[INFO] [stdout] 2823 | |                 )
[INFO] [stdout]      | |_________________- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]      = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid 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:3048:17
[INFO] [stdout]      |
[INFO] [stdout] 3048 |                 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:3051:17
[INFO] [stdout]      |
[INFO] [stdout] 3051 |                 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:3054:17
[INFO] [stdout]      |
[INFO] [stdout] 3054 |                 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:3057:17
[INFO] [stdout]      |
[INFO] [stdout] 3057 |                 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:3059:24
[INFO] [stdout]      |
[INFO] [stdout] 3059 |               (st, s) => crate::bail!(
[INFO] [stdout]      |  ________________________-
[INFO] [stdout] 3060 | |                 "const_set dtype mismatch, expected {:?} but got {:?}",
[INFO] [stdout] 3061 | |                 st.dtype(),
[INFO] [stdout] 3062 | |                 s
[INFO] [stdout] 3063 | |             ),
[INFO] [stdout]      | |_____________- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]      = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid 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:3097:9
[INFO] [stdout]      |
[INFO] [stdout] 3097 |         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:3101:9
[INFO] [stdout]      |
[INFO] [stdout] 3101 |         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:189:13
[INFO] [stdout]     |
[INFO] [stdout] 189 | /             crate::bail!(
[INFO] [stdout] 190 | |                 "dimension mismatch in permute, tensor {:?}, dims: {:?}",
[INFO] [stdout] 191 | |                 self.dims(),
[INFO] [stdout] 192 | |                 idxs
[INFO] [stdout] 193 | |             )
[INFO] [stdout]     | |_____________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid 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:405:21
[INFO] [stdout]     |
[INFO] [stdout] 405 |             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:45:18
[INFO] [stdout]     |
[INFO] [stdout]  45 |             _ => 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:67:18
[INFO] [stdout]     |
[INFO] [stdout]  67 |             _ => 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:97:13
[INFO] [stdout]     |
[INFO] [stdout]  97 | /             crate::bail!(
[INFO] [stdout]  98 | |             "the number of elements {tensor_elems} is not divisible by the block size {block_size}"
[INFO] [stdout]  99 | |         )
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid 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:106:13
[INFO] [stdout]     |
[INFO] [stdout] 106 | /             crate::bail!(
[INFO] [stdout] 107 | |                 "tensor needs {size_in_bytes} bytes at offset {tensor_start}, only {remaining} remaining in file"
[INFO] [stdout] 108 | |             )
[INFO] [stdout]     | |_____________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid 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:137:9
[INFO] [stdout]     |
[INFO] [stdout] 137 |         crate::bail!("gguf: string length {len} exceeds max {GGUF_MAX_STRING_LENGTH}")
[INFO] [stdout]     |         ------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid 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:141:9
[INFO] [stdout]     |
[INFO] [stdout] 141 |         crate::bail!("gguf: string length {len} exceeds remaining file bytes {remaining}")
[INFO] [stdout]     |         ---------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid 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:225:18
[INFO] [stdout]     |
[INFO] [stdout] 225 |             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:232:18
[INFO] [stdout]     |
[INFO] [stdout] 232 |             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:239:18
[INFO] [stdout]     |
[INFO] [stdout] 239 |             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:246:18
[INFO] [stdout]     |
[INFO] [stdout] 246 |             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:253:18
[INFO] [stdout]     |
[INFO] [stdout] 253 |             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:260:18
[INFO] [stdout]     |
[INFO] [stdout] 260 |             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:273:18
[INFO] [stdout]     |
[INFO] [stdout] 273 |             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:280:18
[INFO] [stdout]     |
[INFO] [stdout] 280 |             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:287:18
[INFO] [stdout]     |
[INFO] [stdout] 287 |             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:294:18
[INFO] [stdout]     |
[INFO] [stdout] 294 |             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:301:18
[INFO] [stdout]     |
[INFO] [stdout] 301 |             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:308:18
[INFO] [stdout]     |
[INFO] [stdout] 308 |             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:315:18
[INFO] [stdout]     |
[INFO] [stdout] 315 |             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:327:13
[INFO] [stdout]     |
[INFO] [stdout] 327 |             crate::bail!("gguf: value nesting depth exceeds max {GGUF_MAX_VALUE_DEPTH}")
[INFO] [stdout]     |             ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid 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:343:22
[INFO] [stdout]     |
[INFO] [stdout] 343 |                 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:351:21
[INFO] [stdout]     |
[INFO] [stdout] 351 |                     crate::bail!("gguf: array length {len} exceeds max {GGUF_MAX_ARRAY_ELEMENTS}")
[INFO] [stdout]     |                     ------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid 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:356:21
[INFO] [stdout]     |
[INFO] [stdout] 356 | /                     crate::bail!(
[INFO] [stdout] 357 | |                         "gguf: array of {len} elements needs at least {needed} bytes, only {remaining} remaining"
[INFO] [stdout] 358 | |                     )
[INFO] [stdout]     | |_____________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid 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:400:25
[INFO] [stdout]     |
[INFO] [stdout] 400 |                         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:431:18
[INFO] [stdout]     |
[INFO] [stdout] 431 |             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:481:13
[INFO] [stdout]     |
[INFO] [stdout] 481 |             crate::bail!("gguf: tensor_count {tensor_count} exceeds max {GGUF_MAX_ARRAY_ELEMENTS}")
[INFO] [stdout]     |             --------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid 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:484:13
[INFO] [stdout]     |
[INFO] [stdout] 484 | /             crate::bail!(
[INFO] [stdout] 485 | |                 "gguf: metadata_kv_count {metadata_kv_count} exceeds max {GGUF_MAX_ARRAY_ELEMENTS}"
[INFO] [stdout] 486 | |             )
[INFO] [stdout]     | |_____________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid 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:501:13
[INFO] [stdout]     |
[INFO] [stdout] 501 | / ...   crate::bail!(
[INFO] [stdout] 502 | | ...       "gguf: header declares {tensor_count} tensors and {metadata_kv_count} metadata entries, needs at least {needed} bytes, ...
[INFO] [stdout] 503 | | ...   )
[INFO] [stdout]     | |_______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid 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:519:17
[INFO] [stdout]     |
[INFO] [stdout] 519 | /                 crate::bail!(
[INFO] [stdout] 520 | |                     "gguf: tensor '{tensor_name}' has {n_dimensions} dimensions, max is {GGUF_MAX_TENSOR_DIMS}"
[INFO] [stdout] 521 | |                 )
[INFO] [stdout]     | |_________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid 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:577:21
[INFO] [stdout]     |
[INFO] [stdout] 577 |             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:627:13
[INFO] [stdout]     |
[INFO] [stdout] 627 | /             crate::bail!(
[INFO] [stdout] 628 | |                 "internal error, unexpected current position {tensor_start_pos} {offset} {pos}"
[INFO] [stdout] 629 | |             )
[INFO] [stdout]     | |_____________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid 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:2661:9
[INFO] [stdout]      |
[INFO] [stdout] 2661 |         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:174:18
[INFO] [stdout]     |
[INFO] [stdout] 174 |             _ => 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:195:18
[INFO] [stdout]     |
[INFO] [stdout] 195 |             _ => 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:207:18
[INFO] [stdout]     |
[INFO] [stdout] 207 |             _ => 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:228:18
[INFO] [stdout]     |
[INFO] [stdout] 228 |             _ => 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:258:17
[INFO] [stdout]     |
[INFO] [stdout] 258 |                 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:318:18
[INFO] [stdout]     |
[INFO] [stdout] 318 |             _ => 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: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:451:13
[INFO] [stdout]     |
[INFO] [stdout] 451 | /             crate::bail!(
[INFO] [stdout] 452 | |                 "quantized embedding hidden size {hidden} is not divisible by block size {}",
[INFO] [stdout] 453 | |                 T::BLCK_SIZE
[INFO] [stdout] 454 | |             )
[INFO] [stdout]     | |_____________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid 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:458:13
[INFO] [stdout]     |
[INFO] [stdout] 458 | /             crate::bail!(
[INFO] [stdout] 459 | |                 "quantized tensor has {} blocks, expected {}",
[INFO] [stdout] 460 | |                 self.len(),
[INFO] [stdout] 461 | |                 rows * row_blocks
[INFO] [stdout] 462 | |             )
[INFO] [stdout]     | |_____________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid 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:468:17
[INFO] [stdout]     |
[INFO] [stdout] 468 |                 crate::bail!("embedding id {row} is out of range for {rows} rows")
[INFO] [stdout]     |                 ------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid 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:521:9
[INFO] [stdout]     |
[INFO] [stdout] 521 |         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:524:9
[INFO] [stdout]     |
[INFO] [stdout] 524 | /         crate::bail!(
[INFO] [stdout] 525 | |             "quantized tensor must have their last dim divisible by block size {shape:?} {}",
[INFO] [stdout] 526 | |             block_size
[INFO] [stdout] 527 | |         )
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid 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:550:13
[INFO] [stdout]     |
[INFO] [stdout] 550 | /             crate::bail!(
[INFO] [stdout] 551 | |                 "tensor size ({shape:?}) is not divisible by block size {}",
[INFO] [stdout] 552 | |                 block_size
[INFO] [stdout] 553 | |             )
[INFO] [stdout]     | |_____________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid 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:579:13
[INFO] [stdout]     |
[INFO] [stdout] 579 | /             crate::bail!(
[INFO] [stdout] 580 | |                 "tensor size ({shape:?}) is not divisible by block size {}",
[INFO] [stdout] 581 | |                 block_size
[INFO] [stdout] 582 | |             )
[INFO] [stdout]     | |_____________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid 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:602:13
[INFO] [stdout]     |
[INFO] [stdout] 602 | /             crate::bail!(
[INFO] [stdout] 603 | |                 "imatrix weights must have the same length {} as the last dim of src {}",
[INFO] [stdout] 604 | |                 imatrix_weights.len(),
[INFO] [stdout] 605 | |                 src.dim(D::Minus1)?
[INFO] [stdout] 606 | |             );
[INFO] [stdout]     | |_____________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid 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:615:13
[INFO] [stdout]     |
[INFO] [stdout] 615 | /             crate::bail!(
[INFO] [stdout] 616 | |                 "tensor size ({shape:?}) is not divisible by block size {}",
[INFO] [stdout] 617 | |                 block_size
[INFO] [stdout] 618 | |             );
[INFO] [stdout]     | |_____________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid 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:637:13
[INFO] [stdout]     |
[INFO] [stdout] 637 | /             crate::bail!(
[INFO] [stdout] 638 | |                 "`quantize_onto` expects a `src` to be on the cpu, got {:?}.",
[INFO] [stdout] 639 | |                 src.device()
[INFO] [stdout] 640 | |             )
[INFO] [stdout]     | |_____________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid 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:646:13
[INFO] [stdout]     |
[INFO] [stdout] 646 | /             crate::bail!(
[INFO] [stdout] 647 | |                 "imatrix weights must have the same length {} as the last dim of src {}",
[INFO] [stdout] 648 | |                 imatrix_weights.len(),
[INFO] [stdout] 649 | |                 src.dim(D::Minus1)?
[INFO] [stdout] 650 | |             );
[INFO] [stdout]     | |_____________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid 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:658:13
[INFO] [stdout]     |
[INFO] [stdout] 658 | /             crate::bail!(
[INFO] [stdout] 659 | |                 "tensor size ({shape:?}) is not divisible by block size {}",
[INFO] [stdout] 660 | |                 block_size
[INFO] [stdout] 661 | |             )
[INFO] [stdout]     | |_____________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid 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:676:13
[INFO] [stdout]     |
[INFO] [stdout] 676 | /             crate::bail!(
[INFO] [stdout] 677 | |                 "`quantize_onto` expects a `src` to be on the cpu, got {:?}.",
[INFO] [stdout] 678 | |                 src.device()
[INFO] [stdout] 679 | |             )
[INFO] [stdout]     | |_____________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid 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:687:13
[INFO] [stdout]     |
[INFO] [stdout] 687 | /             crate::bail!(
[INFO] [stdout] 688 | |                 "tensor size ({shape:?}) is not divisible by block size {}",
[INFO] [stdout] 689 | |                 block_size
[INFO] [stdout] 690 | |             )
[INFO] [stdout]     | |_____________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid 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:698:18
[INFO] [stdout]     |
[INFO] [stdout] 698 |             _ => crate::bail!("expected CPU storage for quantize_onto source"),
[INFO] [stdout]     |                  ------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid 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:764:13
[INFO] [stdout]     |
[INFO] [stdout] 764 | /             crate::bail!(
[INFO] [stdout] 765 | |                 "quantized embedding hidden size {hidden} is not divisible by block size {}",
[INFO] [stdout] 766 | |                 self.dtype().block_size()
[INFO] [stdout] 767 | |             )
[INFO] [stdout]     | |_____________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid 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:839:17
[INFO] [stdout]     |
[INFO] [stdout] 839 |                 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:959:13
[INFO] [stdout]     |
[INFO] [stdout] 959 |             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:965:13
[INFO] [stdout]     |
[INFO] [stdout] 965 |             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:970:13
[INFO] [stdout]     |
[INFO] [stdout] 970 |             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:977:55
[INFO] [stdout]     |
[INFO] [stdout] 977 |             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:1040:18
[INFO] [stdout]      |
[INFO] [stdout] 1040 |             _ => 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:271:21
[INFO] [stdout]     |
[INFO] [stdout] 271 |             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:253:13
[INFO] [stdout]     |
[INFO] [stdout] 253 |             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:281:17
[INFO] [stdout]     |
[INFO] [stdout] 281 |                 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:284:17
[INFO] [stdout]     |
[INFO] [stdout] 284 |                 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-mold` (lib test) due to 158 previous errors; 4 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `candle-core-mold` (lib) due to 158 previous errors; 4 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "85439e7c117ce169daf724fd11dd37138382ef7bda6b30d7b9decbd12c1b9f5d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "85439e7c117ce169daf724fd11dd37138382ef7bda6b30d7b9decbd12c1b9f5d", kill_on_drop: false }`
[INFO] [stdout] 85439e7c117ce169daf724fd11dd37138382ef7bda6b30d7b9decbd12c1b9f5d
