[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] 6f13ef7ff133033ba1df851ed1fbdb3b5d25a1f3
[INFO] checking 4less/benchpro_rust against master#a6acf0f07f0ed1c12e26dc0db3b9bf1d0504a0bb for pr-151109
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F4less%2Fbenchpro_rust" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-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-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/4less/benchpro_rust on toolchain a6acf0f07f0ed1c12e26dc0db3b9bf1d0504a0bb
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a6acf0f07f0ed1c12e26dc0db3b9bf1d0504a0bb" "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" "+a6acf0f07f0ed1c12e26dc0db3b9bf1d0504a0bb" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded windows-interface v0.57.0
[INFO] [stderr]   Downloaded windows-implement v0.57.0
[INFO] [stderr]   Downloaded psm v0.1.23
[INFO] [stderr]   Downloaded streaming-decompression v0.1.2
[INFO] [stderr]   Downloaded recursive-proc-macro-impl v0.1.1
[INFO] [stderr]   Downloaded polars-utils v0.43.1
[INFO] [stderr]   Downloaded derive_arbitrary v1.3.2
[INFO] [stderr]   Downloaded rust-ini v0.13.0
[INFO] [stderr]   Downloaded now v0.1.3
[INFO] [stderr]   Downloaded env_filter v0.1.4
[INFO] [stderr]   Downloaded codepage v0.1.2
[INFO] [stderr]   Downloaded memmap2 v0.7.1
[INFO] [stderr]   Downloaded ieee754 v0.2.6
[INFO] [stderr]   Downloaded env_logger v0.11.8
[INFO] [stderr]   Downloaded zopfli v0.8.1
[INFO] [stderr]   Downloaded calamine v0.26.1
[INFO] [stderr]   Downloaded jiff-static v0.2.18
[INFO] [stderr]   Downloaded zip v2.2.0
[INFO] [stderr]   Downloaded polars-parquet v0.43.1
[INFO] [stderr]   Downloaded nom v5.1.3
[INFO] [stderr]   Downloaded quick-xml v0.31.0
[INFO] [stderr]   Downloaded polars-ops v0.43.1
[INFO] [stderr]   Downloaded ptree v0.4.0
[INFO] [stderr]   Downloaded phylotree v0.1.3
[INFO] [stderr]   Downloaded sqlparser v0.49.0
[INFO] [stderr]   Downloaded polars-plan v0.43.1
[INFO] [stderr]   Downloaded syn v2.0.113
[INFO] [stderr]   Downloaded polars-io v0.43.1
[INFO] [stderr]   Downloaded polars-arrow v0.43.1
[INFO] [stderr]   Downloaded polars-core v0.43.1
[INFO] [stderr]   Downloaded parse-zoneinfo v0.3.1
[INFO] [stderr]   Downloaded itoap v1.0.1
[INFO] [stderr]   Downloaded comfy-table v7.1.1
[INFO] [stderr]   Downloaded compact_str v0.8.0
[INFO] [stderr]   Downloaded sysinfo v0.31.4
[INFO] [stderr]   Downloaded polars v0.43.1
[INFO] [stderr]   Downloaded polars-pipe v0.43.1
[INFO] [stderr]   Downloaded lexical-core v0.7.6
[INFO] [stderr]   Downloaded polars-lazy v0.43.1
[INFO] [stderr]   Downloaded argminmax v0.6.2
[INFO] [stderr]   Downloaded ethnum v1.5.0
[INFO] [stderr]   Downloaded polars-time v0.43.1
[INFO] [stderr]   Downloaded micromap v0.0.15
[INFO] [stderr]   Downloaded chrono-tz v0.8.6
[INFO] [stderr]   Downloaded clap_complete v4.5.42
[INFO] [stderr]   Downloaded needletail v0.5.1
[INFO] [stderr]   Downloaded tint v1.0.1
[INFO] [stderr]   Downloaded parquet-format-safe v0.2.4
[INFO] [stderr]   Downloaded polars-mem-engine v0.43.1
[INFO] [stderr]   Downloaded polars-expr v0.43.1
[INFO] [stderr]   Downloaded fast-float v0.2.0
[INFO] [stderr]   Downloaded jiff v0.2.18
[INFO] [stderr]   Downloaded multiversion v0.7.4
[INFO] [stderr]   Downloaded planus v0.3.1
[INFO] [stderr]   Downloaded polars-arrow-format v0.1.0
[INFO] [stderr]   Downloaded anstream v0.6.17
[INFO] [stderr]   Downloaded buffer-redux v1.0.2
[INFO] [stderr]   Downloaded serde v0.8.23
[INFO] [stderr]   Downloaded serde-hjson v0.9.1
[INFO] [stderr]   Downloaded config v0.11.0
[INFO] [stderr]   Downloaded directories v4.0.1
[INFO] [stderr]   Downloaded castaway v0.2.3
[INFO] [stderr]   Downloaded array-init-cursor v0.2.0
[INFO] [stderr]   Downloaded anstyle v1.0.9
[INFO] [stderr]   Downloaded lazy_static v0.2.11
[INFO] [stderr]   Downloaded utf8-read v0.4.0
[INFO] [stderr]   Downloaded polars-row v0.43.1
[INFO] [stderr]   Downloaded terminal_size v0.4.0
[INFO] [stderr]   Downloaded numeric_literals v0.2.0
[INFO] [stderr]   Downloaded trait-set v0.3.0
[INFO] [stderr]   Downloaded recursive v0.1.1
[INFO] [stderr]   Downloaded polars-sql v0.43.1
[INFO] [stderr]   Downloaded polars-compute v0.43.1
[INFO] [stderr]   Downloaded atoi_simd v0.15.6
[INFO] [stderr]   Downloaded chrono-tz-build v0.2.1
[INFO] [stderr]   Downloaded streaming-iterator v0.1.9
[INFO] [stderr]   Downloaded polars-schema v0.43.1
[INFO] [stderr]   Downloaded phf_codegen v0.11.2
[INFO] [stderr]   Downloaded xxhash-rust v0.8.12
[INFO] [stderr]   Downloaded unicode-reverse v1.0.9
[INFO] [stderr]   Downloaded lockfree-object-pool v0.1.6
[INFO] [stderr]   Downloaded accurate v0.3.1
[INFO] [stderr]   Downloaded multiversion-macros v0.7.4
[INFO] [stderr]   Downloaded target-features v0.1.6
[INFO] [stderr]   Downloaded polars-error v0.43.1
[INFO] [stderr]   Downloaded windows-core v0.57.0
[INFO] [stderr]   Downloaded windows v0.57.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+a6acf0f07f0ed1c12e26dc0db3b9bf1d0504a0bb" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] de0ecb87b064ddae39a093156359ee934343e05b3e8ccc3bae10749a963ee3d9
[INFO] running `Command { std: "docker" "start" "-a" "de0ecb87b064ddae39a093156359ee934343e05b3e8ccc3bae10749a963ee3d9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "de0ecb87b064ddae39a093156359ee934343e05b3e8ccc3bae10749a963ee3d9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "de0ecb87b064ddae39a093156359ee934343e05b3e8ccc3bae10749a963ee3d9", kill_on_drop: false }`
[INFO] [stdout] de0ecb87b064ddae39a093156359ee934343e05b3e8ccc3bae10749a963ee3d9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+a6acf0f07f0ed1c12e26dc0db3b9bf1d0504a0bb" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7c2d280709b021ca50bac8c8850782f12077a151bf6dffe766ea0cecec3159b0
[INFO] running `Command { std: "docker" "start" "-a" "7c2d280709b021ca50bac8c8850782f12077a151bf6dffe766ea0cecec3159b0", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.105
[INFO] [stderr]    Compiling quote v1.0.43
[INFO] [stderr]    Compiling unicode-ident v1.0.13
[INFO] [stderr]    Compiling libc v0.2.159
[INFO] [stderr]    Compiling libm v0.2.8
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]     Checking memchr v2.7.4
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling crossbeam-utils v0.8.20
[INFO] [stderr]     Checking bitflags v2.6.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling cc v1.1.30
[INFO] [stderr]     Checking once_cell v1.20.2
[INFO] [stderr]    Compiling rustversion v1.0.17
[INFO] [stderr]     Checking hashbrown v0.15.0
[INFO] [stderr]     Checking either v1.13.0
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling target-features v0.1.6
[INFO] [stderr]     Checking array-init-cursor v0.2.0
[INFO] [stderr]    Compiling polars-utils v0.43.1
[INFO] [stderr]     Checking planus v0.3.1
[INFO] [stderr]     Checking simdutf8 v0.1.5
[INFO] [stderr]     Checking raw-cpuid v11.2.0
[INFO] [stderr]    Compiling polars-schema v0.43.1
[INFO] [stderr]     Checking bytes v1.7.2
[INFO] [stderr]    Compiling polars-arrow v0.43.1
[INFO] [stderr]     Checking fast-float v0.2.0
[INFO] [stderr]     Checking strength_reduce v0.2.4
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]     Checking streaming-iterator v0.1.9
[INFO] [stderr]     Checking ethnum v1.5.0
[INFO] [stderr]     Checking atoi_simd v0.15.6
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling polars-compute v0.43.1
[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 crossbeam-deque v0.8.5
[INFO] [stderr]     Checking xxhash-rust v0.8.12
[INFO] [stderr]    Compiling rustix v0.38.37
[INFO] [stderr]     Checking anstyle-parse v0.2.6
[INFO] [stderr]     Checking castaway v0.2.3
[INFO] [stderr]     Checking rayon-core v1.12.1
[INFO] [stderr]    Compiling polars-plan v0.43.1
[INFO] [stderr]     Checking linux-raw-sys v0.4.14
[INFO] [stderr]    Compiling lexical-core v0.7.6
[INFO] [stderr]    Compiling serde_json v1.0.128
[INFO] [stderr]     Checking colorchoice v1.0.3
[INFO] [stderr]     Checking home v0.5.9
[INFO] [stderr]     Checking anstyle-query v1.1.2
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]     Checking memmap2 v0.7.1
[INFO] [stderr]     Checking adler2 v2.0.0
[INFO] [stderr]     Checking anstyle v1.0.9
[INFO] [stderr]     Checking is_terminal_polyfill v1.70.1
[INFO] [stderr]    Compiling syn v2.0.113
[INFO] [stderr]     Checking regex-automata v0.4.8
[INFO] [stderr]     Checking miniz_oxide v0.8.0
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling nom v5.1.3
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]     Checking arrayvec v0.5.2
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]    Compiling psm v0.1.23
[INFO] [stderr]    Compiling stacker v0.1.17
[INFO] [stderr]     Checking anstream v0.6.17
[INFO] [stderr]    Compiling bzip2-sys v0.1.11+1.0.8
[INFO] [stderr]    Compiling lzma-sys v0.1.20
[INFO] [stderr]     Checking chrono v0.4.38
[INFO] [stderr]     Checking crossterm v0.27.0
[INFO] [stderr]     Checking argminmax v0.6.2
[INFO] [stderr]     Checking atoi v2.0.0
[INFO] [stderr]     Checking num-traits v0.1.43
[INFO] [stderr]    Compiling matrixmultiply v0.3.10
[INFO] [stderr]     Checking clap_lex v0.7.2
[INFO] [stderr]     Checking linked-hash-map v0.5.6
[INFO] [stderr]     Checking serde v0.8.23
[INFO] [stderr]    Compiling portable-atomic v1.13.0
[INFO] [stderr]     Checking flate2 v1.0.34
[INFO] [stderr]     Checking ordered-float v2.10.1
[INFO] [stderr]     Checking dirs-sys v0.3.7
[INFO] [stderr]     Checking yaml-rust v0.4.5
[INFO] [stderr]     Checking encoding_rs v0.8.35
[INFO] [stderr]     Checking terminal_size v0.4.0
[INFO] [stderr]     Checking clap_builder v4.5.20
[INFO] [stderr]    Compiling polars-lazy v0.43.1
[INFO] [stderr]     Checking rust-ini v0.13.0
[INFO] [stderr]    Compiling zip v2.2.0
[INFO] [stderr]     Checking simd-adler32 v0.3.7
[INFO] [stderr]     Checking bumpalo v3.16.0
[INFO] [stderr]     Checking fixedbitset v0.4.2
[INFO] [stderr]     Checking lazy_static v0.2.11
[INFO] [stderr]     Checking lockfree-object-pool v0.1.6
[INFO] [stderr]     Checking tint v1.0.1
[INFO] [stderr]     Checking streaming-decompression v0.1.2
[INFO] [stderr]     Checking zopfli v0.8.1
[INFO] [stderr]     Checking console v0.15.11
[INFO] [stderr]     Checking directories v4.0.1
[INFO] [stderr]     Checking xz2 v0.1.7
[INFO] [stderr]     Checking now v0.1.3
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking bzip2 v0.4.4
[INFO] [stderr]     Checking buffer-redux v1.0.2
[INFO] [stderr]    Compiling polars v0.43.1
[INFO] [stderr]     Checking parquet-format-safe v0.2.4
[INFO] [stderr]     Checking ansi_term v0.12.1
[INFO] [stderr]     Checking bytecount v0.6.8
[INFO] [stderr]     Checking number_prefix v0.4.0
[INFO] [stderr]     Checking ieee754 v0.2.6
[INFO] [stderr]     Checking ndarray v0.16.1
[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 jiff v0.2.18
[INFO] [stderr]     Checking needletail v0.5.1
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]     Checking micromap v0.0.15
[INFO] [stderr]     Checking indicatif v0.17.11
[INFO] [stderr]    Compiling indoc v2.0.5
[INFO] [stderr]     Checking accurate v0.3.1
[INFO] [stderr]     Checking regex v1.11.1
[INFO] [stderr]     Checking serde-hjson v0.9.1
[INFO] [stderr]     Checking env_filter v0.1.4
[INFO] [stderr]    Compiling serde_derive v1.0.228
[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]    Compiling clap_derive v4.5.18
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling multiversion-macros v0.7.4
[INFO] [stderr]    Compiling numeric_literals v0.2.0
[INFO] [stderr]    Compiling trait-set v0.3.0
[INFO] [stderr]     Checking recursive v0.1.1
[INFO] [stderr]     Checking zerocopy v0.7.35
[INFO] [stderr]     Checking bytemuck v1.18.0
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking strum v0.26.3
[INFO] [stderr]     Checking comfy-table v7.1.1
[INFO] [stderr]     Checking multiversion v0.7.4
[INFO] [stderr]     Checking ahash v0.8.11
[INFO] [stderr]     Checking ppv-lite86 v0.2.20
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking clap v4.5.20
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking clap_complete v4.5.42
[INFO] [stderr]     Checking rand_distr v0.4.3
[INFO] [stderr]     Checking env_logger v0.11.8
[INFO] [stderr]     Checking indexmap v2.6.0
[INFO] [stderr]     Checking polars-arrow-format v0.1.0
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking compact_str v0.8.0
[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 calamine v0.26.1
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking config v0.11.0
[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:500:14
[INFO] [stdout]     |
[INFO] [stdout] 500 |         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] 500 -         match(self) {
[INFO] [stdout] 500 +         match self  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]    --> src/common.rs:517:14
[INFO] [stdout]     |
[INFO] [stdout] 517 |         match(var) {
[INFO] [stdout]     |              ^   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 517 -         match(var) {
[INFO] [stdout] 517 +         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:...
[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:7:39
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::{common::{Custom, Lineage, LineageFromString, Taxon, TaxonomicRank, Taxonomy, TaxonomyEnum, GTDB, NCBI}, format::{Columns,...
[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:13:29
[INFO] [stdout]    |
[INFO] [stdout] 13 | 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:16:41
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::{common::LINEAGE_DELIMITERS, meta::MetaColumn};
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc`, `BufReader`, `Cursor`, `HashSet`, `RwLock`, and `mem::swap`
[INFO] [stdout]  --> src/benchpro.rs:2:28
[INFO] [stdout]   |
[INFO] [stdout] 2 |     collections::{HashMap, 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] ...
[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:19:14
[INFO] [stdout]    |
[INFO] [stdout] 19 |         col, cols, lit, when, CsvWriter, DataFrameJoinOps, DataType, IntoLazy, NamedFrom,
[INFO] [stdout]    |              ^^^^                                          ^^^^^^^^
[INFO] [stdout] 20 |         PlSmallStr, QuoteStyle, SortMultipleOptions,
[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:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 |     meta::{self, Meta, MetaColumn},
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 28 |     options::Args,
[INFO] [stdout] 29 |     profile::{LoadProfile, Profile, ProfileWrapper},
[INFO] [stdout]    |               ^^^^^^^^^^^  ^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     tree_handler::{TaxaSet, TreeHandler},
[INFO] [stdout]    |                    ^^^^^^^
[INFO] [stdout] 33 |     utils::{
[INFO] [stdout] 34 |         add_string_columns, bray_curtis_similarity, f1_score, get_lca, get_subtree,
[INFO] [stdout]    |                                                               ^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 35 |         get_subtree_with_leaves, l2_similarity, pearson_correlation, precision, sample_apply,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^                                                 ^^^^^^^^^^^^
[INFO] [stdout] 36 |         sensitivity, spearman_correlation, 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`, `PolarsError`, `SeriesIter`, and `SortOptions`
[INFO] [stdout]   --> src/meta.rs:4:13
[INFO] [stdout]    |
[INFO] [stdout]  4 |     error::{PolarsError, PolarsResult},
[INFO] [stdout]    |             ^^^^^^^^^^^
[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:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     process::exit,
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `load_file_to_hashset`
[INFO] [stdout]   --> src/profile_handler.rs:12:189
[INFO] [stdout]    |
[INFO] [stdout] 12 | ...ofileWrapper}, 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:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 |     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:19:63
[INFO] [stdout]    |
[INFO] [stdout] 19 |     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: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]    --> src/common.rs:500:14
[INFO] [stdout]     |
[INFO] [stdout] 500 |         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] 500 -         match(self) {
[INFO] [stdout] 500 +         match self  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]    --> src/common.rs:517:14
[INFO] [stdout]     |
[INFO] [stdout] 517 |         match(var) {
[INFO] [stdout]     |              ^   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 517 -         match(var) {
[INFO] [stdout] 517 +         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:...
[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:7:39
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::{common::{Custom, Lineage, LineageFromString, Taxon, TaxonomicRank, Taxonomy, TaxonomyEnum, GTDB, NCBI}, format::{Columns,...
[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:13:29
[INFO] [stdout]    |
[INFO] [stdout] 13 | 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:16:41
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::{common::LINEAGE_DELIMITERS, meta::MetaColumn};
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc`, `BufReader`, `Cursor`, `HashSet`, `RwLock`, and `mem::swap`
[INFO] [stdout]  --> src/benchpro.rs:2:28
[INFO] [stdout]   |
[INFO] [stdout] 2 |     collections::{HashMap, 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] ...
[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:19:14
[INFO] [stdout]    |
[INFO] [stdout] 19 |         col, cols, lit, when, CsvWriter, DataFrameJoinOps, DataType, IntoLazy, NamedFrom,
[INFO] [stdout]    |              ^^^^                                          ^^^^^^^^
[INFO] [stdout] 20 |         PlSmallStr, QuoteStyle, SortMultipleOptions,
[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:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 |     meta::{self, Meta, MetaColumn},
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 28 |     options::Args,
[INFO] [stdout] 29 |     profile::{LoadProfile, Profile, ProfileWrapper},
[INFO] [stdout]    |               ^^^^^^^^^^^  ^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     tree_handler::{TaxaSet, TreeHandler},
[INFO] [stdout]    |                    ^^^^^^^
[INFO] [stdout] 33 |     utils::{
[INFO] [stdout] 34 |         add_string_columns, bray_curtis_similarity, f1_score, get_lca, get_subtree,
[INFO] [stdout]    |                                                               ^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 35 |         get_subtree_with_leaves, l2_similarity, pearson_correlation, precision, sample_apply,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^                                                 ^^^^^^^^^^^^
[INFO] [stdout] 36 |         sensitivity, spearman_correlation, 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`, `PolarsError`, `SeriesIter`, and `SortOptions`
[INFO] [stdout]   --> src/meta.rs:4:13
[INFO] [stdout]    |
[INFO] [stdout]  4 |     error::{PolarsError, PolarsResult},
[INFO] [stdout]    |             ^^^^^^^^^^^
[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:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     process::exit,
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `load_file_to_hashset`
[INFO] [stdout]   --> src/profile_handler.rs:12:189
[INFO] [stdout]    |
[INFO] [stdout] 12 | ...ofileWrapper}, 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:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 |     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:19:63
[INFO] [stdout]    |
[INFO] [stdout] 19 |     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: 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 import: `Reader`
[INFO] [stdout]  --> src/meta.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use calamine::{Reader, Xlsx};
[INFO] [stdout]   |                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r`
[INFO] [stdout]    --> src/common.rs:185:41
[INFO] [stdout]     |
[INFO] [stdout] 185 |         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:260:39
[INFO] [stdout]     |
[INFO] [stdout] 260 |     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:292:39
[INFO] [stdout]     |
[INFO] [stdout] 292 |     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: value assigned to `representative` is never read
[INFO] [stdout]    --> src/common.rs:331:42
[INFO] [stdout]     |
[INFO] [stdout] 331 |         let mut representative: String = String::default();
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `entries`
[INFO] [stdout]    --> src/profile.rs:397:17
[INFO] [stdout]     |
[INFO] [stdout] 397 |             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:307:87
[INFO] [stdout]     |
[INFO] [stdout] 307 |             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: `rank`
[INFO] [stdout]    --> src/profile.rs:670:59
[INFO] [stdout]     |
[INFO] [stdout] 670 |                     .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:661:25
[INFO] [stdout]     |
[INFO] [stdout] 661 |                     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:759:37
[INFO] [stdout]     |
[INFO] [stdout] 759 |                     .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:719:41
[INFO] [stdout]     |
[INFO] [stdout] 719 |                         .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: `fp`
[INFO] [stdout]    --> src/utils.rs:168:31
[INFO] [stdout]     |
[INFO] [stdout] 168 | 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:183:40
[INFO] [stdout]     |
[INFO] [stdout] 183 | 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:521:40
[INFO] [stdout]     |
[INFO] [stdout] 521 | 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: `node`
[INFO] [stdout]    --> src/utils.rs:939:9
[INFO] [stdout]     |
[INFO] [stdout] 939 |     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:286:9
[INFO] [stdout]     |
[INFO] [stdout] 286 |     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:286:9
[INFO] [stdout]     |
[INFO] [stdout] 286 |     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:405:9
[INFO] [stdout]     |
[INFO] [stdout] 405 |     let mut complete_df = get_taxon_df(&handler, args.allow_alternatives);
[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:495:9
[INFO] [stdout]     |
[INFO] [stdout] 495 |     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:532:27
[INFO] [stdout]     |
[INFO] [stdout] 532 | 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:125:13
[INFO] [stdout]     |
[INFO] [stdout] 124 |             MetaColumnStrings::AVAILABLE_TAXA => Some(Self::AvailableTaxa),
[INFO] [stdout]     |             --------------------------------- matches all the relevant values
[INFO] [stdout] 125 |             "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/profile_handler.rs:194:13
[INFO] [stdout]     |
[INFO] [stdout] 194 |         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:194:13
[INFO] [stdout]     |
[INFO] [stdout] 194 |         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: `id`
[INFO] [stdout]   --> src/tree_handler.rs:94:27
[INFO] [stdout]    |
[INFO] [stdout] 94 |                 .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:58:9
[INFO] [stdout]    |
[INFO] [stdout] 58 |     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:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 |     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:462:1
[INFO] [stdout]     |
[INFO] [stdout] 462 | 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:457:1
[INFO] [stdout]     |
[INFO] [stdout] 457 | 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:147:12
[INFO] [stdout]     |
[INFO] [stdout] 115 | impl BCVectors {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 147 |     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:383:10
[INFO] [stdout]     |
[INFO] [stdout] 383 |     type C = MetaColumn;
[INFO] [stdout]     |          ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `TOTAL_FIELDS` is never used
[INFO] [stdout]    --> src/meta.rs:167:11
[INFO] [stdout]     |
[INFO] [stdout] 165 | impl Meta {
[INFO] [stdout]     | --------- associated constant in this implementation
[INFO] [stdout] 166 |     const REQUIRED_FIELDS: &[&str] = &["ID", "Sample", "Tool", "Profile", "GoldStd"];
[INFO] [stdout] 167 |     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:13:21
[INFO] [stdout]    |
[INFO] [stdout] 13 | 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:14:28
[INFO] [stdout]    |
[INFO] [stdout] 14 | 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:160:27
[INFO] [stdout]     |
[INFO] [stdout] 160 | 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:161:27
[INFO] [stdout]     |
[INFO] [stdout] 161 | 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:786:95
[INFO] [stdout]     |
[INFO] [stdout] 786 |     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] 786 |     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:1024:27
[INFO] [stdout]      |
[INFO] [stdout] 1024 | 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:442:17
[INFO] [stdout]     |
[INFO] [stdout] 442 |                 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] 442 |                 let _ = add_string_columns(&mut dfa, &[("Adjusted".to_string(), "True".to_string())]);
[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 import: `Reader`
[INFO] [stdout]  --> src/meta.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use calamine::{Reader, Xlsx};
[INFO] [stdout]   |                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r`
[INFO] [stdout]    --> src/common.rs:185:41
[INFO] [stdout]     |
[INFO] [stdout] 185 |         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:260:39
[INFO] [stdout]     |
[INFO] [stdout] 260 |     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:292:39
[INFO] [stdout]     |
[INFO] [stdout] 292 |     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: value assigned to `representative` is never read
[INFO] [stdout]    --> src/common.rs:331:42
[INFO] [stdout]     |
[INFO] [stdout] 331 |         let mut representative: String = String::default();
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `entries`
[INFO] [stdout]    --> src/profile.rs:397:17
[INFO] [stdout]     |
[INFO] [stdout] 397 |             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:307:87
[INFO] [stdout]     |
[INFO] [stdout] 307 |             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: `rank`
[INFO] [stdout]    --> src/profile.rs:670:59
[INFO] [stdout]     |
[INFO] [stdout] 670 |                     .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:661:25
[INFO] [stdout]     |
[INFO] [stdout] 661 |                     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:759:37
[INFO] [stdout]     |
[INFO] [stdout] 759 |                     .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:719:41
[INFO] [stdout]     |
[INFO] [stdout] 719 |                         .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: `profile`
[INFO] [stdout]     --> src/profile.rs:1124:13
[INFO] [stdout]      |
[INFO] [stdout] 1124 |         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: unused variable: `fp`
[INFO] [stdout]    --> src/utils.rs:168:31
[INFO] [stdout]     |
[INFO] [stdout] 168 | 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:183:40
[INFO] [stdout]     |
[INFO] [stdout] 183 | 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:521:40
[INFO] [stdout]     |
[INFO] [stdout] 521 | 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: `node`
[INFO] [stdout]    --> src/utils.rs:939:9
[INFO] [stdout]     |
[INFO] [stdout] 939 |     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:286:9
[INFO] [stdout]     |
[INFO] [stdout] 286 |     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:286:9
[INFO] [stdout]     |
[INFO] [stdout] 286 |     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:405:9
[INFO] [stdout]     |
[INFO] [stdout] 405 |     let mut complete_df = get_taxon_df(&handler, args.allow_alternatives);
[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:495:9
[INFO] [stdout]     |
[INFO] [stdout] 495 |     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:532:27
[INFO] [stdout]     |
[INFO] [stdout] 532 | 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:125:13
[INFO] [stdout]     |
[INFO] [stdout] 124 |             MetaColumnStrings::AVAILABLE_TAXA => Some(Self::AvailableTaxa),
[INFO] [stdout]     |             --------------------------------- matches all the relevant values
[INFO] [stdout] 125 |             "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/profile_handler.rs:194:13
[INFO] [stdout]     |
[INFO] [stdout] 194 |         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:194:13
[INFO] [stdout]     |
[INFO] [stdout] 194 |         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: `id`
[INFO] [stdout]   --> src/tree_handler.rs:94:27
[INFO] [stdout]    |
[INFO] [stdout] 94 |                 .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:58:9
[INFO] [stdout]    |
[INFO] [stdout] 58 |     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:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 |     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:462:1
[INFO] [stdout]     |
[INFO] [stdout] 462 | 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:457:1
[INFO] [stdout]     |
[INFO] [stdout] 457 | 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:147:12
[INFO] [stdout]     |
[INFO] [stdout] 115 | impl BCVectors {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 147 |     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:383:10
[INFO] [stdout]     |
[INFO] [stdout] 383 |     type C = MetaColumn;
[INFO] [stdout]     |          ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `TOTAL_FIELDS` is never used
[INFO] [stdout]    --> src/meta.rs:167:11
[INFO] [stdout]     |
[INFO] [stdout] 165 | impl Meta {
[INFO] [stdout]     | --------- associated constant in this implementation
[INFO] [stdout] 166 |     const REQUIRED_FIELDS: &[&str] = &["ID", "Sample", "Tool", "Profile", "GoldStd"];
[INFO] [stdout] 167 |     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:13:21
[INFO] [stdout]    |
[INFO] [stdout] 13 | 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:14:28
[INFO] [stdout]    |
[INFO] [stdout] 14 | 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:160:27
[INFO] [stdout]     |
[INFO] [stdout] 160 | 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:161:27
[INFO] [stdout]     |
[INFO] [stdout] 161 | 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:786:95
[INFO] [stdout]     |
[INFO] [stdout] 786 |     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] 786 |     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:1024:27
[INFO] [stdout]      |
[INFO] [stdout] 1024 | 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:442:17
[INFO] [stdout]     |
[INFO] [stdout] 442 |                 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] 442 |                 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 1m 31s
[INFO] running `Command { std: "docker" "inspect" "7c2d280709b021ca50bac8c8850782f12077a151bf6dffe766ea0cecec3159b0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7c2d280709b021ca50bac8c8850782f12077a151bf6dffe766ea0cecec3159b0", kill_on_drop: false }`
[INFO] [stdout] 7c2d280709b021ca50bac8c8850782f12077a151bf6dffe766ea0cecec3159b0
