[INFO] fetching crate plascad 0.7.9...
[INFO] checking plascad-0.7.9 against try#5d96fa0e954d77528204a1ba3b8847ec083c779b for pr-153457
[INFO] extracting crate plascad 0.7.9 into /workspace/builds/worker-2-tc2/source
[INFO] started tweaking crates.io crate plascad 0.7.9
[INFO] finished tweaking crates.io crate plascad 0.7.9
[INFO] tweaked toml for crates.io crate plascad 0.7.9 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate plascad 0.7.9 on toolchain 5d96fa0e954d77528204a1ba3b8847ec083c779b
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5d96fa0e954d77528204a1ba3b8847ec083c779b" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate plascad 0.7.9 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" "+5d96fa0e954d77528204a1ba3b8847ec083c779b" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+5d96fa0e954d77528204a1ba3b8847ec083c779b" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 07910c00e1409ca6ca2d124d33289337440b63b4b5267caa672173b94e112563
[INFO] running `Command { std: "docker" "start" "-a" "07910c00e1409ca6ca2d124d33289337440b63b4b5267caa672173b94e112563", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "07910c00e1409ca6ca2d124d33289337440b63b4b5267caa672173b94e112563", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "07910c00e1409ca6ca2d124d33289337440b63b4b5267caa672173b94e112563", kill_on_drop: false }`
[INFO] [stdout] 07910c00e1409ca6ca2d124d33289337440b63b4b5267caa672173b94e112563
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+5d96fa0e954d77528204a1ba3b8847ec083c779b" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d866d4a76582156c8d636d384d3bd203ec611babe0e0962ed9f1a174e97d0442
[INFO] running `Command { std: "docker" "start" "-a" "d866d4a76582156c8d636d384d3bd203ec611babe0e0962ed9f1a174e97d0442", kill_on_drop: false }`
[INFO] [stderr]     Checking bitflags v2.8.0
[INFO] [stderr]     Checking log v0.4.25
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling rustix v0.38.34
[INFO] [stderr]     Checking smallvec v1.13.2
[INFO] [stderr]     Checking linux-raw-sys v0.4.14
[INFO] [stderr]    Compiling proc-macro2 v1.0.92
[INFO] [stderr]    Compiling cc v1.1.8
[INFO] [stderr]     Checking libloading v0.8.4
[INFO] [stderr]    Compiling libm v0.2.8
[INFO] [stderr]     Checking tracing-core v0.1.32
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]    Compiling wayland-sys v0.31.3
[INFO] [stderr]     Checking event-listener v5.3.1
[INFO] [stderr]    Compiling quick-xml v0.34.0
[INFO] [stderr]    Compiling wayland-client v0.31.4
[INFO] [stderr]     Checking dlib v0.5.2
[INFO] [stderr]     Checking fastrand v2.1.0
[INFO] [stderr]    Compiling memoffset v0.9.1
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking endi v1.1.0
[INFO] [stderr]     Checking event-listener-strategy v0.5.2
[INFO] [stderr]     Checking ttf-parser v0.24.0
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]     Checking async-lock v3.4.0
[INFO] [stderr]     Checking async-channel v2.3.1
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking arrayvec v0.7.4
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking futures-sink v0.3.30
[INFO] [stderr]     Checking futures-lite v2.3.0
[INFO] [stderr]     Checking piper v0.2.3
[INFO] [stderr]    Compiling quote v1.0.36
[INFO] [stderr]     Checking cpufeatures v0.2.12
[INFO] [stderr]     Checking miniz_oxide v0.8.8
[INFO] [stderr]     Checking ahash v0.8.11
[INFO] [stderr]     Checking async-broadcast v0.7.2
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking ordered-stream v0.2.0
[INFO] [stderr]     Checking xdg-home v1.2.0
[INFO] [stderr]    Compiling syn v2.0.91
[INFO] [stderr]     Checking crc32fast v1.4.2
[INFO] [stderr]    Compiling wayland-scanner v0.31.3
[INFO] [stderr]     Checking xkeysym v0.2.1
[INFO] [stderr]     Checking accesskit v0.17.1
[INFO] [stderr]     Checking cursor-icon v1.1.0
[INFO] [stderr]    Compiling smithay-client-toolkit v0.19.2
[INFO] [stderr]    Compiling gl_generator v0.14.0
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]     Checking memmap2 v0.9.4
[INFO] [stderr]     Checking flate2 v1.1.1
[INFO] [stderr]     Checking x11rb-protocol v0.13.1
[INFO] [stderr]    Compiling indexmap v2.2.6
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]     Checking strict-num v0.1.1
[INFO] [stderr]     Checking x11-dl v2.21.0
[INFO] [stderr]    Compiling matrixmultiply v0.3.9
[INFO] [stderr]    Compiling unicase v2.7.0
[INFO] [stderr]     Checking rustls-pki-types v1.11.0
[INFO] [stderr]     Checking profiling v1.0.16
[INFO] [stderr]    Compiling rustversion v1.0.17
[INFO] [stderr]     Checking foldhash v0.1.4
[INFO] [stderr]    Compiling wayland-backend v0.3.5
[INFO] [stderr]    Compiling ring v0.17.8
[INFO] [stderr]     Checking epaint_default_fonts v0.31.0
[INFO] [stderr]     Checking hashbrown v0.15.2
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]     Checking blocking v1.6.1
[INFO] [stderr]     Checking async-executor v1.12.0
[INFO] [stderr]     Checking immutable-chunkmap v2.0.6
[INFO] [stderr]     Checking form_urlencoded v1.2.1
[INFO] [stderr]    Compiling winit v0.30.9
[INFO] [stderr]    Compiling httparse v1.10.0
[INFO] [stderr]    Compiling semver v0.1.20
[INFO] [stderr]     Checking async-fs v2.1.2
[INFO] [stderr]     Checking raw-window-handle v0.6.2
[INFO] [stderr]    Compiling glutin_egl_sys v0.7.0
[INFO] [stderr]    Compiling glutin_glx_sys v0.6.0
[INFO] [stderr]    Compiling rustc_version v0.1.7
[INFO] [stderr]     Checking miniz_oxide v0.7.4
[INFO] [stderr]     Checking xkbcommon-dl v0.4.2
[INFO] [stderr]     Checking getrandom v0.3.3
[INFO] [stderr]     Checking approx v0.5.1
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]    Compiling feature-probe v0.1.1
[INFO] [stderr]     Checking accesskit_consumer v0.26.0
[INFO] [stderr]     Checking dpi v0.1.1
[INFO] [stderr]    Compiling thiserror v2.0.12
[INFO] [stderr]     Checking regex-syntax v0.8.4
[INFO] [stderr]     Checking home v0.5.9
[INFO] [stderr]     Checking smol_str v0.2.2
[INFO] [stderr]    Compiling virtue v0.0.18
[INFO] [stderr]    Compiling rustls v0.23.23
[INFO] [stderr]    Compiling winnow v0.6.26
[INFO] [stderr]     Checking bytes v1.6.0
[INFO] [stderr]     Checking owned_ttf_parser v0.24.0
[INFO] [stderr]     Checking png v0.17.13
[INFO] [stderr]    Compiling bv v0.11.1
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stderr]    Compiling newtype_derive v0.1.6
[INFO] [stderr]     Checking ab_glyph v0.2.28
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]     Checking rand_distr v0.4.3
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling glutin v0.32.1
[INFO] [stderr]     Checking http v1.2.0
[INFO] [stderr]    Compiling anyhow v1.0.86
[INFO] [stderr]     Checking unty v0.0.4
[INFO] [stderr]    Compiling mime_guess2 v2.0.5
[INFO] [stderr]     Checking crossbeam-deque v0.8.6
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking itertools v0.14.0
[INFO] [stderr]     Checking rustls-pemfile v2.2.0
[INFO] [stderr]     Checking webpki-roots v0.26.8
[INFO] [stderr]    Compiling glutin-winit v0.5.0
[INFO] [stderr]     Checking csv-core v0.1.11
[INFO] [stderr]     Checking bit-vec v0.8.0
[INFO] [stderr]     Checking dirs-sys v0.5.0
[INFO] [stderr]    Compiling bincode_derive v2.0.1
[INFO] [stderr]     Checking petgraph v0.6.5
[INFO] [stderr]     Checking ureq-proto v0.4.1
[INFO] [stderr]     Checking rand v0.9.1
[INFO] [stderr]     Checking bit-set v0.8.0
[INFO] [stderr]     Checking rayon-core v1.12.1
[INFO] [stderr]     Checking ndarray v0.15.6
[INFO] [stderr]     Checking fxhash v0.2.1
[INFO] [stderr]     Checking itertools-num v0.1.3
[INFO] [stderr]     Checking ordered-float v5.0.0
[INFO] [stderr]     Checking regex-automata v0.4.7
[INFO] [stderr]     Checking editdistancek v1.0.2
[INFO] [stderr]     Checking triple_accel v0.4.0
[INFO] [stderr]     Checking custom_derive v0.1.7
[INFO] [stderr]     Checking bytecount v0.6.8
[INFO] [stderr]     Checking glow v0.16.0
[INFO] [stderr]     Checking strum v0.26.3
[INFO] [stderr]     Checking bincode v2.0.1
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]    Compiling document-features v0.2.10
[INFO] [stderr]     Checking directories v6.0.0
[INFO] [stderr]     Checking lin_alg v1.1.10
[INFO] [stderr]     Checking sysinfo v0.35.1
[INFO] [stderr]     Checking nom v8.0.0
[INFO] [stderr]    Compiling zvariant_utils v2.1.0
[INFO] [stderr]    Compiling synstructure v0.13.1
[INFO] [stderr]     Checking circular v0.3.0
[INFO] [stderr]     Checking dunce v1.0.5
[INFO] [stderr]     Checking chrono v0.4.41
[INFO] [stderr]     Checking strum v0.27.1
[INFO] [stderr]     Checking wayland-csd-frame v0.3.0
[INFO] [stderr]     Checking regex v1.10.5
[INFO] [stderr]     Checking rustls-webpki v0.102.8
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling bytemuck_derive v1.7.0
[INFO] [stderr]    Compiling enumflags2_derive v0.7.10
[INFO] [stderr]    Compiling tracing-attributes v0.1.27
[INFO] [stderr]    Compiling zerofrom-derive v0.1.5
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling yoke-derive v0.7.5
[INFO] [stderr]    Compiling zerovec-derive v0.10.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling icu_provider_macros v1.5.0
[INFO] [stderr]    Compiling futures-macro v0.3.30
[INFO] [stderr]    Compiling serde_repr v0.1.19
[INFO] [stderr]    Compiling async-trait v0.1.81
[INFO] [stderr]     Checking wayland-protocols v0.32.2
[INFO] [stderr]     Checking wayland-cursor v0.31.4
[INFO] [stderr]    Compiling enum-map-derive v0.17.0
[INFO] [stderr]    Compiling nalgebra-macros v0.2.2
[INFO] [stderr]    Compiling thiserror-impl v2.0.12
[INFO] [stderr]     Checking bytemuck v1.21.0
[INFO] [stderr]     Checking futures-util v0.3.30
[INFO] [stderr]    Compiling derive-new v0.6.0
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]    Compiling strum_macros v0.27.1
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]     Checking emath v0.31.0
[INFO] [stderr]     Checking tiny-skia-path v0.11.4
[INFO] [stderr]     Checking polling v3.7.2
[INFO] [stderr]     Checking safe_arch v0.7.2
[INFO] [stderr]     Checking image v0.25.1
[INFO] [stderr]     Checking bgzip v0.3.1
[INFO] [stderr]     Checking zerofrom v0.1.5
[INFO] [stderr]     Checking ecolor v0.31.0
[INFO] [stderr]     Checking yoke v0.7.5
[INFO] [stderr]     Checking async-io v2.3.3
[INFO] [stderr]     Checking calloop v0.13.0
[INFO] [stderr]     Checking epaint v0.31.0
[INFO] [stderr]     Checking wide v0.7.26
[INFO] [stderr]     Checking zerovec v0.10.4
[INFO] [stderr]     Checking tiny-skia v0.11.4
[INFO] [stderr]     Checking calloop-wayland-source v0.3.0
[INFO] [stderr]     Checking gb-io v0.9.0
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]     Checking tinystr v0.7.6
[INFO] [stderr]     Checking icu_collections v1.5.0
[INFO] [stderr]     Checking bio-types v1.0.4
[INFO] [stderr]     Checking egui v0.31.0
[INFO] [stderr]     Checking icu_locid v1.5.0
[INFO] [stderr]     Checking simba v0.8.1
[INFO] [stderr]     Checking icu_provider v1.5.0
[INFO] [stderr]     Checking icu_locid_transform v1.5.0
[INFO] [stderr]     Checking ureq v3.0.11
[INFO] [stderr]     Checking wayland-protocols-wlr v0.3.2
[INFO] [stderr]     Checking wayland-protocols-plasma v0.3.2
[INFO] [stderr]     Checking icu_properties v1.5.1
[INFO] [stderr]     Checking x11rb v0.13.1
[INFO] [stderr]    Compiling toml_datetime v0.6.6
[INFO] [stderr]    Compiling enumflags2 v0.7.10
[INFO] [stderr]    Compiling quick-xml v0.30.0
[INFO] [stderr]    Compiling serde_spanned v0.6.7
[INFO] [stderr]     Checking enum-map v2.7.3
[INFO] [stderr]     Checking multimap v0.10.0
[INFO] [stderr]     Checking csv v1.3.0
[INFO] [stderr]    Compiling toml_edit v0.21.1
[INFO] [stderr]    Compiling toml_edit v0.22.16
[INFO] [stderr]     Checking vec_map v0.8.2
[INFO] [stderr]     Checking serde_json v1.0.140
[INFO] [stderr]     Checking quick-xml v0.37.1
[INFO] [stderr]     Checking egui_glow v0.31.0
[INFO] [stderr]     Checking egui_extras v0.31.0
[INFO] [stderr]     Checking egui-file-dialog v0.10.0
[INFO] [stderr]     Checking icu_normalizer v1.5.0
[INFO] [stderr]    Compiling proc-macro-crate v3.1.0
[INFO] [stderr]     Checking arboard v3.4.0
[INFO] [stderr]     Checking x11-clipboard v0.9.2
[INFO] [stderr]     Checking idna_adapter v1.2.0
[INFO] [stderr]     Checking sctk-adwaita v0.10.1
[INFO] [stderr]     Checking smithay-clipboard v0.7.2
[INFO] [stderr]     Checking idna v1.0.3
[INFO] [stderr]     Checking nalgebra v0.32.6
[INFO] [stderr]     Checking url v2.5.4
[INFO] [stderr]     Checking copypasta v0.10.1
[INFO] [stderr]    Compiling toml v0.8.15
[INFO] [stderr]    Compiling zvariant_derive v4.2.0
[INFO] [stderr]    Compiling zbus_macros v4.4.0
[INFO] [stderr]    Compiling num_enum_derive v0.7.3
[INFO] [stderr]    Compiling winresource v0.1.20
[INFO] [stderr]     Checking webbrowser v1.0.4
[INFO] [stderr]    Compiling plascad v0.7.9 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking num_enum v0.7.3
[INFO] [stderr]     Checking na_seq v0.2.8
[INFO] [stderr]     Checking zvariant v4.2.0
[INFO] [stderr]     Checking bio_apis v0.1.3
[INFO] [stderr]     Checking zbus_names v3.0.0
[INFO] [stderr]     Checking zbus_xml v4.0.0
[INFO] [stderr]     Checking zbus v4.4.0
[INFO] [stderr]     Checking zbus-lockstep v0.4.4
[INFO] [stderr]    Compiling zbus-lockstep-macros v0.4.4
[INFO] [stderr]     Checking statrs v0.17.1
[INFO] [stderr]     Checking bio v2.3.0
[INFO] [stderr]     Checking atspi-common v0.6.0
[INFO] [stderr]     Checking bio_files v0.1.0
[INFO] [stderr]     Checking atspi-proxies v0.6.0
[INFO] [stderr]     Checking accesskit_atspi_common v0.10.1
[INFO] [stderr]     Checking atspi-connection v0.6.0
[INFO] [stderr]     Checking atspi v0.22.0
[INFO] [stderr]     Checking accesskit_unix v0.13.1
[INFO] [stderr]     Checking accesskit_winit v0.23.1
[INFO] [stderr]     Checking egui-winit v0.31.0
[INFO] [stderr]     Checking eframe v0.31.0
[INFO] [stdout] warning: unused import: `copypasta::ClipboardProvider`
[INFO] [stdout]   --> src/main.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use copypasta::ClipboardProvider;
[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: `Tab`
[INFO] [stdout]   --> src/main.rs:41:34
[INFO] [stdout]    |
[INFO] [stdout] 41 |         navigation::{PageSeqTop, Tab},
[INFO] [stdout]    |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufRead`
[INFO] [stdout]  --> src/alignment_map.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 |     io::{BufRead, ErrorKind, Read},
[INFO] [stdout]   |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `copypasta::ClipboardProvider`
[INFO] [stdout]   --> src/main.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use copypasta::ClipboardProvider;
[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: `BGZFError`, `BGZFReader`, `index::BGZFIndex`, and `read::IndexedBGZFReader`
[INFO] [stdout]   --> src/alignment_map.rs:13:13
[INFO] [stdout]    |
[INFO] [stdout] 13 | use bgzip::{BGZFError, BGZFReader, index::BGZFIndex, read::IndexedBGZFReader};
[INFO] [stdout]    |             ^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MultiGzDecoder`
[INFO] [stdout]   --> src/alignment_map.rs:14:31
[INFO] [stdout]    |
[INFO] [stdout] 14 | use flate2::read::{GzDecoder, MultiGzDecoder};
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `make_cloning_primers`
[INFO] [stdout]   --> src/backbones.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |         make_cloning_primers,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sync::Arc`
[INFO] [stdout]  --> src/file_io/mod.rs:3:23
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::{path::Path, sync::Arc};
[INFO] [stdout]   |                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Tab`
[INFO] [stdout]   --> src/main.rs:41:34
[INFO] [stdout]    |
[INFO] [stdout] 41 |         navigation::{PageSeqTop, Tab},
[INFO] [stdout]    |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufRead`
[INFO] [stdout]  --> src/alignment_map.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 |     io::{BufRead, ErrorKind, Read},
[INFO] [stdout]   |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BGZFError`, `BGZFReader`, `index::BGZFIndex`, and `read::IndexedBGZFReader`
[INFO] [stdout]   --> src/alignment_map.rs:13:13
[INFO] [stdout]    |
[INFO] [stdout] 13 | use bgzip::{BGZFError, BGZFReader, index::BGZFIndex, read::IndexedBGZFReader};
[INFO] [stdout]    |             ^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MultiGzDecoder`
[INFO] [stdout]   --> src/alignment_map.rs:14:31
[INFO] [stdout]    |
[INFO] [stdout] 14 | use flate2::read::{GzDecoder, MultiGzDecoder};
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `make_cloning_primers`
[INFO] [stdout]   --> src/backbones.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |         make_cloning_primers,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sync::Arc`
[INFO] [stdout]  --> src/file_io/mod.rs:3:23
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::{path::Path, sync::Arc};
[INFO] [stdout]   |                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]   --> src/gui/mod.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use std::path::PathBuf;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]   --> src/gui/mod.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use std::path::PathBuf;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::Cow`
[INFO] [stdout]  --> src/gui/cloning.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::borrow::Cow;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Grid` and `Vec2`
[INFO] [stdout]  --> src/gui/cloning.rs:5:31
[INFO] [stdout]   |
[INFO] [stdout] 5 |     Color32, ComboBox, Frame, Grid, RichText, ScrollArea, Stroke, TextEdit, Ui, Vec2,
[INFO] [stdout]   |                               ^^^^                                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::Cow`
[INFO] [stdout]  --> src/gui/cloning.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::borrow::Cow;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `insert_into_seq`
[INFO] [stdout]  --> src/gui/cloning.rs:7:26
[INFO] [stdout]   |
[INFO] [stdout] 7 | use na_seq::{Nucleotide, insert_into_seq, seq_from_str, seq_to_str_lower};
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FeatureType`
[INFO] [stdout]   --> src/gui/cloning.rs:24:27
[INFO] [stdout]    |
[INFO] [stdout] 24 |     misc_types::{Feature, FeatureType},
[INFO] [stdout]    |                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `path::PathBuf`
[INFO] [stdout]  --> src/gui/input.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::{mem, path::PathBuf};
[INFO] [stdout]   |                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `QUICKSAVE_FILE` and `StateToSave`
[INFO] [stdout]   --> src/gui/input.rs:12:16
[INFO] [stdout]    |
[INFO] [stdout] 12 |         save::{QUICKSAVE_FILE, StateToSave, load_import},
[INFO] [stdout]    |                ^^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Grid` and `Vec2`
[INFO] [stdout]  --> src/gui/cloning.rs:5:31
[INFO] [stdout]   |
[INFO] [stdout] 5 |     Color32, ComboBox, Frame, Grid, RichText, ScrollArea, Stroke, TextEdit, Ui, Vec2,
[INFO] [stdout]   |                               ^^^^                                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `insert_into_seq`
[INFO] [stdout]  --> src/gui/cloning.rs:7:26
[INFO] [stdout]   |
[INFO] [stdout] 7 | use na_seq::{Nucleotide, insert_into_seq, seq_from_str, seq_to_str_lower};
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FeatureType`
[INFO] [stdout]   --> src/gui/cloning.rs:24:27
[INFO] [stdout]    |
[INFO] [stdout] 24 |     misc_types::{Feature, FeatureType},
[INFO] [stdout]    |                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `path::PathBuf`
[INFO] [stdout]  --> src/gui/input.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::{mem, path::PathBuf};
[INFO] [stdout]   |                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `QUICKSAVE_FILE` and `StateToSave`
[INFO] [stdout]   --> src/gui/input.rs:12:16
[INFO] [stdout]    |
[INFO] [stdout] 12 |         save::{QUICKSAVE_FILE, StateToSave, load_import},
[INFO] [stdout]    |                ^^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `path::PathBuf`
[INFO] [stdout]  --> src/gui/ligation.rs:3:33
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::{collections::HashMap, path::PathBuf};
[INFO] [stdout]   |                                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ligation`
[INFO] [stdout]   --> src/gui/ligation.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     ligation,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `path::PathBuf`
[INFO] [stdout]  --> src/gui/ligation.rs:3:33
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::{collections::HashMap, path::PathBuf};
[INFO] [stdout]   |                                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ligation`
[INFO] [stdout]   --> src/gui/ligation.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     ligation,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `state::State`
[INFO] [stdout]   --> src/gui/lin_maps.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     state::State,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `state::State`
[INFO] [stdout]   --> src/gui/lin_maps.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     state::State,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/gui/lin_maps.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 |     /// Used to assist with splitting features around the origin
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 57 |     let stroke = Stroke::new(FEATURE_STROKE_WIDTH, stroke_color);
[INFO] [stdout]    |     ------------------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Color32`
[INFO] [stdout]  --> src/gui/pcr.rs:3:20
[INFO] [stdout]   |
[INFO] [stdout] 3 | use eframe::egui::{Color32, ComboBox, Grid, RichText, TextEdit, Ui, Vec2};
[INFO] [stdout]   |                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `env` and `path::Path`
[INFO] [stdout]  --> src/gui/save.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::{env, path::Path};
[INFO] [stdout]   |           ^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `epaint::PathStroke`
[INFO] [stdout]  --> src/gui/sequence/seq_view.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     epaint::PathStroke,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/gui/lin_maps.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 |     /// Used to assist with splitting features around the origin
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 57 |     let stroke = Stroke::new(FEATURE_STROKE_WIDTH, stroke_color);
[INFO] [stdout]    |     ------------------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Color32`
[INFO] [stdout]  --> src/gui/pcr.rs:3:20
[INFO] [stdout]   |
[INFO] [stdout] 3 | use eframe::egui::{Color32, ComboBox, Grid, RichText, TextEdit, Ui, Vec2};
[INFO] [stdout]   |                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Tab`
[INFO] [stdout]  --> src/pcr.rs:7:38
[INFO] [stdout]   |
[INFO] [stdout] 7 |     gui::navigation::{Page, PageSeq, Tab},
[INFO] [stdout]   |                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `env` and `path::Path`
[INFO] [stdout]  --> src/gui/save.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::{env, path::Path};
[INFO] [stdout]   |           ^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `epaint::PathStroke`
[INFO] [stdout]  --> src/gui/sequence/seq_view.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     epaint::PathStroke,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::protein::proteins_from_seq`
[INFO] [stdout]  --> src/toxic_proteins.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::protein::proteins_from_seq;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Tab`
[INFO] [stdout]  --> src/pcr.rs:7:38
[INFO] [stdout]   |
[INFO] [stdout] 7 |     gui::navigation::{Page, PageSeq, Tab},
[INFO] [stdout]   |                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::protein::proteins_from_seq`
[INFO] [stdout]  --> src/toxic_proteins.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::protein::proteins_from_seq;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `eframe::egui::Frame::none`: Use `Frame::NONE` or `Frame::new()` instead.
[INFO] [stdout]    --> src/gui/circle.rs:921:16
[INFO] [stdout]     |
[INFO] [stdout] 921 |         Frame::none().show(ui, |ui| {
[INFO] [stdout]     |                ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `eframe::egui::Frame::none`: Use `Frame::NONE` or `Frame::new()` instead.
[INFO] [stdout]    --> src/gui/circle.rs:921:16
[INFO] [stdout]     |
[INFO] [stdout] 921 |         Frame::none().show(ui, |ui| {
[INFO] [stdout]     |                ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `eframe::egui::Frame::none`: Use `Frame::NONE` or `Frame::new()` instead.
[INFO] [stdout]    --> src/gui/cloning.rs:101:16
[INFO] [stdout]     |
[INFO] [stdout] 101 |         Frame::none()
[INFO] [stdout]     |                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `eframe::egui::Frame::none`: Use `Frame::NONE` or `Frame::new()` instead.
[INFO] [stdout]    --> src/gui/cloning.rs:101:16
[INFO] [stdout]     |
[INFO] [stdout] 101 |         Frame::none()
[INFO] [stdout]     |                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `eframe::egui::Frame::none`: Use `Frame::NONE` or `Frame::new()` instead.
[INFO] [stdout]   --> src/gui/feature_table.rs:96:16
[INFO] [stdout]    |
[INFO] [stdout] 96 |         Frame::none()
[INFO] [stdout]    |                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `eframe::egui::Frame::none`: Use `Frame::NONE` or `Frame::new()` instead.
[INFO] [stdout]   --> src/gui/feature_table.rs:96:16
[INFO] [stdout]    |
[INFO] [stdout] 96 |         Frame::none()
[INFO] [stdout]    |                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDate::from_ymd`: use `from_ymd_opt()` instead
[INFO] [stdout]   --> src/gui/metadata.rs:90:39
[INFO] [stdout]    |
[INFO] [stdout] 90 |                 let date = NaiveDate::from_ymd(date.0, date.1.into(), date.2.into());
[INFO] [stdout]    |                                       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDate::from_ymd`: use `from_ymd_opt()` instead
[INFO] [stdout]   --> src/gui/metadata.rs:90:39
[INFO] [stdout]    |
[INFO] [stdout] 90 |                 let date = NaiveDate::from_ymd(date.0, date.1.into(), date.2.into());
[INFO] [stdout]    |                                       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `eframe::egui::Frame::none`: Use `Frame::NONE` or `Frame::new()` instead.
[INFO] [stdout]    --> src/gui/sequence/mod.rs:166:20
[INFO] [stdout]     |
[INFO] [stdout] 166 |             Frame::none().show(ui, |ui| {
[INFO] [stdout]     |                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `eframe::egui::Frame::none`: Use `Frame::NONE` or `Frame::new()` instead.
[INFO] [stdout]    --> src/gui/sequence/mod.rs:174:20
[INFO] [stdout]     |
[INFO] [stdout] 174 |             Frame::none().show(ui, |ui| {
[INFO] [stdout]     |                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `eframe::egui::Frame::none`: Use `Frame::NONE` or `Frame::new()` instead.
[INFO] [stdout]    --> src/gui/sequence/mod.rs:166:20
[INFO] [stdout]     |
[INFO] [stdout] 166 |             Frame::none().show(ui, |ui| {
[INFO] [stdout]     |                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `eframe::egui::Frame::none`: Use `Frame::NONE` or `Frame::new()` instead.
[INFO] [stdout]    --> src/gui/sequence/mod.rs:174:20
[INFO] [stdout]     |
[INFO] [stdout] 174 |             Frame::none().show(ui, |ui| {
[INFO] [stdout]     |                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `qual`
[INFO] [stdout]    --> src/alignment_map.rs:130:13
[INFO] [stdout]     |
[INFO] [stdout] 130 |         let qual = buf[i..i + l_seq].to_vec();
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_qual`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `i` is never read
[INFO] [stdout]    --> src/alignment_map.rs:131:9
[INFO] [stdout]     |
[INFO] [stdout] 131 |         i += l_seq;
[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: variable does not need to be mutable
[INFO] [stdout]    --> src/backbones.rs:171:13
[INFO] [stdout]     |
[INFO] [stdout] 171 |         let mut his_tag = None;
[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]    --> src/backbones.rs:237:29
[INFO] [stdout]     |
[INFO] [stdout] 237 |                         let mut best_primer_composite = 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]    --> src/backbones.rs:238:29
[INFO] [stdout]     |
[INFO] [stdout] 238 |                         let mut best_primer_i = loc;
[INFO] [stdout]     |                             ----^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `best_primer_composite`
[INFO] [stdout]    --> src/backbones.rs:237:29
[INFO] [stdout]     |
[INFO] [stdout] 237 |                         let mut best_primer_composite = 0.;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_best_primer_composite`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `best_primer_i`
[INFO] [stdout]    --> src/backbones.rs:238:29
[INFO] [stdout]     |
[INFO] [stdout] 238 |                         let mut best_primer_i = loc;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_best_primer_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `host`
[INFO] [stdout]    --> src/backbones.rs:341:25
[INFO] [stdout]     |
[INFO] [stdout] 341 |             if let Some(host) = self.host {}
[INFO] [stdout]     |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_host`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `re_lib`
[INFO] [stdout]   --> src/cloning.rs:83:9
[INFO] [stdout]    |
[INFO] [stdout] 83 |         re_lib: &[RestrictionEnzyme],
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_re_lib`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/cloning.rs:252:9
[INFO] [stdout]     |
[INFO] [stdout] 252 |     let mut insert = state.ui.cloning_insert.seq_insert.clone();
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `qual`
[INFO] [stdout]    --> src/alignment_map.rs:130:13
[INFO] [stdout]     |
[INFO] [stdout] 130 |         let qual = buf[i..i + l_seq].to_vec();
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_qual`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `i` is never read
[INFO] [stdout]    --> src/alignment_map.rs:131:9
[INFO] [stdout]     |
[INFO] [stdout] 131 |         i += l_seq;
[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: variable does not need to be mutable
[INFO] [stdout]    --> src/backbones.rs:171:13
[INFO] [stdout]     |
[INFO] [stdout] 171 |         let mut his_tag = None;
[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]    --> src/backbones.rs:237:29
[INFO] [stdout]     |
[INFO] [stdout] 237 |                         let mut best_primer_composite = 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]    --> src/backbones.rs:238:29
[INFO] [stdout]     |
[INFO] [stdout] 238 |                         let mut best_primer_i = loc;
[INFO] [stdout]     |                             ----^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `best_primer_composite`
[INFO] [stdout]    --> src/backbones.rs:237:29
[INFO] [stdout]     |
[INFO] [stdout] 237 |                         let mut best_primer_composite = 0.;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_best_primer_composite`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `best_primer_i`
[INFO] [stdout]    --> src/backbones.rs:238:29
[INFO] [stdout]     |
[INFO] [stdout] 238 |                         let mut best_primer_i = loc;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_best_primer_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `host`
[INFO] [stdout]    --> src/backbones.rs:341:25
[INFO] [stdout]     |
[INFO] [stdout] 341 |             if let Some(host) = self.host {}
[INFO] [stdout]     |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_host`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `re_lib`
[INFO] [stdout]   --> src/cloning.rs:83:9
[INFO] [stdout]    |
[INFO] [stdout] 83 |         re_lib: &[RestrictionEnzyme],
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_re_lib`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/cloning.rs:252:9
[INFO] [stdout]     |
[INFO] [stdout] 252 |     let mut insert = state.ui.cloning_insert.seq_insert.clone();
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num_nts`
[INFO] [stdout]   --> src/gui/ab1.rs:48:29
[INFO] [stdout]    |
[INFO] [stdout] 48 | fn index_to_posit(i: usize, num_nts: usize, ui: &Ui) -> f32 {
[INFO] [stdout]    |                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_nts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ui`
[INFO] [stdout]   --> src/gui/ab1.rs:48:45
[INFO] [stdout]    |
[INFO] [stdout] 48 | fn index_to_posit(i: usize, num_nts: usize, ui: &Ui) -> f32 {
[INFO] [stdout]    |                                             ^^ help: if this is intentional, prefix it with an underscore: `_ui`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fonts`
[INFO] [stdout]    --> src/gui/ab1.rs:159:41
[INFO] [stdout]     |
[INFO] [stdout] 159 |             result.push(ui.ctx().fonts(|fonts| {
[INFO] [stdout]     |                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_fonts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rect_size`
[INFO] [stdout]    --> src/gui/ab1.rs:266:17
[INFO] [stdout]     |
[INFO] [stdout] 266 |             let rect_size = response.rect.size();
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rect_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/gui/cloning.rs:218:17
[INFO] [stdout]     |
[INFO] [stdout] 218 |             let mut border_width = 0.;
[INFO] [stdout]     |                 ----^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `border_width`
[INFO] [stdout]    --> src/gui/cloning.rs:218:17
[INFO] [stdout]     |
[INFO] [stdout] 218 |             let mut border_width = 0.;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_border_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pasted_text`
[INFO] [stdout]    --> src/gui/input.rs:135:30
[INFO] [stdout]     |
[INFO] [stdout] 135 |                 Event::Paste(pasted_text) => {}
[INFO] [stdout]     |                              ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pasted_text`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num_nts`
[INFO] [stdout]   --> src/gui/ab1.rs:48:29
[INFO] [stdout]    |
[INFO] [stdout] 48 | fn index_to_posit(i: usize, num_nts: usize, ui: &Ui) -> f32 {
[INFO] [stdout]    |                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_nts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ui`
[INFO] [stdout]   --> src/gui/ab1.rs:48:45
[INFO] [stdout]    |
[INFO] [stdout] 48 | fn index_to_posit(i: usize, num_nts: usize, ui: &Ui) -> f32 {
[INFO] [stdout]    |                                             ^^ help: if this is intentional, prefix it with an underscore: `_ui`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fonts`
[INFO] [stdout]    --> src/gui/ab1.rs:159:41
[INFO] [stdout]     |
[INFO] [stdout] 159 |             result.push(ui.ctx().fonts(|fonts| {
[INFO] [stdout]     |                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_fonts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rect_size`
[INFO] [stdout]    --> src/gui/ab1.rs:266:17
[INFO] [stdout]     |
[INFO] [stdout] 266 |             let rect_size = response.rect.size();
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rect_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `response`
[INFO] [stdout]    --> src/gui/metadata.rs:156:17
[INFO] [stdout]     |
[INFO] [stdout] 156 |             let response = ui.add(
[INFO] [stdout]     |                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/gui/cloning.rs:218:17
[INFO] [stdout]     |
[INFO] [stdout] 218 |             let mut border_width = 0.;
[INFO] [stdout]     |                 ----^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `border_width`
[INFO] [stdout]    --> src/gui/cloning.rs:218:17
[INFO] [stdout]     |
[INFO] [stdout] 218 |             let mut border_width = 0.;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_border_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pasted_text`
[INFO] [stdout]    --> src/gui/input.rs:135:30
[INFO] [stdout]     |
[INFO] [stdout] 135 |                 Event::Paste(pasted_text) => {}
[INFO] [stdout]     |                              ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pasted_text`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `note`
[INFO] [stdout]   --> src/gui/sequence/mod.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 61 |     for note in &feature.notes {
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_note`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `seq_len`
[INFO] [stdout]   --> src/gui/sequence/mod.rs:66:46
[INFO] [stdout]    |
[INFO] [stdout] 66 | fn primer_text(i: usize, primers: &[Primer], seq_len: usize, ui: &mut Ui) {
[INFO] [stdout]    |                                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_seq_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `response`
[INFO] [stdout]    --> src/gui/metadata.rs:156:17
[INFO] [stdout]     |
[INFO] [stdout] 156 |             let response = ui.add(
[INFO] [stdout]     |                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/portions.rs:21:13
[INFO] [stdout]    |
[INFO] [stdout] 21 |         let mut result = Self {
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `note`
[INFO] [stdout]   --> src/gui/sequence/mod.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 61 |     for note in &feature.notes {
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_note`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `seq_len`
[INFO] [stdout]   --> src/gui/sequence/mod.rs:66:46
[INFO] [stdout]    |
[INFO] [stdout] 66 | fn primer_text(i: usize, primers: &[Primer], seq_len: usize, ui: &mut Ui) {
[INFO] [stdout]    |                                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_seq_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `seq`
[INFO] [stdout]    --> src/protein.rs:146:26
[INFO] [stdout]     |
[INFO] [stdout] 146 | pub fn tango_aggregation(seq: &[AminoAcid]) {}
[INFO] [stdout]     |                          ^^^ help: if this is intentional, prefix it with an underscore: `_seq`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `seq`
[INFO] [stdout]    --> src/protein.rs:150:18
[INFO] [stdout]     |
[INFO] [stdout] 150 | pub fn aggrescan(seq: &[AminoAcid]) {}
[INFO] [stdout]     |                  ^^^ help: if this is intentional, prefix it with an underscore: `_seq`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tags.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |     let mut result = Vec::new();
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `seq`
[INFO] [stdout]   --> src/tags.rs:32:26
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub fn _find_tag_matches(seq: &[Nucleotide], lib: &[Tag]) -> Vec<TagMatch> {
[INFO] [stdout]    |                          ^^^ help: if this is intentional, prefix it with an underscore: `_seq`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lib`
[INFO] [stdout]   --> src/tags.rs:32:46
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub fn _find_tag_matches(seq: &[Nucleotide], lib: &[Tag]) -> Vec<TagMatch> {
[INFO] [stdout]    |                                              ^^^ help: if this is intentional, prefix it with an underscore: `_lib`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/portions.rs:21:13
[INFO] [stdout]    |
[INFO] [stdout] 21 |         let mut result = Self {
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `RefSeq` is more private than the item `AlignmentMap::refs`
[INFO] [stdout]    --> src/alignment_map.rs:168:5
[INFO] [stdout]     |
[INFO] [stdout] 168 |     pub refs: Vec<RefSeq>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^ field `AlignmentMap::refs` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `RefSeq` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/alignment_map.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout]  27 | struct RefSeq {
[INFO] [stdout]     | ^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `alignment_map::Alignment` is more private than the item `AlignmentMap::alignments`
[INFO] [stdout]    --> src/alignment_map.rs:169:5
[INFO] [stdout]     |
[INFO] [stdout] 169 |     pub alignments: Vec<Alignment>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `AlignmentMap::alignments` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `alignment_map::Alignment` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/alignment_map.rs:61:1
[INFO] [stdout]     |
[INFO] [stdout]  61 | struct Alignment {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `BoundedLevenshtein` is never constructed
[INFO] [stdout]   --> src/alignment.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub enum DistanceType {
[INFO] [stdout]    |          ------------ variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 52 |     BoundedLevenshtein(u32),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DistanceType` has a derived impl for the trait `Clone`, but this is 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: constant `MAGIC` is never used
[INFO] [stdout]   --> src/alignment_map.rs:24:7
[INFO] [stdout]    |
[INFO] [stdout] 24 | const MAGIC: [u8; 4] = [b'B', b'A', b'M', 1];
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RefSeq` is never constructed
[INFO] [stdout]   --> src/alignment_map.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | struct RefSeq {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_buf` and `to_buf` are never used
[INFO] [stdout]   --> src/alignment_map.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl RefSeq {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 33 |     /// Deserialize from BAM.
[INFO] [stdout] 34 |     pub fn from_buf(buf: &[u8]) -> io::Result<Self> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn to_buf(&self) -> Vec<u8> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AuxData` is never constructed
[INFO] [stdout]   --> src/alignment_map.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | struct AuxData {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Alignment` is never constructed
[INFO] [stdout]   --> src/alignment_map.rs:61:8
[INFO] [stdout]    |
[INFO] [stdout] 61 | struct Alignment {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_buf` and `to_buf_` are never used
[INFO] [stdout]    --> src/alignment_map.rs:82:12
[INFO] [stdout]     |
[INFO] [stdout]  80 | impl Alignment {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout]  81 |     /// Deserialize from BAM.
[INFO] [stdout]  82 |     pub fn from_buf(buf: &[u8]) -> io::Result<Self> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |     pub fn to_buf_(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AlignmentMap` is never constructed
[INFO] [stdout]    --> src/alignment_map.rs:164:12
[INFO] [stdout]     |
[INFO] [stdout] 164 | pub struct AlignmentMap {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_buf` and `to_buf` are never used
[INFO] [stdout]    --> src/alignment_map.rs:174:12
[INFO] [stdout]     |
[INFO] [stdout] 172 | impl AlignmentMap {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] 173 |     /// Deserialize an alignment record from a buffer containing BAM data.
[INFO] [stdout] 174 |     pub fn from_buf(buf: &[u8]) -> io::Result<Self> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 226 |     pub fn to_buf(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `import` is never used
[INFO] [stdout]    --> src/alignment_map.rs:231:8
[INFO] [stdout]     |
[INFO] [stdout] 231 | pub fn import(path: &Path) -> io::Result<AlignmentMap> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `reg_to_bin` is never used
[INFO] [stdout]    --> src/alignment_map.rs:331:4
[INFO] [stdout]     |
[INFO] [stdout] 331 | fn reg_to_bin(beg: i32, end: i32) -> i32 {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `reg_to_bins` is never used
[INFO] [stdout]    --> src/alignment_map.rs:353:4
[INFO] [stdout]     |
[INFO] [stdout] 353 | fn reg_to_bins(beg: i32, end: i32, list: &mut Vec<u16>) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Gfp` and `Luciferase` are never constructed
[INFO] [stdout]    --> src/backbones.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub enum BackboneGene {
[INFO] [stdout]     |          ------------ variants in this enum
[INFO] [stdout] 121 |     Gfp,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 122 |     Egfp,
[INFO] [stdout] 123 |     Luciferase,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BackboneGene` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RestrictionEnzyme` is never constructed
[INFO] [stdout]    --> src/backbones.rs:131:5
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub enum CloningTechnique {
[INFO] [stdout]     |          ---------------- variant in this enum
[INFO] [stdout] 131 |     RestrictionEnzyme,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CloningTechnique` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `genes_included` and `direction` are never read
[INFO] [stdout]    --> src/backbones.rs:151:9
[INFO] [stdout]     |
[INFO] [stdout] 135 | pub struct Backbone {
[INFO] [stdout]     |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 151 |     pub genes_included: Vec<BackboneGene>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |     pub direction: PrimerDirection,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `product_primers` is never read
[INFO] [stdout]   --> src/cloning.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct CloningState {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub product_primers: Vec<Primer>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_backbone` is never used
[INFO] [stdout]    --> src/cloning.rs:137:12
[INFO] [stdout]     |
[INFO] [stdout]  75 | impl CloningState {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub fn get_backbone<'a>(&'a self, lib: &'a [Backbone]) -> Option<&'a Backbone> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_re_candidates` is never used
[INFO] [stdout]    --> src/cloning.rs:362:8
[INFO] [stdout]     |
[INFO] [stdout] 362 | pub fn find_re_candidates<'a>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TagSeqRecord` is never used
[INFO] [stdout]  --> src/file_io/ab1_tags.rs:6:6
[INFO] [stdout]   |
[INFO] [stdout] 6 | enum TagSeqRecord {
[INFO] [stdout]   |      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_str` is never used
[INFO] [stdout]   --> src/file_io/ab1_tags.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl TagSeqRecord {
[INFO] [stdout]    | ----------------- associated function in this implementation
[INFO] [stdout] 14 |     fn from_str(inp: &str) -> io::Result<Self> {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `GeneralTag` is never used
[INFO] [stdout]   --> src/file_io/ab1_tags.rs:26:6
[INFO] [stdout]    |
[INFO] [stdout] 26 | enum GeneralTag {
[INFO] [stdout]    |      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_str` is never used
[INFO] [stdout]    --> src/file_io/ab1_tags.rs:117:8
[INFO] [stdout]     |
[INFO] [stdout] 116 | impl GeneralTag {
[INFO] [stdout]     | --------------- associated function in this implementation
[INFO] [stdout] 117 |     fn from_str(inp: &str) -> io::Result<Self> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Abi3130Tag` is never used
[INFO] [stdout]    --> src/file_io/ab1_tags.rs:221:6
[INFO] [stdout]     |
[INFO] [stdout] 221 | enum Abi3130Tag {
[INFO] [stdout]     |      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_str` is never used
[INFO] [stdout]    --> src/file_io/ab1_tags.rs:231:8
[INFO] [stdout]     |
[INFO] [stdout] 230 | impl Abi3130Tag {
[INFO] [stdout]     | --------------- associated function in this implementation
[INFO] [stdout] 231 |     fn from_str(inp: &str) -> io::Result<Self> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Abi3530Tag` is never used
[INFO] [stdout]    --> src/file_io/ab1_tags.rs:263:6
[INFO] [stdout]     |
[INFO] [stdout] 263 | enum Abi3530Tag {
[INFO] [stdout]     |      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_str` is never used
[INFO] [stdout]    --> src/file_io/ab1_tags.rs:371:8
[INFO] [stdout]     |
[INFO] [stdout] 370 | impl Abi3530Tag {
[INFO] [stdout]     | --------------- associated function in this implementation
[INFO] [stdout] 371 |     fn from_str(inp: &str) -> io::Result<Self> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Abi3730Tag` is never used
[INFO] [stdout]    --> src/file_io/ab1_tags.rs:599:6
[INFO] [stdout]     |
[INFO] [stdout] 599 | enum Abi3730Tag {
[INFO] [stdout]     |      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_str` is never used
[INFO] [stdout]    --> src/file_io/ab1_tags.rs:604:8
[INFO] [stdout]     |
[INFO] [stdout] 603 | impl Abi3730Tag {
[INFO] [stdout]     | --------------- associated function in this implementation
[INFO] [stdout] 604 |     fn from_str(inp: &str) -> io::Result<Self> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `save_new_product` is never used
[INFO] [stdout]    --> src/file_io/save.rs:265:8
[INFO] [stdout]     |
[INFO] [stdout] 265 | pub fn save_new_product(name: &str, state: &mut State, ui: &mut Ui) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NT_COLOR` is never used
[INFO] [stdout]   --> src/gui/ab1.rs:24:7
[INFO] [stdout]    |
[INFO] [stdout] 24 | const NT_COLOR: Color32 = Color32::from_rgb(180, 220, 220);
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `val_5p` and `val_3p` are never used
[INFO] [stdout]    --> src/primer.rs:476:12
[INFO] [stdout]     |
[INFO] [stdout] 457 | impl TuneSetting {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 476 |     pub fn val_5p(&self) -> Option<usize> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 485 |     pub fn val_3p(&self) -> Option<usize> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tango_aggregation` is never used
[INFO] [stdout]    --> src/protein.rs:146:8
[INFO] [stdout]     |
[INFO] [stdout] 146 | pub fn tango_aggregation(seq: &[AminoAcid]) {}
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `aggrescan` is never used
[INFO] [stdout]    --> src/protein.rs:150:8
[INFO] [stdout]     |
[INFO] [stdout] 150 | pub fn aggrescan(seq: &[AminoAcid]) {}
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `tag_matches` is never read
[INFO] [stdout]    --> src/state.rs:482:9
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct StateVolatile {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 482 |     pub tag_matches: Vec<TagMatch>,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `lib_index` and `seq` are never read
[INFO] [stdout]   --> src/tags.rs:8:9
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct TagMatch {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout]  8 |     pub lib_index: usize,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 11 |     pub seq: RangeInclusive<usize>,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Tag` is never constructed
[INFO] [stdout]   --> src/tags.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct Tag {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/tags.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl Tag {
[INFO] [stdout]    | -------- associated function in this implementation
[INFO] [stdout] 21 |     pub fn new(name: &str) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GLN_TRACT_SCAN_FRAME` is never used
[INFO] [stdout]   --> src/toxic_proteins.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const GLN_TRACT_SCAN_FRAME: usize = 35;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GLN_MAX_PORTION` is never used
[INFO] [stdout]   --> src/toxic_proteins.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const GLN_MAX_PORTION: f32 = 0.75;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ToxicStatus` is never used
[INFO] [stdout]   --> src/toxic_proteins.rs:14:6
[INFO] [stdout]    |
[INFO] [stdout] 14 | enum ToxicStatus {
[INFO] [stdout]    |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_glu_tracts` is never used
[INFO] [stdout]   --> src/toxic_proteins.rs:27:4
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn check_glu_tracts(seq: &[Nucleotide]) -> ToxicStatus {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FEATURE_ANNOTATION_MATCH_THRESH` is never used
[INFO] [stdout]   --> src/util.rs:23:7
[INFO] [stdout]    |
[INFO] [stdout] 23 | const FEATURE_ANNOTATION_MATCH_THRESH: f32 = 0.95;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `seq`
[INFO] [stdout]    --> src/protein.rs:146:26
[INFO] [stdout]     |
[INFO] [stdout] 146 | pub fn tango_aggregation(seq: &[AminoAcid]) {}
[INFO] [stdout]     |                          ^^^ help: if this is intentional, prefix it with an underscore: `_seq`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `seq`
[INFO] [stdout]    --> src/protein.rs:150:18
[INFO] [stdout]     |
[INFO] [stdout] 150 | pub fn aggrescan(seq: &[AminoAcid]) {}
[INFO] [stdout]     |                  ^^^ help: if this is intentional, prefix it with an underscore: `_seq`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tags.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |     let mut result = Vec::new();
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `seq`
[INFO] [stdout]   --> src/tags.rs:32:26
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub fn _find_tag_matches(seq: &[Nucleotide], lib: &[Tag]) -> Vec<TagMatch> {
[INFO] [stdout]    |                          ^^^ help: if this is intentional, prefix it with an underscore: `_seq`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lib`
[INFO] [stdout]   --> src/tags.rs:32:46
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub fn _find_tag_matches(seq: &[Nucleotide], lib: &[Tag]) -> Vec<TagMatch> {
[INFO] [stdout]    |                                              ^^^ help: if this is intentional, prefix it with an underscore: `_lib`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `RefSeq` is more private than the item `AlignmentMap::refs`
[INFO] [stdout]    --> src/alignment_map.rs:168:5
[INFO] [stdout]     |
[INFO] [stdout] 168 |     pub refs: Vec<RefSeq>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^ field `AlignmentMap::refs` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `RefSeq` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/alignment_map.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout]  27 | struct RefSeq {
[INFO] [stdout]     | ^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `alignment_map::Alignment` is more private than the item `AlignmentMap::alignments`
[INFO] [stdout]    --> src/alignment_map.rs:169:5
[INFO] [stdout]     |
[INFO] [stdout] 169 |     pub alignments: Vec<Alignment>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `AlignmentMap::alignments` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `alignment_map::Alignment` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/alignment_map.rs:61:1
[INFO] [stdout]     |
[INFO] [stdout]  61 | struct Alignment {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `BoundedLevenshtein` is never constructed
[INFO] [stdout]   --> src/alignment.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub enum DistanceType {
[INFO] [stdout]    |          ------------ variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 52 |     BoundedLevenshtein(u32),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DistanceType` has a derived impl for the trait `Clone`, but this is 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: constant `MAGIC` is never used
[INFO] [stdout]   --> src/alignment_map.rs:24:7
[INFO] [stdout]    |
[INFO] [stdout] 24 | const MAGIC: [u8; 4] = [b'B', b'A', b'M', 1];
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RefSeq` is never constructed
[INFO] [stdout]   --> src/alignment_map.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | struct RefSeq {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_buf` and `to_buf` are never used
[INFO] [stdout]   --> src/alignment_map.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl RefSeq {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 33 |     /// Deserialize from BAM.
[INFO] [stdout] 34 |     pub fn from_buf(buf: &[u8]) -> io::Result<Self> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn to_buf(&self) -> Vec<u8> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AuxData` is never constructed
[INFO] [stdout]   --> src/alignment_map.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | struct AuxData {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Alignment` is never constructed
[INFO] [stdout]   --> src/alignment_map.rs:61:8
[INFO] [stdout]    |
[INFO] [stdout] 61 | struct Alignment {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_buf` and `to_buf_` are never used
[INFO] [stdout]    --> src/alignment_map.rs:82:12
[INFO] [stdout]     |
[INFO] [stdout]  80 | impl Alignment {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout]  81 |     /// Deserialize from BAM.
[INFO] [stdout]  82 |     pub fn from_buf(buf: &[u8]) -> io::Result<Self> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |     pub fn to_buf_(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AlignmentMap` is never constructed
[INFO] [stdout]    --> src/alignment_map.rs:164:12
[INFO] [stdout]     |
[INFO] [stdout] 164 | pub struct AlignmentMap {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_buf` and `to_buf` are never used
[INFO] [stdout]    --> src/alignment_map.rs:174:12
[INFO] [stdout]     |
[INFO] [stdout] 172 | impl AlignmentMap {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] 173 |     /// Deserialize an alignment record from a buffer containing BAM data.
[INFO] [stdout] 174 |     pub fn from_buf(buf: &[u8]) -> io::Result<Self> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 226 |     pub fn to_buf(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `import` is never used
[INFO] [stdout]    --> src/alignment_map.rs:231:8
[INFO] [stdout]     |
[INFO] [stdout] 231 | pub fn import(path: &Path) -> io::Result<AlignmentMap> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `reg_to_bin` is never used
[INFO] [stdout]    --> src/alignment_map.rs:331:4
[INFO] [stdout]     |
[INFO] [stdout] 331 | fn reg_to_bin(beg: i32, end: i32) -> i32 {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `reg_to_bins` is never used
[INFO] [stdout]    --> src/alignment_map.rs:353:4
[INFO] [stdout]     |
[INFO] [stdout] 353 | fn reg_to_bins(beg: i32, end: i32, list: &mut Vec<u16>) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Gfp` and `Luciferase` are never constructed
[INFO] [stdout]    --> src/backbones.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub enum BackboneGene {
[INFO] [stdout]     |          ------------ variants in this enum
[INFO] [stdout] 121 |     Gfp,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 122 |     Egfp,
[INFO] [stdout] 123 |     Luciferase,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BackboneGene` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RestrictionEnzyme` is never constructed
[INFO] [stdout]    --> src/backbones.rs:131:5
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub enum CloningTechnique {
[INFO] [stdout]     |          ---------------- variant in this enum
[INFO] [stdout] 131 |     RestrictionEnzyme,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CloningTechnique` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `genes_included` and `direction` are never read
[INFO] [stdout]    --> src/backbones.rs:151:9
[INFO] [stdout]     |
[INFO] [stdout] 135 | pub struct Backbone {
[INFO] [stdout]     |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 151 |     pub genes_included: Vec<BackboneGene>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |     pub direction: PrimerDirection,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `product_primers` is never read
[INFO] [stdout]   --> src/cloning.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct CloningState {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub product_primers: Vec<Primer>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_backbone` is never used
[INFO] [stdout]    --> src/cloning.rs:137:12
[INFO] [stdout]     |
[INFO] [stdout]  75 | impl CloningState {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub fn get_backbone<'a>(&'a self, lib: &'a [Backbone]) -> Option<&'a Backbone> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_re_candidates` is never used
[INFO] [stdout]    --> src/cloning.rs:362:8
[INFO] [stdout]     |
[INFO] [stdout] 362 | pub fn find_re_candidates<'a>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TagSeqRecord` is never used
[INFO] [stdout]  --> src/file_io/ab1_tags.rs:6:6
[INFO] [stdout]   |
[INFO] [stdout] 6 | enum TagSeqRecord {
[INFO] [stdout]   |      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_str` is never used
[INFO] [stdout]   --> src/file_io/ab1_tags.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl TagSeqRecord {
[INFO] [stdout]    | ----------------- associated function in this implementation
[INFO] [stdout] 14 |     fn from_str(inp: &str) -> io::Result<Self> {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `GeneralTag` is never used
[INFO] [stdout]   --> src/file_io/ab1_tags.rs:26:6
[INFO] [stdout]    |
[INFO] [stdout] 26 | enum GeneralTag {
[INFO] [stdout]    |      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_str` is never used
[INFO] [stdout]    --> src/file_io/ab1_tags.rs:117:8
[INFO] [stdout]     |
[INFO] [stdout] 116 | impl GeneralTag {
[INFO] [stdout]     | --------------- associated function in this implementation
[INFO] [stdout] 117 |     fn from_str(inp: &str) -> io::Result<Self> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Abi3130Tag` is never used
[INFO] [stdout]    --> src/file_io/ab1_tags.rs:221:6
[INFO] [stdout]     |
[INFO] [stdout] 221 | enum Abi3130Tag {
[INFO] [stdout]     |      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_str` is never used
[INFO] [stdout]    --> src/file_io/ab1_tags.rs:231:8
[INFO] [stdout]     |
[INFO] [stdout] 230 | impl Abi3130Tag {
[INFO] [stdout]     | --------------- associated function in this implementation
[INFO] [stdout] 231 |     fn from_str(inp: &str) -> io::Result<Self> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Abi3530Tag` is never used
[INFO] [stdout]    --> src/file_io/ab1_tags.rs:263:6
[INFO] [stdout]     |
[INFO] [stdout] 263 | enum Abi3530Tag {
[INFO] [stdout]     |      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_str` is never used
[INFO] [stdout]    --> src/file_io/ab1_tags.rs:371:8
[INFO] [stdout]     |
[INFO] [stdout] 370 | impl Abi3530Tag {
[INFO] [stdout]     | --------------- associated function in this implementation
[INFO] [stdout] 371 |     fn from_str(inp: &str) -> io::Result<Self> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Abi3730Tag` is never used
[INFO] [stdout]    --> src/file_io/ab1_tags.rs:599:6
[INFO] [stdout]     |
[INFO] [stdout] 599 | enum Abi3730Tag {
[INFO] [stdout]     |      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_str` is never used
[INFO] [stdout]    --> src/file_io/ab1_tags.rs:604:8
[INFO] [stdout]     |
[INFO] [stdout] 603 | impl Abi3730Tag {
[INFO] [stdout]     | --------------- associated function in this implementation
[INFO] [stdout] 604 |     fn from_str(inp: &str) -> io::Result<Self> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `save_new_product` is never used
[INFO] [stdout]    --> src/file_io/save.rs:265:8
[INFO] [stdout]     |
[INFO] [stdout] 265 | pub fn save_new_product(name: &str, state: &mut State, ui: &mut Ui) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NT_COLOR` is never used
[INFO] [stdout]   --> src/gui/ab1.rs:24:7
[INFO] [stdout]    |
[INFO] [stdout] 24 | const NT_COLOR: Color32 = Color32::from_rgb(180, 220, 220);
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `val_5p` and `val_3p` are never used
[INFO] [stdout]    --> src/primer.rs:476:12
[INFO] [stdout]     |
[INFO] [stdout] 457 | impl TuneSetting {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 476 |     pub fn val_5p(&self) -> Option<usize> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 485 |     pub fn val_3p(&self) -> Option<usize> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tango_aggregation` is never used
[INFO] [stdout]    --> src/protein.rs:146:8
[INFO] [stdout]     |
[INFO] [stdout] 146 | pub fn tango_aggregation(seq: &[AminoAcid]) {}
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `aggrescan` is never used
[INFO] [stdout]    --> src/protein.rs:150:8
[INFO] [stdout]     |
[INFO] [stdout] 150 | pub fn aggrescan(seq: &[AminoAcid]) {}
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `tag_matches` is never read
[INFO] [stdout]    --> src/state.rs:482:9
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct StateVolatile {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 482 |     pub tag_matches: Vec<TagMatch>,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `lib_index` and `seq` are never read
[INFO] [stdout]   --> src/tags.rs:8:9
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct TagMatch {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout]  8 |     pub lib_index: usize,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 11 |     pub seq: RangeInclusive<usize>,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Tag` is never constructed
[INFO] [stdout]   --> src/tags.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct Tag {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/tags.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl Tag {
[INFO] [stdout]    | -------- associated function in this implementation
[INFO] [stdout] 21 |     pub fn new(name: &str) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GLN_TRACT_SCAN_FRAME` is never used
[INFO] [stdout]   --> src/toxic_proteins.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const GLN_TRACT_SCAN_FRAME: usize = 35;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GLN_MAX_PORTION` is never used
[INFO] [stdout]   --> src/toxic_proteins.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const GLN_MAX_PORTION: f32 = 0.75;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ToxicStatus` is never used
[INFO] [stdout]   --> src/toxic_proteins.rs:14:6
[INFO] [stdout]    |
[INFO] [stdout] 14 | enum ToxicStatus {
[INFO] [stdout]    |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_glu_tracts` is never used
[INFO] [stdout]   --> src/toxic_proteins.rs:27:4
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn check_glu_tracts(seq: &[Nucleotide]) -> ToxicStatus {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FEATURE_ANNOTATION_MATCH_THRESH` is never used
[INFO] [stdout]   --> src/util.rs:23:7
[INFO] [stdout]    |
[INFO] [stdout] 23 | const FEATURE_ANNOTATION_MATCH_THRESH: f32 = 0.95;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 15s
[INFO] running `Command { std: "docker" "inspect" "d866d4a76582156c8d636d384d3bd203ec611babe0e0962ed9f1a174e97d0442", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d866d4a76582156c8d636d384d3bd203ec611babe0e0962ed9f1a174e97d0442", kill_on_drop: false }`
[INFO] [stdout] d866d4a76582156c8d636d384d3bd203ec611babe0e0962ed9f1a174e97d0442
