[INFO] cloning repository https://github.com/AugustSirius/dia_peak_irt_iim_rust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/AugustSirius/dia_peak_irt_iim_rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAugustSirius%2Fdia_peak_irt_iim_rust", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAugustSirius%2Fdia_peak_irt_iim_rust'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 4781bfc87cac1f37f7a5df4d0c790d4a1de6178c [INFO] checking AugustSirius/dia_peak_irt_iim_rust against master#ba7e63b63871a429533c189adbfb1d9a6337e000 for pr-135331-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAugustSirius%2Fdia_peak_irt_iim_rust" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/AugustSirius/dia_peak_irt_iim_rust [INFO] finished tweaking git repo https://github.com/AugustSirius/dia_peak_irt_iim_rust [INFO] tweaked toml for git repo https://github.com/AugustSirius/dia_peak_irt_iim_rust written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/AugustSirius/dia_peak_irt_iim_rust on toolchain ba7e63b63871a429533c189adbfb1d9a6337e000 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ba7e63b63871a429533c189adbfb1d9a6337e000" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/AugustSirius/dia_peak_irt_iim_rust 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" "+ba7e63b63871a429533c189adbfb1d9a6337e000" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded seq-macro v0.3.6 [INFO] [stderr] Downloaded integer-encoding v3.0.4 [INFO] [stderr] Downloaded twox-hash v2.1.1 [INFO] [stderr] Downloaded lz4_flex v0.11.5 [INFO] [stderr] Downloaded thrift v0.17.0 [INFO] [stderr] Downloaded hashlink v0.9.1 [INFO] [stderr] Downloaded rusqlite v0.32.1 [INFO] [stderr] Downloaded chrono-tz-build v0.2.1 [INFO] [stderr] Downloaded streaming-iterator v0.1.9 [INFO] [stderr] Downloaded polars-row v0.37.0 [INFO] [stderr] Downloaded unicode-reverse v1.0.9 [INFO] [stderr] Downloaded zopfli v0.8.2 [INFO] [stderr] Downloaded pest_derive v2.8.1 [INFO] [stderr] Downloaded jemalloc-ctl v0.5.4 [INFO] [stderr] Downloaded matrixmultiply v0.3.10 [INFO] [stderr] Downloaded zip v2.4.2 [INFO] [stderr] Downloaded lexical-util v1.0.6 [INFO] [stderr] Downloaded pest v2.8.1 [INFO] [stderr] Downloaded polars-pipe v0.37.0 [INFO] [stderr] Downloaded parse-zoneinfo v0.3.1 [INFO] [stderr] Downloaded polars-io v0.37.0 [INFO] [stderr] Downloaded polars-ops v0.37.0 [INFO] [stderr] Downloaded arrow-cast v53.4.1 [INFO] [stderr] Downloaded polars-parquet v0.37.0 [INFO] [stderr] Downloaded sysinfo v0.30.13 [INFO] [stderr] Downloaded polars-plan v0.37.0 [INFO] [stderr] Downloaded comfy-table v7.1.4 [INFO] [stderr] Downloaded lz4-sys v1.11.1+lz4-1.10.0 [INFO] [stderr] Downloaded polars-arrow v0.37.0 [INFO] [stderr] Downloaded chrono-tz v0.8.6 [INFO] [stderr] Downloaded polars-core v0.37.0 [INFO] [stderr] Downloaded arrow-ipc v53.4.1 [INFO] [stderr] Downloaded io-uring v0.7.9 [INFO] [stderr] Downloaded polars-time v0.37.0 [INFO] [stderr] Downloaded argminmax v0.6.3 [INFO] [stderr] Downloaded sysinfo v0.29.11 [INFO] [stderr] Downloaded polars-lazy v0.37.0 [INFO] [stderr] Downloaded lexical-parse-float v1.0.5 [INFO] [stderr] Downloaded flatbuffers v24.12.23 [INFO] [stderr] Downloaded pest_meta v2.8.1 [INFO] [stderr] Downloaded parquet-format-safe v0.2.4 [INFO] [stderr] Downloaded sqlparser v0.39.0 [INFO] [stderr] Downloaded itoap v1.0.1 [INFO] [stderr] Downloaded polars-utils v0.37.0 [INFO] [stderr] Downloaded bytemuck_derive v1.10.0 [INFO] [stderr] Downloaded arrow-data v53.4.1 [INFO] [stderr] Downloaded pest_generator v2.8.1 [INFO] [stderr] Downloaded py_literal v0.4.0 [INFO] [stderr] Downloaded polars-sql v0.37.0 [INFO] [stderr] Downloaded atoi_simd v0.15.6 [INFO] [stderr] Downloaded phf_codegen v0.11.3 [INFO] [stderr] Downloaded target-features v0.1.6 [INFO] [stderr] Downloaded multiversion v0.7.4 [INFO] [stderr] Downloaded planus v0.3.1 [INFO] [stderr] Downloaded lexical-parse-integer v1.0.5 [INFO] [stderr] Downloaded memmap2 v0.7.1 [INFO] [stderr] Downloaded now v0.1.3 [INFO] [stderr] Downloaded redox_syscall v0.5.15 [INFO] [stderr] Downloaded polars-compute v0.37.0 [INFO] [stderr] Downloaded foreign_vec v0.1.0 [INFO] [stderr] Downloaded multiversion-macros v0.7.4 [INFO] [stderr] Downloaded xxhash-rust v0.8.15 [INFO] [stderr] Downloaded polars v0.37.0 [INFO] [stderr] Downloaded lexical-write-float v1.0.5 [INFO] [stderr] Downloaded arrow-array v53.4.1 [INFO] [stderr] Downloaded ndarray-npy v0.9.1 [INFO] [stderr] Downloaded streaming-decompression v0.1.2 [INFO] [stderr] Downloaded lz4 v1.28.1 [INFO] [stderr] Downloaded array-init-cursor v0.2.1 [INFO] [stderr] Downloaded polars-arrow-format v0.1.0 [INFO] [stderr] Downloaded displaydoc v0.1.7 [INFO] [stderr] Downloaded linreg v0.2.0 [INFO] [stderr] Downloaded lexical-write-integer v1.0.5 [INFO] [stderr] Downloaded lexical-core v1.0.5 [INFO] [stderr] Downloaded arrow-buffer v53.4.1 [INFO] [stderr] Downloaded arrow-schema v53.4.1 [INFO] [stderr] Downloaded arrow-select v53.4.1 [INFO] [stderr] Downloaded brotli-decompressor v4.0.3 [INFO] [stderr] Downloaded parquet v53.4.1 [INFO] [stderr] Downloaded fast-float v0.2.0 [INFO] [stderr] Downloaded polars-error v0.37.0 [INFO] [stderr] Downloaded memmap2 v0.9.7 [INFO] [stderr] Downloaded timsrust v0.4.2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:cf8efcab8866f2cf4285301c7418e2f4f2a9b088c91ba69c40d5b659f81557f7" "/opt/rustwide/cargo-home/bin/cargo" "+ba7e63b63871a429533c189adbfb1d9a6337e000" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 5dca813e2892dc49d0836a08151a045d9de8278b36178b8150f8d503aa470e06 [INFO] running `Command { std: "docker" "start" "-a" "5dca813e2892dc49d0836a08151a045d9de8278b36178b8150f8d503aa470e06", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "5dca813e2892dc49d0836a08151a045d9de8278b36178b8150f8d503aa470e06", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5dca813e2892dc49d0836a08151a045d9de8278b36178b8150f8d503aa470e06", kill_on_drop: false }` [INFO] [stdout] 5dca813e2892dc49d0836a08151a045d9de8278b36178b8150f8d503aa470e06 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-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" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:cf8efcab8866f2cf4285301c7418e2f4f2a9b088c91ba69c40d5b659f81557f7" "/opt/rustwide/cargo-home/bin/cargo" "+ba7e63b63871a429533c189adbfb1d9a6337e000" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 676ec9ead1f77ab16e02f7a84d27a4473b9b92acd4a33887ab732125a0b32bfa [INFO] running `Command { std: "docker" "start" "-a" "676ec9ead1f77ab16e02f7a84d27a4473b9b92acd4a33887ab732125a0b32bfa", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.174 [INFO] [stderr] Compiling autocfg v1.5.0 [INFO] [stderr] Checking cfg-if v1.0.1 [INFO] [stderr] Compiling libm v0.2.15 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling zerocopy v0.8.26 [INFO] [stderr] Checking static_assertions v1.1.0 [INFO] [stderr] Compiling getrandom v0.3.3 [INFO] [stderr] Checking memchr v2.7.5 [INFO] [stderr] Compiling pkg-config v0.3.32 [INFO] [stderr] Checking once_cell v1.21.3 [INFO] [stderr] Compiling rayon-core v1.12.1 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Checking hashbrown v0.15.4 [INFO] [stderr] Checking either v1.15.0 [INFO] [stderr] Compiling syn v2.0.104 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Checking iana-time-zone v0.1.63 [INFO] [stderr] Checking ryu v1.0.20 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling target-features v0.1.6 [INFO] [stderr] Checking allocator-api2 v0.2.21 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Checking regex-syntax v0.8.5 [INFO] [stderr] Checking array-init-cursor v0.2.1 [INFO] [stderr] Checking equivalent v1.0.2 [INFO] [stderr] Checking planus v0.3.1 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling smartstring v1.0.1 [INFO] [stderr] Checking itoa v1.0.15 [INFO] [stderr] Compiling polars-utils v0.37.0 [INFO] [stderr] Compiling crc32fast v1.5.0 [INFO] [stderr] Checking simdutf8 v0.1.5 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Checking smallvec v1.15.1 [INFO] [stderr] Checking crossbeam-epoch v0.9.18 [INFO] [stderr] Compiling lock_api v0.4.13 [INFO] [stderr] Checking indexmap v2.10.0 [INFO] [stderr] Compiling polars-arrow v0.37.0 [INFO] [stderr] Checking crossbeam-deque v0.8.6 [INFO] [stderr] Checking bitflags v2.9.1 [INFO] [stderr] Compiling parking_lot_core v0.9.11 [INFO] [stderr] Checking bytes v1.10.1 [INFO] [stderr] Checking streaming-iterator v0.1.9 [INFO] [stderr] Checking foreign_vec v0.1.0 [INFO] [stderr] Checking ethnum v1.5.2 [INFO] [stderr] Checking adler2 v2.0.1 [INFO] [stderr] Checking dyn-clone v1.0.19 [INFO] [stderr] Checking atoi_simd v0.15.6 [INFO] [stderr] Checking strength_reduce v0.2.4 [INFO] [stderr] Compiling rustix v0.38.44 [INFO] [stderr] Compiling jobserver v0.1.33 [INFO] [stderr] Checking fast-float v0.2.0 [INFO] [stderr] Checking miniz_oxide v0.8.9 [INFO] [stderr] Checking getrandom v0.2.16 [INFO] [stderr] Checking rayon v1.10.0 [INFO] [stderr] Checking linux-raw-sys v0.4.15 [INFO] [stderr] Compiling cc v1.2.30 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking lexical-util v1.0.6 [INFO] [stderr] Compiling polars-compute v0.37.0 [INFO] [stderr] Checking flate2 v1.1.2 [INFO] [stderr] Compiling semver v1.0.26 [INFO] [stderr] Checking parking_lot v0.12.4 [INFO] [stderr] Compiling snap v1.1.1 [INFO] [stderr] Compiling polars-core v0.37.0 [INFO] [stderr] Checking unicode-segmentation v1.12.0 [INFO] [stderr] Checking unicode-width v0.2.1 [INFO] [stderr] Checking fallible-streaming-iterator v0.1.9 [INFO] [stderr] Compiling polars-ops v0.37.0 [INFO] [stderr] Checking arrow-schema v53.4.1 [INFO] [stderr] Compiling seq-macro v0.3.6 [INFO] [stderr] Checking ppv-lite86 v0.2.21 [INFO] [stderr] Checking xxhash-rust v0.8.15 [INFO] [stderr] Checking regex-automata v0.4.9 [INFO] [stderr] Checking lexical-write-integer v1.0.5 [INFO] [stderr] Checking lexical-parse-integer v1.0.5 [INFO] [stderr] Compiling rustc_version v0.4.1 [INFO] [stderr] Compiling rustversion v1.0.21 [INFO] [stderr] Compiling ucd-trie v0.1.7 [INFO] [stderr] Checking lexical-parse-float v1.0.5 [INFO] [stderr] Checking lexical-write-float v1.0.5 [INFO] [stderr] Checking streaming-decompression v0.1.2 [INFO] [stderr] Checking parquet-format-safe v0.2.4 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking chrono v0.4.39 [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Checking num-complex v0.4.6 [INFO] [stderr] Checking atoi v2.0.0 [INFO] [stderr] Checking half v2.6.0 [INFO] [stderr] Checking argminmax v0.6.3 [INFO] [stderr] Compiling flatbuffers v24.12.23 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking num-bigint v0.4.6 [INFO] [stderr] Checking num-iter v0.1.45 [INFO] [stderr] Checking lexical-core v1.0.5 [INFO] [stderr] Checking memmap2 v0.7.1 [INFO] [stderr] Compiling matrixmultiply v0.3.10 [INFO] [stderr] Compiling polars-plan v0.37.0 [INFO] [stderr] Checking home v0.5.11 [INFO] [stderr] Checking crossterm v0.28.1 [INFO] [stderr] Checking ordered-float v2.10.1 [INFO] [stderr] Checking brotli-decompressor v4.0.3 [INFO] [stderr] Compiling polars-lazy v0.37.0 [INFO] [stderr] Compiling radium v0.7.0 [INFO] [stderr] Checking twox-hash v2.1.1 [INFO] [stderr] Checking integer-encoding v3.0.4 [INFO] [stderr] Checking rand_distr v0.4.3 [INFO] [stderr] Compiling serde_json v1.0.141 [INFO] [stderr] Checking comfy-table v7.1.4 [INFO] [stderr] Checking bumpalo v3.19.0 [INFO] [stderr] Checking log v0.4.27 [INFO] [stderr] Checking simd-adler32 v0.3.7 [INFO] [stderr] Checking rawpointer v0.2.1 [INFO] [stderr] Compiling zip v2.4.2 [INFO] [stderr] Checking thrift v0.17.0 [INFO] [stderr] Checking zopfli v0.8.2 [INFO] [stderr] Checking lz4_flex v0.11.5 [INFO] [stderr] Compiling zstd-sys v2.0.13+zstd.1.5.6 [INFO] [stderr] Compiling lz4-sys v1.11.1+lz4-1.10.0 [INFO] [stderr] Compiling libsqlite3-sys v0.30.1 [INFO] [stderr] Compiling jemalloc-sys v0.5.4+5.3.0-patched [INFO] [stderr] Checking now v0.1.3 [INFO] [stderr] Checking brotli v7.0.0 [INFO] [stderr] Checking twox-hash v1.6.3 [INFO] [stderr] Compiling polars v0.37.0 [INFO] [stderr] Checking tap v1.0.1 [INFO] [stderr] Checking regex v1.11.1 [INFO] [stderr] Checking glob v0.3.2 [INFO] [stderr] Checking fallible-iterator v0.3.0 [INFO] [stderr] Checking wyz v0.5.1 [INFO] [stderr] Checking memmap2 v0.9.7 [INFO] [stderr] Checking crossbeam-channel v0.5.15 [INFO] [stderr] Checking hashbrown v0.14.5 [INFO] [stderr] Checking ndarray v0.16.1 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling bytemuck_derive v1.10.0 [INFO] [stderr] Compiling thiserror-impl v2.0.12 [INFO] [stderr] Compiling strum_macros v0.25.3 [INFO] [stderr] Checking num-rational v0.4.2 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Checking crossbeam-queue v0.3.12 [INFO] [stderr] Checking hashlink v0.9.1 [INFO] [stderr] Checking num v0.4.3 [INFO] [stderr] Checking csv-core v0.1.12 [INFO] [stderr] Checking arrow-buffer v53.4.1 [INFO] [stderr] Checking funty v2.0.0 [INFO] [stderr] Checking crossbeam v0.8.4 [INFO] [stderr] Checking sysinfo v0.29.11 [INFO] [stderr] Checking arrow-data v53.4.1 [INFO] [stderr] Checking num_cpus v1.17.0 [INFO] [stderr] Checking bitvec v1.0.1 [INFO] [stderr] Checking rustc-hash v1.1.0 [INFO] [stderr] Checking arrow-array v53.4.1 [INFO] [stderr] Compiling thiserror v2.0.12 [INFO] [stderr] Compiling pest v2.8.1 [INFO] [stderr] Checking bytemuck v1.23.1 [INFO] [stderr] Compiling multiversion-macros v0.7.4 [INFO] [stderr] Compiling displaydoc v0.1.7 [INFO] [stderr] Checking linreg v0.2.0 [INFO] [stderr] Checking arrow-select v53.4.1 [INFO] [stderr] Checking multiversion v0.7.4 [INFO] [stderr] Compiling pest_meta v2.8.1 [INFO] [stderr] Checking arrow-cast v53.4.1 [INFO] [stderr] Compiling pest_generator v2.8.1 [INFO] [stderr] Compiling pest_derive v2.8.1 [INFO] [stderr] Checking arrow-ipc v53.4.1 [INFO] [stderr] Checking py_literal v0.4.0 [INFO] [stderr] Checking ndarray-npy v0.9.1 [INFO] [stderr] Compiling zstd-safe v7.2.1 [INFO] [stderr] Checking polars-arrow-format v0.1.0 [INFO] [stderr] Checking csv v1.3.1 [INFO] [stderr] Checking bincode v1.3.3 [INFO] [stderr] Checking zstd v0.13.3 [INFO] [stderr] Checking parquet v53.4.1 [INFO] [stderr] Checking polars-error v0.37.0 [INFO] [stderr] Checking rusqlite v0.32.1 [INFO] [stderr] Checking timsrust v0.4.2 [INFO] [stderr] Checking lz4 v1.28.1 [INFO] [stderr] Checking polars-row v0.37.0 [INFO] [stderr] Checking polars-parquet v0.37.0 [INFO] [stderr] Checking polars-time v0.37.0 [INFO] [stderr] Checking polars-io v0.37.0 [INFO] [stderr] Checking jemalloc-ctl v0.5.4 [INFO] [stderr] Checking read_bruker_data v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `HashSet` [INFO] [stdout] --> src/utils.rs:1:33 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chrono::Local` [INFO] [stdout] --> src/utils.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use chrono::Local; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TimsTOFRawData` [INFO] [stdout] --> src/cache.rs:8:20 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::utils::{TimsTOFRawData, IndexedTimsTOFData}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `FrameSplit`, `LibCols`, `MergeFrom`, `TimsTOFRawData`, `build_lib_matrix`, `create_rt_im_dicts`, `find_scan_for_index`, `get_unique_precursor_ids`, `library_records_to_dataframe`, `merge_library_and_report`, `process_library_fast`, and `quantize` [INFO] [stdout] --> src/processing.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | TimsTOFRawData, IndexedTimsTOFData, find_scan_for_index, [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 4 | library_records_to_dataframe, merge_library_and_report, get_unique_precursor_ids, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 5 | process_library_fast, create_rt_im_dicts, build_lib_matrix, build_precursors_matrix_step1, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] 6 | build_precursors_matrix_step2, build_range_matrix_step3, build_precursors_matrix_step3, [INFO] [stdout] 7 | build_frag_info, get_rt_list, LibCols, quantize, FrameSplit, MergeFrom, PrecursorLibData, [INFO] [stdout] | ^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `cmp::Ordering`, `collections::HashMap`, `sync::Arc`, and `time::Instant` [INFO] [stdout] --> src/processing.rs:10:11 [INFO] [stdout] | [INFO] [stdout] 10 | use std::{collections::HashMap, error::Error, cmp::Ordering, sync::Arc, time::Instant}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `concatenate` [INFO] [stdout] --> src/processing.rs:11:56 [INFO] [stdout] | [INFO] [stdout] 11 | use ndarray::{Array1, Array2, Array3, Array4, s, Axis, concatenate}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::File` [INFO] [stdout] --> src/processing.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use std::fs::File; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::BufWriter` [INFO] [stdout] --> src/main.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::io::BufWriter; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `UniqueValues`, `build_frag_info`, `build_lib_matrix`, `build_precursors_matrix_step1`, `build_precursors_matrix_step2`, `build_precursors_matrix_step3`, `build_range_matrix_step3`, `merge_library_and_report`, and `read_parquet_with_polars` [INFO] [stdout] --> src/main.rs:10:44 [INFO] [stdout] | [INFO] [stdout] 10 | read_timstof_data, build_indexed_data, read_parquet_with_polars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 11 | library_records_to_dataframe, merge_library_and_report, get_unique_precursor_ids, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 12 | process_library_fast, create_rt_im_dicts, build_lib_matrix, build_precursors_matrix_step1, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 13 | build_precursors_matrix_step2, build_range_matrix_step3, build_precursors_matrix_step3, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 14 | build_frag_info, LibCols, PrecursorLibData, prepare_precursor_lib_data, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 15 | extract_unique_rt_im_values, save_unique_values_to_files, UniqueValues [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `build_mask_matrices`, `build_rt_intensity_matrix_optimized`, `calculate_mz_range`, `extract_aligned_rt_values`, `extract_ms2_data`, `prepare_precursor_features`, and `reshape_and_combine_matrices` [INFO] [stdout] --> src/main.rs:18:22 [INFO] [stdout] | [INFO] [stdout] 18 | FastChunkFinder, build_rt_intensity_matrix_optimized, prepare_precursor_features, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 19 | calculate_mz_range, extract_ms2_data, build_mask_matrices, extract_aligned_rt_values, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 20 | reshape_and_combine_matrices, process_single_precursor_compressed [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Array3`, `Array4`, and `Axis` [INFO] [stdout] --> src/main.rs:25:31 [INFO] [stdout] | [INFO] [stdout] 25 | use ndarray::{Array1, Array2, Array3, Array4, s, Axis}; [INFO] [stdout] | ^^^^^^ ^^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `NpzWriter` [INFO] [stdout] --> src/main.rs:27:19 [INFO] [stdout] | [INFO] [stdout] 27 | use ndarray_npy::{NpzWriter, write_npy}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashSet` [INFO] [stdout] --> src/utils.rs:1:33 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chrono::Local` [INFO] [stdout] --> src/utils.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use chrono::Local; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TimsTOFRawData` [INFO] [stdout] --> src/cache.rs:8:20 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::utils::{TimsTOFRawData, IndexedTimsTOFData}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `FrameSplit`, `LibCols`, `MergeFrom`, `TimsTOFRawData`, `build_lib_matrix`, `create_rt_im_dicts`, `find_scan_for_index`, `get_unique_precursor_ids`, `library_records_to_dataframe`, `merge_library_and_report`, `process_library_fast`, and `quantize` [INFO] [stdout] --> src/processing.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | TimsTOFRawData, IndexedTimsTOFData, find_scan_for_index, [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 4 | library_records_to_dataframe, merge_library_and_report, get_unique_precursor_ids, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 5 | process_library_fast, create_rt_im_dicts, build_lib_matrix, build_precursors_matrix_step1, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] 6 | build_precursors_matrix_step2, build_range_matrix_step3, build_precursors_matrix_step3, [INFO] [stdout] 7 | build_frag_info, get_rt_list, LibCols, quantize, FrameSplit, MergeFrom, PrecursorLibData, [INFO] [stdout] | ^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `cmp::Ordering`, `collections::HashMap`, `sync::Arc`, and `time::Instant` [INFO] [stdout] --> src/processing.rs:10:11 [INFO] [stdout] | [INFO] [stdout] 10 | use std::{collections::HashMap, error::Error, cmp::Ordering, sync::Arc, time::Instant}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `concatenate` [INFO] [stdout] --> src/processing.rs:11:56 [INFO] [stdout] | [INFO] [stdout] 11 | use ndarray::{Array1, Array2, Array3, Array4, s, Axis, concatenate}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::File` [INFO] [stdout] --> src/processing.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use std::fs::File; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::BufWriter` [INFO] [stdout] --> src/main.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::io::BufWriter; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `UniqueValues`, `build_frag_info`, `build_lib_matrix`, `build_precursors_matrix_step1`, `build_precursors_matrix_step2`, `build_precursors_matrix_step3`, `build_range_matrix_step3`, `merge_library_and_report`, and `read_parquet_with_polars` [INFO] [stdout] --> src/main.rs:10:44 [INFO] [stdout] | [INFO] [stdout] 10 | read_timstof_data, build_indexed_data, read_parquet_with_polars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 11 | library_records_to_dataframe, merge_library_and_report, get_unique_precursor_ids, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 12 | process_library_fast, create_rt_im_dicts, build_lib_matrix, build_precursors_matrix_step1, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 13 | build_precursors_matrix_step2, build_range_matrix_step3, build_precursors_matrix_step3, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 14 | build_frag_info, LibCols, PrecursorLibData, prepare_precursor_lib_data, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 15 | extract_unique_rt_im_values, save_unique_values_to_files, UniqueValues [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `build_mask_matrices`, `build_rt_intensity_matrix_optimized`, `calculate_mz_range`, `extract_aligned_rt_values`, `extract_ms2_data`, `prepare_precursor_features`, and `reshape_and_combine_matrices` [INFO] [stdout] --> src/main.rs:18:22 [INFO] [stdout] | [INFO] [stdout] 18 | FastChunkFinder, build_rt_intensity_matrix_optimized, prepare_precursor_features, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 19 | calculate_mz_range, extract_ms2_data, build_mask_matrices, extract_aligned_rt_values, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 20 | reshape_and_combine_matrices, process_single_precursor_compressed [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Array3`, `Array4`, and `Axis` [INFO] [stdout] --> src/main.rs:25:31 [INFO] [stdout] | [INFO] [stdout] 25 | use ndarray::{Array1, Array2, Array3, Array4, s, Axis}; [INFO] [stdout] | ^^^^^^ ^^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `NpzWriter` [INFO] [stdout] --> src/main.rs:27:19 [INFO] [stdout] | [INFO] [stdout] 27 | use ndarray_npy::{NpzWriter, write_npy}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `ndarray::impl_methods::>::into_shape`: Use `.into_shape_with_order()` or `.to_shape()` [INFO] [stdout] --> src/processing.rs:596:43 [INFO] [stdout] | [INFO] [stdout] 596 | let ms1_reshaped = ms1_frag_rt_matrix.into_shape(( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `ndarray::impl_methods::>::into_shape`: Use `.into_shape_with_order()` or `.to_shape()` [INFO] [stdout] --> src/processing.rs:604:43 [INFO] [stdout] | [INFO] [stdout] 604 | let ms2_reshaped = ms2_frag_rt_matrix.into_shape(( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `ndarray::impl_methods::>::into_shape`: Use `.into_shape_with_order()` or `.to_shape()` [INFO] [stdout] --> src/processing.rs:596:43 [INFO] [stdout] | [INFO] [stdout] 596 | let ms1_reshaped = ms1_frag_rt_matrix.into_shape(( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `ndarray::impl_methods::>::into_shape`: Use `.into_shape_with_order()` or `.to_shape()` [INFO] [stdout] --> src/processing.rs:604:43 [INFO] [stdout] | [INFO] [stdout] 604 | let ms2_reshaped = ms2_frag_rt_matrix.into_shape(( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rayon::prelude` [INFO] [stdout] --> src/processing.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use rayon::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `polars::prelude` [INFO] [stdout] --> src/main.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | use polars::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `bitvec::prelude` [INFO] [stdout] --> src/processing.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use bitvec::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rayon::prelude` [INFO] [stdout] --> src/processing.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use rayon::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `polars::prelude` [INFO] [stdout] --> src/main.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | use polars::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `bitvec::prelude` [INFO] [stdout] --> src/processing.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use bitvec::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/utils.rs:123:19 [INFO] [stdout] | [INFO] [stdout] 123 | for (key, mut data) in b.ms2 { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/utils.rs:123:19 [INFO] [stdout] | [INFO] [stdout] 123 | for (key, mut data) in b.ms2 { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `im_min` [INFO] [stdout] --> src/utils.rs:532:66 [INFO] [stdout] | [INFO] [stdout] 532 | pub fn slice_by_mz_im_range(&self, mz_min: f32, mz_max: f32, im_min: f32, im_max: f32) -> TimsTOFData { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_im_min` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `im_max` [INFO] [stdout] --> src/utils.rs:532:79 [INFO] [stdout] | [INFO] [stdout] 532 | pub fn slice_by_mz_im_range(&self, mz_min: f32, mz_max: f32, im_min: f32, im_max: f32) -> TimsTOFData { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_im_max` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `group_idx` [INFO] [stdout] --> src/utils.rs:949:10 [INFO] [stdout] | [INFO] [stdout] 949 | for (group_idx, indices) in precursor_groups.iter().enumerate() { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_group_idx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lib_cols` [INFO] [stdout] --> src/utils.rs:933:5 [INFO] [stdout] | [INFO] [stdout] 933 | lib_cols: &LibCols, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lib_cols` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `im_min` [INFO] [stdout] --> src/utils.rs:532:66 [INFO] [stdout] | [INFO] [stdout] 532 | pub fn slice_by_mz_im_range(&self, mz_min: f32, mz_max: f32, im_min: f32, im_max: f32) -> TimsTOFData { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_im_min` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `im_max` [INFO] [stdout] --> src/utils.rs:532:79 [INFO] [stdout] | [INFO] [stdout] 532 | pub fn slice_by_mz_im_range(&self, mz_min: f32, mz_max: f32, im_min: f32, im_max: f32) -> TimsTOFData { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_im_max` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `device` [INFO] [stdout] --> src/utils.rs:995:5 [INFO] [stdout] | [INFO] [stdout] 995 | device: &str [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_device` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `max_extract_len` [INFO] [stdout] --> src/utils.rs:1064:5 [INFO] [stdout] | [INFO] [stdout] 1064 | max_extract_len: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_extract_len` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `device` [INFO] [stdout] --> src/utils.rs:1067:5 [INFO] [stdout] | [INFO] [stdout] 1067 | device: &str [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_device` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `max_extract_len` [INFO] [stdout] --> src/utils.rs:1188:5 [INFO] [stdout] | [INFO] [stdout] 1188 | max_extract_len: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_extract_len` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `device` [INFO] [stdout] --> src/utils.rs:1191:5 [INFO] [stdout] | [INFO] [stdout] 1191 | device: &str [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_device` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `group_idx` [INFO] [stdout] --> src/utils.rs:949:10 [INFO] [stdout] | [INFO] [stdout] 949 | for (group_idx, indices) in precursor_groups.iter().enumerate() { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_group_idx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lib_cols` [INFO] [stdout] --> src/utils.rs:933:5 [INFO] [stdout] | [INFO] [stdout] 933 | lib_cols: &LibCols, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lib_cols` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `device` [INFO] [stdout] --> src/utils.rs:995:5 [INFO] [stdout] | [INFO] [stdout] 995 | device: &str [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_device` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `max_extract_len` [INFO] [stdout] --> src/utils.rs:1064:5 [INFO] [stdout] | [INFO] [stdout] 1064 | max_extract_len: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_extract_len` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `device` [INFO] [stdout] --> src/utils.rs:1067:5 [INFO] [stdout] | [INFO] [stdout] 1067 | device: &str [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_device` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `device` [INFO] [stdout] --> src/utils.rs:1633:60 [INFO] [stdout] | [INFO] [stdout] 1633 | pub fn build_ext_ms1_matrix(ms1_data_tensor: &Array3, device: &str) -> Array3 { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_device` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `device` [INFO] [stdout] --> src/utils.rs:1657:60 [INFO] [stdout] | [INFO] [stdout] 1657 | pub fn build_ext_ms2_matrix(ms2_data_tensor: &Array3, device: &str) -> Array3 { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_device` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ms1_rows` [INFO] [stdout] --> src/utils.rs:1694:9 [INFO] [stdout] | [INFO] [stdout] 1694 | let ms1_rows = ms1_shape[1]; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ms1_rows` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ms2_rows` [INFO] [stdout] --> src/utils.rs:1695:9 [INFO] [stdout] | [INFO] [stdout] 1695 | let ms2_rows = ms2_shape[1]; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ms2_rows` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `frag_repeat_num` [INFO] [stdout] --> src/utils.rs:1684:5 [INFO] [stdout] | [INFO] [stdout] 1684 | frag_repeat_num: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_frag_repeat_num` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `max_extract_len` [INFO] [stdout] --> src/utils.rs:1188:5 [INFO] [stdout] | [INFO] [stdout] 1188 | max_extract_len: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_extract_len` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `device` [INFO] [stdout] --> src/utils.rs:1191:5 [INFO] [stdout] | [INFO] [stdout] 1191 | device: &str [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_device` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `re_ms1_data_tensor` [INFO] [stdout] --> src/processing.rs:47:10 [INFO] [stdout] | [INFO] [stdout] 47 | let (re_ms1_data_tensor, re_ms2_data_tensor, ms1_extract_width_range_list, ms2_extract_width_range_list) = [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_re_ms1_data_tensor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `re_ms2_data_tensor` [INFO] [stdout] --> src/processing.rs:47:30 [INFO] [stdout] | [INFO] [stdout] 47 | let (re_ms1_data_tensor, re_ms2_data_tensor, ms1_extract_width_range_list, ms2_extract_width_range_list) = [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_re_ms2_data_tensor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/processing.rs:75:9 [INFO] [stdout] | [INFO] [stdout] 75 | let mut frag_result_filtered = extract_ms2_data( [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `device` [INFO] [stdout] --> src/utils.rs:1633:60 [INFO] [stdout] | [INFO] [stdout] 1633 | pub fn build_ext_ms1_matrix(ms1_data_tensor: &Array3, device: &str) -> Array3 { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_device` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `device` [INFO] [stdout] --> src/utils.rs:1657:60 [INFO] [stdout] | [INFO] [stdout] 1657 | pub fn build_ext_ms2_matrix(ms2_data_tensor: &Array3, device: &str) -> Array3 { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_device` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ms1_rows` [INFO] [stdout] --> src/utils.rs:1694:9 [INFO] [stdout] | [INFO] [stdout] 1694 | let ms1_rows = ms1_shape[1]; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ms1_rows` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ms2_rows` [INFO] [stdout] --> src/utils.rs:1695:9 [INFO] [stdout] | [INFO] [stdout] 1695 | let ms2_rows = ms2_shape[1]; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ms2_rows` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `frag_repeat_num` [INFO] [stdout] --> src/utils.rs:1684:5 [INFO] [stdout] | [INFO] [stdout] 1684 | frag_repeat_num: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_frag_repeat_num` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `re_ms1_data_tensor` [INFO] [stdout] --> src/processing.rs:47:10 [INFO] [stdout] | [INFO] [stdout] 47 | let (re_ms1_data_tensor, re_ms2_data_tensor, ms1_extract_width_range_list, ms2_extract_width_range_list) = [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_re_ms1_data_tensor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `re_ms2_data_tensor` [INFO] [stdout] --> src/processing.rs:47:30 [INFO] [stdout] | [INFO] [stdout] 47 | let (re_ms1_data_tensor, re_ms2_data_tensor, ms1_extract_width_range_list, ms2_extract_width_range_list) = [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_re_ms2_data_tensor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/processing.rs:75:9 [INFO] [stdout] | [INFO] [stdout] 75 | let mut frag_result_filtered = extract_ms2_data( [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `lib_records` is never read [INFO] [stdout] --> src/utils.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct PrecursorLibData { [INFO] [stdout] | ---------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 21 | pub lib_records: Vec, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PrecursorLibData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_timstof_data_optimized` is never used [INFO] [stdout] --> src/utils.rs:218:8 [INFO] [stdout] | [INFO] [stdout] 218 | pub fn read_timstof_data_optimized(d_folder: &Path) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `slice_by_mz_range`, `convert_mz_to_integer`, and `filter_by_im_range` are never used [INFO] [stdout] --> src/utils.rs:469:12 [INFO] [stdout] | [INFO] [stdout] 467 | impl IndexedTimsTOFData { [INFO] [stdout] | ----------------------- associated items in this implementation [INFO] [stdout] 468 | /// Empty constructor [INFO] [stdout] 469 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 517 | pub fn slice_by_mz_range(&self, mz_min: f32, mz_max: f32) -> TimsTOFData { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 561 | pub fn convert_mz_to_integer(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 566 | pub fn filter_by_im_range(&self, im_min: f32, im_max: f32) -> TimsTOFData { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/utils.rs:678:9 [INFO] [stdout] | [INFO] [stdout] 677 | pub struct LibCols { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 678 | pub precursor_mz_col: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 679 | pub irt_col: &'static str, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 680 | pub precursor_id_col: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 681 | pub full_sequence_col: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 682 | pub pure_sequence_col: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 683 | pub precursor_charge_col: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 684 | pub fragment_mz_col: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 685 | pub fragment_series_col: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 686 | pub fragment_charge_col: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 687 | pub fragment_type_col: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 688 | pub lib_intensity_col: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 689 | pub protein_name_col: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 690 | pub decoy_or_not_col: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LibCols` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `other_columns` is never read [INFO] [stdout] --> src/utils.rs:733:9 [INFO] [stdout] | [INFO] [stdout] 716 | pub struct LibraryRecord { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 733 | pub other_columns: HashMap, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LibraryRecord` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_parquet_with_polars` is never used [INFO] [stdout] --> src/utils.rs:1371:8 [INFO] [stdout] | [INFO] [stdout] 1371 | pub fn read_parquet_with_polars(file_path: &str) -> PolarsResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `merge_library_and_report` is never used [INFO] [stdout] --> src/utils.rs:1402:8 [INFO] [stdout] | [INFO] [stdout] 1402 | pub fn merge_library_and_report(library_df: DataFrame, report_df: DataFrame) -> PolarsResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_rt_list` is never used [INFO] [stdout] --> src/utils.rs:1605:8 [INFO] [stdout] | [INFO] [stdout] 1605 | pub fn get_rt_list(mut lst: Vec, target: f32) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `prepare_precursor_features` is never used [INFO] [stdout] --> src/processing.rs:410:8 [INFO] [stdout] | [INFO] [stdout] 410 | pub fn prepare_precursor_features( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `extract_aligned_rt_values` is never used [INFO] [stdout] --> src/processing.rs:559:8 [INFO] [stdout] | [INFO] [stdout] 559 | pub fn extract_aligned_rt_values( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `lib_records` is never read [INFO] [stdout] --> src/utils.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct PrecursorLibData { [INFO] [stdout] | ---------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 21 | pub lib_records: Vec, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PrecursorLibData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_timstof_data_optimized` is never used [INFO] [stdout] --> src/utils.rs:218:8 [INFO] [stdout] | [INFO] [stdout] 218 | pub fn read_timstof_data_optimized(d_folder: &Path) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `slice_by_mz_range`, `convert_mz_to_integer`, and `filter_by_im_range` are never used [INFO] [stdout] --> src/utils.rs:469:12 [INFO] [stdout] | [INFO] [stdout] 467 | impl IndexedTimsTOFData { [INFO] [stdout] | ----------------------- associated items in this implementation [INFO] [stdout] 468 | /// Empty constructor [INFO] [stdout] 469 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 517 | pub fn slice_by_mz_range(&self, mz_min: f32, mz_max: f32) -> TimsTOFData { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 561 | pub fn convert_mz_to_integer(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 566 | pub fn filter_by_im_range(&self, im_min: f32, im_max: f32) -> TimsTOFData { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/utils.rs:678:9 [INFO] [stdout] | [INFO] [stdout] 677 | pub struct LibCols { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 678 | pub precursor_mz_col: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 679 | pub irt_col: &'static str, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 680 | pub precursor_id_col: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 681 | pub full_sequence_col: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 682 | pub pure_sequence_col: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 683 | pub precursor_charge_col: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 684 | pub fragment_mz_col: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 685 | pub fragment_series_col: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 686 | pub fragment_charge_col: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 687 | pub fragment_type_col: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 688 | pub lib_intensity_col: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 689 | pub protein_name_col: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 690 | pub decoy_or_not_col: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LibCols` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `other_columns` is never read [INFO] [stdout] --> src/utils.rs:733:9 [INFO] [stdout] | [INFO] [stdout] 716 | pub struct LibraryRecord { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 733 | pub other_columns: HashMap, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LibraryRecord` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_parquet_with_polars` is never used [INFO] [stdout] --> src/utils.rs:1371:8 [INFO] [stdout] | [INFO] [stdout] 1371 | pub fn read_parquet_with_polars(file_path: &str) -> PolarsResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `merge_library_and_report` is never used [INFO] [stdout] --> src/utils.rs:1402:8 [INFO] [stdout] | [INFO] [stdout] 1402 | pub fn merge_library_and_report(library_df: DataFrame, report_df: DataFrame) -> PolarsResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_rt_list` is never used [INFO] [stdout] --> src/utils.rs:1605:8 [INFO] [stdout] | [INFO] [stdout] 1605 | pub fn get_rt_list(mut lst: Vec, target: f32) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `prepare_precursor_features` is never used [INFO] [stdout] --> src/processing.rs:410:8 [INFO] [stdout] | [INFO] [stdout] 410 | pub fn prepare_precursor_features( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `extract_aligned_rt_values` is never used [INFO] [stdout] --> src/processing.rs:559:8 [INFO] [stdout] | [INFO] [stdout] 559 | pub fn extract_aligned_rt_values( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 00s [INFO] running `Command { std: "docker" "inspect" "676ec9ead1f77ab16e02f7a84d27a4473b9b92acd4a33887ab732125a0b32bfa", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "676ec9ead1f77ab16e02f7a84d27a4473b9b92acd4a33887ab732125a0b32bfa", kill_on_drop: false }` [INFO] [stdout] 676ec9ead1f77ab16e02f7a84d27a4473b9b92acd4a33887ab732125a0b32bfa