[INFO] cloning repository https://github.com/UncertaintyDeterminesYou4ndMe/transmuta [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/UncertaintyDeterminesYou4ndMe/transmuta" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FUncertaintyDeterminesYou4ndMe%2Ftransmuta", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FUncertaintyDeterminesYou4ndMe%2Ftransmuta'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] a73512b77dd3ebd1ef41c0dfed13162b72561535 [INFO] checking UncertaintyDeterminesYou4ndMe/transmuta against a5689b034ad287112f709693384a37f1377eb9cc for pr-129249-3 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FUncertaintyDeterminesYou4ndMe%2Ftransmuta" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/UncertaintyDeterminesYou4ndMe/transmuta [INFO] finished tweaking git repo https://github.com/UncertaintyDeterminesYou4ndMe/transmuta [INFO] tweaked toml for git repo https://github.com/UncertaintyDeterminesYou4ndMe/transmuta written to /workspace/builds/worker-0-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/UncertaintyDeterminesYou4ndMe/transmuta on toolchain a5689b034ad287112f709693384a37f1377eb9cc [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/UncertaintyDeterminesYou4ndMe/transmuta 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" "+a5689b034ad287112f709693384a37f1377eb9cc" "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] 013e280c4c1df6a51381f167b0afedef25834713eda997ca05125c85ced15974 [INFO] running `Command { std: "docker" "start" "013e280c4c1df6a51381f167b0afedef25834713eda997ca05125c85ced15974", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "013e280c4c1df6a51381f167b0afedef25834713eda997ca05125c85ced15974", 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" "013e280c4c1df6a51381f167b0afedef25834713eda997ca05125c85ced15974" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "013e280c4c1df6a51381f167b0afedef25834713eda997ca05125c85ced15974", 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" "013e280c4c1df6a51381f167b0afedef25834713eda997ca05125c85ced15974" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.171 [INFO] [stderr] Compiling proc-macro2 v1.0.94 [INFO] [stderr] Checking once_cell v1.21.1 [INFO] [stderr] Compiling ahash v0.8.11 [INFO] [stderr] Checking arrow-schema v53.4.1 [INFO] [stderr] Checking hashbrown v0.15.2 [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Checking num-complex v0.4.6 [INFO] [stderr] Checking half v2.5.0 [INFO] [stderr] Checking chrono v0.4.38 [INFO] [stderr] Checking num-bigint v0.4.6 [INFO] [stderr] Checking num-iter v0.1.45 [INFO] [stderr] Checking lexical-util v1.0.6 [INFO] [stderr] Compiling semver v1.0.26 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Compiling syn v2.0.100 [INFO] [stderr] Checking regex-syntax v0.8.5 [INFO] [stderr] Checking lexical-parse-integer v1.0.5 [INFO] [stderr] Checking getrandom v0.2.15 [INFO] [stderr] Compiling jobserver v0.1.32 [INFO] [stderr] Checking lexical-write-integer v1.0.5 [INFO] [stderr] Checking lexical-parse-float v1.0.5 [INFO] [stderr] Compiling rustc_version v0.4.1 [INFO] [stderr] Compiling cc v1.2.16 [INFO] [stderr] Checking lexical-write-float v1.0.5 [INFO] [stderr] Compiling zerocopy v0.8.23 [INFO] [stderr] Checking num-rational v0.4.2 [INFO] [stderr] Compiling flatbuffers v24.12.23 [INFO] [stderr] Checking miniz_oxide v0.8.5 [INFO] [stderr] Compiling zstd-safe v7.2.1 [INFO] [stderr] Compiling serde_json v1.0.140 [INFO] [stderr] Checking lexical-core v1.0.5 [INFO] [stderr] Checking csv-core v0.1.12 [INFO] [stderr] Checking num v0.4.3 [INFO] [stderr] Checking arrow-buffer v53.4.1 [INFO] [stderr] Compiling portable-atomic v1.11.0 [INFO] [stderr] Checking flate2 v1.1.0 [INFO] [stderr] Compiling snap v1.1.1 [INFO] [stderr] Checking indexmap v2.8.0 [INFO] [stderr] Checking anstream v0.6.18 [INFO] [stderr] Checking arrow-data v53.4.1 [INFO] [stderr] Checking brotli-decompressor v4.0.2 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking ordered-float v2.10.1 [INFO] [stderr] Checking regex-automata v0.4.9 [INFO] [stderr] Checking twox-hash v1.6.3 [INFO] [stderr] Checking arrow-array v53.4.0 [INFO] [stderr] Checking integer-encoding v3.0.4 [INFO] [stderr] Checking clap_lex v0.7.4 [INFO] [stderr] Compiling anyhow v1.0.97 [INFO] [stderr] Checking log v0.4.26 [INFO] [stderr] Compiling zstd-sys v2.0.13+zstd.1.5.6 [INFO] [stderr] Checking unicode-width v0.2.0 [INFO] [stderr] Checking clap_builder v4.5.32 [INFO] [stderr] Checking console v0.15.11 [INFO] [stderr] Checking ppv-lite86 v0.2.21 [INFO] [stderr] Checking brotli v7.0.0 [INFO] [stderr] Checking thrift v0.17.0 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking lz4_flex v0.11.3 [INFO] [stderr] Checking rayon-core v1.12.1 [INFO] [stderr] Checking zip v0.6.6 [INFO] [stderr] Checking arrow-select v53.4.0 [INFO] [stderr] Checking regex v1.11.1 [INFO] [stderr] Checking arrow-arith v53.4.0 [INFO] [stderr] Checking arrow-row v53.4.0 [INFO] [stderr] Checking codepage v0.1.2 [INFO] [stderr] Checking quick-xml v0.28.2 [INFO] [stderr] Checking arrow-cast v53.4.0 [INFO] [stderr] Checking arrow-string v53.4.0 [INFO] [stderr] Checking arrow-ord v53.4.0 [INFO] [stderr] Checking is-terminal v0.4.16 [INFO] [stderr] Compiling seq-macro v0.3.6 [INFO] [stderr] Checking humantime v2.2.0 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Compiling clap_derive v4.5.32 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Checking number_prefix v0.4.0 [INFO] [stderr] Checking rayon v1.10.0 [INFO] [stderr] Checking indicatif v0.17.11 [INFO] [stderr] Checking env_logger v0.10.2 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking arrow-ipc v53.4.0 [INFO] [stderr] Checking num_cpus v1.16.0 [INFO] [stderr] Checking thiserror v1.0.69 [INFO] [stderr] Checking clap v4.5.32 [INFO] [stderr] Checking zstd v0.13.3 [INFO] [stderr] Checking parquet v53.2.0 [INFO] [stderr] Checking csv v1.3.1 [INFO] [stderr] Checking calamine v0.21.2 [INFO] [stderr] Checking arrow-csv v53.4.0 [INFO] [stderr] Checking arrow-json v53.4.0 [INFO] [stderr] Checking arrow v53.2.0 [INFO] [stderr] Checking transmuta v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `warn` [INFO] [stdout] --> src/converters/diff.rs:2:17 [INFO] [stdout] | [INFO] [stdout] 2 | use log::{info, warn}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashSet` [INFO] [stdout] --> src/converters/diff.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::HashSet; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `warn` [INFO] [stdout] --> src/converters/diff.rs:2:17 [INFO] [stdout] | [INFO] [stdout] 2 | use log::{info, warn}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashSet` [INFO] [stdout] --> src/converters/diff.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::HashSet; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp_millis`: use `DateTime::from_timestamp_millis` instead [INFO] [stdout] --> src/converters/common.rs:193:36 [INFO] [stdout] | [INFO] [stdout] 193 | chrono::NaiveDateTime::from_timestamp_millis(ms) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp_opt`: use `DateTime::from_timestamp` instead [INFO] [stdout] --> src/converters/common.rs:202:44 [INFO] [stdout] | [INFO] [stdout] 202 | chrono::NaiveDateTime::from_timestamp_opt(ts, 0) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp_millis`: use `DateTime::from_timestamp_millis` instead [INFO] [stdout] --> src/converters/common.rs:193:36 [INFO] [stdout] | [INFO] [stdout] 193 | chrono::NaiveDateTime::from_timestamp_millis(ms) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp_millis`: use `DateTime::from_timestamp_millis` instead [INFO] [stdout] --> src/converters/common.rs:209:44 [INFO] [stdout] | [INFO] [stdout] 209 | chrono::NaiveDateTime::from_timestamp_millis(ts) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp_micros`: use `DateTime::from_timestamp_micros` instead [INFO] [stdout] --> src/converters/common.rs:216:44 [INFO] [stdout] | [INFO] [stdout] 216 | chrono::NaiveDateTime::from_timestamp_micros(ts) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp_opt`: use `DateTime::from_timestamp` instead [INFO] [stdout] --> src/converters/common.rs:202:44 [INFO] [stdout] | [INFO] [stdout] 202 | chrono::NaiveDateTime::from_timestamp_opt(ts, 0) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp_millis`: use `DateTime::from_timestamp_millis` instead [INFO] [stdout] --> src/converters/common.rs:209:44 [INFO] [stdout] | [INFO] [stdout] 209 | chrono::NaiveDateTime::from_timestamp_millis(ts) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp_opt`: use `DateTime::from_timestamp` instead [INFO] [stdout] --> src/converters/common.rs:226:44 [INFO] [stdout] | [INFO] [stdout] 226 | chrono::NaiveDateTime::from_timestamp_opt(seconds, nanos) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp_micros`: use `DateTime::from_timestamp_micros` instead [INFO] [stdout] --> src/converters/common.rs:216:44 [INFO] [stdout] | [INFO] [stdout] 216 | chrono::NaiveDateTime::from_timestamp_micros(ts) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp_opt`: use `DateTime::from_timestamp` instead [INFO] [stdout] --> src/converters/common.rs:226:44 [INFO] [stdout] | [INFO] [stdout] 226 | chrono::NaiveDateTime::from_timestamp_opt(seconds, nanos) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp_millis`: use `DateTime::from_timestamp_millis` instead [INFO] [stdout] --> src/converters/common.rs:302:42 [INFO] [stdout] | [INFO] [stdout] 302 | match chrono::NaiveDateTime::from_timestamp_millis(ms) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp_opt`: use `DateTime::from_timestamp` instead [INFO] [stdout] --> src/converters/common.rs:312:50 [INFO] [stdout] | [INFO] [stdout] 312 | match chrono::NaiveDateTime::from_timestamp_opt(ts, 0) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp_millis`: use `DateTime::from_timestamp_millis` instead [INFO] [stdout] --> src/converters/common.rs:320:50 [INFO] [stdout] | [INFO] [stdout] 320 | match chrono::NaiveDateTime::from_timestamp_millis(ts) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp_micros`: use `DateTime::from_timestamp_micros` instead [INFO] [stdout] --> src/converters/common.rs:328:50 [INFO] [stdout] | [INFO] [stdout] 328 | match chrono::NaiveDateTime::from_timestamp_micros(ts) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp_opt`: use `DateTime::from_timestamp` instead [INFO] [stdout] --> src/converters/common.rs:339:50 [INFO] [stdout] | [INFO] [stdout] 339 | match chrono::NaiveDateTime::from_timestamp_opt(seconds, nanos) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp_millis`: use `DateTime::from_timestamp_millis` instead [INFO] [stdout] --> src/converters/common.rs:302:42 [INFO] [stdout] | [INFO] [stdout] 302 | match chrono::NaiveDateTime::from_timestamp_millis(ms) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp_opt`: use `DateTime::from_timestamp` instead [INFO] [stdout] --> src/converters/common.rs:312:50 [INFO] [stdout] | [INFO] [stdout] 312 | match chrono::NaiveDateTime::from_timestamp_opt(ts, 0) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp_millis`: use `DateTime::from_timestamp_millis` instead [INFO] [stdout] --> src/converters/common.rs:320:50 [INFO] [stdout] | [INFO] [stdout] 320 | match chrono::NaiveDateTime::from_timestamp_millis(ts) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp_micros`: use `DateTime::from_timestamp_micros` instead [INFO] [stdout] --> src/converters/common.rs:328:50 [INFO] [stdout] | [INFO] [stdout] 328 | match chrono::NaiveDateTime::from_timestamp_micros(ts) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp_opt`: use `DateTime::from_timestamp` instead [INFO] [stdout] --> src/converters/common.rs:339:50 [INFO] [stdout] | [INFO] [stdout] 339 | match chrono::NaiveDateTime::from_timestamp_opt(seconds, nanos) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rayon::prelude` [INFO] [stdout] --> src/converters/excel.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use rayon::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rayon::prelude` [INFO] [stdout] --> src/converters/csv.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use rayon::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rayon::prelude` [INFO] [stdout] --> src/converters/excel.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use rayon::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rayon::prelude` [INFO] [stdout] --> src/converters/csv.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use rayon::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `thread_count` [INFO] [stdout] --> src/converters/excel.rs:139:13 [INFO] [stdout] | [INFO] [stdout] 139 | let thread_count = utils::get_thread_count(threads); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_thread_count` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `current_batch_size` [INFO] [stdout] --> src/converters/excel.rs:148:17 [INFO] [stdout] | [INFO] [stdout] 148 | let current_batch_size = end_row - start_row; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_batch_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `thread_count` [INFO] [stdout] --> src/converters/csv.rs:123:9 [INFO] [stdout] | [INFO] [stdout] 123 | let thread_count = utils::get_thread_count(threads); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_thread_count` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `thread_count` [INFO] [stdout] --> src/converters/excel.rs:139:13 [INFO] [stdout] | [INFO] [stdout] 139 | let thread_count = utils::get_thread_count(threads); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_thread_count` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `current_batch_size` [INFO] [stdout] --> src/converters/excel.rs:148:17 [INFO] [stdout] | [INFO] [stdout] 148 | let current_batch_size = end_row - start_row; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_batch_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `thread_count` [INFO] [stdout] --> src/converters/csv.rs:123:9 [INFO] [stdout] | [INFO] [stdout] 123 | let thread_count = utils::get_thread_count(threads); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_thread_count` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `UnsupportedFormat` and `InvalidArgument` are never constructed [INFO] [stdout] --> src/error.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum TransmutaError { [INFO] [stdout] | -------------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 24 | UnsupportedFormat(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | InvalidArgument(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TransmutaError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_buf_reader` is never used [INFO] [stdout] --> src/utils.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn create_buf_reader(path: &Path) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_buf_writer` is never used [INFO] [stdout] --> src/utils.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn create_buf_writer(path: &Path) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate_progress` is never used [INFO] [stdout] --> src/utils.rs:43:8 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn calculate_progress(current: usize, total: usize) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `estimate_time_remaining` is never used [INFO] [stdout] --> src/utils.rs:51:8 [INFO] [stdout] | [INFO] [stdout] 51 | pub fn estimate_time_remaining(elapsed_secs: f64, progress_percent: f64) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `TransmutaError` [INFO] [stdout] --> src/converters/json.rs:44:30 [INFO] [stdout] | [INFO] [stdout] 44 | Err(e) => return Err(TransmutaError::DataProcessingError(format!("解析JSON失败: {}", 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: `#[deny(self_type_conversion)]` on by default [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 44 - Err(e) => return Err(TransmutaError::DataProcessingError(format!("解析JSON失败: {}", e)).into()), [INFO] [stdout] 44 + Err(e) => return Err(TransmutaError::DataProcessingError(format!("解析JSON失败: {}", e))), [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 44 - Err(e) => return Err(TransmutaError::DataProcessingError(format!("解析JSON失败: {}", e)).into()), [INFO] [stdout] 44 + Err(e) => return Err(>::into(TransmutaError::DataProcessingError(format!("解析JSON失败: {}", e)))), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `TransmutaError` [INFO] [stdout] --> src/converters/json.rs:54:25 [INFO] [stdout] | [INFO] [stdout] 54 | _ => return Err(TransmutaError::DataProcessingError("JSON文件必须是对象或对象数组".to_string()).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] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 54 - _ => return Err(TransmutaError::DataProcessingError("JSON文件必须是对象或对象数组".to_string()).into()), [INFO] [stdout] 54 + _ => return Err(TransmutaError::DataProcessingError("JSON文件必须是对象或对象数组".to_string())), [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 54 - _ => return Err(TransmutaError::DataProcessingError("JSON文件必须是对象或对象数组".to_string()).into()), [INFO] [stdout] 54 + _ => return Err(>::into(TransmutaError::DataProcessingError("JSON文件必须是对象或对象数组".to_string()))), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `TransmutaError` [INFO] [stdout] --> src/converters/json.rs:61:20 [INFO] [stdout] | [INFO] [stdout] 61 | return Err(TransmutaError::DataProcessingError("JSON文件为空".to_string()).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] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 61 - return Err(TransmutaError::DataProcessingError("JSON文件为空".to_string()).into()); [INFO] [stdout] 61 + return Err(TransmutaError::DataProcessingError("JSON文件为空".to_string())); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 61 - return Err(TransmutaError::DataProcessingError("JSON文件为空".to_string()).into()); [INFO] [stdout] 61 + return Err(>::into(TransmutaError::DataProcessingError("JSON文件为空".to_string()))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `anyhow::Error` [INFO] [stdout] --> src/main.rs:135:28 [INFO] [stdout] | [INFO] [stdout] 135 | return Err(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] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 135 - return Err(e.into()); [INFO] [stdout] 135 + return Err(e); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 135 - return Err(e.into()); [INFO] [stdout] 135 + return Err(>::into(e)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `UnsupportedFormat` and `InvalidArgument` are never constructed [INFO] [stdout] --> src/error.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum TransmutaError { [INFO] [stdout] | -------------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 24 | UnsupportedFormat(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | InvalidArgument(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TransmutaError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_buf_reader` is never used [INFO] [stdout] --> src/utils.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn create_buf_reader(path: &Path) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_buf_writer` is never used [INFO] [stdout] --> src/utils.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn create_buf_writer(path: &Path) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate_progress` is never used [INFO] [stdout] --> src/utils.rs:43:8 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn calculate_progress(current: usize, total: usize) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `estimate_time_remaining` is never used [INFO] [stdout] --> src/utils.rs:51:8 [INFO] [stdout] | [INFO] [stdout] 51 | pub fn estimate_time_remaining(elapsed_secs: f64, progress_percent: f64) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `TransmutaError` [INFO] [stdout] --> src/converters/json.rs:44:30 [INFO] [stdout] | [INFO] [stdout] 44 | Err(e) => return Err(TransmutaError::DataProcessingError(format!("解析JSON失败: {}", 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: `#[deny(self_type_conversion)]` on by default [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 44 - Err(e) => return Err(TransmutaError::DataProcessingError(format!("解析JSON失败: {}", e)).into()), [INFO] [stdout] 44 + Err(e) => return Err(TransmutaError::DataProcessingError(format!("解析JSON失败: {}", e))), [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 44 - Err(e) => return Err(TransmutaError::DataProcessingError(format!("解析JSON失败: {}", e)).into()), [INFO] [stdout] 44 + Err(e) => return Err(>::into(TransmutaError::DataProcessingError(format!("解析JSON失败: {}", e)))), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `TransmutaError` [INFO] [stdout] --> src/converters/json.rs:54:25 [INFO] [stdout] | [INFO] [stdout] 54 | _ => return Err(TransmutaError::DataProcessingError("JSON文件必须是对象或对象数组".to_string()).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] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 54 - _ => return Err(TransmutaError::DataProcessingError("JSON文件必须是对象或对象数组".to_string()).into()), [INFO] [stdout] 54 + _ => return Err(TransmutaError::DataProcessingError("JSON文件必须是对象或对象数组".to_string())), [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 54 - _ => return Err(TransmutaError::DataProcessingError("JSON文件必须是对象或对象数组".to_string()).into()), [INFO] [stdout] 54 + _ => return Err(>::into(TransmutaError::DataProcessingError("JSON文件必须是对象或对象数组".to_string()))), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `TransmutaError` [INFO] [stdout] --> src/converters/json.rs:61:20 [INFO] [stdout] | [INFO] [stdout] 61 | return Err(TransmutaError::DataProcessingError("JSON文件为空".to_string()).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] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 61 - return Err(TransmutaError::DataProcessingError("JSON文件为空".to_string()).into()); [INFO] [stdout] 61 + return Err(TransmutaError::DataProcessingError("JSON文件为空".to_string())); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 61 - return Err(TransmutaError::DataProcessingError("JSON文件为空".to_string()).into()); [INFO] [stdout] 61 + return Err(>::into(TransmutaError::DataProcessingError("JSON文件为空".to_string()))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `anyhow::Error` [INFO] [stdout] --> src/main.rs:135:28 [INFO] [stdout] | [INFO] [stdout] 135 | return Err(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] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 135 - return Err(e.into()); [INFO] [stdout] 135 + return Err(e); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 135 - return Err(e.into()); [INFO] [stdout] 135 + return Err(>::into(e)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `transmuta` (bin "transmuta") due to 4 previous errors; 22 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: could not compile `transmuta` (bin "transmuta" test) due to 4 previous errors; 22 warnings emitted [INFO] running `Command { std: "docker" "inspect" "013e280c4c1df6a51381f167b0afedef25834713eda997ca05125c85ced15974", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "013e280c4c1df6a51381f167b0afedef25834713eda997ca05125c85ced15974", kill_on_drop: false }` [INFO] [stdout] 013e280c4c1df6a51381f167b0afedef25834713eda997ca05125c85ced15974