[INFO] cloning repository https://github.com/4less/benchpro_rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/4less/benchpro_rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F4less%2Fbenchpro_rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F4less%2Fbenchpro_rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 7fe50ce90e28a7e3657b1c329f32d8f4aaaeaca9
[INFO] checking 4less/benchpro_rust against master#642c19bfc3a5c1de985bf5d0cc8207ac9d22708a for pr-148577
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F4less%2Fbenchpro_rust" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/4less/benchpro_rust
[INFO] finished tweaking git repo https://github.com/4less/benchpro_rust
[INFO] tweaked toml for git repo https://github.com/4less/benchpro_rust written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/4less/benchpro_rust on toolchain 642c19bfc3a5c1de985bf5d0cc8207ac9d22708a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/4less/benchpro_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" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 14 packages to latest compatible versions
[INFO] [stderr]       Adding console v0.15.11
[INFO] [stderr]       Adding encode_unicode v1.0.0
[INFO] [stderr]       Adding indicatif v0.17.11
[INFO] [stderr]       Adding matrixmultiply v0.3.10
[INFO] [stderr]       Adding ndarray v0.16.1
[INFO] [stderr]       Adding num-complex v0.4.6
[INFO] [stderr]       Adding num-integer v0.1.46
[INFO] [stderr]       Adding number_prefix v0.4.0
[INFO] [stderr]       Adding phylotree v0.1.3
[INFO] [stderr]       Adding portable-atomic v1.11.1
[INFO] [stderr]       Adding portable-atomic-util v0.2.4
[INFO] [stderr]       Adding rawpointer v0.2.1
[INFO] [stderr]       Adding unicode-width v0.2.2
[INFO] [stderr]       Adding web-time v1.1.0
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded unicode-ident v1.0.13
[INFO] [stderr]   Downloaded strum v0.26.3
[INFO] [stderr]   Downloaded rustversion v1.0.17
[INFO] [stderr]   Downloaded strum_macros v0.26.4
[INFO] [stderr]   Downloaded proc-macro2 v1.0.92
[INFO] [stderr]   Downloaded quote v1.0.37
[INFO] [stderr]   Downloaded syn v2.0.90
[INFO] [stderr]   Downloaded polars-arrow-format v0.1.0
[INFO] [stderr]   Downloaded zerocopy-derive v0.7.35
[INFO] [stderr]   Downloaded once_cell v1.20.2
[INFO] [stderr]   Downloaded phf_generator v0.11.2
[INFO] [stderr]   Downloaded ahash v0.8.11
[INFO] [stderr]   Downloaded libm v0.2.8
[INFO] [stderr]   Downloaded siphasher v0.3.11
[INFO] [stderr]   Downloaded iana-time-zone v0.1.61
[INFO] [stderr]   Downloaded errno v0.3.9
[INFO] [stderr]   Downloaded lz4 v1.28.0
[INFO] [stderr]   Downloaded clap_lex v0.7.2
[INFO] [stderr]   Downloaded polars-time v0.43.1
[INFO] [stderr]   Downloaded anstream v0.6.17
[INFO] [stderr]   Downloaded codepage v0.1.2
[INFO] [stderr]   Downloaded lockfree-object-pool v0.1.6
[INFO] [stderr]   Downloaded micromap v0.0.15
[INFO] [stderr]   Downloaded rawpointer v0.2.1
[INFO] [stderr]   Downloaded num-traits v0.1.43
[INFO] [stderr]   Downloaded unicode-segmentation v1.12.0
[INFO] [stderr]   Downloaded terminal_size v0.4.0
[INFO] [stderr]   Downloaded needletail v0.5.1
[INFO] [stderr]   Downloaded clap v4.5.20
[INFO] [stderr]   Downloaded encode_unicode v1.0.0
[INFO] [stderr]   Downloaded console v0.15.11
[INFO] [stderr]   Downloaded clap_complete v4.5.42
[INFO] [stderr]   Downloaded clap_derive v4.5.18
[INFO] [stderr]   Downloaded serde v0.8.23
[INFO] [stderr]   Downloaded nom v5.1.3
[INFO] [stderr]   Downloaded itertools v0.10.5
[INFO] [stderr]   Downloaded zstd-sys v2.0.13+zstd.1.5.6
[INFO] [stderr]   Downloaded ndarray v0.16.1
[INFO] [stderr]   Downloaded lexical-core v0.7.6
[INFO] [stderr]   Downloaded buffer-redux v1.0.2
[INFO] [stderr]   Downloaded bzip2-sys v0.1.11+1.0.8
[INFO] [stderr]   Downloaded portable-atomic v1.11.1
[INFO] [stderr]   Downloaded clap_builder v4.5.20
[INFO] [stderr]   Downloaded phylotree v0.1.3
[INFO] [stderr]   Downloaded polars-io v0.43.1
[INFO] [stderr]   Downloaded polars-core v0.43.1
[INFO] [stderr]   Downloaded uuid v1.10.0
[INFO] [stderr]   Downloaded unicode-width v0.2.2
[INFO] [stderr]   Downloaded polars-ops v0.43.1
[INFO] [stderr]   Downloaded number_prefix v0.4.0
[INFO] [stderr]   Downloaded portable-atomic-util v0.2.4
[INFO] [stderr]   Downloaded bzip2 v0.4.4
[INFO] [stderr]   Downloaded adler2 v2.0.0
[INFO] [stderr]   Downloaded serde-hjson v0.9.1
[INFO] [stderr]   Downloaded toml v0.5.11
[INFO] [stderr]   Downloaded enum_dispatch v0.3.13
[INFO] [stderr]   Downloaded crc32fast v1.4.2
[INFO] [stderr]   Downloaded yaml-rust v0.4.5
[INFO] [stderr]   Downloaded ptree v0.4.0
[INFO] [stderr]   Downloaded trait-set v0.3.0
[INFO] [stderr]   Downloaded serde_json v1.0.128
[INFO] [stderr]   Downloaded itoap v1.0.1
[INFO] [stderr]   Downloaded matrixmultiply v0.3.10
[INFO] [stderr]   Downloaded bytecount v0.6.8
[INFO] [stderr]   Downloaded numeric_literals v0.2.0
[INFO] [stderr]   Downloaded hermit-abi v0.1.19
[INFO] [stderr]   Downloaded arrayvec v0.5.2
[INFO] [stderr]   Downloaded bitflags v1.3.2
[INFO] [stderr]   Downloaded linked-hash-map v0.5.6
[INFO] [stderr]   Downloaded redox_users v0.4.6
[INFO] [stderr]   Downloaded directories v4.0.1
[INFO] [stderr]   Downloaded petgraph v0.6.5
[INFO] [stderr]   Downloaded tint v1.0.1
[INFO] [stderr]   Downloaded parquet-format-safe v0.2.4
[INFO] [stderr]   Downloaded fallible-streaming-iterator v0.1.9
[INFO] [stderr]   Downloaded polars-mem-engine v0.43.1
[INFO] [stderr]   Downloaded polars-pipe v0.43.1
[INFO] [stderr]   Downloaded lz4-sys v1.11.1+lz4-1.10.0
[INFO] [stderr]   Downloaded compact_str v0.8.0
[INFO] [stderr]   Downloaded indicatif v0.17.11
[INFO] [stderr]   Downloaded num-complex v0.4.6
[INFO] [stderr]   Downloaded miniz_oxide v0.8.0
[INFO] [stderr]   Downloaded streaming-decompression v0.1.2
[INFO] [stderr]   Downloaded polars-parquet v0.43.1
[INFO] [stderr]   Downloaded crossbeam-channel v0.5.13
[INFO] [stderr]   Downloaded glob v0.3.1
[INFO] [stderr]   Downloaded polars-plan v0.43.1
[INFO] [stderr]   Downloaded now v0.1.3
[INFO] [stderr]   Downloaded crossterm v0.27.0
[INFO] [stderr]   Downloaded unicode-width v0.1.14
[INFO] [stderr]   Downloaded flate2 v1.0.34
[INFO] [stderr]   Downloaded lazy_static v1.5.0
[INFO] [stderr]   Downloaded atty v0.2.14
[INFO] [stderr]   Downloaded rust-ini v0.13.0
[INFO] [stderr]   Downloaded libredox v0.1.3
[INFO] [stderr]   Downloaded sqlparser v0.49.0
[INFO] [stderr]   Downloaded linux-raw-sys v0.4.14
[INFO] [stderr]   Downloaded polars-sql v0.43.1
[INFO] [stderr]   Downloaded comfy-table v7.1.1
[INFO] [stderr]   Downloaded parse-zoneinfo v0.3.1
[INFO] [stderr]   Downloaded polars-arrow v0.43.1
[INFO] [stderr]   Downloaded config v0.11.0
[INFO] [stderr]   Downloaded lazy_static v0.2.11
[INFO] [stderr]   Downloaded tinytemplate v1.2.1
[INFO] [stderr]   Downloaded polars-lazy v0.43.1
[INFO] [stderr]   Downloaded chrono v0.4.38
[INFO] [stderr]   Downloaded polars-expr v0.43.1
[INFO] [stderr]   Downloaded hex v0.4.3
[INFO] [stderr]   Downloaded crossterm_winapi v0.9.1
[INFO] [stderr]   Downloaded bumpalo v3.16.0
[INFO] [stderr]   Downloaded memchr v2.7.4
[INFO] [stderr]   Downloaded ansi_term v0.12.1
[INFO] [stderr]   Downloaded windows v0.57.0
[INFO] [stderr]   Downloaded calamine v0.26.1
[INFO] [stderr]   Downloaded zip v2.2.0
[INFO] [stderr]   Downloaded itertools v0.13.0
[INFO] [stderr]   Downloaded rustix v0.38.37
[INFO] [stderr]   Downloaded fixedbitset v0.4.2
[INFO] [stderr]   Downloaded utf8-read v0.4.0
[INFO] [stderr]   Downloaded crossbeam-queue v0.3.11
[INFO] [stderr]   Downloaded quick-xml v0.31.0
[INFO] [stderr]   Downloaded argminmax v0.6.2
[INFO] [stderr]   Downloaded dirs-sys v0.3.7
[INFO] [stderr]   Downloaded home v0.5.9
[INFO] [stderr]   Downloaded atoi v2.0.0
[INFO] [stderr]   Downloaded hashbrown v0.15.0
[INFO] [stderr]   Downloaded zopfli v0.8.1
[INFO] [stderr]   Downloaded accurate v0.3.1
[INFO] [stderr]   Downloaded is_terminal_polyfill v1.70.1
[INFO] [stderr]   Downloaded chrono-tz v0.8.6
[INFO] [stderr]   Downloaded derive_arbitrary v1.3.2
[INFO] [stderr]   Downloaded arbitrary v1.3.2
[INFO] [stderr]   Downloaded indoc v2.0.5
[INFO] [stderr]   Downloaded ieee754 v0.2.6
[INFO] [stderr]   Downloaded anstyle-parse v0.2.6
[INFO] [stderr]   Downloaded anstyle-query v1.1.2
[INFO] [stderr]   Downloaded anstyle-wincon v3.0.6
[INFO] [stderr]   Downloaded colorchoice v1.0.3
[INFO] [stderr]   Downloaded anstyle v1.0.9
[INFO] [stderr]   Downloaded polars-compute v0.43.1
[INFO] [stderr]   Downloaded atoi_simd v0.15.6
[INFO] [stderr]   Downloaded windows-core v0.52.0
[INFO] [stderr]   Downloaded libc v0.2.159
[INFO] [stderr]   Downloaded bytes v1.7.2
[INFO] [stderr]   Downloaded zerocopy v0.7.35
[INFO] [stderr]   Downloaded hashbrown v0.14.5
[INFO] [stderr]   Downloaded raw-cpuid v11.2.0
[INFO] [stderr]   Downloaded fast-float v0.2.0
[INFO] [stderr]   Downloaded lock_api v0.4.12
[INFO] [stderr]   Downloaded smallvec v1.13.2
[INFO] [stderr]   Downloaded bytemuck v1.18.0
[INFO] [stderr]   Downloaded ryu v1.0.18
[INFO] [stderr]   Downloaded multiversion-macros v0.7.4
[INFO] [stderr]   Downloaded target-features v0.1.6
[INFO] [stderr]   Downloaded multiversion v0.7.4
[INFO] [stderr]   Downloaded parking_lot_core v0.9.10
[INFO] [stderr]   Downloaded parking_lot v0.12.3
[INFO] [stderr]   Downloaded strength_reduce v0.2.4
[INFO] [stderr]   Downloaded zstd v0.13.2
[INFO] [stderr]   Downloaded polars-row v0.43.1
[INFO] [stderr]   Downloaded rand_distr v0.4.3
[INFO] [stderr]   Downloaded xxhash-rust v0.8.12
[INFO] [stderr]   Downloaded unicode-reverse v1.0.9
[INFO] [stderr]   Downloaded bytemuck_derive v1.8.0
[INFO] [stderr]   Downloaded castaway v0.2.3
[INFO] [stderr]   Downloaded wasi v0.11.0+wasi-snapshot-preview1
[INFO] [stderr]   Downloaded log v0.4.22
[INFO] [stderr]   Downloaded wasm-bindgen-backend v0.2.95
[INFO] [stderr]   Downloaded rayon-core v1.12.1
[INFO] [stderr]   Downloaded rayon v1.10.0
[INFO] [stderr]   Downloaded cc v1.1.30
[INFO] [stderr]   Downloaded ethnum v1.5.0
[INFO] [stderr]   Downloaded redox_syscall v0.5.7
[INFO] [stderr]   Downloaded streaming-iterator v0.1.9
[INFO] [stderr]   Downloaded pkg-config v0.3.31
[INFO] [stderr]   Downloaded zstd-safe v7.2.1
[INFO] [stderr]   Downloaded ppv-lite86 v0.2.20
[INFO] [stderr]   Downloaded polars-schema v0.43.1
[INFO] [stderr]   Downloaded itoa v1.0.11
[INFO] [stderr]   Downloaded static_assertions v1.1.0
[INFO] [stderr]   Downloaded js-sys v0.3.72
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.95
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.95
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.95
[INFO] [stderr]   Downloaded getrandom v0.2.15
[INFO] [stderr]   Downloaded ntapi v0.4.1
[INFO] [stderr]   Downloaded sysinfo v0.31.4
[INFO] [stderr]   Downloaded polars v0.43.1
[INFO] [stderr]   Downloaded aho-corasick v1.1.3
[INFO] [stderr]   Downloaded phf_shared v0.11.2
[INFO] [stderr]   Downloaded phf v0.11.2
[INFO] [stderr]   Downloaded dyn-clone v1.0.17
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.95
[INFO] [stderr]   Downloaded indexmap v2.6.0
[INFO] [stderr]   Downloaded serde v1.0.210
[INFO] [stderr]   Downloaded regex-automata v0.4.8
[INFO] [stderr]   Downloaded memmap2 v0.7.1
[INFO] [stderr]   Downloaded array-init-cursor v0.2.0
[INFO] [stderr]   Downloaded serde_derive v1.0.210
[INFO] [stderr]   Downloaded simdutf8 v0.1.5
[INFO] [stderr]   Downloaded bitflags v2.6.0
[INFO] [stderr]   Downloaded phf_codegen v0.11.2
[INFO] [stderr]   Downloaded chrono-tz-build v0.2.1
[INFO] [stderr]   Downloaded autocfg v1.4.0
[INFO] [stderr]   Downloaded planus v0.3.1
[INFO] [stderr]   Downloaded either v1.13.0
[INFO] [stderr]   Downloaded crossbeam-epoch v0.9.18
[INFO] [stderr]   Downloaded jobserver v0.1.32
[INFO] [stderr]   Downloaded windows-implement v0.57.0
[INFO] [stderr]   Downloaded windows-result v0.1.2
[INFO] [stderr]   Downloaded polars-utils v0.43.1
[INFO] [stderr]   Downloaded polars-error v0.43.1
[INFO] [stderr]   Downloaded crossbeam-deque v0.8.5
[INFO] [stderr]   Downloaded windows-interface v0.57.0
[INFO] [stderr]   Downloaded allocator-api2 v0.2.18
[INFO] [stderr]   Downloaded equivalent v1.0.1
[INFO] [stderr]   Downloaded psm v0.1.23
[INFO] [stderr]   Downloaded stacker v0.1.17
[INFO] [stderr]   Downloaded windows-core v0.57.0
[INFO] [stderr]   Downloaded regex-syntax v0.8.5
[INFO] [stderr]   Downloaded regex v1.11.1
[INFO] [stderr]   Downloaded crossbeam-utils v0.8.20
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 732c1344af0c70174d833e3b286babac4244f6b1952d6f87f5e6ad0e4ccaae82
[INFO] running `Command { std: "docker" "start" "-a" "732c1344af0c70174d833e3b286babac4244f6b1952d6f87f5e6ad0e4ccaae82", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "732c1344af0c70174d833e3b286babac4244f6b1952d6f87f5e6ad0e4ccaae82", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "732c1344af0c70174d833e3b286babac4244f6b1952d6f87f5e6ad0e4ccaae82", kill_on_drop: false }`
[INFO] [stdout] 732c1344af0c70174d833e3b286babac4244f6b1952d6f87f5e6ad0e4ccaae82
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9abeb88c1f4c5153da41ee71984476cb6ead02ed59273dcbfb921e6c34145a8f
[INFO] running `Command { std: "docker" "start" "-a" "9abeb88c1f4c5153da41ee71984476cb6ead02ed59273dcbfb921e6c34145a8f", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.92
[INFO] [stderr]    Compiling unicode-ident v1.0.13
[INFO] [stderr]    Compiling libc v0.2.159
[INFO] [stderr]    Compiling autocfg v1.4.0
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]    Compiling libm v0.2.8
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]    Compiling serde v1.0.210
[INFO] [stderr]     Checking memchr v2.7.4
[INFO] [stderr]    Compiling cc v1.1.30
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]     Checking bitflags v2.6.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling crossbeam-utils v0.8.20
[INFO] [stderr]     Checking once_cell v1.20.2
[INFO] [stderr]     Checking ryu v1.0.18
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]    Compiling rustversion v1.0.17
[INFO] [stderr]     Checking regex-syntax v0.8.5
[INFO] [stderr]    Compiling quote v1.0.37
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]    Compiling rayon-core v1.12.1
[INFO] [stderr]     Checking hashbrown v0.15.0
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling syn v2.0.90
[INFO] [stderr]     Checking itoa v1.0.11
[INFO] [stderr]     Checking equivalent v1.0.1
[INFO] [stderr]     Checking either v1.13.0
[INFO] [stderr]     Checking static_assertions v1.1.0
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]     Checking crossbeam-deque v0.8.5
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]    Compiling ahash v0.8.11
[INFO] [stderr]    Compiling psm v0.1.23
[INFO] [stderr]    Compiling stacker v0.1.17
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]    Compiling target-features v0.1.6
[INFO] [stderr]     Checking array-init-cursor v0.2.0
[INFO] [stderr]     Checking planus v0.3.1
[INFO] [stderr]     Checking smallvec v1.13.2
[INFO] [stderr]     Checking scopeguard v1.2.0
[INFO] [stderr]     Checking castaway v0.2.3
[INFO] [stderr]    Compiling polars-utils v0.43.1
[INFO] [stderr]     Checking simdutf8 v0.1.5
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]     Checking regex-automata v0.4.8
[INFO] [stderr]     Checking allocator-api2 v0.2.18
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]     Checking memmap2 v0.7.1
[INFO] [stderr]     Checking raw-cpuid v11.2.0
[INFO] [stderr]    Compiling polars-schema v0.43.1
[INFO] [stderr]     Checking iana-time-zone v0.1.61
[INFO] [stderr]     Checking bytes v1.7.2
[INFO] [stderr]     Checking chrono v0.4.38
[INFO] [stderr]    Compiling polars-arrow v0.43.1
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking atoi_simd v0.15.6
[INFO] [stderr]     Checking strength_reduce v0.2.4
[INFO] [stderr]     Checking ethnum v1.5.0
[INFO] [stderr]     Checking streaming-iterator v0.1.9
[INFO] [stderr]     Checking fast-float v0.2.0
[INFO] [stderr]     Checking dyn-clone v1.0.17
[INFO] [stderr]    Compiling polars-compute v0.43.1
[INFO] [stderr]     Checking crossterm v0.27.0
[INFO] [stderr]    Compiling polars-core v0.43.1
[INFO] [stderr]     Checking unicode-width v0.1.14
[INFO] [stderr]    Compiling pkg-config v0.3.31
[INFO] [stderr]    Compiling polars-ops v0.43.1
[INFO] [stderr]     Checking xxhash-rust v0.8.12
[INFO] [stderr]     Checking argminmax v0.6.2
[INFO] [stderr]     Checking now v0.1.3
[INFO] [stderr]     Checking atoi v2.0.0
[INFO] [stderr]    Compiling rustix v0.38.37
[INFO] [stderr]    Compiling polars-plan v0.43.1
[INFO] [stderr]     Checking crc32fast v1.4.2
[INFO] [stderr]     Checking glob v0.3.1
[INFO] [stderr]     Checking regex v1.11.1
[INFO] [stderr]     Checking home v0.5.9
[INFO] [stderr]     Checking linux-raw-sys v0.4.14
[INFO] [stderr]     Checking utf8parse v0.2.2
[INFO] [stderr]     Checking adler2 v2.0.0
[INFO] [stderr]     Checking percent-encoding v2.3.1
[INFO] [stderr]    Compiling lexical-core v0.7.6
[INFO] [stderr]    Compiling serde_json v1.0.128
[INFO] [stderr]     Checking miniz_oxide v0.8.0
[INFO] [stderr]    Compiling bzip2-sys v0.1.11+1.0.8
[INFO] [stderr]    Compiling lzma-sys v0.1.20
[INFO] [stderr]     Checking anstyle-parse v0.2.6
[INFO] [stderr]    Compiling nom v5.1.3
[INFO] [stderr]     Checking is_terminal_polyfill v1.70.1
[INFO] [stderr]     Checking anstyle-query v1.1.2
[INFO] [stderr]     Checking anstyle v1.0.9
[INFO] [stderr]     Checking arrayvec v0.5.2
[INFO] [stderr]     Checking bitflags v1.3.2
[INFO] [stderr]     Checking colorchoice v1.0.3
[INFO] [stderr]     Checking num-traits v0.1.43
[INFO] [stderr]     Checking flate2 v1.0.34
[INFO] [stderr]     Checking anstream v0.6.17
[INFO] [stderr]    Compiling matrixmultiply v0.3.10
[INFO] [stderr]     Checking clap_lex v0.7.2
[INFO] [stderr]     Checking lazy_static v1.5.0
[INFO] [stderr]     Checking linked-hash-map v0.5.6
[INFO] [stderr]    Compiling portable-atomic v1.11.1
[INFO] [stderr]     Checking strsim v0.11.1
[INFO] [stderr]     Checking serde v0.8.23
[INFO] [stderr]     Checking yaml-rust v0.4.5
[INFO] [stderr]     Checking terminal_size v0.4.0
[INFO] [stderr]     Checking clap_builder v4.5.20
[INFO] [stderr]     Checking ordered-float v2.10.1
[INFO] [stderr]     Checking dirs-sys v0.3.7
[INFO] [stderr]    Compiling polars-lazy v0.43.1
[INFO] [stderr]     Checking encoding_rs v0.8.35
[INFO] [stderr]     Checking rawpointer v0.2.1
[INFO] [stderr]     Checking lockfree-object-pool v0.1.6
[INFO] [stderr]    Compiling zip v2.2.0
[INFO] [stderr]     Checking unicode-width v0.2.2
[INFO] [stderr]     Checking log v0.4.22
[INFO] [stderr]     Checking rust-ini v0.13.0
[INFO] [stderr]    Compiling serde_derive v1.0.210
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling bytemuck_derive v1.8.0
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling recursive-proc-macro-impl v0.1.1
[INFO] [stderr]     Checking zerocopy v0.7.35
[INFO] [stderr]    Compiling multiversion-macros v0.7.4
[INFO] [stderr]     Checking serde-hjson v0.9.1
[INFO] [stderr]     Checking bytemuck v1.18.0
[INFO] [stderr]     Checking recursive v0.1.1
[INFO] [stderr]    Compiling clap_derive v4.5.18
[INFO] [stderr]     Checking simd-adler32 v0.3.7
[INFO] [stderr]     Checking fixedbitset v0.4.2
[INFO] [stderr]     Checking fallible-streaming-iterator v0.1.9
[INFO] [stderr]     Checking lazy_static v0.2.11
[INFO] [stderr]     Checking bumpalo v3.16.0
[INFO] [stderr]     Checking tint v1.0.1
[INFO] [stderr]     Checking ppv-lite86 v0.2.20
[INFO] [stderr]     Checking streaming-decompression v0.1.2
[INFO] [stderr]     Checking zopfli v0.8.1
[INFO] [stderr]     Checking console v0.15.11
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking bzip2 v0.4.4
[INFO] [stderr]     Checking directories v4.0.1
[INFO] [stderr]     Checking xz2 v0.1.7
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking multiversion v0.7.4
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking buffer-redux v1.0.2
[INFO] [stderr]    Compiling polars v0.43.1
[INFO] [stderr]     Checking strum v0.26.3
[INFO] [stderr]     Checking ansi_term v0.12.1
[INFO] [stderr]     Checking comfy-table v7.1.1
[INFO] [stderr]     Checking number_prefix v0.4.0
[INFO] [stderr]     Checking bytecount v0.6.8
[INFO] [stderr]     Checking base64 v0.22.1
[INFO] [stderr]     Checking parquet-format-safe v0.2.4
[INFO] [stderr]     Checking rand_distr v0.4.3
[INFO] [stderr]     Checking ieee754 v0.2.6
[INFO] [stderr]     Checking needletail v0.5.1
[INFO] [stderr]     Checking accurate v0.3.1
[INFO] [stderr]     Checking indicatif v0.17.11
[INFO] [stderr]     Checking ndarray v0.16.1
[INFO] [stderr]    Compiling numeric_literals v0.2.0
[INFO] [stderr]    Compiling trait-set v0.3.0
[INFO] [stderr]     Checking codepage v0.1.2
[INFO] [stderr]     Checking quick-xml v0.31.0
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]     Checking utf8-read v0.4.0
[INFO] [stderr]     Checking clap v4.5.20
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]     Checking clap_complete v4.5.42
[INFO] [stderr]     Checking micromap v0.0.15
[INFO] [stderr]    Compiling indoc v2.0.5
[INFO] [stderr]     Checking indexmap v2.6.0
[INFO] [stderr]     Checking polars-arrow-format v0.1.0
[INFO] [stderr]     Checking compact_str v0.8.0
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking toml v0.5.11
[INFO] [stderr]     Checking serde-value v0.7.0
[INFO] [stderr]     Checking petgraph v0.6.5
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking config v0.11.0
[INFO] [stderr]     Checking calamine v0.26.1
[INFO] [stderr]     Checking ptree v0.4.0
[INFO] [stderr]     Checking polars-error v0.43.1
[INFO] [stderr]     Checking phylotree v0.1.3
[INFO] [stderr]     Checking polars-row v0.43.1
[INFO] [stderr]     Checking polars-parquet v0.43.1
[INFO] [stderr]     Checking polars-time v0.43.1
[INFO] [stderr]     Checking polars-io v0.43.1
[INFO] [stderr]     Checking polars-expr v0.43.1
[INFO] [stderr]     Checking polars-mem-engine v0.43.1
[INFO] [stderr]     Checking benchpro v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]    --> src/common.rs:369:14
[INFO] [stdout]     |
[INFO] [stdout] 369 |         match(self) {
[INFO] [stdout]     |              ^    ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 369 -         match(self) {
[INFO] [stdout] 369 +         match self  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]    --> src/common.rs:377:14
[INFO] [stdout]     |
[INFO] [stdout] 377 |         match(var) {
[INFO] [stdout]     |              ^   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 377 -         match(var) {
[INFO] [stdout] 377 +         match var  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufRead`, `BufReader`, `cmp::max`, `default`, `fmt::Display`, and `process::exit`
[INFO] [stdout]  --> src/profile.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{cmp::max, collections::{HashMap, HashSet}, default, fmt::Display, io::{BufRead, BufReader, Read, Seek}, process::exit, str::Fro...
[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: `LineageFromString`
[INFO] [stdout]  --> src/profile.rs:6:39
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::{common::{Custom, Lineage, LineageFromString, Taxon, TaxonomicRank, Taxonomy, TaxonomyEnum, GTDB, NCBI}, format::{Columns, For...
[INFO] [stdout]   |                                       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Taxonomy`, `profile`, and `self`
[INFO] [stdout]    --> src/profile.rs:873:26
[INFO] [stdout]     |
[INFO] [stdout] 873 |     use crate::{common::{self, Taxonomy, GTDB}, format::{Auto, Columns, CAMI}, profile};
[INFO] [stdout]     |                          ^^^^  ^^^^^^^^                                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `all`
[INFO] [stdout]  --> src/format.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | use itertools::{all, Itertools};
[INFO] [stdout]   |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Taxon`
[INFO] [stdout]  --> src/format.rs:5:22
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::{common::{Taxon, TaxonomicRank, Taxonomy, NCBI}, profile::{Entry, Profile, ProfileError, ProfileResult}};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NodeError`
[INFO] [stdout]   --> src/utils.rs:12:29
[INFO] [stdout]    |
[INFO] [stdout] 12 | use phylotree::tree::{Node, NodeError, NodeId, Tree, TreeError};
[INFO] [stdout]    |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `meta::MetaColumn`
[INFO] [stdout]   --> src/utils.rs:15:41
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::{common::LINEAGE_DELIMITERS, meta::MetaColumn};
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc`, `BufReader`, `Cursor`, `RwLock`, `collections::HashSet`, `mem::swap`, and `process::exit`
[INFO] [stdout]  --> src/benchpro.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     collections::HashSet,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 3 |     fs::File,
[INFO] [stdout] 4 |     io::{BufReader, Cursor},
[INFO] [stdout]   |          ^^^^^^^^^  ^^^^^^
[INFO] [stdout] 5 |     iter::repeat,
[INFO] [stdout] 6 |     mem::swap,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 7 |     path::Path,
[INFO] [stdout] 8 |     process::exit,
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 9 |     sync::{Arc, Mutex, RwLock},
[INFO] [stdout]   |            ^^^         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DataType`, `PlSmallStr`, and `cols`
[INFO] [stdout]   --> src/benchpro.rs:18:14
[INFO] [stdout]    |
[INFO] [stdout] 18 |         col, cols, lit, when, CsvWriter, DataFrameJoinOps, DataType, IntoLazy, NamedFrom,
[INFO] [stdout]    |              ^^^^                                          ^^^^^^^^
[INFO] [stdout] 19 |         PlSmallStr, QuoteStyle,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `LoadProfile`, `ProfileWrapper`, `Profile`, `TaxaSet`, `get_lca`, `get_subtree_with_leaves`, `get_subtree`, `sample_apply`, `self`, `tree_collapse_edges`, `wrap_names`, and `write_df`
[INFO] [stdout]   --> src/benchpro.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 |     meta::{self, MetaColumn},
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 27 |     options::Args,
[INFO] [stdout] 28 |     profile::{LoadProfile, Profile, ProfileWrapper},
[INFO] [stdout]    |               ^^^^^^^^^^^  ^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     tree_handler::{TaxaSet, TreeHandler},
[INFO] [stdout]    |                    ^^^^^^^
[INFO] [stdout] 32 |     utils::{
[INFO] [stdout] 33 |         add_string_columns, f1_score, get_lca, get_subtree, get_subtree_with_leaves, precision,
[INFO] [stdout]    |                                       ^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 34 |         sample_apply, sensitivity, tree_collapse_edges, wrap_names, write_df,
[INFO] [stdout]    |         ^^^^^^^^^^^^               ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `izip`
[INFO] [stdout]  --> src/meta.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 | use itertools::{izip, Itertools};
[INFO] [stdout]   |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AnyValue`, `AsString`, `SeriesIter`, and `SortOptions`
[INFO] [stdout]   --> src/meta.rs:8:19
[INFO] [stdout]    |
[INFO] [stdout]  8 |         col, lit, AnyValue, AsString, CsvReadOptions, DataFrameJoinOps, Expr, IntoLazy, NamedFrom,
[INFO] [stdout]    |                   ^^^^^^^^  ^^^^^^^^
[INFO] [stdout]  9 |         PlSmallStr, SortOptions,
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout] 10 |     },
[INFO] [stdout] 11 |     series::{Series, SeriesIter},
[INFO] [stdout]    |                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `process::exit`
[INFO] [stdout]  --> src/profile_handler.rs:1:66
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::{HashMap, HashSet}, fs::File, path::Path, process::exit};
[INFO] [stdout]   |                                                                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `load_file_to_hashset`
[INFO] [stdout]  --> src/profile_handler.rs:5:189
[INFO] [stdout]   |
[INFO] [stdout] 5 | ... ProfileWrapper}, utils::{load_file_lineages_to_hashset, load_file_to_hashset}};
[INFO] [stdout]   |                                                             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `thiserror::Error`
[INFO] [stdout]  --> src/tree_handler.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use thiserror::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cell::RefCell` and `process::exit`
[INFO] [stdout]  --> src/tree_handler.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::{cell::RefCell, collections::{HashMap, HashSet}, fs, io, path::Path, process::exit};
[INFO] [stdout]   |           ^^^^^^^^^^^^^                                                       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `process::exit`
[INFO] [stdout]  --> src/tree_adjusted_benchmarks.rs:2:44
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::{collections::{HashMap, HashSet}, process::exit, str::FromStr, sync::{Arc, Mutex}};
[INFO] [stdout]   |                                            ^^^^^^^^^^^^^                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `NamedFromOwned` and `all`
[INFO] [stdout]  --> src/tree_adjusted_benchmarks.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 |     prelude::{all, col, lit, DataFrameJoinOps, IntoLazy, NamedFrom as _, NamedFromOwned},
[INFO] [stdout]   |               ^^^                                                        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NeighborDist`
[INFO] [stdout]   --> src/tree_adjusted_benchmarks.rs:18:63
[INFO] [stdout]    |
[INFO] [stdout] 18 |     utils::{closest_neighbor, sample_apply, time, wrap_names, NeighborDist},
[INFO] [stdout]    |                                                               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]    --> src/common.rs:369:14
[INFO] [stdout]     |
[INFO] [stdout] 369 |         match(self) {
[INFO] [stdout]     |              ^    ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 369 -         match(self) {
[INFO] [stdout] 369 +         match self  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]    --> src/common.rs:377:14
[INFO] [stdout]     |
[INFO] [stdout] 377 |         match(var) {
[INFO] [stdout]     |              ^   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 377 -         match(var) {
[INFO] [stdout] 377 +         match var  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufRead`, `BufReader`, `cmp::max`, `default`, `fmt::Display`, and `process::exit`
[INFO] [stdout]  --> src/profile.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{cmp::max, collections::{HashMap, HashSet}, default, fmt::Display, io::{BufRead, BufReader, Read, Seek}, process::exit, str::Fro...
[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: `LineageFromString`
[INFO] [stdout]  --> src/profile.rs:6:39
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::{common::{Custom, Lineage, LineageFromString, Taxon, TaxonomicRank, Taxonomy, TaxonomyEnum, GTDB, NCBI}, format::{Columns, For...
[INFO] [stdout]   |                                       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `all`
[INFO] [stdout]  --> src/format.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | use itertools::{all, Itertools};
[INFO] [stdout]   |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Taxon`
[INFO] [stdout]  --> src/format.rs:5:22
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::{common::{Taxon, TaxonomicRank, Taxonomy, NCBI}, profile::{Entry, Profile, ProfileError, ProfileResult}};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NodeError`
[INFO] [stdout]   --> src/utils.rs:12:29
[INFO] [stdout]    |
[INFO] [stdout] 12 | use phylotree::tree::{Node, NodeError, NodeId, Tree, TreeError};
[INFO] [stdout]    |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `meta::MetaColumn`
[INFO] [stdout]   --> src/utils.rs:15:41
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::{common::LINEAGE_DELIMITERS, meta::MetaColumn};
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc`, `BufReader`, `Cursor`, `RwLock`, `collections::HashSet`, `mem::swap`, and `process::exit`
[INFO] [stdout]  --> src/benchpro.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     collections::HashSet,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 3 |     fs::File,
[INFO] [stdout] 4 |     io::{BufReader, Cursor},
[INFO] [stdout]   |          ^^^^^^^^^  ^^^^^^
[INFO] [stdout] 5 |     iter::repeat,
[INFO] [stdout] 6 |     mem::swap,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 7 |     path::Path,
[INFO] [stdout] 8 |     process::exit,
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 9 |     sync::{Arc, Mutex, RwLock},
[INFO] [stdout]   |            ^^^         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DataType`, `PlSmallStr`, and `cols`
[INFO] [stdout]   --> src/benchpro.rs:18:14
[INFO] [stdout]    |
[INFO] [stdout] 18 |         col, cols, lit, when, CsvWriter, DataFrameJoinOps, DataType, IntoLazy, NamedFrom,
[INFO] [stdout]    |              ^^^^                                          ^^^^^^^^
[INFO] [stdout] 19 |         PlSmallStr, QuoteStyle,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `LoadProfile`, `ProfileWrapper`, `Profile`, `TaxaSet`, `get_lca`, `get_subtree_with_leaves`, `get_subtree`, `sample_apply`, `self`, `tree_collapse_edges`, `wrap_names`, and `write_df`
[INFO] [stdout]   --> src/benchpro.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 |     meta::{self, MetaColumn},
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 27 |     options::Args,
[INFO] [stdout] 28 |     profile::{LoadProfile, Profile, ProfileWrapper},
[INFO] [stdout]    |               ^^^^^^^^^^^  ^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     tree_handler::{TaxaSet, TreeHandler},
[INFO] [stdout]    |                    ^^^^^^^
[INFO] [stdout] 32 |     utils::{
[INFO] [stdout] 33 |         add_string_columns, f1_score, get_lca, get_subtree, get_subtree_with_leaves, precision,
[INFO] [stdout]    |                                       ^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 34 |         sample_apply, sensitivity, tree_collapse_edges, wrap_names, write_df,
[INFO] [stdout]    |         ^^^^^^^^^^^^               ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `izip`
[INFO] [stdout]  --> src/meta.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 | use itertools::{izip, Itertools};
[INFO] [stdout]   |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AnyValue`, `AsString`, `SeriesIter`, and `SortOptions`
[INFO] [stdout]   --> src/meta.rs:8:19
[INFO] [stdout]    |
[INFO] [stdout]  8 |         col, lit, AnyValue, AsString, CsvReadOptions, DataFrameJoinOps, Expr, IntoLazy, NamedFrom,
[INFO] [stdout]    |                   ^^^^^^^^  ^^^^^^^^
[INFO] [stdout]  9 |         PlSmallStr, SortOptions,
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout] 10 |     },
[INFO] [stdout] 11 |     series::{Series, SeriesIter},
[INFO] [stdout]    |                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `process::exit`
[INFO] [stdout]  --> src/profile_handler.rs:1:66
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::{HashMap, HashSet}, fs::File, path::Path, process::exit};
[INFO] [stdout]   |                                                                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `load_file_to_hashset`
[INFO] [stdout]  --> src/profile_handler.rs:5:189
[INFO] [stdout]   |
[INFO] [stdout] 5 | ... ProfileWrapper}, utils::{load_file_lineages_to_hashset, load_file_to_hashset}};
[INFO] [stdout]   |                                                             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `thiserror::Error`
[INFO] [stdout]  --> src/tree_handler.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use thiserror::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cell::RefCell` and `process::exit`
[INFO] [stdout]  --> src/tree_handler.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::{cell::RefCell, collections::{HashMap, HashSet}, fs, io, path::Path, process::exit};
[INFO] [stdout]   |           ^^^^^^^^^^^^^                                                       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `process::exit`
[INFO] [stdout]  --> src/tree_adjusted_benchmarks.rs:2:44
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::{collections::{HashMap, HashSet}, process::exit, str::FromStr, sync::{Arc, Mutex}};
[INFO] [stdout]   |                                            ^^^^^^^^^^^^^                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `NamedFromOwned` and `all`
[INFO] [stdout]  --> src/tree_adjusted_benchmarks.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 |     prelude::{all, col, lit, DataFrameJoinOps, IntoLazy, NamedFrom as _, NamedFromOwned},
[INFO] [stdout]   |               ^^^                                                        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NeighborDist`
[INFO] [stdout]   --> src/tree_adjusted_benchmarks.rs:18:63
[INFO] [stdout]    |
[INFO] [stdout] 18 |     utils::{closest_neighbor, sample_apply, time, wrap_names, NeighborDist},
[INFO] [stdout]    |                                                               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `generic_arg_infer` has been stable since 1.89.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/main.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(generic_arg_infer)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `let_chains` has been stable since 1.88.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/main.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | #![feature(let_chains)]
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `generic_arg_infer` has been stable since 1.89.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/main.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(generic_arg_infer)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `let_chains` has been stable since 1.88.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/main.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | #![feature(let_chains)]
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Itertools`
[INFO] [stdout]  --> src/meta.rs:2:23
[INFO] [stdout]   |
[INFO] [stdout] 2 | use itertools::{izip, Itertools};
[INFO] [stdout]   |                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r`
[INFO] [stdout]    --> src/common.rs:121:41
[INFO] [stdout]     |
[INFO] [stdout] 121 |         self.data.iter_mut().for_each(|(r, t)| {
[INFO] [stdout]     |                                         ^ help: if this is intentional, prefix it with an underscore: `_r`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ranks`
[INFO] [stdout]    --> src/common.rs:174:39
[INFO] [stdout]     |
[INFO] [stdout] 174 |     fn lineage_from_string(str: &str, ranks: Option<&Vec<TaxonomicRank>>) -> Lineage<GTDB> {
[INFO] [stdout]     |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_ranks`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ranks`
[INFO] [stdout]    --> src/common.rs:206:39
[INFO] [stdout]     |
[INFO] [stdout] 206 |     fn lineage_from_string(str: &str, ranks: Option<&Vec<TaxonomicRank>>) -> Lineage<Self> {
[INFO] [stdout]     |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_ranks`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `entries`
[INFO] [stdout]    --> src/profile.rs:357:17
[INFO] [stdout]     |
[INFO] [stdout] 357 |             let entries = match prediction.get(taxon) {
[INFO] [stdout]     |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_entries`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/profile.rs:276:87
[INFO] [stdout]     |
[INFO] [stdout] 276 |             let primary_abundance_list = predictions.primary.as_ref().map_or(vec![], |x| 
[INFO] [stdout]     |                                                                                       ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Itertools`
[INFO] [stdout]  --> src/meta.rs:2:23
[INFO] [stdout]   |
[INFO] [stdout] 2 | use itertools::{izip, Itertools};
[INFO] [stdout]   |                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r`
[INFO] [stdout]    --> src/common.rs:121:41
[INFO] [stdout]     |
[INFO] [stdout] 121 |         self.data.iter_mut().for_each(|(r, t)| {
[INFO] [stdout]     |                                         ^ help: if this is intentional, prefix it with an underscore: `_r`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ranks`
[INFO] [stdout]    --> src/common.rs:174:39
[INFO] [stdout]     |
[INFO] [stdout] 174 |     fn lineage_from_string(str: &str, ranks: Option<&Vec<TaxonomicRank>>) -> Lineage<GTDB> {
[INFO] [stdout]     |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_ranks`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ranks`
[INFO] [stdout]    --> src/common.rs:206:39
[INFO] [stdout]     |
[INFO] [stdout] 206 |     fn lineage_from_string(str: &str, ranks: Option<&Vec<TaxonomicRank>>) -> Lineage<Self> {
[INFO] [stdout]     |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_ranks`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rank`
[INFO] [stdout]    --> src/profile.rs:589:59
[INFO] [stdout]     |
[INFO] [stdout] 589 |                     .filter(|entry| matches!(&entry.rank, rank))
[INFO] [stdout]     |                                                           ^^^^ help: if this is intentional, prefix it with an underscore: `_rank`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `set`
[INFO] [stdout]    --> src/profile.rs:580:25
[INFO] [stdout]     |
[INFO] [stdout] 580 |                     let set = self.taxa.iter()
[INFO] [stdout]     |                         ^^^ help: if this is intentional, prefix it with an underscore: `_set`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `entry`
[INFO] [stdout]    --> src/profile.rs:668:37
[INFO] [stdout]     |
[INFO] [stdout] 668 |                     .filter(|(name, entry)| name.is_some())
[INFO] [stdout]     |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_entry`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `entry`
[INFO] [stdout]    --> src/profile.rs:629:41
[INFO] [stdout]     |
[INFO] [stdout] 629 |                         .filter(|(name, entry)| name.is_some())
[INFO] [stdout]     |                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_entry`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `allow_ambiguity`
[INFO] [stdout]    --> src/profile.rs:750:83
[INFO] [stdout]     |
[INFO] [stdout] 750 |     pub fn binary_classification(&self, gold_std: &Self, ranks: &[TaxonomicRank], allow_ambiguity: bool) -> PolarsResult<DataFrame> {
[INFO] [stdout]     |                                                                                   ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_allow_ambiguity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `entries`
[INFO] [stdout]    --> src/profile.rs:357:17
[INFO] [stdout]     |
[INFO] [stdout] 357 |             let entries = match prediction.get(taxon) {
[INFO] [stdout]     |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_entries`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/profile.rs:276:87
[INFO] [stdout]     |
[INFO] [stdout] 276 |             let primary_abundance_list = predictions.primary.as_ref().map_or(vec![], |x| 
[INFO] [stdout]     |                                                                                       ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fp`
[INFO] [stdout]    --> src/utils.rs:122:31
[INFO] [stdout]     |
[INFO] [stdout] 122 | pub fn sensitivity(tp: usize, fp: usize, fn_: usize) -> f64 {
[INFO] [stdout]     |                               ^^ help: if this is intentional, prefix it with an underscore: `_fp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fn_`
[INFO] [stdout]    --> src/utils.rs:126:40
[INFO] [stdout]     |
[INFO] [stdout] 126 | pub fn precision(tp: usize, fp: usize, fn_: usize) -> f64 {
[INFO] [stdout]     |                                        ^^^ help: if this is intentional, prefix it with an underscore: `_fn_`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/utils.rs:247:40
[INFO] [stdout]     |
[INFO] [stdout] 247 | pub fn sample_apply<F>(df: &DataFrame, mut f: F) -> PolarsResult<DataFrame>
[INFO] [stdout]     |                                        ----^
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rank`
[INFO] [stdout]    --> src/profile.rs:589:59
[INFO] [stdout]     |
[INFO] [stdout] 589 |                     .filter(|entry| matches!(&entry.rank, rank))
[INFO] [stdout]     |                                                           ^^^^ help: if this is intentional, prefix it with an underscore: `_rank`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `set`
[INFO] [stdout]    --> src/profile.rs:580:25
[INFO] [stdout]     |
[INFO] [stdout] 580 |                     let set = self.taxa.iter()
[INFO] [stdout]     |                         ^^^ help: if this is intentional, prefix it with an underscore: `_set`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]    --> src/utils.rs:516:9
[INFO] [stdout]     |
[INFO] [stdout] 516 |     let node = tree.get_root()?;
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `entry`
[INFO] [stdout]    --> src/profile.rs:668:37
[INFO] [stdout]     |
[INFO] [stdout] 668 |                     .filter(|(name, entry)| name.is_some())
[INFO] [stdout]     |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_entry`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `entry`
[INFO] [stdout]    --> src/profile.rs:629:41
[INFO] [stdout]     |
[INFO] [stdout] 629 |                         .filter(|(name, entry)| name.is_some())
[INFO] [stdout]     |                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_entry`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/benchpro.rs:108:9
[INFO] [stdout]     |
[INFO] [stdout] 108 |     let mut dfs_with_taxa: Vec<DataFrame> = Vec::default();
[INFO] [stdout]     |         ----^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dfs_with_taxa`
[INFO] [stdout]    --> src/benchpro.rs:108:9
[INFO] [stdout]     |
[INFO] [stdout] 108 |     let mut dfs_with_taxa: Vec<DataFrame> = Vec::default();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dfs_with_taxa`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `allow_ambiguity`
[INFO] [stdout]    --> src/profile.rs:750:83
[INFO] [stdout]     |
[INFO] [stdout] 750 |     pub fn binary_classification(&self, gold_std: &Self, ranks: &[TaxonomicRank], allow_ambiguity: bool) -> PolarsResult<DataFrame> {
[INFO] [stdout]     |                                                                                   ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_allow_ambiguity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `profile`
[INFO] [stdout]    --> src/profile.rs:881:13
[INFO] [stdout]     |
[INFO] [stdout] 881 |         let profile = Profile::<GTDB>::default();
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_profile`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/benchpro.rs:220:9
[INFO] [stdout]     |
[INFO] [stdout] 220 |     let mut complete_df = get_taxon_df(&handler);
[INFO] [stdout]     |         ----^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/benchpro.rs:309:9
[INFO] [stdout]     |
[INFO] [stdout] 309 |     let mut newdf =
[INFO] [stdout]     |         ----^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/benchpro.rs:333:27
[INFO] [stdout]     |
[INFO] [stdout] 333 | pub fn meta_free_workflow(args: &Args) {}
[INFO] [stdout]     |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/meta.rs:146:13
[INFO] [stdout]     |
[INFO] [stdout] 145 |             MetaColumnStrings::AVAILABLE_TAXA => Some(Self::AvailableTaxa),
[INFO] [stdout]     |             --------------------------------- matches all the relevant values
[INFO] [stdout] 146 |             "AvailableSpecies" => Some(Self::AvailableTaxa),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/meta.rs:200:13
[INFO] [stdout]     |
[INFO] [stdout] 200 |         let mut entry = MetaEntry::default();
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `entry`
[INFO] [stdout]    --> src/meta.rs:200:13
[INFO] [stdout]     |
[INFO] [stdout] 200 |         let mut entry = MetaEntry::default();
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_entry`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/profile_handler.rs:69:13
[INFO] [stdout]    |
[INFO] [stdout] 69 |         let mut data: Vec<ProfileWrapper> = Vec::default();
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/profile_handler.rs:69:13
[INFO] [stdout]    |
[INFO] [stdout] 69 |         let mut data: Vec<ProfileWrapper> = Vec::default();
[INFO] [stdout]    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fp`
[INFO] [stdout]    --> src/utils.rs:122:31
[INFO] [stdout]     |
[INFO] [stdout] 122 | pub fn sensitivity(tp: usize, fp: usize, fn_: usize) -> f64 {
[INFO] [stdout]     |                               ^^ help: if this is intentional, prefix it with an underscore: `_fp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fn_`
[INFO] [stdout]    --> src/utils.rs:126:40
[INFO] [stdout]     |
[INFO] [stdout] 126 | pub fn precision(tp: usize, fp: usize, fn_: usize) -> f64 {
[INFO] [stdout]     |                                        ^^^ help: if this is intentional, prefix it with an underscore: `_fn_`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/utils.rs:247:40
[INFO] [stdout]     |
[INFO] [stdout] 247 | pub fn sample_apply<F>(df: &DataFrame, mut f: F) -> PolarsResult<DataFrame>
[INFO] [stdout]     |                                        ----^
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> src/tree_handler.rs:83:27
[INFO] [stdout]    |
[INFO] [stdout] 83 |                 .filter(|(id, name)| name.is_some()) 
[INFO] [stdout]    |                           ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tree_adjusted_benchmarks.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |     let mut bc_tree_df = mut_species_df
[INFO] [stdout]    |         ----^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `meta`
[INFO] [stdout]   --> src/tree_adjusted_benchmarks.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     meta: &Meta,
[INFO] [stdout]    |     ^^^^ help: if this is intentional, prefix it with an underscore: `_meta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]    --> src/utils.rs:516:9
[INFO] [stdout]     |
[INFO] [stdout] 516 |     let node = tree.get_root()?;
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/benchpro.rs:108:9
[INFO] [stdout]     |
[INFO] [stdout] 108 |     let mut dfs_with_taxa: Vec<DataFrame> = Vec::default();
[INFO] [stdout]     |         ----^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dfs_with_taxa`
[INFO] [stdout]    --> src/benchpro.rs:108:9
[INFO] [stdout]     |
[INFO] [stdout] 108 |     let mut dfs_with_taxa: Vec<DataFrame> = Vec::default();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dfs_with_taxa`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/benchpro.rs:220:9
[INFO] [stdout]     |
[INFO] [stdout] 220 |     let mut complete_df = get_taxon_df(&handler);
[INFO] [stdout]     |         ----^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/benchpro.rs:309:9
[INFO] [stdout]     |
[INFO] [stdout] 309 |     let mut newdf =
[INFO] [stdout]     |         ----^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/benchpro.rs:333:27
[INFO] [stdout]     |
[INFO] [stdout] 333 | pub fn meta_free_workflow(args: &Args) {}
[INFO] [stdout]     |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/meta.rs:146:13
[INFO] [stdout]     |
[INFO] [stdout] 145 |             MetaColumnStrings::AVAILABLE_TAXA => Some(Self::AvailableTaxa),
[INFO] [stdout]     |             --------------------------------- matches all the relevant values
[INFO] [stdout] 146 |             "AvailableSpecies" => Some(Self::AvailableTaxa),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/meta.rs:200:13
[INFO] [stdout]     |
[INFO] [stdout] 200 |         let mut entry = MetaEntry::default();
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `entry`
[INFO] [stdout]    --> src/meta.rs:200:13
[INFO] [stdout]     |
[INFO] [stdout] 200 |         let mut entry = MetaEntry::default();
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_entry`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `TPMapValue<'a>` is more private than the item `TPMap`
[INFO] [stdout]    --> src/profile.rs:422:1
[INFO] [stdout]     |
[INFO] [stdout] 422 | pub type TPMap<'a> = HashMap<&'a Taxon, TPMapValue<'a>>;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^ type alias `TPMap` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `TPMapValue<'a>` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/profile.rs:417:1
[INFO] [stdout]     |
[INFO] [stdout] 417 | struct TPMapValue<'a> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Abundance` is never used
[INFO] [stdout]   --> src/common.rs:15:6
[INFO] [stdout]    |
[INFO] [stdout] 15 | type Abundance = f64;
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `TaxonAbundancePair` is never used
[INFO] [stdout]   --> src/common.rs:16:6
[INFO] [stdout]    |
[INFO] [stdout] 16 | type TaxonAbundancePair = (Taxon, Abundance);
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `polars_df` is never used
[INFO] [stdout]    --> src/profile.rs:127:12
[INFO] [stdout]     |
[INFO] [stdout]  94 | impl BCVectors {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 127 |     pub fn polars_df(&self) -> PolarsResult<DataFrame> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TEST_MINIMAL` is never used
[INFO] [stdout]  --> src/test_data.rs:4:7
[INFO] [stdout]   |
[INFO] [stdout] 4 | const TEST_MINIMAL: &str = indoc! {"
[INFO] [stdout]   |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `C` is never used
[INFO] [stdout]    --> src/benchpro.rs:202:10
[INFO] [stdout]     |
[INFO] [stdout] 202 |     type C = MetaColumn;
[INFO] [stdout]     |          ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_excel_to_dataframe` is never used
[INFO] [stdout]   --> src/meta.rs:22:4
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn read_excel_to_dataframe(path: impl AsRef<Path>) -> PolarsResult<DataFrame> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `TOTAL_FIELDS` is never used
[INFO] [stdout]    --> src/meta.rs:187:11
[INFO] [stdout]     |
[INFO] [stdout] 185 | impl Meta {
[INFO] [stdout]     | --------- associated constant in this implementation
[INFO] [stdout] 186 |     const REQUIRED_FIELDS: &[&str] = &["ID", "Sample", "Tool", "Profile", "GoldStd"];
[INFO] [stdout] 187 |     const TOTAL_FIELDS: &[&str] = &[
[INFO] [stdout]     |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: bounds on generic parameters in type aliases are not enforced
[INFO] [stdout]   --> src/profile.rs:12:21
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub type Entries<T: Taxonomy> = Vec<Entry<T>>;
[INFO] [stdout]    |                   --^^^^^^^^
[INFO] [stdout]    |                   | |
[INFO] [stdout]    |                   | will not be checked at usage sites of the type alias
[INFO] [stdout]    |                   help: remove this bound
[INFO] [stdout]    |
[INFO] [stdout]    = note: this is a known limitation of the type checker that may be lifted in a future edition.
[INFO] [stdout]            see issue #112792 <https://github.com/rust-lang/rust/issues/112792> for more information
[INFO] [stdout]    = help: add `#![feature(lazy_type_alias)]` to the crate attributes to enable the desired semantics
[INFO] [stdout]    = note: `#[warn(type_alias_bounds)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: bounds on generic parameters in type aliases are not enforced
[INFO] [stdout]   --> src/profile.rs:13:28
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub type EntriesRef<'a, T: Taxonomy> = Vec<&'a Entry<T>>;
[INFO] [stdout]    |                          --^^^^^^^^
[INFO] [stdout]    |                          | |
[INFO] [stdout]    |                          | will not be checked at usage sites of the type alias
[INFO] [stdout]    |                          help: remove this bound
[INFO] [stdout]    |
[INFO] [stdout]    = note: this is a known limitation of the type checker that may be lifted in a future edition.
[INFO] [stdout]            see issue #112792 <https://github.com/rust-lang/rust/issues/112792> for more information
[INFO] [stdout]    = help: add `#![feature(lazy_type_alias)]` to the crate attributes to enable the desired semantics
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: bounds on generic parameters in type aliases are not enforced
[INFO] [stdout]    --> src/profile.rs:141:27
[INFO] [stdout]     |
[INFO] [stdout] 141 | type TaxonEntryMap<'a, T: Taxonomy> = HashMap<&'a Taxon, EntriesRef<'a, T>>;
[INFO] [stdout]     |                         --^^^^^^^^
[INFO] [stdout]     |                         | |
[INFO] [stdout]     |                         | will not be checked at usage sites of the type alias
[INFO] [stdout]     |                         help: remove this bound
[INFO] [stdout]     |
[INFO] [stdout]     = note: this is a known limitation of the type checker that may be lifted in a future edition.
[INFO] [stdout]             see issue #112792 <https://github.com/rust-lang/rust/issues/112792> for more information
[INFO] [stdout]     = help: add `#![feature(lazy_type_alias)]` to the crate attributes to enable the desired semantics
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: bounds on generic parameters in type aliases are not enforced
[INFO] [stdout]    --> src/profile.rs:142:27
[INFO] [stdout]     |
[INFO] [stdout] 142 | type NamesEntryMap<'a, T: Taxonomy> = HashMap<String, EntriesRef<'a, T>>;
[INFO] [stdout]     |                         --^^^^^^^^
[INFO] [stdout]     |                         | |
[INFO] [stdout]     |                         | will not be checked at usage sites of the type alias
[INFO] [stdout]     |                         help: remove this bound
[INFO] [stdout]     |
[INFO] [stdout]     = note: this is a known limitation of the type checker that may be lifted in a future edition.
[INFO] [stdout]             see issue #112792 <https://github.com/rust-lang/rust/issues/112792> for more information
[INFO] [stdout]     = help: add `#![feature(lazy_type_alias)]` to the crate attributes to enable the desired semantics
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/profile.rs:686:95
[INFO] [stdout]     |
[INFO] [stdout] 686 |     pub fn get_taxa_dict<'a>(&'a self, rank: &TaxonomicRank) -> Option<HashMap<&'a Taxon, Vec<&Entry<T>>>> {
[INFO] [stdout]     |                               --                                                --            ^^^^^^^^^ the same lifetime is elided here
[INFO] [stdout]     |                               |                                                 |
[INFO] [stdout]     |                               the lifetime is named here                        the same lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 686 |     pub fn get_taxa_dict<'a>(&'a self, rank: &TaxonomicRank) -> Option<HashMap<&'a Taxon, Vec<&'a Entry<T>>>> {
[INFO] [stdout]     |                                                                                                ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: bounds on generic parameters in type aliases are not enforced
[INFO] [stdout]    --> src/profile.rs:852:27
[INFO] [stdout]     |
[INFO] [stdout] 852 | pub type ProfileResult<T: Taxonomy> = Result<Profile<T>, ProfileError>;
[INFO] [stdout]     |                         --^^^^^^^^
[INFO] [stdout]     |                         | |
[INFO] [stdout]     |                         | will not be checked at usage sites of the type alias
[INFO] [stdout]     |                         help: remove this bound
[INFO] [stdout]     |
[INFO] [stdout]     = note: this is a known limitation of the type checker that may be lifted in a future edition.
[INFO] [stdout]             see issue #112792 <https://github.com/rust-lang/rust/issues/112792> for more information
[INFO] [stdout]     = help: add `#![feature(lazy_type_alias)]` to the crate attributes to enable the desired semantics
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/profile_handler.rs:69:13
[INFO] [stdout]    |
[INFO] [stdout] 69 |         let mut data: Vec<ProfileWrapper> = Vec::default();
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/profile_handler.rs:69:13
[INFO] [stdout]    |
[INFO] [stdout] 69 |         let mut data: Vec<ProfileWrapper> = Vec::default();
[INFO] [stdout]    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/benchpro.rs:252:13
[INFO] [stdout]     |
[INFO] [stdout] 252 |             add_string_columns(&mut dfa, &[("Adjusted".to_string(), "True".to_string())]);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 252 |             let _ = add_string_columns(&mut dfa, &[("Adjusted".to_string(), "True".to_string())]);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> src/tree_handler.rs:83:27
[INFO] [stdout]    |
[INFO] [stdout] 83 |                 .filter(|(id, name)| name.is_some()) 
[INFO] [stdout]    |                           ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tree_adjusted_benchmarks.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |     let mut bc_tree_df = mut_species_df
[INFO] [stdout]    |         ----^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `meta`
[INFO] [stdout]   --> src/tree_adjusted_benchmarks.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     meta: &Meta,
[INFO] [stdout]    |     ^^^^ help: if this is intentional, prefix it with an underscore: `_meta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `TPMapValue<'a>` is more private than the item `TPMap`
[INFO] [stdout]    --> src/profile.rs:422:1
[INFO] [stdout]     |
[INFO] [stdout] 422 | pub type TPMap<'a> = HashMap<&'a Taxon, TPMapValue<'a>>;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^ type alias `TPMap` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `TPMapValue<'a>` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/profile.rs:417:1
[INFO] [stdout]     |
[INFO] [stdout] 417 | struct TPMapValue<'a> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Abundance` is never used
[INFO] [stdout]   --> src/common.rs:15:6
[INFO] [stdout]    |
[INFO] [stdout] 15 | type Abundance = f64;
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `TaxonAbundancePair` is never used
[INFO] [stdout]   --> src/common.rs:16:6
[INFO] [stdout]    |
[INFO] [stdout] 16 | type TaxonAbundancePair = (Taxon, Abundance);
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `polars_df` is never used
[INFO] [stdout]    --> src/profile.rs:127:12
[INFO] [stdout]     |
[INFO] [stdout]  94 | impl BCVectors {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 127 |     pub fn polars_df(&self) -> PolarsResult<DataFrame> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TEST_MINIMAL` is never used
[INFO] [stdout]  --> src/test_data.rs:4:7
[INFO] [stdout]   |
[INFO] [stdout] 4 | const TEST_MINIMAL: &str = indoc! {"
[INFO] [stdout]   |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `C` is never used
[INFO] [stdout]    --> src/benchpro.rs:202:10
[INFO] [stdout]     |
[INFO] [stdout] 202 |     type C = MetaColumn;
[INFO] [stdout]     |          ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_excel_to_dataframe` is never used
[INFO] [stdout]   --> src/meta.rs:22:4
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn read_excel_to_dataframe(path: impl AsRef<Path>) -> PolarsResult<DataFrame> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `TOTAL_FIELDS` is never used
[INFO] [stdout]    --> src/meta.rs:187:11
[INFO] [stdout]     |
[INFO] [stdout] 185 | impl Meta {
[INFO] [stdout]     | --------- associated constant in this implementation
[INFO] [stdout] 186 |     const REQUIRED_FIELDS: &[&str] = &["ID", "Sample", "Tool", "Profile", "GoldStd"];
[INFO] [stdout] 187 |     const TOTAL_FIELDS: &[&str] = &[
[INFO] [stdout]     |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: bounds on generic parameters in type aliases are not enforced
[INFO] [stdout]   --> src/profile.rs:12:21
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub type Entries<T: Taxonomy> = Vec<Entry<T>>;
[INFO] [stdout]    |                   --^^^^^^^^
[INFO] [stdout]    |                   | |
[INFO] [stdout]    |                   | will not be checked at usage sites of the type alias
[INFO] [stdout]    |                   help: remove this bound
[INFO] [stdout]    |
[INFO] [stdout]    = note: this is a known limitation of the type checker that may be lifted in a future edition.
[INFO] [stdout]            see issue #112792 <https://github.com/rust-lang/rust/issues/112792> for more information
[INFO] [stdout]    = help: add `#![feature(lazy_type_alias)]` to the crate attributes to enable the desired semantics
[INFO] [stdout]    = note: `#[warn(type_alias_bounds)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: bounds on generic parameters in type aliases are not enforced
[INFO] [stdout]   --> src/profile.rs:13:28
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub type EntriesRef<'a, T: Taxonomy> = Vec<&'a Entry<T>>;
[INFO] [stdout]    |                          --^^^^^^^^
[INFO] [stdout]    |                          | |
[INFO] [stdout]    |                          | will not be checked at usage sites of the type alias
[INFO] [stdout]    |                          help: remove this bound
[INFO] [stdout]    |
[INFO] [stdout]    = note: this is a known limitation of the type checker that may be lifted in a future edition.
[INFO] [stdout]            see issue #112792 <https://github.com/rust-lang/rust/issues/112792> for more information
[INFO] [stdout]    = help: add `#![feature(lazy_type_alias)]` to the crate attributes to enable the desired semantics
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: bounds on generic parameters in type aliases are not enforced
[INFO] [stdout]    --> src/profile.rs:141:27
[INFO] [stdout]     |
[INFO] [stdout] 141 | type TaxonEntryMap<'a, T: Taxonomy> = HashMap<&'a Taxon, EntriesRef<'a, T>>;
[INFO] [stdout]     |                         --^^^^^^^^
[INFO] [stdout]     |                         | |
[INFO] [stdout]     |                         | will not be checked at usage sites of the type alias
[INFO] [stdout]     |                         help: remove this bound
[INFO] [stdout]     |
[INFO] [stdout]     = note: this is a known limitation of the type checker that may be lifted in a future edition.
[INFO] [stdout]             see issue #112792 <https://github.com/rust-lang/rust/issues/112792> for more information
[INFO] [stdout]     = help: add `#![feature(lazy_type_alias)]` to the crate attributes to enable the desired semantics
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: bounds on generic parameters in type aliases are not enforced
[INFO] [stdout]    --> src/profile.rs:142:27
[INFO] [stdout]     |
[INFO] [stdout] 142 | type NamesEntryMap<'a, T: Taxonomy> = HashMap<String, EntriesRef<'a, T>>;
[INFO] [stdout]     |                         --^^^^^^^^
[INFO] [stdout]     |                         | |
[INFO] [stdout]     |                         | will not be checked at usage sites of the type alias
[INFO] [stdout]     |                         help: remove this bound
[INFO] [stdout]     |
[INFO] [stdout]     = note: this is a known limitation of the type checker that may be lifted in a future edition.
[INFO] [stdout]             see issue #112792 <https://github.com/rust-lang/rust/issues/112792> for more information
[INFO] [stdout]     = help: add `#![feature(lazy_type_alias)]` to the crate attributes to enable the desired semantics
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/profile.rs:686:95
[INFO] [stdout]     |
[INFO] [stdout] 686 |     pub fn get_taxa_dict<'a>(&'a self, rank: &TaxonomicRank) -> Option<HashMap<&'a Taxon, Vec<&Entry<T>>>> {
[INFO] [stdout]     |                               --                                                --            ^^^^^^^^^ the same lifetime is elided here
[INFO] [stdout]     |                               |                                                 |
[INFO] [stdout]     |                               the lifetime is named here                        the same lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 686 |     pub fn get_taxa_dict<'a>(&'a self, rank: &TaxonomicRank) -> Option<HashMap<&'a Taxon, Vec<&'a Entry<T>>>> {
[INFO] [stdout]     |                                                                                                ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: bounds on generic parameters in type aliases are not enforced
[INFO] [stdout]    --> src/profile.rs:852:27
[INFO] [stdout]     |
[INFO] [stdout] 852 | pub type ProfileResult<T: Taxonomy> = Result<Profile<T>, ProfileError>;
[INFO] [stdout]     |                         --^^^^^^^^
[INFO] [stdout]     |                         | |
[INFO] [stdout]     |                         | will not be checked at usage sites of the type alias
[INFO] [stdout]     |                         help: remove this bound
[INFO] [stdout]     |
[INFO] [stdout]     = note: this is a known limitation of the type checker that may be lifted in a future edition.
[INFO] [stdout]             see issue #112792 <https://github.com/rust-lang/rust/issues/112792> for more information
[INFO] [stdout]     = help: add `#![feature(lazy_type_alias)]` to the crate attributes to enable the desired semantics
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/benchpro.rs:252:13
[INFO] [stdout]     |
[INFO] [stdout] 252 |             add_string_columns(&mut dfa, &[("Adjusted".to_string(), "True".to_string())]);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 252 |             let _ = add_string_columns(&mut dfa, &[("Adjusted".to_string(), "True".to_string())]);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 39.33s
[INFO] running `Command { std: "docker" "inspect" "9abeb88c1f4c5153da41ee71984476cb6ead02ed59273dcbfb921e6c34145a8f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9abeb88c1f4c5153da41ee71984476cb6ead02ed59273dcbfb921e6c34145a8f", kill_on_drop: false }`
[INFO] [stdout] 9abeb88c1f4c5153da41ee71984476cb6ead02ed59273dcbfb921e6c34145a8f
