[INFO] fetching crate rustorch 0.6.29... [INFO] checking rustorch-0.6.29 against try#21cad1f647cfd05a566220f933edd88a53e50bcf for pr-129249-1 [INFO] extracting crate rustorch 0.6.29 into /workspace/builds/worker-0-tc2/source [INFO] removed /workspace/builds/worker-0-tc2/source/.cargo/config.toml [INFO] started tweaking crates.io crate rustorch 0.6.29 [INFO] removed 0 missing examples [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate rustorch 0.6.29 [INFO] tweaked toml for crates.io crate rustorch 0.6.29 written to /workspace/builds/worker-0-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate rustorch 0.6.29 on toolchain 21cad1f647cfd05a566220f933edd88a53e50bcf [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+21cad1f647cfd05a566220f933edd88a53e50bcf" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate rustorch 0.6.29 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" "+21cad1f647cfd05a566220f933edd88a53e50bcf" "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:3e793bdf10248eb2ddbd6b0faebed8155c11b4589982e2893733958d93e8d540" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] 3af777592854d2737e66a2db100afe7d5621fa8f8cefb078608bd1215dfbeb9a [INFO] running `Command { std: "docker" "start" "3af777592854d2737e66a2db100afe7d5621fa8f8cefb078608bd1215dfbeb9a", 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" "3af777592854d2737e66a2db100afe7d5621fa8f8cefb078608bd1215dfbeb9a" "/opt/rustwide/cargo-home/bin/cargo" "+21cad1f647cfd05a566220f933edd88a53e50bcf" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "3af777592854d2737e66a2db100afe7d5621fa8f8cefb078608bd1215dfbeb9a", 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" "3af777592854d2737e66a2db100afe7d5621fa8f8cefb078608bd1215dfbeb9a" "/opt/rustwide/cargo-home/bin/cargo" "+21cad1f647cfd05a566220f933edd88a53e50bcf" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] Checking cfg-if v1.0.3 [INFO] [stderr] Compiling libc v0.2.175 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling wasm-bindgen-shared v0.2.101 [INFO] [stderr] Compiling zerocopy v0.8.27 [INFO] [stderr] Compiling log v0.4.28 [INFO] [stderr] Compiling proc-macro2 v1.0.101 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling matrixmultiply v0.3.10 [INFO] [stderr] Compiling bumpalo v3.19.0 [INFO] [stderr] Compiling serde_json v1.0.143 [INFO] [stderr] Checking half v2.6.0 [INFO] [stderr] Checking regex-syntax v0.8.6 [INFO] [stderr] Checking rayon v1.11.0 [INFO] [stderr] Compiling anyhow v1.0.99 [INFO] [stderr] Compiling wasm-bindgen v0.2.101 [INFO] [stderr] Checking hashbrown v0.15.5 [INFO] [stderr] Compiling rustorch v0.6.29 (/opt/rustwide/workdir) [INFO] [stderr] Checking crc32fast v1.5.0 [INFO] [stderr] Compiling rustix v1.0.8 [INFO] [stderr] Checking clap_lex v0.7.5 [INFO] [stderr] Checking anstyle v1.0.11 [INFO] [stderr] Checking itertools v0.10.5 [INFO] [stderr] Checking linux-raw-sys v0.9.4 [INFO] [stderr] Checking ciborium-ll v0.2.2 [INFO] [stderr] Checking bitflags v2.9.4 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Checking indexmap v2.11.4 [INFO] [stderr] Checking clap_builder v4.5.47 [INFO] [stderr] Compiling syn v2.0.106 [INFO] [stderr] Checking getrandom v0.2.16 [INFO] [stderr] Checking parking_lot_core v0.9.11 [INFO] [stderr] Checking hostname v0.4.1 [INFO] [stderr] Checking num_cpus v1.17.0 [INFO] [stderr] Checking getrandom v0.3.3 [INFO] [stderr] Checking is-terminal v0.4.16 [INFO] [stderr] Checking num-complex v0.4.6 [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Checking approx v0.5.1 [INFO] [stderr] Checking plotters v0.3.7 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking parking_lot v0.12.4 [INFO] [stderr] Checking regex-automata v0.4.10 [INFO] [stderr] Checking criterion-plot v0.5.0 [INFO] [stderr] Checking ndarray v0.16.1 [INFO] [stderr] Checking clap v4.5.47 [INFO] [stderr] Checking tempfile v3.21.0 [INFO] [stderr] Checking ppv-lite86 v0.2.21 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking rand_distr v0.4.3 [INFO] [stderr] Checking regex v1.11.2 [INFO] [stderr] Compiling wasm-bindgen-backend v0.2.101 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling rustorch-macros v0.6.29 [INFO] [stderr] Compiling wasm-bindgen-test-macro v0.3.51 [INFO] [stderr] Compiling wasm-bindgen-macro-support v0.2.101 [INFO] [stderr] Checking thiserror v1.0.69 [INFO] [stderr] Checking ndarray-rand v0.15.0 [INFO] [stderr] Compiling wasm-bindgen-macro v0.2.101 [INFO] [stderr] Checking js-sys v0.3.78 [INFO] [stderr] Checking serde_yaml v0.9.34+deprecated [INFO] [stderr] Checking bincode v1.3.3 [INFO] [stderr] Checking chrono v0.4.41 [INFO] [stderr] Checking ciborium v0.2.2 [INFO] [stderr] Checking tinytemplate v1.2.1 [INFO] [stderr] Checking criterion v0.5.1 [INFO] [stderr] Checking wasm-bindgen-futures v0.4.51 [INFO] [stderr] Checking wasm-bindgen-test v0.3.51 [INFO] [stdout] error: useless conversion to the same type: `error::RusTorchError` [INFO] [stdout] --> src/tensor/gpu_parallel.rs:614:44 [INFO] [stdout] | [INFO] [stdout] 614 | self.matmul(other).map_err(|e| e.into()) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] = note: you can instead use the fully-qualified path `::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: `error::RusTorchError` [INFO] [stdout] --> src/tensor/gpu_parallel.rs:624:13 [INFO] [stdout] | [INFO] [stdout] 624 | Err(crate::error::RusTorchError::tensor_op( [INFO] [stdout] | _____________^ [INFO] [stdout] 625 | | "GPU reduce not available without CUDA".to_string(), [INFO] [stdout] 626 | | ) [INFO] [stdout] 627 | | .into()) [INFO] [stdout] | |_______________^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] = note: you can instead use the fully-qualified path `::into(val) to avoid triggering this lint [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `error::RusTorchError` [INFO] [stdout] --> src/tensor/gpu_parallel.rs:694:17 [INFO] [stdout] | [INFO] [stdout] 694 | Err(crate::error::RusTorchError::tensor_op( [INFO] [stdout] | _________________^ [INFO] [stdout] 695 | | "No GPU acceleration available (enable metal, coreml, or mac-hybrid features)" [INFO] [stdout] 696 | | .to_string(), [INFO] [stdout] 697 | | ) [INFO] [stdout] 698 | | .into()) [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] = note: you can instead use the fully-qualified path `::into(val) to avoid triggering this lint [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `error::RusTorchError` [INFO] [stdout] --> src/vision/transforms.rs:84:60 [INFO] [stdout] | [INFO] [stdout] 84 | Image::new(resized_data, image.format).map_err(|e| e.into()) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] = note: you can instead use the fully-qualified path `::into(val) to avoid triggering this lint [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `error::RusTorchError` [INFO] [stdout] --> src/vision/transforms.rs:110:24 [INFO] [stdout] | [INFO] [stdout] 110 | return Err(RusTorchError::InvalidTransformParams(format!( [INFO] [stdout] | ________________________^ [INFO] [stdout] 111 | | "Crop size ({}, {}) larger than image size ({}, {})", [INFO] [stdout] 112 | | crop_height, crop_width, image.height, image.width [INFO] [stdout] 113 | | )) [INFO] [stdout] 114 | | .into()); [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] = note: you can instead use the fully-qualified path `::into(val) to avoid triggering this lint [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `error::RusTorchError` [INFO] [stdout] --> src/vision/transforms.rs:131:60 [INFO] [stdout] | [INFO] [stdout] 131 | Image::new(cropped_data, image.format).map_err(|e| e.into()) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] = note: you can instead use the fully-qualified path `::into(val) to avoid triggering this lint [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `error::RusTorchError` [INFO] [stdout] --> src/vision/transforms.rs:181:24 [INFO] [stdout] | [INFO] [stdout] 181 | return Err(RusTorchError::InvalidTransformParams(format!( [INFO] [stdout] | ________________________^ [INFO] [stdout] 182 | | "Crop size ({}, {}) larger than image size ({}, {})", [INFO] [stdout] 183 | | crop_height, crop_width, working_image.height, working_image.width [INFO] [stdout] 184 | | )) [INFO] [stdout] 185 | | .into()); [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] = note: you can instead use the fully-qualified path `::into(val) to avoid triggering this lint [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `error::RusTorchError` [INFO] [stdout] --> src/vision/transforms.rs:202:60 [INFO] [stdout] | [INFO] [stdout] 202 | Image::new(cropped_data, image.format).map_err(|e| e.into()) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] = note: you can instead use the fully-qualified path `::into(val) to avoid triggering this lint [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `error::RusTorchError` [INFO] [stdout] --> src/vision/transforms.rs:297:24 [INFO] [stdout] | [INFO] [stdout] 297 | return Err(RusTorchError::InvalidTransformParams( [INFO] [stdout] | ________________________^ [INFO] [stdout] 298 | | "Mean and std must have same length".to_string(), [INFO] [stdout] 299 | | ) [INFO] [stdout] 300 | | .into()); [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] = note: you can instead use the fully-qualified path `::into(val) to avoid triggering this lint [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `error::RusTorchError` [INFO] [stdout] --> src/vision/transforms.rs:327:24 [INFO] [stdout] | [INFO] [stdout] 327 | return Err(RusTorchError::InvalidTransformParams(format!( [INFO] [stdout] | ________________________^ [INFO] [stdout] 328 | | "Mean length {} doesn't match image channels {}", [INFO] [stdout] 329 | | self.mean.len(), [INFO] [stdout] 330 | | image.channels [INFO] [stdout] 331 | | )) [INFO] [stdout] 332 | | .into()); [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] = note: you can instead use the fully-qualified path `::into(val) to avoid triggering this lint [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `error::RusTorchError` [INFO] [stdout] --> src/vision/transforms.rs:377:50 [INFO] [stdout] | [INFO] [stdout] 377 | image.to_format(self.format).map_err(|e| e.into()) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] = note: you can instead use the fully-qualified path `::into(val) to avoid triggering this lint [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `error::RusTorchError` [INFO] [stdout] --> src/vision/utils.rs:55:59 [INFO] [stdout] | [INFO] [stdout] 55 | Image::new(grid_tensor, images[0].format).map_err(|e| e.into()) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] = note: you can instead use the fully-qualified path `::into(val) to avoid triggering this lint [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `error::RusTorchError` [INFO] [stdout] --> src/vision/utils.rs:96:24 [INFO] [stdout] | [INFO] [stdout] 96 | return Err(RusTorchError::InvalidImageShape(format!( [INFO] [stdout] | ________________________^ [INFO] [stdout] 97 | | "Expected 2D or 3D tensor, got {:?}", [INFO] [stdout] 98 | | shape [INFO] [stdout] 99 | | )) [INFO] [stdout] 100 | | .into()) [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] = note: you can instead use the fully-qualified path `::into(val) to avoid triggering this lint [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `error::RusTorchError` [INFO] [stdout] --> src/vision/utils.rs:104:52 [INFO] [stdout] | [INFO] [stdout] 104 | Image::new(tensor.clone(), format).map_err(|e| e.into()) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] = note: you can instead use the fully-qualified path `::into(val) to avoid triggering this lint [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `error::RusTorchError` [INFO] [stdout] --> src/vision/utils.rs:124:20 [INFO] [stdout] | [INFO] [stdout] 124 | return Err(RusTorchError::InvalidTransformParams( [INFO] [stdout] | ____________________^ [INFO] [stdout] 125 | | "Mean and std must have same length".to_string(), [INFO] [stdout] 126 | | ) [INFO] [stdout] 127 | | .into()); [INFO] [stdout] | |_______________^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] = note: you can instead use the fully-qualified path `::into(val) to avoid triggering this lint [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `error::RusTorchError` [INFO] [stdout] --> src/vision/utils.rs:146:20 [INFO] [stdout] | [INFO] [stdout] 146 | return Err(RusTorchError::InvalidTransformParams( [INFO] [stdout] | ____________________^ [INFO] [stdout] 147 | | "Mean and std must have same length".to_string(), [INFO] [stdout] 148 | | ) [INFO] [stdout] 149 | | .into()); [INFO] [stdout] | |_______________^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] = note: you can instead use the fully-qualified path `::into(val) to avoid triggering this lint [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `error::RusTorchError` [INFO] [stdout] --> src/visualization/plotting.rs:278:24 [INFO] [stdout] | [INFO] [stdout] 278 | return Err(RusTorchError::InvalidDataFormat( [INFO] [stdout] | ________________________^ [INFO] [stdout] 279 | | "X and Y data must have the same non-zero length".to_string(), [INFO] [stdout] 280 | | ) [INFO] [stdout] 281 | | .into()); [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] = note: you can instead use the fully-qualified path `::into(val) to avoid triggering this lint [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `error::RusTorchError` [INFO] [stdout] --> src/visualization/plotting.rs:347:28 [INFO] [stdout] | [INFO] [stdout] 347 | return Err(RusTorchError::InvalidDataFormat(format!( [INFO] [stdout] | ____________________________^ [INFO] [stdout] 348 | | "Metric '{}' has no values", [INFO] [stdout] 349 | | metric_name [INFO] [stdout] 350 | | )) [INFO] [stdout] 351 | | .into()); [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] = note: you can instead use the fully-qualified path `::into(val) to avoid triggering this lint [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `error::RusTorchError` [INFO] [stdout] --> src/visualization/plotting.rs:355:17 [INFO] [stdout] | [INFO] [stdout] 355 | Err(RusTorchError::InvalidDataFormat(format!( [INFO] [stdout] | _________________^ [INFO] [stdout] 356 | | "Metric '{}' not found in training history", [INFO] [stdout] 357 | | metric_name [INFO] [stdout] 358 | | )) [INFO] [stdout] 359 | | .into()) [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] = note: you can instead use the fully-qualified path `::into(val) to avoid triggering this lint [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `error::RusTorchError` [INFO] [stdout] --> src/visualization/plotting.rs:373:24 [INFO] [stdout] | [INFO] [stdout] 373 | return Err(RusTorchError::InvalidDataFormat( [INFO] [stdout] | ________________________^ [INFO] [stdout] 374 | | "Training history contains no data".to_string(), [INFO] [stdout] 375 | | ) [INFO] [stdout] 376 | | .into()); [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] = note: you can instead use the fully-qualified path `::into(val) to avoid triggering this lint [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `error::RusTorchError` [INFO] [stdout] --> src/visualization/plotting.rs:392:24 [INFO] [stdout] | [INFO] [stdout] 392 | return Err(RusTorchError::ConfigError( [INFO] [stdout] | ________________________^ [INFO] [stdout] 393 | | "Cannot plot empty training history".to_string(), [INFO] [stdout] 394 | | ) [INFO] [stdout] 395 | | .into()); [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] = note: you can instead use the fully-qualified path `::into(val) to avoid triggering this lint [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `rustorch` (lib) due to 21 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: useless conversion to the same type: `std::option::Option` [INFO] [stdout] --> src/distributed/data_parallel.rs:526:72 [INFO] [stdout] | [INFO] [stdout] 526 | let loader = DistributedDataLoader::new(data, labels, 2, true, Some(42).into()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] = note: you can instead use the fully-qualified path ` as Into>::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: `error::RusTorchError` [INFO] [stdout] --> src/tensor/gpu_parallel.rs:614:44 [INFO] [stdout] | [INFO] [stdout] 614 | self.matmul(other).map_err(|e| e.into()) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] = note: you can instead use the fully-qualified path `::into(val) to avoid triggering this lint [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `error::RusTorchError` [INFO] [stdout] --> src/tensor/gpu_parallel.rs:624:13 [INFO] [stdout] | [INFO] [stdout] 624 | Err(crate::error::RusTorchError::tensor_op( [INFO] [stdout] | _____________^ [INFO] [stdout] 625 | | "GPU reduce not available without CUDA".to_string(), [INFO] [stdout] 626 | | ) [INFO] [stdout] 627 | | .into()) [INFO] [stdout] | |_______________^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] = note: you can instead use the fully-qualified path `::into(val) to avoid triggering this lint [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `error::RusTorchError` [INFO] [stdout] --> src/tensor/gpu_parallel.rs:694:17 [INFO] [stdout] | [INFO] [stdout] 694 | Err(crate::error::RusTorchError::tensor_op( [INFO] [stdout] | _________________^ [INFO] [stdout] 695 | | "No GPU acceleration available (enable metal, coreml, or mac-hybrid features)" [INFO] [stdout] 696 | | .to_string(), [INFO] [stdout] 697 | | ) [INFO] [stdout] 698 | | .into()) [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] = note: you can instead use the fully-qualified path `::into(val) to avoid triggering this lint [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `error::RusTorchError` [INFO] [stdout] --> src/vision/transforms.rs:84:60 [INFO] [stdout] | [INFO] [stdout] 84 | Image::new(resized_data, image.format).map_err(|e| e.into()) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] = note: you can instead use the fully-qualified path `::into(val) to avoid triggering this lint [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `error::RusTorchError` [INFO] [stdout] --> src/vision/transforms.rs:110:24 [INFO] [stdout] | [INFO] [stdout] 110 | return Err(RusTorchError::InvalidTransformParams(format!( [INFO] [stdout] | ________________________^ [INFO] [stdout] 111 | | "Crop size ({}, {}) larger than image size ({}, {})", [INFO] [stdout] 112 | | crop_height, crop_width, image.height, image.width [INFO] [stdout] 113 | | )) [INFO] [stdout] 114 | | .into()); [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] = note: you can instead use the fully-qualified path `::into(val) to avoid triggering this lint [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `error::RusTorchError` [INFO] [stdout] --> src/vision/transforms.rs:131:60 [INFO] [stdout] | [INFO] [stdout] 131 | Image::new(cropped_data, image.format).map_err(|e| e.into()) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] = note: you can instead use the fully-qualified path `::into(val) to avoid triggering this lint [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `error::RusTorchError` [INFO] [stdout] --> src/vision/transforms.rs:181:24 [INFO] [stdout] | [INFO] [stdout] 181 | return Err(RusTorchError::InvalidTransformParams(format!( [INFO] [stdout] | ________________________^ [INFO] [stdout] 182 | | "Crop size ({}, {}) larger than image size ({}, {})", [INFO] [stdout] 183 | | crop_height, crop_width, working_image.height, working_image.width [INFO] [stdout] 184 | | )) [INFO] [stdout] 185 | | .into()); [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] = note: you can instead use the fully-qualified path `::into(val) to avoid triggering this lint [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `error::RusTorchError` [INFO] [stdout] --> src/vision/transforms.rs:202:60 [INFO] [stdout] | [INFO] [stdout] 202 | Image::new(cropped_data, image.format).map_err(|e| e.into()) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] = note: you can instead use the fully-qualified path `::into(val) to avoid triggering this lint [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `error::RusTorchError` [INFO] [stdout] --> src/vision/transforms.rs:297:24 [INFO] [stdout] | [INFO] [stdout] 297 | return Err(RusTorchError::InvalidTransformParams( [INFO] [stdout] | ________________________^ [INFO] [stdout] 298 | | "Mean and std must have same length".to_string(), [INFO] [stdout] 299 | | ) [INFO] [stdout] 300 | | .into()); [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] = note: you can instead use the fully-qualified path `::into(val) to avoid triggering this lint [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `error::RusTorchError` [INFO] [stdout] --> src/vision/transforms.rs:327:24 [INFO] [stdout] | [INFO] [stdout] 327 | return Err(RusTorchError::InvalidTransformParams(format!( [INFO] [stdout] | ________________________^ [INFO] [stdout] 328 | | "Mean length {} doesn't match image channels {}", [INFO] [stdout] 329 | | self.mean.len(), [INFO] [stdout] 330 | | image.channels [INFO] [stdout] 331 | | )) [INFO] [stdout] 332 | | .into()); [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] = note: you can instead use the fully-qualified path `::into(val) to avoid triggering this lint [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `error::RusTorchError` [INFO] [stdout] --> src/vision/transforms.rs:377:50 [INFO] [stdout] | [INFO] [stdout] 377 | image.to_format(self.format).map_err(|e| e.into()) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] = note: you can instead use the fully-qualified path `::into(val) to avoid triggering this lint [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `error::RusTorchError` [INFO] [stdout] --> src/vision/utils.rs:55:59 [INFO] [stdout] | [INFO] [stdout] 55 | Image::new(grid_tensor, images[0].format).map_err(|e| e.into()) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] = note: you can instead use the fully-qualified path `::into(val) to avoid triggering this lint [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `error::RusTorchError` [INFO] [stdout] --> src/vision/utils.rs:96:24 [INFO] [stdout] | [INFO] [stdout] 96 | return Err(RusTorchError::InvalidImageShape(format!( [INFO] [stdout] | ________________________^ [INFO] [stdout] 97 | | "Expected 2D or 3D tensor, got {:?}", [INFO] [stdout] 98 | | shape [INFO] [stdout] 99 | | )) [INFO] [stdout] 100 | | .into()) [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] = note: you can instead use the fully-qualified path `::into(val) to avoid triggering this lint [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `error::RusTorchError` [INFO] [stdout] --> src/vision/utils.rs:104:52 [INFO] [stdout] | [INFO] [stdout] 104 | Image::new(tensor.clone(), format).map_err(|e| e.into()) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] = note: you can instead use the fully-qualified path `::into(val) to avoid triggering this lint [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `error::RusTorchError` [INFO] [stdout] --> src/vision/utils.rs:124:20 [INFO] [stdout] | [INFO] [stdout] 124 | return Err(RusTorchError::InvalidTransformParams( [INFO] [stdout] | ____________________^ [INFO] [stdout] 125 | | "Mean and std must have same length".to_string(), [INFO] [stdout] 126 | | ) [INFO] [stdout] 127 | | .into()); [INFO] [stdout] | |_______________^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] = note: you can instead use the fully-qualified path `::into(val) to avoid triggering this lint [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `error::RusTorchError` [INFO] [stdout] --> src/vision/utils.rs:146:20 [INFO] [stdout] | [INFO] [stdout] 146 | return Err(RusTorchError::InvalidTransformParams( [INFO] [stdout] | ____________________^ [INFO] [stdout] 147 | | "Mean and std must have same length".to_string(), [INFO] [stdout] 148 | | ) [INFO] [stdout] 149 | | .into()); [INFO] [stdout] | |_______________^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] = note: you can instead use the fully-qualified path `::into(val) to avoid triggering this lint [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `error::RusTorchError` [INFO] [stdout] --> src/visualization/plotting.rs:278:24 [INFO] [stdout] | [INFO] [stdout] 278 | return Err(RusTorchError::InvalidDataFormat( [INFO] [stdout] | ________________________^ [INFO] [stdout] 279 | | "X and Y data must have the same non-zero length".to_string(), [INFO] [stdout] 280 | | ) [INFO] [stdout] 281 | | .into()); [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] = note: you can instead use the fully-qualified path `::into(val) to avoid triggering this lint [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `error::RusTorchError` [INFO] [stdout] --> src/visualization/plotting.rs:347:28 [INFO] [stdout] | [INFO] [stdout] 347 | return Err(RusTorchError::InvalidDataFormat(format!( [INFO] [stdout] | ____________________________^ [INFO] [stdout] 348 | | "Metric '{}' has no values", [INFO] [stdout] 349 | | metric_name [INFO] [stdout] 350 | | )) [INFO] [stdout] 351 | | .into()); [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] = note: you can instead use the fully-qualified path `::into(val) to avoid triggering this lint [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `error::RusTorchError` [INFO] [stdout] --> src/visualization/plotting.rs:355:17 [INFO] [stdout] | [INFO] [stdout] 355 | Err(RusTorchError::InvalidDataFormat(format!( [INFO] [stdout] | _________________^ [INFO] [stdout] 356 | | "Metric '{}' not found in training history", [INFO] [stdout] 357 | | metric_name [INFO] [stdout] 358 | | )) [INFO] [stdout] 359 | | .into()) [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] = note: you can instead use the fully-qualified path `::into(val) to avoid triggering this lint [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `error::RusTorchError` [INFO] [stdout] --> src/visualization/plotting.rs:373:24 [INFO] [stdout] | [INFO] [stdout] 373 | return Err(RusTorchError::InvalidDataFormat( [INFO] [stdout] | ________________________^ [INFO] [stdout] 374 | | "Training history contains no data".to_string(), [INFO] [stdout] 375 | | ) [INFO] [stdout] 376 | | .into()); [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] = note: you can instead use the fully-qualified path `::into(val) to avoid triggering this lint [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `error::RusTorchError` [INFO] [stdout] --> src/visualization/plotting.rs:392:24 [INFO] [stdout] | [INFO] [stdout] 392 | return Err(RusTorchError::ConfigError( [INFO] [stdout] | ________________________^ [INFO] [stdout] 393 | | "Cannot plot empty training history".to_string(), [INFO] [stdout] 394 | | ) [INFO] [stdout] 395 | | .into()); [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] = note: you can instead use the fully-qualified path `::into(val) to avoid triggering this lint [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `rustorch` (lib test) due to 22 previous errors [INFO] running `Command { std: "docker" "inspect" "3af777592854d2737e66a2db100afe7d5621fa8f8cefb078608bd1215dfbeb9a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3af777592854d2737e66a2db100afe7d5621fa8f8cefb078608bd1215dfbeb9a", kill_on_drop: false }` [INFO] [stdout] 3af777592854d2737e66a2db100afe7d5621fa8f8cefb078608bd1215dfbeb9a