[INFO] cloning repository https://github.com/genomicsoup/simmr
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/genomicsoup/simmr" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgenomicsoup%2Fsimmr", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgenomicsoup%2Fsimmr'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 555a88cf1a642670448f6c3a99fbfd4c9c951683
[INFO] checking genomicsoup/simmr against master#4eb62535fc12dd1a63fd43a4173e224e79313c4d for pr-158816
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgenomicsoup%2Fsimmr" "/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/genomicsoup/simmr
[INFO] finished tweaking git repo https://github.com/genomicsoup/simmr
[INFO] tweaked toml for git repo https://github.com/genomicsoup/simmr written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/genomicsoup/simmr on toolchain 4eb62535fc12dd1a63fd43a4173e224e79313c4d
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4eb62535fc12dd1a63fd43a4173e224e79313c4d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/genomicsoup/simmr 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" "+4eb62535fc12dd1a63fd43a4173e224e79313c4d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded either v1.7.0
[INFO] [stderr]   Downloaded tracing-core v0.1.27
[INFO] [stderr]   Downloaded noodles v0.40.0
[INFO] [stderr]   Downloaded noodles-core v0.11.0
[INFO] [stderr]   Downloaded noodles-fasta v0.23.0
[INFO] [stderr]   Downloaded noodles-csi v0.19.0
[INFO] [stderr]   Downloaded indexmap v1.8.2
[INFO] [stderr]   Downloaded clap_lex v0.2.2
[INFO] [stderr]   Downloaded streaming-stats v0.2.3
[INFO] [stderr]   Downloaded noodles-bgzf v0.22.0
[INFO] [stderr]   Downloaded clap_derive v3.2.7
[INFO] [stderr]   Downloaded bitflags v2.3.1
[INFO] [stderr]   Downloaded tracing v0.1.35
[INFO] [stderr]   Downloaded bytecount v0.6.3
[INFO] [stderr]   Downloaded noodles-bam v0.34.0
[INFO] [stderr]   Downloaded needletail v0.4.1
[INFO] [stderr]   Downloaded uuid v1.1.2
[INFO] [stderr]   Downloaded noodles-sam v0.31.0
[INFO] [stderr]   Downloaded tracing-subscriber v0.3.11
[INFO] [stderr]   Downloaded syn v1.0.96
[INFO] [stderr]   Downloaded clap v3.2.11
[INFO] [stderr]   Downloaded lzma-sys v0.1.19
[INFO] [stderr]   Downloaded csv v1.1.6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 394a1aa76a4a8da629ec50dbda875d205d67ccf16f93deedb24049cc48b56b20
[INFO] running `Command { std: "docker" "start" "394a1aa76a4a8da629ec50dbda875d205d67ccf16f93deedb24049cc48b56b20", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "394a1aa76a4a8da629ec50dbda875d205d67ccf16f93deedb24049cc48b56b20", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "394a1aa76a4a8da629ec50dbda875d205d67ccf16f93deedb24049cc48b56b20" "/opt/rustwide/cargo-home/bin/cargo" "+4eb62535fc12dd1a63fd43a4173e224e79313c4d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "394a1aa76a4a8da629ec50dbda875d205d67ccf16f93deedb24049cc48b56b20", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "394a1aa76a4a8da629ec50dbda875d205d67ccf16f93deedb24049cc48b56b20" "/opt/rustwide/cargo-home/bin/cargo" "+4eb62535fc12dd1a63fd43a4173e224e79313c4d" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr]    Compiling libc v0.2.126
[INFO] [stderr]    Compiling syn v1.0.96
[INFO] [stderr]    Compiling crossbeam-utils v0.8.15
[INFO] [stderr]    Compiling cc v1.0.73
[INFO] [stderr]     Checking miniz_oxide v0.5.3
[INFO] [stderr]    Compiling indexmap v1.8.2
[INFO] [stderr]    Compiling num-traits v0.2.15
[INFO] [stderr]     Checking lexical-util v0.8.5
[INFO] [stderr]     Checking hashbrown v0.11.2
[INFO] [stderr]    Compiling proc-macro2 v1.0.39
[INFO] [stderr]    Compiling memoffset v0.8.0
[INFO] [stderr]     Checking bytes v1.1.0
[INFO] [stderr]     Checking tracing-core v0.1.27
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.14
[INFO] [stderr]     Checking noodles-core v0.11.0
[INFO] [stderr]     Checking bit-vec v0.6.3
[INFO] [stderr]     Checking os_str_bytes v6.1.0
[INFO] [stderr]     Checking thread_local v1.1.4
[INFO] [stderr]    Compiling rayon-core v1.11.0
[INFO] [stderr]     Checking bitflags v2.3.1
[INFO] [stderr]     Checking termcolor v1.1.3
[INFO] [stderr]     Checking textwrap v0.15.0
[INFO] [stderr]     Checking either v1.7.0
[INFO] [stderr]     Checking flate2 v1.0.24
[INFO] [stderr]     Checking regex-automata v0.1.10
[INFO] [stderr]     Checking safemem v0.3.3
[INFO] [stderr]     Checking itoa v0.4.8
[INFO] [stderr]     Checking buf_redux v0.8.4
[INFO] [stderr]     Checking ryu v1.0.10
[INFO] [stderr]     Checking clap_lex v0.2.2
[INFO] [stderr]    Compiling quote v1.0.18
[INFO] [stderr]     Checking bytecount v0.6.3
[INFO] [stderr]     Checking itertools v0.10.3
[INFO] [stderr]     Checking tracing-log v0.1.3
[INFO] [stderr]     Checking lexical-write-integer v0.8.5
[INFO] [stderr]     Checking lexical-parse-integer v0.8.6
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]     Checking tracing-subscriber v0.3.11
[INFO] [stderr]     Checking getrandom v0.2.7
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking num_cpus v1.15.0
[INFO] [stderr]     Checking lexical-parse-float v0.8.5
[INFO] [stderr]    Compiling lzma-sys v0.1.19
[INFO] [stderr]    Compiling bzip2-sys v0.1.11+1.0.8
[INFO] [stderr]     Checking rand_core v0.6.3
[INFO] [stderr]     Checking lexical-write-float v0.8.5
[INFO] [stderr]     Checking crossbeam-channel v0.5.8
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking crossbeam-deque v0.8.3
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking xz2 v0.1.7
[INFO] [stderr]     Checking noodles-bgzf v0.22.0
[INFO] [stderr]     Checking streaming-stats v0.2.3
[INFO] [stderr]     Checking noodles-fasta v0.23.0
[INFO] [stderr]     Checking noodles-csi v0.19.0
[INFO] [stderr]     Checking lexical-core v0.8.5
[INFO] [stderr]     Checking rayon v1.7.0
[INFO] [stderr]     Checking noodles-sam v0.31.0
[INFO] [stderr]     Checking bzip2 v0.4.3
[INFO] [stderr]     Checking rand_distr v0.4.3
[INFO] [stderr]     Checking uuid v1.1.2
[INFO] [stderr]     Checking needletail v0.4.1
[INFO] [stderr]     Checking noodles-bam v0.34.0
[INFO] [stderr]     Checking noodles v0.40.0
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling serde_derive v1.0.137
[INFO] [stderr]    Compiling tracing-attributes v0.1.21
[INFO] [stderr]    Compiling clap_derive v3.2.7
[INFO] [stderr]     Checking tracing v0.1.35
[INFO] [stderr]     Checking clap v3.2.11
[INFO] [stderr]     Checking serde v1.0.137
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking bstr v0.2.17
[INFO] [stderr]     Checking shared v0.1.0 (/opt/rustwide/workdir/shared)
[INFO] [stderr]     Checking csv v1.1.6
[INFO] [stdout] warning: unused macro definition: `create_mask`
[INFO] [stdout]   --> shared/src/encoding.rs:15:14
[INFO] [stdout]    |
[INFO] [stdout] 15 | macro_rules! create_mask {
[INFO] [stdout]    |              ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `set_bits`
[INFO] [stdout]   --> shared/src/encoding.rs:37:14
[INFO] [stdout]    |
[INFO] [stdout] 37 | macro_rules! set_bits {
[INFO] [stdout]    |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `extract_bits`
[INFO] [stdout]   --> shared/src/encoding.rs:53:14
[INFO] [stdout]    |
[INFO] [stdout] 53 | macro_rules! extract_bits {
[INFO] [stdout]    |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `create_mask`
[INFO] [stdout]   --> shared/src/encoding.rs:15:14
[INFO] [stdout]    |
[INFO] [stdout] 15 | macro_rules! create_mask {
[INFO] [stdout]    |              ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `set_bits`
[INFO] [stdout]   --> shared/src/encoding.rs:37:14
[INFO] [stdout]    |
[INFO] [stdout] 37 | macro_rules! set_bits {
[INFO] [stdout]    |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `extract_bits`
[INFO] [stdout]   --> shared/src/encoding.rs:53:14
[INFO] [stdout]    |
[INFO] [stdout] 53 | macro_rules! extract_bits {
[INFO] [stdout]    |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking simmrd v0.1.0 (/opt/rustwide/workdir/simmrd)
[INFO] [stdout] warning: unused imports: `Gamma`, `Normal`, and `Uniform`
[INFO] [stdout]   --> simmrd/src/main.rs:24:32
[INFO] [stdout]    |
[INFO] [stdout] 24 | use rand_distr::{Distribution, Gamma, Normal, Uniform, WeightedAliasIndex};
[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 imports: `Gamma`, `Normal`, and `Uniform`
[INFO] [stdout]   --> simmrd/src/main.rs:24:32
[INFO] [stdout]    |
[INFO] [stdout] 24 | use rand_distr::{Distribution, Gamma, Normal, Uniform, WeightedAliasIndex};
[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 variable: `cigar_ndx`
[INFO] [stdout]    --> simmrd/src/alignment.rs:205:14
[INFO] [stdout]     |
[INFO] [stdout] 205 |         let (cigar_ndx, cigar_char) = cigar_iter.peek().unwrap();
[INFO] [stdout]     |              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cigar_ndx`
[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]    --> simmrd/src/alignment.rs:285:9
[INFO] [stdout]     |
[INFO] [stdout] 285 |     let mut invalid_ref_kmers: u32 = 0;
[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: variable does not need to be mutable
[INFO] [stdout]    --> simmrd/src/alignment.rs:286:9
[INFO] [stdout]     |
[INFO] [stdout] 286 |     let mut invalid_query_kmers: u32 = 0;
[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]    --> simmrd/src/alignment.rs:346:13
[INFO] [stdout]     |
[INFO] [stdout] 346 |         let mut kmer_counts = kmer_map.entry(ref_kmer_encoded).or_default();
[INFO] [stdout]     |             ----^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `invalid_ref_kmers`
[INFO] [stdout]    --> simmrd/src/alignment.rs:285:9
[INFO] [stdout]     |
[INFO] [stdout] 285 |     let mut invalid_ref_kmers: u32 = 0;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_invalid_ref_kmers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `invalid_query_kmers`
[INFO] [stdout]    --> simmrd/src/alignment.rs:286:9
[INFO] [stdout]     |
[INFO] [stdout] 286 |     let mut invalid_query_kmers: u32 = 0;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_invalid_query_kmers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> simmrd/src/alignment.rs:326:17
[INFO] [stdout]     |
[INFO] [stdout] 326 |             Err(e) => {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> simmrd/src/alignment.rs:339:17
[INFO] [stdout]     |
[INFO] [stdout] 339 |             Err(e) => {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> simmrd/src/probability.rs:29:10
[INFO] [stdout]    |
[INFO] [stdout] 29 |     for (i, (refs, alts)) in kmer_map.into_iter().enumerate() {
[INFO] [stdout]    |          ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> simmrd/src/main.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |     let mut kmer_map: Arc<Mutex<alignment::EncodedKmerCountMap>> =
[INFO] [stdout]    |         ----^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking simmr v0.1.0 (/opt/rustwide/workdir/simmr)
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> simmrd/src/main.rs:497:9
[INFO] [stdout]     |
[INFO] [stdout] 497 |         _ => {
[INFO] [stdout]     |         ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> simmrd/src/main.rs:497:9
[INFO] [stdout]     |
[INFO] [stdout] 495 |         cli::Command::Generate(c) => generate_simulation_distributions(&c),
[INFO] [stdout]     |         ------------------------- matches some of the same values
[INFO] [stdout] 496 |         cli::Command::Simulate(c) => simulate_data(&c),
[INFO] [stdout]     |         ------------------------- matches some of the same values
[INFO] [stdout] 497 |         _ => {
[INFO] [stdout]     |         ^ collectively making this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `serialize_alignments_to_path` is never used
[INFO] [stdout]    --> simmrd/src/alignment.rs:364:8
[INFO] [stdout]     |
[INFO] [stdout] 364 | pub fn serialize_alignments_to_path(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `deserialize_alignments_from_path` is never used
[INFO] [stdout]    --> simmrd/src/alignment.rs:391:8
[INFO] [stdout]     |
[INFO] [stdout] 391 | pub fn deserialize_alignments_from_path(filepath: &Path) -> Result<Vec<AlignmentRecord>, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `scotts_rule` is never used
[INFO] [stdout]   --> simmrd/src/probability.rs:70:8
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub fn scotts_rule(data: &[u8]) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cigar_ndx`
[INFO] [stdout]    --> simmrd/src/alignment.rs:205:14
[INFO] [stdout]     |
[INFO] [stdout] 205 |         let (cigar_ndx, cigar_char) = cigar_iter.peek().unwrap();
[INFO] [stdout]     |              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cigar_ndx`
[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]    --> simmrd/src/alignment.rs:285:9
[INFO] [stdout]     |
[INFO] [stdout] 285 |     let mut invalid_ref_kmers: u32 = 0;
[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: variable does not need to be mutable
[INFO] [stdout]    --> simmrd/src/alignment.rs:286:9
[INFO] [stdout]     |
[INFO] [stdout] 286 |     let mut invalid_query_kmers: u32 = 0;
[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]    --> simmrd/src/alignment.rs:346:13
[INFO] [stdout]     |
[INFO] [stdout] 346 |         let mut kmer_counts = kmer_map.entry(ref_kmer_encoded).or_default();
[INFO] [stdout]     |             ----^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `invalid_ref_kmers`
[INFO] [stdout]    --> simmrd/src/alignment.rs:285:9
[INFO] [stdout]     |
[INFO] [stdout] 285 |     let mut invalid_ref_kmers: u32 = 0;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_invalid_ref_kmers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `invalid_query_kmers`
[INFO] [stdout]    --> simmrd/src/alignment.rs:286:9
[INFO] [stdout]     |
[INFO] [stdout] 286 |     let mut invalid_query_kmers: u32 = 0;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_invalid_query_kmers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> simmrd/src/alignment.rs:326:17
[INFO] [stdout]     |
[INFO] [stdout] 326 |             Err(e) => {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> simmrd/src/alignment.rs:339:17
[INFO] [stdout]     |
[INFO] [stdout] 339 |             Err(e) => {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `abundance_profiles::base::coverage`
[INFO] [stdout]  --> simmr/src/abundance_profiles/uniform.rs:7:13
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::{abundance_profiles::base::coverage, genome};
[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: `crate::util`
[INFO] [stdout]   --> simmr/src/error_profiles/custom_long.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::util;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::prelude::SliceRandom`
[INFO] [stdout]  --> simmr/src/error_profiles/custom_short.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rand::prelude::SliceRandom;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Gamma`
[INFO] [stdout]   --> simmr/src/error_profiles/custom_short.rs:12:32
[INFO] [stdout]    |
[INFO] [stdout] 12 | use rand_distr::{Distribution, Gamma, Normal, Uniform, WeightedAliasIndex};
[INFO] [stdout]    |                                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `stats::stddev`
[INFO] [stdout]   --> simmr/src/error_profiles/custom_short.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use stats::stddev;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::util`
[INFO] [stdout]   --> simmr/src/error_profiles/custom_short.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::util;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `base::ErrorProfile`
[INFO] [stdout]    --> simmr/src/error_profiles/custom_short.rs:548:9
[INFO] [stdout]     |
[INFO] [stdout] 548 |     use base::ErrorProfile;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::custom_long::CustomLongErrorProfile`
[INFO] [stdout]   --> simmr/src/error_profiles/mod.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub use self::custom_long::CustomLongErrorProfile;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MinimalShortErrorProfile`
[INFO] [stdout]  --> simmr/src/error_profiles/../tests/error_profile_tests.rs:5:43
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::error_profiles::{ErrorProfile, MinimalShortErrorProfile, PerfectShortErrorProfile};
[INFO] [stdout]   |                                           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::rngs::StdRng`
[INFO] [stdout]  --> simmr/src/genome.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rand::rngs::StdRng;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]  --> simmr/src/genome.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rand::Rng;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::SeedableRng`
[INFO] [stdout]  --> simmr/src/genome.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use rand::SeedableRng;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::OpenOptions`
[INFO] [stdout]   --> simmr/src/simulate.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::fs::OpenOptions;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `abundance_profiles::base::coverage`
[INFO] [stdout]  --> simmr/src/abundance_profiles/uniform.rs:7:13
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::{abundance_profiles::base::coverage, genome};
[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: `crate::util`
[INFO] [stdout]   --> simmr/src/error_profiles/custom_long.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::util;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::prelude::SliceRandom`
[INFO] [stdout]  --> simmr/src/error_profiles/custom_short.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rand::prelude::SliceRandom;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Gamma`
[INFO] [stdout]   --> simmr/src/error_profiles/custom_short.rs:12:32
[INFO] [stdout]    |
[INFO] [stdout] 12 | use rand_distr::{Distribution, Gamma, Normal, Uniform, WeightedAliasIndex};
[INFO] [stdout]    |                                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `stats::stddev`
[INFO] [stdout]   --> simmr/src/error_profiles/custom_short.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use stats::stddev;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::util`
[INFO] [stdout]   --> simmr/src/error_profiles/custom_short.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::util;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::custom_long::CustomLongErrorProfile`
[INFO] [stdout]   --> simmr/src/error_profiles/mod.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub use self::custom_long::CustomLongErrorProfile;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::rngs::StdRng`
[INFO] [stdout]  --> simmr/src/genome.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rand::rngs::StdRng;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]  --> simmr/src/genome.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rand::Rng;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::SeedableRng`
[INFO] [stdout]  --> simmr/src/genome.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use rand::SeedableRng;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::OpenOptions`
[INFO] [stdout]   --> simmr/src/simulate.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::fs::OpenOptions;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> simmr/src/error_profiles/custom_long.rs:169:13
[INFO] [stdout]     |
[INFO] [stdout] 165 |               continue;
[INFO] [stdout]     |               -------- any code following this expression is unreachable
[INFO] [stdout] ...
[INFO] [stdout] 169 | /             loop {
[INFO] [stdout] 170 | |                 let qs = rng.gen_range(0..70) as u8;
[INFO] [stdout] 171 | |
[INFO] [stdout] 172 | |                 if rng.gen::<f64>() <= gaussian(qs as f64, &centers, bandwidth) {
[INFO] [stdout] ...   |
[INFO] [stdout] 176 | |             }
[INFO] [stdout]     | |_____________^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> simmr/src/error_profiles/custom_short.rs:444:9
[INFO] [stdout]     |
[INFO] [stdout] 352 |         return scores;
[INFO] [stdout]     |         ------------- any code following this expression is unreachable
[INFO] [stdout] ...
[INFO] [stdout] 444 |         scores
[INFO] [stdout]     |         ^^^^^^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> simmrd/src/probability.rs:29:10
[INFO] [stdout]    |
[INFO] [stdout] 29 |     for (i, (refs, alts)) in kmer_map.into_iter().enumerate() {
[INFO] [stdout]    |          ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> simmrd/src/main.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |     let mut kmer_map: Arc<Mutex<alignment::EncodedKmerCountMap>> =
[INFO] [stdout]    |         ----^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::prelude`
[INFO] [stdout]   --> simmr/src/simulate.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::io::prelude::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num_genomes`
[INFO] [stdout]   --> simmr/src/abundance_profiles/custom.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |         num_genomes: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_genomes`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nreads`
[INFO] [stdout]   --> simmr/src/abundance_profiles/custom.rs:89:24
[INFO] [stdout]    |
[INFO] [stdout] 89 |             .map(|(g, (nreads, abund))| {
[INFO] [stdout]    |                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_nreads`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `total_coverage`
[INFO] [stdout]   --> simmr/src/abundance_profiles/custom.rs:55:13
[INFO] [stdout]    |
[INFO] [stdout] 55 |         let total_coverage = base::total_coverage(
[INFO] [stdout]    |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_total_coverage`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nreads`
[INFO] [stdout]   --> simmr/src/abundance_profiles/uniform.rs:88:24
[INFO] [stdout]    |
[INFO] [stdout] 88 |             .map(|(g, (nreads, abund))| {
[INFO] [stdout]    |                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_nreads`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `total_coverage`
[INFO] [stdout]   --> simmr/src/abundance_profiles/uniform.rs:54:13
[INFO] [stdout]    |
[INFO] [stdout] 54 |         let total_coverage = base::total_coverage(
[INFO] [stdout]    |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_total_coverage`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> simmr/src/error_profiles/custom_long.rs:169:13
[INFO] [stdout]     |
[INFO] [stdout] 165 |               continue;
[INFO] [stdout]     |               -------- any code following this expression is unreachable
[INFO] [stdout] ...
[INFO] [stdout] 169 | /             loop {
[INFO] [stdout] 170 | |                 let qs = rng.gen_range(0..70) as u8;
[INFO] [stdout] 171 | |
[INFO] [stdout] 172 | |                 if rng.gen::<f64>() <= gaussian(qs as f64, &centers, bandwidth) {
[INFO] [stdout] ...   |
[INFO] [stdout] 176 | |             }
[INFO] [stdout]     | |_____________^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> simmr/src/error_profiles/custom_short.rs:444:9
[INFO] [stdout]     |
[INFO] [stdout] 352 |         return scores;
[INFO] [stdout]     |         ------------- any code following this expression is unreachable
[INFO] [stdout] ...
[INFO] [stdout] 444 |         scores
[INFO] [stdout]     |         ^^^^^^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> simmr/src/cli.rs:299:9
[INFO] [stdout]     |
[INFO] [stdout] 299 |         _ => todo!(),
[INFO] [stdout]     |         ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> simmr/src/cli.rs:299:9
[INFO] [stdout]     |
[INFO] [stdout] 231 |         ErrorProfile::PerfectShort => Box::new(error_profiles::PerfectShortErrorProfile {
[INFO] [stdout]     |         -------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 235 |         ErrorProfile::MinimalShort => Box::new(error_profiles::MinimalShortErrorProfile {
[INFO] [stdout]     |         -------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 254 |         ErrorProfile::CustomShort => {
[INFO] [stdout]     |         ------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 284 |         ErrorProfile::PerfectLong => Box::new(error_profiles::PerfectLongErrorProfile {}),
[INFO] [stdout]     |         ------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 299 |         _ => todo!(),
[INFO] [stdout]     |         ^ ...and 1 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `seed`
[INFO] [stdout]   --> simmr/src/error_profiles/custom_long.rs:51:31
[INFO] [stdout]    |
[INFO] [stdout] 51 |     fn get_insert_size(&self, seed: Option<u64>) -> u16 {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_seed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `seed`
[INFO] [stdout]   --> simmr/src/error_profiles/custom_long.rs:55:38
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn get_random_insert_size(&self, seed: Option<u64>) -> u16 {
[INFO] [stdout]    |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_seed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> simmrd/src/main.rs:497:9
[INFO] [stdout]     |
[INFO] [stdout] 497 |         _ => {
[INFO] [stdout]     |         ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> simmrd/src/main.rs:497:9
[INFO] [stdout]     |
[INFO] [stdout] 495 |         cli::Command::Generate(c) => generate_simulation_distributions(&c),
[INFO] [stdout]     |         ------------------------- matches some of the same values
[INFO] [stdout] 496 |         cli::Command::Simulate(c) => simulate_data(&c),
[INFO] [stdout]     |         ------------------------- matches some of the same values
[INFO] [stdout] 497 |         _ => {
[INFO] [stdout]     |         ^ collectively making this unreachable
[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]    --> simmr/src/error_profiles/custom_short.rs:156:13
[INFO] [stdout]     |
[INFO] [stdout] 156 |         let mut rng = match seed {
[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: `rng`
[INFO] [stdout]    --> simmr/src/error_profiles/custom_short.rs:156:13
[INFO] [stdout]     |
[INFO] [stdout] 156 |         let mut rng = match seed {
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> simmr/src/error_profiles/custom_short.rs:329:13
[INFO] [stdout]     |
[INFO] [stdout] 329 |         let mut rng = match seed {
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rng`
[INFO] [stdout]    --> simmr/src/error_profiles/custom_short.rs:329:13
[INFO] [stdout]     |
[INFO] [stdout] 329 |         let mut rng = match seed {
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `serialize_alignments_to_path` is never used
[INFO] [stdout]    --> simmrd/src/alignment.rs:364:8
[INFO] [stdout]     |
[INFO] [stdout] 364 | pub fn serialize_alignments_to_path(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `deserialize_alignments_from_path` is never used
[INFO] [stdout]    --> simmrd/src/alignment.rs:391:8
[INFO] [stdout]     |
[INFO] [stdout] 391 | pub fn deserialize_alignments_from_path(filepath: &Path) -> Result<Vec<AlignmentRecord>, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `scotts_rule` is never used
[INFO] [stdout]   --> simmrd/src/probability.rs:70:8
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub fn scotts_rule(data: &[u8]) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `seed`
[INFO] [stdout]   --> simmr/src/error_profiles/minimal_long.rs:29:31
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn get_insert_size(&self, seed: Option<u64>) -> u16 {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_seed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `seed`
[INFO] [stdout]   --> simmr/src/error_profiles/minimal_long.rs:33:38
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn get_random_insert_size(&self, seed: Option<u64>) -> u16 {
[INFO] [stdout]    |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_seed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `seed`
[INFO] [stdout]    --> simmr/src/error_profiles/minimal_long.rs:146:48
[INFO] [stdout]     |
[INFO] [stdout] 146 |     fn simulate_errors(&self, sequence: &[u8], seed: Option<u64>) -> Vec<u8> {
[INFO] [stdout]     |                                                ^^^^ help: if this is intentional, prefix it with an underscore: `_seed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sequence`
[INFO] [stdout]   --> simmr/src/error_profiles/minimal_short.rs:29:31
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn simulate_errors(&self, sequence: &[u8], seed: Option<u64>) -> Vec<u8> {
[INFO] [stdout]    |                               ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sequence`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `seed`
[INFO] [stdout]   --> simmr/src/error_profiles/minimal_short.rs:29:48
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn simulate_errors(&self, sequence: &[u8], seed: Option<u64>) -> Vec<u8> {
[INFO] [stdout]    |                                                ^^^^ help: if this is intentional, prefix it with an underscore: `_seed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `seed`
[INFO] [stdout]   --> simmr/src/error_profiles/perfect_long.rs:24:31
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn get_insert_size(&self, seed: Option<u64>) -> u16 {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_seed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `seed`
[INFO] [stdout]   --> simmr/src/error_profiles/perfect_long.rs:28:38
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn get_random_insert_size(&self, seed: Option<u64>) -> u16 {
[INFO] [stdout]    |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_seed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `seed`
[INFO] [stdout]   --> simmr/src/error_profiles/perfect_long.rs:32:31
[INFO] [stdout]    |
[INFO] [stdout] 32 |     fn get_read_length(&self, seed: Option<u64>) -> u16 {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_seed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `seed`
[INFO] [stdout]    --> simmr/src/error_profiles/perfect_long.rs:125:48
[INFO] [stdout]     |
[INFO] [stdout] 125 |     fn simulate_errors(&self, sequence: &[u8], seed: Option<u64>) -> Vec<u8> {
[INFO] [stdout]     |                                                ^^^^ help: if this is intentional, prefix it with an underscore: `_seed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `seed`
[INFO] [stdout]   --> simmr/src/error_profiles/perfect_short.rs:22:31
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn get_read_length(&self, seed: Option<u64>) -> u16 {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_seed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `seed`
[INFO] [stdout]   --> simmr/src/error_profiles/perfect_short.rs:26:38
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn get_random_read_length(&self, seed: Option<u64>) -> u16 {
[INFO] [stdout]    |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_seed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `seed`
[INFO] [stdout]   --> simmr/src/error_profiles/perfect_short.rs:30:31
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn get_insert_size(&self, seed: Option<u64>) -> u16 {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_seed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `seed`
[INFO] [stdout]   --> simmr/src/error_profiles/perfect_short.rs:38:38
[INFO] [stdout]    |
[INFO] [stdout] 38 |     fn get_random_insert_size(&self, seed: Option<u64>) -> u16 {
[INFO] [stdout]    |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_seed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> simmr/src/simulate.rs:358:17
[INFO] [stdout]     |
[INFO] [stdout] 358 |             let mut read_length = error_profile.get_random_read_length(seed);
[INFO] [stdout]     |                 ----^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> simmr/src/simulate.rs:383:25
[INFO] [stdout]     |
[INFO] [stdout] 383 |                     Err(e) => continue,
[INFO] [stdout]     |                         ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_random_insert_size` is never used
[INFO] [stdout]   --> simmr/src/error_profiles/base.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub trait ErrorProfile {
[INFO] [stdout]    |           ------------ method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 14 |     fn get_random_insert_size(&self, seed: Option<u64>) -> u16;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `quality_bins2` is never read
[INFO] [stdout]   --> simmr/src/error_profiles/custom_long.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct CustomLongErrorProfile {
[INFO] [stdout]    |            ---------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub quality_bins2: Vec<Vec<f32>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `QualityScoreDistribution` is never constructed
[INFO] [stdout]   --> simmr/src/error_profiles/custom_short.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct QualityScoreDistribution {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `read_length` and `read_length_std` are never read
[INFO] [stdout]   --> simmr/src/error_profiles/minimal_long.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct MinimalLongErrorProfile {
[INFO] [stdout]    |            ----------------------- fields in this struct
[INFO] [stdout] 18 |     pub mean_phred_score: u8,
[INFO] [stdout] 19 |     pub read_length: u16,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 20 |     pub read_length_std: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `uuid` is never read
[INFO] [stdout]   --> simmr/src/genome.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct Seq {
[INFO] [stdout]    |            --- field in this struct
[INFO] [stdout] 19 |     pub id: Vec<u8>,
[INFO] [stdout] 20 |     pub uuid: u64,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Seq` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `contiguous` is never read
[INFO] [stdout]   --> simmr/src/genome.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct Genome {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub contiguous: bool,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Genome` 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: unused import: `std::io::prelude`
[INFO] [stdout]   --> simmr/src/simulate.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::io::prelude::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PERead` is never constructed
[INFO] [stdout]   --> simmr/src/simulate.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct PERead {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LongRead` is never constructed
[INFO] [stdout]   --> simmr/src/simulate.rs:46:12
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct LongRead {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num_genomes`
[INFO] [stdout]   --> simmr/src/abundance_profiles/custom.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |         num_genomes: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_genomes`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nreads`
[INFO] [stdout]   --> simmr/src/abundance_profiles/custom.rs:89:24
[INFO] [stdout]    |
[INFO] [stdout] 89 |             .map(|(g, (nreads, abund))| {
[INFO] [stdout]    |                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_nreads`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `total_coverage`
[INFO] [stdout]   --> simmr/src/abundance_profiles/custom.rs:55:13
[INFO] [stdout]    |
[INFO] [stdout] 55 |         let total_coverage = base::total_coverage(
[INFO] [stdout]    |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_total_coverage`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nreads`
[INFO] [stdout]   --> simmr/src/abundance_profiles/uniform.rs:88:24
[INFO] [stdout]    |
[INFO] [stdout] 88 |             .map(|(g, (nreads, abund))| {
[INFO] [stdout]    |                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_nreads`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `total_coverage`
[INFO] [stdout]   --> simmr/src/abundance_profiles/uniform.rs:54:13
[INFO] [stdout]    |
[INFO] [stdout] 54 |         let total_coverage = base::total_coverage(
[INFO] [stdout]    |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_total_coverage`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> simmr/src/cli.rs:299:9
[INFO] [stdout]     |
[INFO] [stdout] 299 |         _ => todo!(),
[INFO] [stdout]     |         ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> simmr/src/cli.rs:299:9
[INFO] [stdout]     |
[INFO] [stdout] 231 |         ErrorProfile::PerfectShort => Box::new(error_profiles::PerfectShortErrorProfile {
[INFO] [stdout]     |         -------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 235 |         ErrorProfile::MinimalShort => Box::new(error_profiles::MinimalShortErrorProfile {
[INFO] [stdout]     |         -------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 254 |         ErrorProfile::CustomShort => {
[INFO] [stdout]     |         ------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 284 |         ErrorProfile::PerfectLong => Box::new(error_profiles::PerfectLongErrorProfile {}),
[INFO] [stdout]     |         ------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 299 |         _ => todo!(),
[INFO] [stdout]     |         ^ ...and 1 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `seed`
[INFO] [stdout]   --> simmr/src/error_profiles/custom_long.rs:51:31
[INFO] [stdout]    |
[INFO] [stdout] 51 |     fn get_insert_size(&self, seed: Option<u64>) -> u16 {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_seed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `seed`
[INFO] [stdout]   --> simmr/src/error_profiles/custom_long.rs:55:38
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn get_random_insert_size(&self, seed: Option<u64>) -> u16 {
[INFO] [stdout]    |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_seed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> simmr/src/error_profiles/custom_short.rs:156:13
[INFO] [stdout]     |
[INFO] [stdout] 156 |         let mut rng = match seed {
[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: `rng`
[INFO] [stdout]    --> simmr/src/error_profiles/custom_short.rs:156:13
[INFO] [stdout]     |
[INFO] [stdout] 156 |         let mut rng = match seed {
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> simmr/src/error_profiles/custom_short.rs:329:13
[INFO] [stdout]     |
[INFO] [stdout] 329 |         let mut rng = match seed {
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rng`
[INFO] [stdout]    --> simmr/src/error_profiles/custom_short.rs:329:13
[INFO] [stdout]     |
[INFO] [stdout] 329 |         let mut rng = match seed {
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `seed`
[INFO] [stdout]   --> simmr/src/error_profiles/minimal_long.rs:29:31
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn get_insert_size(&self, seed: Option<u64>) -> u16 {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_seed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `seed`
[INFO] [stdout]   --> simmr/src/error_profiles/minimal_long.rs:33:38
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn get_random_insert_size(&self, seed: Option<u64>) -> u16 {
[INFO] [stdout]    |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_seed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `seed`
[INFO] [stdout]    --> simmr/src/error_profiles/minimal_long.rs:146:48
[INFO] [stdout]     |
[INFO] [stdout] 146 |     fn simulate_errors(&self, sequence: &[u8], seed: Option<u64>) -> Vec<u8> {
[INFO] [stdout]     |                                                ^^^^ help: if this is intentional, prefix it with an underscore: `_seed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sequence`
[INFO] [stdout]   --> simmr/src/error_profiles/minimal_short.rs:29:31
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn simulate_errors(&self, sequence: &[u8], seed: Option<u64>) -> Vec<u8> {
[INFO] [stdout]    |                               ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sequence`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `seed`
[INFO] [stdout]   --> simmr/src/error_profiles/minimal_short.rs:29:48
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn simulate_errors(&self, sequence: &[u8], seed: Option<u64>) -> Vec<u8> {
[INFO] [stdout]    |                                                ^^^^ help: if this is intentional, prefix it with an underscore: `_seed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `seed`
[INFO] [stdout]   --> simmr/src/error_profiles/perfect_long.rs:24:31
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn get_insert_size(&self, seed: Option<u64>) -> u16 {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_seed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `seed`
[INFO] [stdout]   --> simmr/src/error_profiles/perfect_long.rs:28:38
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn get_random_insert_size(&self, seed: Option<u64>) -> u16 {
[INFO] [stdout]    |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_seed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `seed`
[INFO] [stdout]   --> simmr/src/error_profiles/perfect_long.rs:32:31
[INFO] [stdout]    |
[INFO] [stdout] 32 |     fn get_read_length(&self, seed: Option<u64>) -> u16 {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_seed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `seed`
[INFO] [stdout]    --> simmr/src/error_profiles/perfect_long.rs:125:48
[INFO] [stdout]     |
[INFO] [stdout] 125 |     fn simulate_errors(&self, sequence: &[u8], seed: Option<u64>) -> Vec<u8> {
[INFO] [stdout]     |                                                ^^^^ help: if this is intentional, prefix it with an underscore: `_seed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `seed`
[INFO] [stdout]   --> simmr/src/error_profiles/perfect_short.rs:22:31
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn get_read_length(&self, seed: Option<u64>) -> u16 {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_seed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `seed`
[INFO] [stdout]   --> simmr/src/error_profiles/perfect_short.rs:26:38
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn get_random_read_length(&self, seed: Option<u64>) -> u16 {
[INFO] [stdout]    |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_seed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `seed`
[INFO] [stdout]   --> simmr/src/error_profiles/perfect_short.rs:30:31
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn get_insert_size(&self, seed: Option<u64>) -> u16 {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_seed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `seed`
[INFO] [stdout]   --> simmr/src/error_profiles/perfect_short.rs:38:38
[INFO] [stdout]    |
[INFO] [stdout] 38 |     fn get_random_insert_size(&self, seed: Option<u64>) -> u16 {
[INFO] [stdout]    |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_seed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> simmr/src/simulate.rs:358:17
[INFO] [stdout]     |
[INFO] [stdout] 358 |             let mut read_length = error_profile.get_random_read_length(seed);
[INFO] [stdout]     |                 ----^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> simmr/src/simulate.rs:383:25
[INFO] [stdout]     |
[INFO] [stdout] 383 |                     Err(e) => continue,
[INFO] [stdout]     |                         ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_random_insert_size` is never used
[INFO] [stdout]   --> simmr/src/error_profiles/base.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub trait ErrorProfile {
[INFO] [stdout]    |           ------------ method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 14 |     fn get_random_insert_size(&self, seed: Option<u64>) -> u16;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CustomLongErrorProfile` is never constructed
[INFO] [stdout]   --> simmr/src/error_profiles/custom_long.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct CustomLongErrorProfile {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gaussian` is never used
[INFO] [stdout]   --> simmr/src/error_profiles/custom_long.rs:36:4
[INFO] [stdout]    |
[INFO] [stdout] 36 | fn gaussian(x: f64, xs: &[f64], bandwidth: f64) -> f64 {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `QualityScoreDistribution` is never constructed
[INFO] [stdout]   --> simmr/src/error_profiles/custom_short.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct QualityScoreDistribution {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gaussian` is never used
[INFO] [stdout]   --> simmr/src/error_profiles/custom_short.rs:60:4
[INFO] [stdout]    |
[INFO] [stdout] 60 | fn gaussian(x: f64, xs: &[f64], bandwidth: f64) -> f64 {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `read_length` and `read_length_std` are never read
[INFO] [stdout]   --> simmr/src/error_profiles/minimal_long.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct MinimalLongErrorProfile {
[INFO] [stdout]    |            ----------------------- fields in this struct
[INFO] [stdout] 18 |     pub mean_phred_score: u8,
[INFO] [stdout] 19 |     pub read_length: u16,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 20 |     pub read_length_std: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `uuid` is never read
[INFO] [stdout]   --> simmr/src/genome.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct Seq {
[INFO] [stdout]    |            --- field in this struct
[INFO] [stdout] 19 |     pub id: Vec<u8>,
[INFO] [stdout] 20 |     pub uuid: u64,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Seq` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `contiguous` is never read
[INFO] [stdout]   --> simmr/src/genome.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct Genome {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub contiguous: bool,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Genome` 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 `PERead` is never constructed
[INFO] [stdout]   --> simmr/src/simulate.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct PERead {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LongRead` is never constructed
[INFO] [stdout]   --> simmr/src/simulate.rs:46:12
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct LongRead {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 27.07s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: buf_redux v0.8.4
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 3`
[INFO] running `Command { std: "docker" "inspect" "394a1aa76a4a8da629ec50dbda875d205d67ccf16f93deedb24049cc48b56b20", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "394a1aa76a4a8da629ec50dbda875d205d67ccf16f93deedb24049cc48b56b20", kill_on_drop: false }`
[INFO] [stdout] 394a1aa76a4a8da629ec50dbda875d205d67ccf16f93deedb24049cc48b56b20
