[INFO] fetching crate modtector 0.9.6...
[INFO] checking modtector-0.9.6 against try#c9557a20e5ef2e0e02c29a5fafd850d1b7cf1e4f for pr-133502-17
[INFO] extracting crate modtector 0.9.6 into /workspace/builds/worker-4-tc2/source
[INFO] started tweaking crates.io crate modtector 0.9.6
[INFO] finished tweaking crates.io crate modtector 0.9.6
[INFO] tweaked toml for crates.io crate modtector 0.9.6 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate modtector 0.9.6 on toolchain c9557a20e5ef2e0e02c29a5fafd850d1b7cf1e4f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c9557a20e5ef2e0e02c29a5fafd850d1b7cf1e4f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate modtector 0.9.6 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" "+c9557a20e5ef2e0e02c29a5fafd850d1b7cf1e4f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+c9557a20e5ef2e0e02c29a5fafd850d1b7cf1e4f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 65fad8d538e67126457a9bcbe63bb0d593feb57752825952a66b2cc72f232e49
[INFO] running `Command { std: "docker" "start" "-a" "65fad8d538e67126457a9bcbe63bb0d593feb57752825952a66b2cc72f232e49", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "65fad8d538e67126457a9bcbe63bb0d593feb57752825952a66b2cc72f232e49", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "65fad8d538e67126457a9bcbe63bb0d593feb57752825952a66b2cc72f232e49", kill_on_drop: false }`
[INFO] [stdout] 65fad8d538e67126457a9bcbe63bb0d593feb57752825952a66b2cc72f232e49
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+c9557a20e5ef2e0e02c29a5fafd850d1b7cf1e4f" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2df949b658b1aa40a005eb3d202169e35252d2bee3fa83ee3e46bf8d5e2ae712
[INFO] running `Command { std: "docker" "start" "-a" "2df949b658b1aa40a005eb3d202169e35252d2bee3fa83ee3e46bf8d5e2ae712", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.158
[INFO] [stderr]    Compiling pkg-config v0.3.30
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking bytemuck v1.18.0
[INFO] [stderr]    Compiling semver v1.0.26
[INFO] [stderr]    Compiling quote v1.0.37
[INFO] [stderr]    Compiling clang-sys v1.8.1
[INFO] [stderr]     Checking simd-adler32 v0.3.7
[INFO] [stderr]    Compiling syn v2.0.87
[INFO] [stderr]    Compiling regex-syntax v0.8.6
[INFO] [stderr]    Compiling serde v1.0.210
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]    Compiling jobserver v0.1.32
[INFO] [stderr]    Compiling libloading v0.8.5
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling cc v1.1.18
[INFO] [stderr]    Compiling matrixmultiply v0.3.9
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]    Compiling either v1.13.0
[INFO] [stderr]    Compiling rustversion v1.0.17
[INFO] [stderr]    Compiling semver v0.1.20
[INFO] [stderr]    Compiling bindgen v0.69.4
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]    Compiling rustc_version v0.1.7
[INFO] [stderr]    Compiling itertools v0.12.1
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]    Compiling pathfinder_simd v0.5.5
[INFO] [stderr]    Compiling regex-automata v0.4.11
[INFO] [stderr]    Compiling yeslogic-fontconfig-sys v6.0.0
[INFO] [stderr]    Compiling cmake v0.1.51
[INFO] [stderr]    Compiling openssl-src v300.3.2+3.3.2
[INFO] [stderr]     Checking safe_arch v0.7.2
[INFO] [stderr]    Compiling libz-sys v1.1.20
[INFO] [stderr]    Compiling lzma-sys v0.1.20
[INFO] [stderr]    Compiling openssl-sys v0.9.103
[INFO] [stderr]    Compiling cexpr v0.6.0
[INFO] [stderr]    Compiling curl-sys v0.4.74+curl-8.9.0
[INFO] [stderr]    Compiling bzip2-sys v0.1.11+1.0.8
[INFO] [stderr]    Compiling freetype-sys v0.20.1
[INFO] [stderr]    Compiling lazycell v1.3.0
[INFO] [stderr]    Compiling quick-error v1.2.3
[INFO] [stderr]    Compiling bitflags v2.6.0
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling rustc-hash v1.1.0
[INFO] [stderr]     Checking rawpointer v0.2.1
[INFO] [stderr]    Compiling fs-utils v1.1.4
[INFO] [stderr]     Checking flate2 v1.1.2
[INFO] [stderr]    Compiling regex v1.11.3
[INFO] [stderr]     Checking wide v0.7.28
[INFO] [stderr]    Compiling newtype_derive v0.1.6
[INFO] [stderr]     Checking approx v0.5.1
[INFO] [stderr]     Checking fdeflate v0.3.7
[INFO] [stderr]     Checking color_quant v1.1.0
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking png v0.17.16
[INFO] [stderr]     Checking dirs-sys v0.5.0
[INFO] [stderr]     Checking dlib v0.5.2
[INFO] [stderr]     Checking simba v0.8.1
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]    Compiling anyhow v1.0.87
[INFO] [stderr]    Compiling font-kit v0.14.3
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking equivalent v1.0.1
[INFO] [stderr]     Checking jpeg-decoder v0.3.2
[INFO] [stderr]     Checking weezl v0.1.10
[INFO] [stderr]     Checking plotters-backend v0.3.7
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling serde_derive v1.0.210
[INFO] [stderr]    Compiling thiserror-impl v1.0.63
[INFO] [stderr]    Compiling nalgebra-macros v0.2.2
[INFO] [stderr]     Checking zerocopy v0.7.35
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]     Checking thiserror v1.0.63
[INFO] [stderr]    Compiling derive-new v0.6.0
[INFO] [stderr]     Checking ppv-lite86 v0.2.20
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking anstream v0.6.19
[INFO] [stderr]     Checking pathfinder_geometry v0.5.1
[INFO] [stderr]     Checking image v0.24.9
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking indexmap v2.5.0
[INFO] [stderr]     Checking rand_distr v0.4.3
[INFO] [stderr]    Compiling enum-map-derive v0.17.0
[INFO] [stderr]     Checking bio-types v1.0.4
[INFO] [stderr]     Checking nalgebra v0.32.6
[INFO] [stderr]     Checking gif v0.12.0
[INFO] [stderr]     Checking dirs v6.0.0
[INFO] [stderr]     Checking csv-core v0.1.11
[INFO] [stderr]     Checking fixedbitset v0.4.2
[INFO] [stderr]     Checking bit-vec v0.8.0
[INFO] [stderr]     Checking float-ord v0.3.2
[INFO] [stderr]     Checking custom_derive v0.1.7
[INFO] [stderr]     Checking bit-set v0.8.0
[INFO] [stderr]     Checking clap_builder v4.5.40
[INFO] [stderr]    Compiling hts-sys v2.1.4
[INFO] [stderr]     Checking petgraph v0.6.5
[INFO] [stderr]     Checking chrono v0.4.41
[INFO] [stderr]     Checking plotters-bitmap v0.3.7
[INFO] [stderr]     Checking rayon-core v1.12.1
[INFO] [stderr]     Checking url v2.5.2
[INFO] [stderr]    Compiling derive-new v0.5.9
[INFO] [stderr]     Checking enum-map v2.7.3
[INFO] [stderr]    Compiling clap_derive v4.5.40
[INFO] [stderr]     Checking plotters-svg v0.3.7
[INFO] [stderr]     Checking ndarray v0.15.6
[INFO] [stderr]     Checking itertools-num v0.1.3
[INFO] [stderr]     Checking ordered-float v4.2.2
[INFO] [stderr]     Checking fxhash v0.2.1
[INFO] [stderr]     Checking multimap v0.10.0
[INFO] [stderr]     Checking vec_map v0.8.2
[INFO] [stderr]     Checking csv v1.3.0
[INFO] [stderr]     Checking bv v0.11.1
[INFO] [stderr]     Checking ttf-parser v0.20.0
[INFO] [stderr]     Checking ieee754 v0.2.6
[INFO] [stderr]     Checking linear-map v1.2.0
[INFO] [stderr]     Checking bytecount v0.6.8
[INFO] [stderr]     Checking strum v0.26.3
[INFO] [stderr]     Checking triple_accel v0.4.0
[INFO] [stderr]     Checking editdistancek v1.0.2
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]     Checking quick-xml v0.36.2
[INFO] [stderr]     Checking clap v4.5.40
[INFO] [stderr]     Checking plotters v0.3.7
[INFO] [stderr]     Checking statrs v0.17.1
[INFO] [stderr]     Checking bio v2.0.1
[INFO] [stderr]     Checking rust-htslib v0.47.0
[INFO] [stderr]     Checking modtector v0.9.6 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> src/compare.rs:309:9
[INFO] [stdout]     |
[INFO] [stdout] 309 |     let n = base.len();
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/compare.rs:366:13
[INFO] [stdout]     |
[INFO] [stdout] 366 |         let mut region_start = i;
[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: `window_radius`
[INFO] [stdout]    --> src/compare.rs:330:5
[INFO] [stdout]     |
[INFO] [stdout] 330 |     window_radius: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_window_radius`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> src/compare.rs:309:9
[INFO] [stdout]     |
[INFO] [stdout] 309 |     let n = base.len();
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/compare.rs:366:13
[INFO] [stdout]     |
[INFO] [stdout] 366 |         let mut region_start = i;
[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: `window_radius`
[INFO] [stdout]    --> src/compare.rs:330:5
[INFO] [stdout]     |
[INFO] [stdout] 330 |     window_radius: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_window_radius`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_stop_file`
[INFO] [stdout]    --> src/plot.rs:105:9
[INFO] [stdout]     |
[INFO] [stdout] 105 |     let is_stop_file = csv_file.contains("stop");
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_stop_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_mutation_file`
[INFO] [stdout]    --> src/plot.rs:106:9
[INFO] [stdout]     |
[INFO] [stdout] 106 |     let is_mutation_file = csv_file.contains("mutation");
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_mutation_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_stop_file`
[INFO] [stdout]    --> src/plot.rs:105:9
[INFO] [stdout]     |
[INFO] [stdout] 105 |     let is_stop_file = csv_file.contains("stop");
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_stop_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_mutation_file`
[INFO] [stdout]    --> src/plot.rs:106:9
[INFO] [stdout]     |
[INFO] [stdout] 106 |     let is_mutation_file = csv_file.contains("mutation");
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_mutation_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `logger`
[INFO] [stdout]    --> src/norm.rs:159:34
[INFO] [stdout]     |
[INFO] [stdout] 159 | pub fn norm_csv(args: &NormArgs, logger: &mut crate::Logger) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_logger`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pos`
[INFO] [stdout]    --> src/norm.rs:210:13
[INFO] [stdout]     |
[INFO] [stdout] 210 |         let pos = fields[2].parse::<u32>().unwrap_or(0);
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `base`
[INFO] [stdout]    --> src/norm.rs:211:13
[INFO] [stdout]     |
[INFO] [stdout] 211 |         let base = if fields.len() > 3 { fields[3].chars().next().unwrap_or('N') } else { 'N' };
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_base`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/norm.rs:377:9
[INFO] [stdout]     |
[INFO] [stdout] 377 |     let mut window_start = 0;
[INFO] [stdout]     |         ----^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `window_start`
[INFO] [stdout]    --> src/norm.rs:377:9
[INFO] [stdout]     |
[INFO] [stdout] 377 |     let mut window_start = 0;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_window_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `logger`
[INFO] [stdout]    --> src/norm.rs:159:34
[INFO] [stdout]     |
[INFO] [stdout] 159 | pub fn norm_csv(args: &NormArgs, logger: &mut crate::Logger) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_logger`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pos`
[INFO] [stdout]    --> src/norm.rs:210:13
[INFO] [stdout]     |
[INFO] [stdout] 210 |         let pos = fields[2].parse::<u32>().unwrap_or(0);
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `base`
[INFO] [stdout]    --> src/norm.rs:211:13
[INFO] [stdout]     |
[INFO] [stdout] 211 |         let base = if fields.len() > 3 { fields[3].chars().next().unwrap_or('N') } else { 'N' };
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_base`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/norm.rs:377:9
[INFO] [stdout]     |
[INFO] [stdout] 377 |     let mut window_start = 0;
[INFO] [stdout]     |         ----^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `window_start`
[INFO] [stdout]    --> src/norm.rs:377:9
[INFO] [stdout]     |
[INFO] [stdout] 377 |     let mut window_start = 0;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_window_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `single_stranded_count`
[INFO] [stdout]    --> src/evaluate.rs:117:9
[INFO] [stdout]     |
[INFO] [stdout] 117 |     let single_stranded_count = is_single_stranded.iter().filter(|&&x| x).count();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_single_stranded_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `double_stranded_count`
[INFO] [stdout]    --> src/evaluate.rs:118:9
[INFO] [stdout]     |
[INFO] [stdout] 118 |     let double_stranded_count = is_single_stranded.iter().filter(|&&x| !x).count();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_double_stranded_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `total_lines`
[INFO] [stdout]    --> src/evaluate.rs:135:9
[INFO] [stdout]     |
[INFO] [stdout] 135 |     let total_lines = std::fs::read_to_string(csv_file)?.lines().count();
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_total_lines`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `match_rate`
[INFO] [stdout]    --> src/evaluate.rs:301:9
[INFO] [stdout]     |
[INFO] [stdout] 301 |     let match_rate = if best_match_count > 0 {
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_match_rate`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `match_count` is assigned to, but never used
[INFO] [stdout]    --> src/evaluate.rs:309:9
[INFO] [stdout]     |
[INFO] [stdout] 309 |     let mut match_count = 0;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_match_count` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `mismatch_count` is assigned to, but never used
[INFO] [stdout]    --> src/evaluate.rs:310:9
[INFO] [stdout]     |
[INFO] [stdout] 310 |     let mut mismatch_count = 0;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_mismatch_count` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `skipped_count` is assigned to, but never used
[INFO] [stdout]    --> src/evaluate.rs:311:9
[INFO] [stdout]     |
[INFO] [stdout] 311 |     let mut skipped_count = 0;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_skipped_count` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `match_count` is never read
[INFO] [stdout]    --> src/evaluate.rs:325:21
[INFO] [stdout]     |
[INFO] [stdout] 325 |                     match_count += 1;
[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: value assigned to `mismatch_count` is never read
[INFO] [stdout]    --> src/evaluate.rs:327:21
[INFO] [stdout]     |
[INFO] [stdout] 327 |                     mismatch_count += 1;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `skipped_count` is never read
[INFO] [stdout]    --> src/evaluate.rs:335:13
[INFO] [stdout]     |
[INFO] [stdout] 335 |             skipped_count += 1;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `skipped_count` is never read
[INFO] [stdout]    --> src/evaluate.rs:331:17
[INFO] [stdout]     |
[INFO] [stdout] 331 |                 skipped_count += 1;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `single_stranded_count`
[INFO] [stdout]    --> src/evaluate.rs:117:9
[INFO] [stdout]     |
[INFO] [stdout] 117 |     let single_stranded_count = is_single_stranded.iter().filter(|&&x| x).count();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_single_stranded_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `double_stranded_count`
[INFO] [stdout]    --> src/evaluate.rs:118:9
[INFO] [stdout]     |
[INFO] [stdout] 118 |     let double_stranded_count = is_single_stranded.iter().filter(|&&x| !x).count();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_double_stranded_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `total_lines`
[INFO] [stdout]    --> src/evaluate.rs:135:9
[INFO] [stdout]     |
[INFO] [stdout] 135 |     let total_lines = std::fs::read_to_string(csv_file)?.lines().count();
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_total_lines`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `match_rate`
[INFO] [stdout]    --> src/evaluate.rs:301:9
[INFO] [stdout]     |
[INFO] [stdout] 301 |     let match_rate = if best_match_count > 0 {
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_match_rate`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `match_count` is assigned to, but never used
[INFO] [stdout]    --> src/evaluate.rs:309:9
[INFO] [stdout]     |
[INFO] [stdout] 309 |     let mut match_count = 0;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_match_count` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `mismatch_count` is assigned to, but never used
[INFO] [stdout]    --> src/evaluate.rs:310:9
[INFO] [stdout]     |
[INFO] [stdout] 310 |     let mut mismatch_count = 0;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_mismatch_count` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `skipped_count` is assigned to, but never used
[INFO] [stdout]    --> src/evaluate.rs:311:9
[INFO] [stdout]     |
[INFO] [stdout] 311 |     let mut skipped_count = 0;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_skipped_count` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `match_count` is never read
[INFO] [stdout]    --> src/evaluate.rs:325:21
[INFO] [stdout]     |
[INFO] [stdout] 325 |                     match_count += 1;
[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: value assigned to `mismatch_count` is never read
[INFO] [stdout]    --> src/evaluate.rs:327:21
[INFO] [stdout]     |
[INFO] [stdout] 327 |                     mismatch_count += 1;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `skipped_count` is never read
[INFO] [stdout]    --> src/evaluate.rs:335:13
[INFO] [stdout]     |
[INFO] [stdout] 335 |             skipped_count += 1;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `skipped_count` is never read
[INFO] [stdout]    --> src/evaluate.rs:331:17
[INFO] [stdout]     |
[INFO] [stdout] 331 |                 skipped_count += 1;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `tn` is assigned to, but never used
[INFO] [stdout]    --> src/evaluate.rs:577:13
[INFO] [stdout]     |
[INFO] [stdout] 577 |         let mut tn = 0;
[INFO] [stdout]     |             ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_tn` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `thresholds` is never read
[INFO] [stdout]    --> src/evaluate.rs:503:26
[INFO] [stdout]     |
[INFO] [stdout] 503 |     let mut thresholds = Vec::new();
[INFO] [stdout]     |                          ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `tn` is never read
[INFO] [stdout]    --> src/evaluate.rs:591:21
[INFO] [stdout]     |
[INFO] [stdout] 591 |                     tn += 1;
[INFO] [stdout]     |                     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `tn` is assigned to, but never used
[INFO] [stdout]    --> src/evaluate.rs:577:13
[INFO] [stdout]     |
[INFO] [stdout] 577 |         let mut tn = 0;
[INFO] [stdout]     |             ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_tn` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `thresholds` is never read
[INFO] [stdout]    --> src/evaluate.rs:503:26
[INFO] [stdout]     |
[INFO] [stdout] 503 |     let mut thresholds = Vec::new();
[INFO] [stdout]     |                          ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `tn` is never read
[INFO] [stdout]    --> src/evaluate.rs:591:21
[INFO] [stdout]     |
[INFO] [stdout] 591 |                     tn += 1;
[INFO] [stdout]     |                     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `tn` is assigned to, but never used
[INFO] [stdout]     --> src/evaluate.rs:1153:13
[INFO] [stdout]      |
[INFO] [stdout] 1153 |         let mut tn = 0;
[INFO] [stdout]      |             ^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: consider using `_tn` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `fn_count` is assigned to, but never used
[INFO] [stdout]     --> src/evaluate.rs:1154:13
[INFO] [stdout]      |
[INFO] [stdout] 1154 |         let mut fn_count = 0;
[INFO] [stdout]      |             ^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: consider using `_fn_count` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `tn` is never read
[INFO] [stdout]     --> src/evaluate.rs:1167:21
[INFO] [stdout]      |
[INFO] [stdout] 1167 |                     tn += 1;
[INFO] [stdout]      |                     ^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `fn_count` is never read
[INFO] [stdout]     --> src/evaluate.rs:1165:21
[INFO] [stdout]      |
[INFO] [stdout] 1165 |                     fn_count += 1;
[INFO] [stdout]      |                     ^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]     --> src/evaluate.rs:1333:16
[INFO] [stdout]      |
[INFO] [stdout] 1333 |     for (base, data) in &base_groups {
[INFO] [stdout]      |                ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `auc`
[INFO] [stdout]     --> src/evaluate.rs:1369:37
[INFO] [stdout]      |
[INFO] [stdout] 1369 | ...                   let auc = result.auc;
[INFO] [stdout]      |                           ^^^ help: if this is intentional, prefix it with an underscore: `_auc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `signal_type`
[INFO] [stdout]     --> src/evaluate.rs:1414:5
[INFO] [stdout]      |
[INFO] [stdout] 1414 |     signal_type: &str,
[INFO] [stdout]      |     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_signal_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `tn` is assigned to, but never used
[INFO] [stdout]     --> src/evaluate.rs:1451:13
[INFO] [stdout]      |
[INFO] [stdout] 1451 |         let mut tn = 0;
[INFO] [stdout]      |             ^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: consider using `_tn` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `fn_count` is assigned to, but never used
[INFO] [stdout]     --> src/evaluate.rs:1452:13
[INFO] [stdout]      |
[INFO] [stdout] 1452 |         let mut fn_count = 0;
[INFO] [stdout]      |             ^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: consider using `_fn_count` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `tn` is never read
[INFO] [stdout]     --> src/evaluate.rs:1465:21
[INFO] [stdout]      |
[INFO] [stdout] 1465 |                     tn += 1;
[INFO] [stdout]      |                     ^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `fn_count` is never read
[INFO] [stdout]     --> src/evaluate.rs:1463:21
[INFO] [stdout]      |
[INFO] [stdout] 1463 |                     fn_count += 1;
[INFO] [stdout]      |                     ^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `tn` is assigned to, but never used
[INFO] [stdout]     --> src/evaluate.rs:1153:13
[INFO] [stdout]      |
[INFO] [stdout] 1153 |         let mut tn = 0;
[INFO] [stdout]      |             ^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: consider using `_tn` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `fn_count` is assigned to, but never used
[INFO] [stdout]     --> src/evaluate.rs:1154:13
[INFO] [stdout]      |
[INFO] [stdout] 1154 |         let mut fn_count = 0;
[INFO] [stdout]      |             ^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: consider using `_fn_count` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `tn` is never read
[INFO] [stdout]     --> src/evaluate.rs:1167:21
[INFO] [stdout]      |
[INFO] [stdout] 1167 |                     tn += 1;
[INFO] [stdout]      |                     ^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `fn_count` is never read
[INFO] [stdout]     --> src/evaluate.rs:1165:21
[INFO] [stdout]      |
[INFO] [stdout] 1165 |                     fn_count += 1;
[INFO] [stdout]      |                     ^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]     --> src/evaluate.rs:1333:16
[INFO] [stdout]      |
[INFO] [stdout] 1333 |     for (base, data) in &base_groups {
[INFO] [stdout]      |                ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `auc`
[INFO] [stdout]     --> src/evaluate.rs:1369:37
[INFO] [stdout]      |
[INFO] [stdout] 1369 | ...                   let auc = result.auc;
[INFO] [stdout]      |                           ^^^ help: if this is intentional, prefix it with an underscore: `_auc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `signal_type`
[INFO] [stdout]     --> src/evaluate.rs:1414:5
[INFO] [stdout]      |
[INFO] [stdout] 1414 |     signal_type: &str,
[INFO] [stdout]      |     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_signal_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `tn` is assigned to, but never used
[INFO] [stdout]     --> src/evaluate.rs:1451:13
[INFO] [stdout]      |
[INFO] [stdout] 1451 |         let mut tn = 0;
[INFO] [stdout]      |             ^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: consider using `_tn` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `fn_count` is assigned to, but never used
[INFO] [stdout]     --> src/evaluate.rs:1452:13
[INFO] [stdout]      |
[INFO] [stdout] 1452 |         let mut fn_count = 0;
[INFO] [stdout]      |             ^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: consider using `_fn_count` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `tn` is never read
[INFO] [stdout]     --> src/evaluate.rs:1465:21
[INFO] [stdout]      |
[INFO] [stdout] 1465 |                     tn += 1;
[INFO] [stdout]      |                     ^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `fn_count` is never read
[INFO] [stdout]     --> src/evaluate.rs:1463:21
[INFO] [stdout]      |
[INFO] [stdout] 1463 |                     fn_count += 1;
[INFO] [stdout]      |                     ^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/progress.rs:83:29
[INFO] [stdout]    |
[INFO] [stdout] 83 |     pub fn with_description(mut self, description: &str) -> io::Result<()> {
[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/progress.rs:83:29
[INFO] [stdout]    |
[INFO] [stdout] 83 |     pub fn with_description(mut self, description: &str) -> io::Result<()> {
[INFO] [stdout]    |                             ----^^^^
[INFO] [stdout]    |                             |
[INFO] [stdout]    |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `header`
[INFO] [stdout]     --> src/main.rs:1472:9
[INFO] [stdout]      |
[INFO] [stdout] 1472 |     let header = bam.header().to_owned();
[INFO] [stdout]      |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `PositionData` is more private than the item `ReplicateData::replicates`
[INFO] [stdout]    --> src/compare.rs:54:5
[INFO] [stdout]     |
[INFO] [stdout]  54 |     pub replicates: Vec<PositionData>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `ReplicateData::replicates` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `PositionData` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/compare.rs:110:1
[INFO] [stdout]     |
[INFO] [stdout] 110 | struct PositionData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `tid` is never read
[INFO] [stdout]    --> src/main.rs:299:5
[INFO] [stdout]     |
[INFO] [stdout] 298 | struct Item {
[INFO] [stdout]     |        ---- field in this struct
[INFO] [stdout] 299 |     tid: String,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Item` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `header`
[INFO] [stdout]     --> src/main.rs:1472:9
[INFO] [stdout]      |
[INFO] [stdout] 1472 |     let header = bam.header().to_owned();
[INFO] [stdout]      |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `normalize_signal` is never used
[INFO] [stdout]    --> src/main.rs:388:4
[INFO] [stdout]     |
[INFO] [stdout] 388 | fn normalize_signal(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CompareMode` is never used
[INFO] [stdout]   --> src/compare.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub enum CompareMode {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `test_type` is never read
[INFO] [stdout]   --> src/compare.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct StatisticalResult {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] 43 |     pub test_type: StatisticalTest,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StatisticalResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReplicateData` is never constructed
[INFO] [stdout]   --> src/compare.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub struct ReplicateData {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ComparisonResult` is never constructed
[INFO] [stdout]   --> src/compare.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub struct ComparisonResult {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DiffScanResult` is never constructed
[INFO] [stdout]   --> src/compare.rs:73:12
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub struct DiffScanResult {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DeltaSHAPEResult` is never constructed
[INFO] [stdout]   --> src/compare.rs:89:12
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub struct DeltaSHAPEResult {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NormalizationParams` is never constructed
[INFO] [stdout]    --> src/compare.rs:104:12
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub struct NormalizationParams {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `ins`, `del`, `a`, `c`, `g`, and `t` are never read
[INFO] [stdout]    --> src/compare.rs:118:5
[INFO] [stdout]     |
[INFO] [stdout] 110 | struct PositionData {
[INFO] [stdout]     |        ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 118 |     ins: usize,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 119 |     del: usize,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 120 |     a: u32,
[INFO] [stdout]     |     ^
[INFO] [stdout] 121 |     c: u32,
[INFO] [stdout]     |     ^
[INFO] [stdout] 122 |     g: u32,
[INFO] [stdout]     |     ^
[INFO] [stdout] 123 |     t: u32,
[INFO] [stdout]     |     ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PositionData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `normalize_reactivity_data` is never used
[INFO] [stdout]    --> src/compare.rs:412:4
[INFO] [stdout]     |
[INFO] [stdout] 412 | fn normalize_reactivity_data(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `quantile_normalization` is never used
[INFO] [stdout]    --> src/compare.rs:426:4
[INFO] [stdout]     |
[INFO] [stdout] 426 | fn quantile_normalization(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `robust_normalization` is never used
[INFO] [stdout]    --> src/compare.rs:469:4
[INFO] [stdout]     |
[INFO] [stdout] 469 | fn robust_normalization(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `median_normalization` is never used
[INFO] [stdout]    --> src/compare.rs:504:4
[INFO] [stdout]     |
[INFO] [stdout] 504 | fn median_normalization(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_mad` is never used
[INFO] [stdout]    --> src/compare.rs:538:4
[INFO] [stdout]     |
[INFO] [stdout] 538 | fn calculate_mad(values: &[f64], median: f64) -> f64 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compare_samples` is never used
[INFO] [stdout]     --> src/compare.rs:1602:8
[INFO] [stdout]      |
[INFO] [stdout] 1602 | pub fn compare_samples(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `is_high` is never read
[INFO] [stdout]   --> src/plot.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | struct GenePlotTask {
[INFO] [stdout]    |        ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 32 |     is_high: bool,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GenePlotTask` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `gene_id` and `cov_x_depth` are never read
[INFO] [stdout]   --> src/plot.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | struct GeneStat {
[INFO] [stdout]    |        -------- fields in this struct
[INFO] [stdout] 37 |     gene_id: String,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     cov_x_depth: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GeneStat` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReactivityData` is never constructed
[INFO] [stdout]   --> src/norm.rs:72:8
[INFO] [stdout]    |
[INFO] [stdout] 72 | struct ReactivityData {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dynamic_window_norm` is never used
[INFO] [stdout]    --> src/norm.rs:343:4
[INFO] [stdout]     |
[INFO] [stdout] 343 | fn dynamic_window_norm(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_adaptive_window` is never used
[INFO] [stdout]    --> src/norm.rs:448:4
[INFO] [stdout]     |
[INFO] [stdout] 448 | fn find_adaptive_window(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_dynamic_window` is never used
[INFO] [stdout]    --> src/norm.rs:486:4
[INFO] [stdout]     |
[INFO] [stdout] 486 | fn find_dynamic_window(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `normalize_window` is never used
[INFO] [stdout]    --> src/norm.rs:496:4
[INFO] [stdout]     |
[INFO] [stdout] 496 | fn normalize_window(values: &[f64], norm_method: &StopNormMethod) -> Vec<f64> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProgressBar` is never constructed
[INFO] [stdout]  --> src/progress.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct ProgressBar {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_width`, `update`, `display`, `finish`, and `with_description` are never used
[INFO] [stdout]   --> src/progress.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl ProgressBar {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 12 |     /// Create a new progress bar
[INFO] [stdout] 13 |     pub fn new(total: usize) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn with_width(mut self, width: usize) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn update(&mut self, current: usize) -> io::Result<()> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     fn display(&self) -> io::Result<()> {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     pub fn finish(&mut self) -> io::Result<()> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83 |     pub fn with_description(mut self, description: &str) -> io::Result<()> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DescriptiveProgress` is never constructed
[INFO] [stdout]    --> src/progress.rs:158:12
[INFO] [stdout]     |
[INFO] [stdout] 158 | pub struct DescriptiveProgress {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `update`, and `finish` are never used
[INFO] [stdout]    --> src/progress.rs:167:12
[INFO] [stdout]     |
[INFO] [stdout] 165 | impl DescriptiveProgress {
[INFO] [stdout]     | ------------------------ associated items in this implementation
[INFO] [stdout] 166 |     /// Create a new descriptive progress displayer
[INFO] [stdout] 167 |     pub fn new(total: usize, description: &str) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 177 |     pub fn update(&mut self, current: usize) -> io::Result<()> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 200 |     pub fn finish(&mut self) -> io::Result<()> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> src/main.rs:1470:5
[INFO] [stdout]      |
[INFO] [stdout] 1470 |     bam.set_threads(1); // 避免内部多线程冲突
[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] 1470 |     let _ = bam.set_threads(1); // 避免内部多线程冲突
[INFO] [stdout]      |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> src/main.rs:1498:9
[INFO] [stdout]      |
[INFO] [stdout] 1498 |         window_bam.set_threads(1);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1498 |         let _ = window_bam.set_threads(1);
[INFO] [stdout]      |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_scan_Q` should have a snake case name
[INFO] [stdout]    --> src/compare.rs:266:4
[INFO] [stdout]     |
[INFO] [stdout] 266 | fn compute_scan_Q(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `compute_scan_q`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `PositionData` is more private than the item `ReplicateData::replicates`
[INFO] [stdout]    --> src/compare.rs:54:5
[INFO] [stdout]     |
[INFO] [stdout]  54 |     pub replicates: Vec<PositionData>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `ReplicateData::replicates` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `PositionData` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/compare.rs:110:1
[INFO] [stdout]     |
[INFO] [stdout] 110 | struct PositionData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `tid` is never read
[INFO] [stdout]    --> src/main.rs:299:5
[INFO] [stdout]     |
[INFO] [stdout] 298 | struct Item {
[INFO] [stdout]     |        ---- field in this struct
[INFO] [stdout] 299 |     tid: String,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Item` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `normalize_signal` is never used
[INFO] [stdout]    --> src/main.rs:388:4
[INFO] [stdout]     |
[INFO] [stdout] 388 | fn normalize_signal(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CompareMode` is never used
[INFO] [stdout]   --> src/compare.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub enum CompareMode {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `test_type` is never read
[INFO] [stdout]   --> src/compare.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct StatisticalResult {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] 43 |     pub test_type: StatisticalTest,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StatisticalResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReplicateData` is never constructed
[INFO] [stdout]   --> src/compare.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub struct ReplicateData {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ComparisonResult` is never constructed
[INFO] [stdout]   --> src/compare.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub struct ComparisonResult {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DiffScanResult` is never constructed
[INFO] [stdout]   --> src/compare.rs:73:12
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub struct DiffScanResult {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DeltaSHAPEResult` is never constructed
[INFO] [stdout]   --> src/compare.rs:89:12
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub struct DeltaSHAPEResult {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NormalizationParams` is never constructed
[INFO] [stdout]    --> src/compare.rs:104:12
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub struct NormalizationParams {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `ins`, `del`, `a`, `c`, `g`, and `t` are never read
[INFO] [stdout]    --> src/compare.rs:118:5
[INFO] [stdout]     |
[INFO] [stdout] 110 | struct PositionData {
[INFO] [stdout]     |        ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 118 |     ins: usize,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 119 |     del: usize,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 120 |     a: u32,
[INFO] [stdout]     |     ^
[INFO] [stdout] 121 |     c: u32,
[INFO] [stdout]     |     ^
[INFO] [stdout] 122 |     g: u32,
[INFO] [stdout]     |     ^
[INFO] [stdout] 123 |     t: u32,
[INFO] [stdout]     |     ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PositionData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `normalize_reactivity_data` is never used
[INFO] [stdout]    --> src/compare.rs:412:4
[INFO] [stdout]     |
[INFO] [stdout] 412 | fn normalize_reactivity_data(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `quantile_normalization` is never used
[INFO] [stdout]    --> src/compare.rs:426:4
[INFO] [stdout]     |
[INFO] [stdout] 426 | fn quantile_normalization(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `robust_normalization` is never used
[INFO] [stdout]    --> src/compare.rs:469:4
[INFO] [stdout]     |
[INFO] [stdout] 469 | fn robust_normalization(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `median_normalization` is never used
[INFO] [stdout]    --> src/compare.rs:504:4
[INFO] [stdout]     |
[INFO] [stdout] 504 | fn median_normalization(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_mad` is never used
[INFO] [stdout]    --> src/compare.rs:538:4
[INFO] [stdout]     |
[INFO] [stdout] 538 | fn calculate_mad(values: &[f64], median: f64) -> f64 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compare_samples` is never used
[INFO] [stdout]     --> src/compare.rs:1602:8
[INFO] [stdout]      |
[INFO] [stdout] 1602 | pub fn compare_samples(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `is_high` is never read
[INFO] [stdout]   --> src/plot.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | struct GenePlotTask {
[INFO] [stdout]    |        ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 32 |     is_high: bool,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GenePlotTask` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `gene_id` and `cov_x_depth` are never read
[INFO] [stdout]   --> src/plot.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | struct GeneStat {
[INFO] [stdout]    |        -------- fields in this struct
[INFO] [stdout] 37 |     gene_id: String,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     cov_x_depth: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GeneStat` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReactivityData` is never constructed
[INFO] [stdout]   --> src/norm.rs:72:8
[INFO] [stdout]    |
[INFO] [stdout] 72 | struct ReactivityData {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dynamic_window_norm` is never used
[INFO] [stdout]    --> src/norm.rs:343:4
[INFO] [stdout]     |
[INFO] [stdout] 343 | fn dynamic_window_norm(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_adaptive_window` is never used
[INFO] [stdout]    --> src/norm.rs:448:4
[INFO] [stdout]     |
[INFO] [stdout] 448 | fn find_adaptive_window(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_dynamic_window` is never used
[INFO] [stdout]    --> src/norm.rs:486:4
[INFO] [stdout]     |
[INFO] [stdout] 486 | fn find_dynamic_window(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `normalize_window` is never used
[INFO] [stdout]    --> src/norm.rs:496:4
[INFO] [stdout]     |
[INFO] [stdout] 496 | fn normalize_window(values: &[f64], norm_method: &StopNormMethod) -> Vec<f64> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProgressBar` is never constructed
[INFO] [stdout]  --> src/progress.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct ProgressBar {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_width`, `update`, `display`, `finish`, and `with_description` are never used
[INFO] [stdout]   --> src/progress.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl ProgressBar {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 12 |     /// Create a new progress bar
[INFO] [stdout] 13 |     pub fn new(total: usize) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn with_width(mut self, width: usize) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn update(&mut self, current: usize) -> io::Result<()> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     fn display(&self) -> io::Result<()> {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     pub fn finish(&mut self) -> io::Result<()> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83 |     pub fn with_description(mut self, description: &str) -> io::Result<()> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DescriptiveProgress` is never constructed
[INFO] [stdout]    --> src/progress.rs:158:12
[INFO] [stdout]     |
[INFO] [stdout] 158 | pub struct DescriptiveProgress {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `update`, and `finish` are never used
[INFO] [stdout]    --> src/progress.rs:167:12
[INFO] [stdout]     |
[INFO] [stdout] 165 | impl DescriptiveProgress {
[INFO] [stdout]     | ------------------------ associated items in this implementation
[INFO] [stdout] 166 |     /// Create a new descriptive progress displayer
[INFO] [stdout] 167 |     pub fn new(total: usize, description: &str) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 177 |     pub fn update(&mut self, current: usize) -> io::Result<()> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 200 |     pub fn finish(&mut self) -> io::Result<()> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> src/main.rs:1470:5
[INFO] [stdout]      |
[INFO] [stdout] 1470 |     bam.set_threads(1); // 避免内部多线程冲突
[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] 1470 |     let _ = bam.set_threads(1); // 避免内部多线程冲突
[INFO] [stdout]      |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> src/main.rs:1498:9
[INFO] [stdout]      |
[INFO] [stdout] 1498 |         window_bam.set_threads(1);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1498 |         let _ = window_bam.set_threads(1);
[INFO] [stdout]      |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_scan_Q` should have a snake case name
[INFO] [stdout]    --> src/compare.rs:266:4
[INFO] [stdout]     |
[INFO] [stdout] 266 | fn compute_scan_Q(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `compute_scan_q`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 15s
[INFO] running `Command { std: "docker" "inspect" "2df949b658b1aa40a005eb3d202169e35252d2bee3fa83ee3e46bf8d5e2ae712", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2df949b658b1aa40a005eb3d202169e35252d2bee3fa83ee3e46bf8d5e2ae712", kill_on_drop: false }`
[INFO] [stdout] 2df949b658b1aa40a005eb3d202169e35252d2bee3fa83ee3e46bf8d5e2ae712
