[INFO] fetching crate t27c 0.5.2...
[INFO] testing t27c-0.5.2 against 1.100.0-beta.1+cargoflags=--release for beta-release-1.100-2
[INFO] extracting crate t27c 0.5.2 into /workspace/builds/worker-0-tc2/source
[INFO] started tweaking crates.io crate t27c 0.5.2
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate t27c 0.5.2
[INFO] tweaked toml for crates.io crate t27c 0.5.2 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate t27c 0.5.2 on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate t27c 0.5.2 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" "+1.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/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:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 1f00b4021297e88bf17db3ad8b18be557987c8bf30169cd2017878927b7b28c4
[INFO] running `Command { std: "docker" "start" "1f00b4021297e88bf17db3ad8b18be557987c8bf30169cd2017878927b7b28c4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1f00b4021297e88bf17db3ad8b18be557987c8bf30169cd2017878927b7b28c4", 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" "1f00b4021297e88bf17db3ad8b18be557987c8bf30169cd2017878927b7b28c4" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1f00b4021297e88bf17db3ad8b18be557987c8bf30169cd2017878927b7b28c4", 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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "1f00b4021297e88bf17db3ad8b18be557987c8bf30169cd2017878927b7b28c4" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling anyhow v1.0.103
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling t27c v0.5.2 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling syn v3.0.3
[INFO] [stderr]    Compiling clap_builder v4.6.7
[INFO] [stderr]    Compiling serde_json v1.0.151
[INFO] [stderr]    Compiling colored v2.2.0
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling chrono v0.4.45
[INFO] [stdout] warning: unexpected `cfg` condition value: `serde`
[INFO] [stdout]   --> gen/rust/tri/crypto/sha256.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `net` and `server`
[INFO] [stdout]    = help: consider adding `serde` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr] warning: t27c@0.5.2: t27c: built outside the t27 repository; repository policy checks skipped
[INFO] [stderr]    Compiling regex-automata v0.4.18
[INFO] [stderr]    Compiling clap_derive v4.6.7
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling clap v4.6.7
[INFO] [stderr]    Compiling regex v1.13.1
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stdout] warning: multiple lines skipped by escaped newline
[INFO] [stdout]    --> src/behavior_sva.rs:293:23
[INFO] [stdout]     |
[INFO] [stdout] 293 |   const FOOTER: &str = "\
[INFO] [stdout]     |  _______________________^
[INFO] [stdout] 294 | |
[INFO] [stdout] 295 | | `default_nettype wire
[INFO] [stdout]     | |_^ skipping everything up to and including this point
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]    --> src/math_bayes.rs:310:31
[INFO] [stdout]     |
[INFO] [stdout] 310 |     let bic_interpret = match (evidence_h0.bic - evidence_h1.bic) {
[INFO] [stdout]     |                               ^                                 ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 310 -     let bic_interpret = match (evidence_h0.bic - evidence_h1.bic) {
[INFO] [stdout] 310 +     let bic_interpret = match evidence_h0.bic - evidence_h1.bic {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PathBuf`
[INFO] [stdout]   --> src/notebook.rs:12:23
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::path::{Path, PathBuf};
[INFO] [stdout]    |                       ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `serde`
[INFO] [stdout]   --> src/../gen/rust/tri/crypto/sha256.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `net` and `server`
[INFO] [stdout]    = help: consider adding `serde` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `serde`
[INFO] [stdout]   --> src/../gen/rust/tri/crypto/ed25519.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `net` and `server`
[INFO] [stdout]    = help: consider adding `serde` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `serde`
[INFO] [stdout]   --> src/../gen/rust/tri/crypto/ed25519.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `net` and `server`
[INFO] [stdout]    = help: consider adding `serde` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `serde`
[INFO] [stdout]    --> src/../gen/rust/tri/crypto/ed25519.rs:524:12
[INFO] [stdout]     |
[INFO] [stdout] 524 | #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `net` and `server`
[INFO] [stdout]     = help: consider adding `serde` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `unknown` should have an upper camel case name
[INFO] [stdout]   --> src/memory/generated/formula_embed.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     unknown = 0,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Unknown`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `qcd` should have an upper camel case name
[INFO] [stdout]   --> src/memory/generated/formula_embed.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     qcd = 1,
[INFO] [stdout]    |     ^^^ help: convert the identifier to upper camel case: `Qcd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `electroweak` should have an upper camel case name
[INFO] [stdout]   --> src/memory/generated/formula_embed.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     electroweak = 2,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `Electroweak`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `cosmology` should have an upper camel case name
[INFO] [stdout]   --> src/memory/generated/formula_embed.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     cosmology = 3,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Cosmology`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `condensed` should have an upper camel case name
[INFO] [stdout]   --> src/memory/generated/formula_embed.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     condensed = 4,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Condensed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `nuclear` should have an upper camel case name
[INFO] [stdout]   --> src/memory/generated/formula_embed.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     nuclear = 5,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper camel case: `Nuclear`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `particle` should have an upper camel case name
[INFO] [stdout]   --> src/memory/generated/formula_embed.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     particle = 6,
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to upper camel case: `Particle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TtChip`
[INFO] [stdout]   --> src/tt_debug.rs:33:26
[INFO] [stdout]    |
[INFO] [stdout] 33 | use crate::tt_manifest::{TtChip, TtManifest};
[INFO] [stdout]    |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `rbracket_line` is never read
[INFO] [stdout]     --> src/compiler.rs:5853:33
[INFO] [stdout]      |
[INFO] [stdout] 5853 |         let mut rbracket_line = self.current.line;
[INFO] [stdout]      |                                 ^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 5878 |                 rbracket_line = self.current.line;
[INFO] [stdout]      |                 --------------------------------- `rbracket_line` is overwritten here before the previous value is read
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_method`
[INFO] [stdout]     --> src/compiler.rs:9021:13
[INFO] [stdout]      |
[INFO] [stdout] 9021 |         let is_method = node.params.iter().any(|(name, _)| name == "self");
[INFO] [stdout]      |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_method`
[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 `elem_type` is never read
[INFO] [stdout]      --> src/compiler.rs:12984:29
[INFO] [stdout]       |
[INFO] [stdout] 12984 |         let mut elem_type = String::new();
[INFO] [stdout]       |                             ^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 12993 |                     elem_type = Self::base_type_name(ret_ty);
[INFO] [stdout]       |                     --------- `elem_type` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]      --> src/compiler.rs:14002:17
[INFO] [stdout]       |
[INFO] [stdout] 14002 |             let mut errors: std::collections::HashMap<String, String> =
[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: `type_array`
[INFO] [stdout]      --> src/compiler.rs:15260:13
[INFO] [stdout]       |
[INFO] [stdout] 15260 |         let type_array = Self::parse_array_type(&node.extra_type);
[INFO] [stdout]       |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_type_array`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `full_width`
[INFO] [stdout]      --> src/compiler.rs:16778:37
[INFO] [stdout]       |
[INFO] [stdout] 16778 | ...                   let full_width = specs
[INFO] [stdout]       |                           ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_full_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]      --> src/compiler.rs:19563:17
[INFO] [stdout]       |
[INFO] [stdout] 19563 |             let mut consider = |ty: &str,
[INFO] [stdout]       |                 ----^^^^^^^^
[INFO] [stdout]       |                 |
[INFO] [stdout]       |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rest`
[INFO] [stdout]      --> src/compiler.rs:23144:22
[INFO] [stdout]       |
[INFO] [stdout] 23144 |             let Some(rest) = t.strip_prefix("const ") else {
[INFO] [stdout]       |                      ^^^^ help: if this is intentional, prefix it with an underscore: `_rest`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]      --> src/compiler.rs:25675:9
[INFO] [stdout]       |
[INFO] [stdout] 25675 |     let mut note = |ty: &str, where_: String, out: &mut Vec<(String, String)>| {
[INFO] [stdout]       |         ----^^^^
[INFO] [stdout]       |         |
[INFO] [stdout]       |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]      --> src/compiler.rs:26503:9
[INFO] [stdout]       |
[INFO] [stdout] 26380 |         NodeKind::ExprReturn => {
[INFO] [stdout]       |         -------------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 26503 |         NodeKind::ExprReturn => {
[INFO] [stdout]       |         ^^^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout]       |
[INFO] [stdout]       = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `x_offset` is never read
[INFO] [stdout]      --> src/compiler.rs:32718:13
[INFO] [stdout]       |
[INFO] [stdout] 32718 |             x_offset += 11;
[INFO] [stdout]       |             ^^^^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/suite.rs:1947:9
[INFO] [stdout]      |
[INFO] [stdout] 1947 |     let mut record = |name: &str,
[INFO] [stdout]      |         ----^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p3b_known_failures`
[INFO] [stdout]     --> src/suite.rs:2102:22
[INFO] [stdout]      |
[INFO] [stdout] 2102 |     let (p3bp, p3bf, p3b_known_failures) = if yosys_available() {
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_p3b_known_failures`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `p3b_fail` is never read
[INFO] [stdout]     --> src/suite.rs:2085:24
[INFO] [stdout]      |
[INFO] [stdout] 2085 |     let mut p3b_fail = 0usize;
[INFO] [stdout]      |                        ^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 2137 |     p3b_fail = p3bf;
[INFO] [stdout]      |     --------------- `p3b_fail` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `p3cs_fail` is never read
[INFO] [stdout]     --> src/suite.rs:2185:25
[INFO] [stdout]      |
[INFO] [stdout] 2185 |     let mut p3cs_fail = 0usize;
[INFO] [stdout]      |                         ^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 2203 |             p3cs_fail = 1;
[INFO] [stdout]      |             ------------- `p3cs_fail` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `p3cs_skipped` is never read
[INFO] [stdout]     --> src/suite.rs:2186:28
[INFO] [stdout]      |
[INFO] [stdout] 2186 |     let mut p3cs_skipped = 0usize;
[INFO] [stdout]      |                            ^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 2208 |         p3cs_skipped = 1;
[INFO] [stdout]      |         ---------------- `p3cs_skipped` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_obs`
[INFO] [stdout]    --> src/math_bayes.rs:262:9
[INFO] [stdout]     |
[INFO] [stdout] 262 |     let n_obs = k * n;
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_n_obs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/math_bayes.rs:364:9
[INFO] [stdout]     |
[INFO] [stdout] 364 |     let mut min_log_bf = f64::MAX;
[INFO] [stdout]     |         ----^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `min_log_bf`
[INFO] [stdout]    --> src/math_bayes.rs:344:54
[INFO] [stdout]     |
[INFO] [stdout] 344 | fn run_verification(experience_path: Option<String>, min_log_bf: f64) -> anyhow::Result<()> {
[INFO] [stdout]     |                                                      ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_min_log_bf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/host/firmware.rs:92:13
[INFO] [stdout]    |
[INFO] [stdout] 92 |         let name = std::str::from_utf8(tag).unwrap_or("????");
[INFO] [stdout]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `current_vacuous`
[INFO] [stdout]     --> src/main.rs:5785:9
[INFO] [stdout]      |
[INFO] [stdout] 5785 |     let current_vacuous = is_vacuous(
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_vacuous`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/main.rs:8315:13
[INFO] [stdout]      |
[INFO] [stdout] 8315 |         let mut offset = 0u32;
[INFO] [stdout]      |             ----^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]     --> src/main.rs:8315:13
[INFO] [stdout]      |
[INFO] [stdout] 8315 |         let mut offset = 0u32;
[INFO] [stdout]      |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `warnings` is assigned to, but never used
[INFO] [stdout]      --> src/main.rs:11643:9
[INFO] [stdout]       |
[INFO] [stdout] 11643 |     let mut warnings = 0u32;
[INFO] [stdout]       |         ^^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: consider using `_warnings` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `warnings` is never read
[INFO] [stdout]      --> src/main.rs:11668:45
[INFO] [stdout]       |
[INFO] [stdout] 11668 |         if has_t { has_tests += 1; } else { warnings += 1; }
[INFO] [stdout]       |                                             ^^^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `FunctionDef` is more private than the item `FormulaRuntime::get_function_info`
[INFO] [stdout]    --> src/runtime/mod.rs:531:5
[INFO] [stdout]     |
[INFO] [stdout] 531 |     pub(crate) fn get_function_info<'a>(&'a self, name: &str) -> Option<&'a FunctionDef> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `FormulaRuntime::get_function_info` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `FunctionDef` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/runtime/mod.rs:50:1
[INFO] [stdout]     |
[INFO] [stdout]  50 | struct FunctionDef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NotebookMeta` is never constructed
[INFO] [stdout]    --> src/bridge.rs:122:8
[INFO] [stdout]     |
[INFO] [stdout] 122 | struct NotebookMeta {
[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 `NotebookCreateResponse` is never constructed
[INFO] [stdout]    --> src/bridge.rs:131:8
[INFO] [stdout]     |
[INFO] [stdout] 131 | struct NotebookCreateResponse {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CURRENT_TASK_DIR` is never used
[INFO] [stdout]    --> src/bridge.rs:138:7
[INFO] [stdout]     |
[INFO] [stdout] 138 | const CURRENT_TASK_DIR: &str = ".trinity/current_task";
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NOTEBOOK_ID_FILE` is never used
[INFO] [stdout]    --> src/bridge.rs:139:7
[INFO] [stdout]     |
[INFO] [stdout] 139 | const NOTEBOOK_ID_FILE: &str = ".notebook_id";
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NOTEBOOK_META_FILE` is never used
[INFO] [stdout]    --> src/bridge.rs:140:7
[INFO] [stdout]     |
[INFO] [stdout] 140 | const NOTEBOOK_META_FILE: &str = "notebook_meta.json";
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handle_task_start` is never used
[INFO] [stdout]    --> src/bridge.rs:142:4
[INFO] [stdout]     |
[INFO] [stdout] 142 | fn handle_task_start(root: &Path, title: &str, sources: &str) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ExprRange` is never constructed
[INFO] [stdout]   --> src/compiler.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub enum NodeKind {
[INFO] [stdout]    |          -------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 42 |     ExprRange, // start..end
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `NodeKind` 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: associated items `parse_range_bound` and `type_is_float` are never used
[INFO] [stdout]     --> src/compiler.rs:4636:8
[INFO] [stdout]      |
[INFO] [stdout] 1169 | impl Parser {
[INFO] [stdout]      | ----------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 4636 |     fn parse_range_bound(&mut self) -> Result<Node, String> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 7113 |     fn type_is_float(ty: &str) -> bool {
[INFO] [stdout]      |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `packed_struct_width` is never used
[INFO] [stdout]      --> src/compiler.rs:12730:8
[INFO] [stdout]       |
[INFO] [stdout] 11243 | impl VerilogCodegen {
[INFO] [stdout]       | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 12730 |     fn packed_struct_width(&self, name: &str, depth: u32) -> u32 {
[INFO] [stdout]       |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `c_return_type` is never used
[INFO] [stdout]      --> src/compiler.rs:20972:8
[INFO] [stdout]       |
[INFO] [stdout] 19123 | impl CCodegen {
[INFO] [stdout]       | ------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 20972 |     fn c_return_type(ty: &str) -> String {
[INFO] [stdout]       |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Inout` is never constructed
[INFO] [stdout]      --> src/compiler.rs:29446:5
[INFO] [stdout]       |
[INFO] [stdout] 29443 | pub enum HwPortDir {
[INFO] [stdout]       |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 29446 |     Inout,
[INFO] [stdout]       |     ^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: `HwPortDir` 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 `param_map` is never read
[INFO] [stdout]      --> src/compiler.rs:29517:9
[INFO] [stdout]       |
[INFO] [stdout] 29513 | pub struct HirInstance {
[INFO] [stdout]       |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 29517 |     pub param_map: Vec<(String, String)>,
[INFO] [stdout]       |         ^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: `HirInstance` 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: variant `Read` is never constructed
[INFO] [stdout]      --> src/compiler.rs:29530:5
[INFO] [stdout]       |
[INFO] [stdout] 29529 | pub enum HwMemPortKind {
[INFO] [stdout]       |          ------------- variant in this enum
[INFO] [stdout] 29530 |     Read,
[INFO] [stdout]       |     ^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: `HwMemPortKind` 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 `addr_width` is never read
[INFO] [stdout]      --> src/compiler.rs:29549:9
[INFO] [stdout]       |
[INFO] [stdout] 29544 | pub struct HirMemory {
[INFO] [stdout]       |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 29549 |     pub addr_width: u32,
[INFO] [stdout]       |         ^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: `HirMemory` 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: associated items `new_bram`, `new_rom`, `calc_addr_width`, `add_read_port`, `add_write_port`, and `has_read` are never used
[INFO] [stdout]      --> src/compiler.rs:29554:12
[INFO] [stdout]       |
[INFO] [stdout] 29553 | impl HirMemory {
[INFO] [stdout]       | -------------- associated items in this implementation
[INFO] [stdout] 29554 |     pub fn new_bram(name: &str, depth: u32, data_width: u32) -> Self {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29566 |     pub fn new_rom(name: &str, depth: u32, data_width: u32) -> Self {
[INFO] [stdout]       |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29578 |     fn calc_addr_width(depth: u32) -> u32 {
[INFO] [stdout]       |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29591 |     pub fn add_read_port(&mut self, name: &str) {
[INFO] [stdout]       |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29600 |     pub fn add_write_port(&mut self, name: &str) {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29609 |     pub fn has_read(&self) -> bool {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `HwClkSrcKind` is never used
[INFO] [stdout]      --> src/compiler.rs:29654:10
[INFO] [stdout]       |
[INFO] [stdout] 29654 | pub enum HwClkSrcKind {
[INFO] [stdout]       |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HirClkSource` is never constructed
[INFO] [stdout]      --> src/compiler.rs:29662:12
[INFO] [stdout]       |
[INFO] [stdout] 29662 | pub struct HirClkSource {
[INFO] [stdout]       |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `source_name`, `freq_hz`, and `posedge` are never read
[INFO] [stdout]      --> src/compiler.rs:29672:9
[INFO] [stdout]       |
[INFO] [stdout] 29671 | pub struct HirClockDomain {
[INFO] [stdout]       |            -------------- fields in this struct
[INFO] [stdout] 29672 |     pub name: String,
[INFO] [stdout]       |         ^^^^
[INFO] [stdout] 29673 |     pub source_name: String,
[INFO] [stdout]       |         ^^^^^^^^^^^
[INFO] [stdout] 29674 |     pub freq_hz: u32,
[INFO] [stdout]       |         ^^^^^^^
[INFO] [stdout] 29675 |     pub posedge: bool,
[INFO] [stdout]       |         ^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: `HirClockDomain` 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: associated items `new`, `period_ns`, and `half_period_ns` are never used
[INFO] [stdout]      --> src/compiler.rs:29679:12
[INFO] [stdout]       |
[INFO] [stdout] 29678 | impl HirClockDomain {
[INFO] [stdout]       | ------------------- associated items in this implementation
[INFO] [stdout] 29679 |     pub fn new(name: &str, source: &str, freq_hz: u32) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 29688 |     pub fn period_ns(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29695 |     pub fn half_period_ns(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `src_domain`, `dst_domain`, `strategy`, and `data_width` are never read
[INFO] [stdout]      --> src/compiler.rs:29710:9
[INFO] [stdout]       |
[INFO] [stdout] 29709 | pub struct HirClockCrossing {
[INFO] [stdout]       |            ---------------- fields in this struct
[INFO] [stdout] 29710 |     pub src_domain: String,
[INFO] [stdout]       |         ^^^^^^^^^^
[INFO] [stdout] 29711 |     pub dst_domain: String,
[INFO] [stdout]       |         ^^^^^^^^^^
[INFO] [stdout] 29712 |     pub strategy: HwCrossStrategy,
[INFO] [stdout]       |         ^^^^^^^^
[INFO] [stdout] 29713 |     pub data_width: u32,
[INFO] [stdout]       |         ^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: `HirClockCrossing` 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: associated functions `new_sync` and `new_async` are never used
[INFO] [stdout]      --> src/compiler.rs:29736:12
[INFO] [stdout]       |
[INFO] [stdout] 29735 | impl HirFifo {
[INFO] [stdout]       | ------------ associated functions in this implementation
[INFO] [stdout] 29736 |     pub fn new_sync(name: &str, depth: u32, data_width: u32) -> Self {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29749 |     pub fn new_async(name: &str, depth: u32, data_width: u32) -> Self {
[INFO] [stdout]       |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Master` is never constructed
[INFO] [stdout]      --> src/compiler.rs:29788:5
[INFO] [stdout]       |
[INFO] [stdout] 29787 | pub enum HwBusRole {
[INFO] [stdout]       |          --------- variant in this enum
[INFO] [stdout] 29788 |     Master,
[INFO] [stdout]       |     ^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: `HwBusRole` 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: multiple associated items are never used
[INFO] [stdout]      --> src/compiler.rs:29803:12
[INFO] [stdout]       |
[INFO] [stdout] 29802 | impl HirBusPort {
[INFO] [stdout]       | --------------- associated items in this implementation
[INFO] [stdout] 29803 |     pub fn axi4_lite_slave(name: &str, addr_width: u32, data_width: u32) -> Self {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29814 |     pub fn axi4_lite_master(name: &str, addr_width: u32, data_width: u32) -> Self {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29825 |     pub fn axi4_full_slave(name: &str, addr_width: u32, data_width: u32, id_width: u32) -> Self {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29836 |     pub fn axi4_full_master(name: &str, addr_width: u32, data_width: u32, id_width: u32) -> Self {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29851 |     pub fn is_lite(&self) -> bool {
[INFO] [stdout]       |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29855 |     pub fn is_full(&self) -> bool {
[INFO] [stdout]       |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29859 |     pub fn is_slave(&self) -> bool {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29863 |     pub fn is_master(&self) -> bool {
[INFO] [stdout]       |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29959 |     pub fn total_signal_bits(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]      --> src/compiler.rs:30010:9
[INFO] [stdout]       |
[INFO] [stdout] 30009 | pub struct HirApbPeriphMap {
[INFO] [stdout]       |            --------------- field in this struct
[INFO] [stdout] 30010 |     pub name: String,
[INFO] [stdout]       |         ^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: `HirApbPeriphMap` 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: associated items `new`, `with_error_response`, `add_peripheral`, `addr_bits_for_peripherals`, and `select_peripheral` are never used
[INFO] [stdout]      --> src/compiler.rs:30028:12
[INFO] [stdout]       |
[INFO] [stdout] 30027 | impl HirApbBridge {
[INFO] [stdout]       | ----------------- associated items in this implementation
[INFO] [stdout] 30028 |     pub fn new(name: &str, addr_width: u32, data_width: u32, num_peripherals: u32) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 30040 |     pub fn with_error_response(mut self) -> Self {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30046 |     pub fn add_peripheral(&mut self, name: &str, base_addr: u32, size: u32, index: u32) {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30059 |     pub fn addr_bits_for_peripherals(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30072 |     pub fn select_peripheral(&self, addr: u32) -> Option<u32> {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Gf16OpKind` is never used
[INFO] [stdout]      --> src/compiler.rs:30109:10
[INFO] [stdout]       |
[INFO] [stdout] 30109 | pub enum Gf16OpKind {
[INFO] [stdout]       |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]      --> src/compiler.rs:30129:9
[INFO] [stdout]       |
[INFO] [stdout] 30128 | pub struct HirGf16FftConfig {
[INFO] [stdout]       |            ---------------- field in this struct
[INFO] [stdout] 30129 |     pub name: String,
[INFO] [stdout]       |         ^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: `HirGf16FftConfig` 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 `has_dot_product` is never read
[INFO] [stdout]      --> src/compiler.rs:30161:9
[INFO] [stdout]       |
[INFO] [stdout] 30155 | pub struct HirGf16Accel {
[INFO] [stdout]       |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 30161 |     pub has_dot_product: bool,
[INFO] [stdout]       |         ^^^^^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: `HirGf16Accel` 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: multiple associated items are never used
[INFO] [stdout]      --> src/compiler.rs:30169:12
[INFO] [stdout]       |
[INFO] [stdout] 30168 | impl HirGf16Accel {
[INFO] [stdout]       | ----------------- associated items in this implementation
[INFO] [stdout] 30169 |     pub fn basic(name: &str, num_mult: u32) -> Self {
[INFO] [stdout]       |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30184 |     pub fn full(name: &str, num_mult: u32, vec_width: u32) -> Self {
[INFO] [stdout]       |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30199 |     pub fn add_mac_unit(&mut self, name: &str, acc_width: u32, stages: u32) {
[INFO] [stdout]       |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30207 |     pub fn set_fft(&mut self, name: &str, num_points: u32, radix: u32) {
[INFO] [stdout]       |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30215 |     pub fn total_gf16_bits(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30219 |     pub fn mac_unit_count(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30242 |     pub fn matmul_cycles(&self, n: u32) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30250 |     pub fn dot_product_cycles(&self, vec_len: u32) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Immediate`, `Cover`, and `Assume` are never constructed
[INFO] [stdout]      --> src/compiler.rs:30287:5
[INFO] [stdout]       |
[INFO] [stdout] 30286 | pub enum HwAssertKind {
[INFO] [stdout]       |          ------------ variants in this enum
[INFO] [stdout] 30287 |     Immediate,
[INFO] [stdout]       |     ^^^^^^^^^
[INFO] [stdout] 30288 |     Concurrent,
[INFO] [stdout] 30289 |     Cover,
[INFO] [stdout]       |     ^^^^^
[INFO] [stdout] 30290 |     Assume,
[INFO] [stdout]       |     ^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: `HwAssertKind` 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: variants `Info`, `Warning`, `Error`, and `Fatal` are never constructed
[INFO] [stdout]      --> src/compiler.rs:30295:5
[INFO] [stdout]       |
[INFO] [stdout] 30294 | pub enum HwAssertSeverity {
[INFO] [stdout]       |          ---------------- variants in this enum
[INFO] [stdout] 30295 |     Info,
[INFO] [stdout]       |     ^^^^
[INFO] [stdout] 30296 |     Warning,
[INFO] [stdout]       |     ^^^^^^^
[INFO] [stdout] 30297 |     Error,
[INFO] [stdout]       |     ^^^^^
[INFO] [stdout] 30298 |     Fatal,
[INFO] [stdout]       |     ^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: `HwAssertSeverity` 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: associated items `new`, `with_depth`, and `with_timeout` are never used
[INFO] [stdout]      --> src/compiler.rs:30339:12
[INFO] [stdout]       |
[INFO] [stdout] 30338 | impl HirFormalConfig {
[INFO] [stdout]       | -------------------- associated items in this implementation
[INFO] [stdout] 30339 |     pub fn new(name: &str, module_name: &str, clock: &str, reset: &str) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 30350 |     pub fn with_depth(mut self, depth: u32) -> Self {
[INFO] [stdout]       |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30355 |     pub fn with_timeout(mut self, timeout: u32) -> Self {
[INFO] [stdout]       |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `immediate` and `concurrent` are never used
[INFO] [stdout]      --> src/compiler.rs:30382:12
[INFO] [stdout]       |
[INFO] [stdout] 30381 | impl HirFormalAssert {
[INFO] [stdout]       | -------------------- associated functions in this implementation
[INFO] [stdout] 30382 |     pub fn immediate(
[INFO] [stdout]       |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30399 |     pub fn concurrent(
[INFO] [stdout]       |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]      --> src/compiler.rs:30436:12
[INFO] [stdout]       |
[INFO] [stdout] 30435 | impl HirCoverPoint {
[INFO] [stdout]       | ------------------ associated function in this implementation
[INFO] [stdout] 30436 |     pub fn new(name: &str, condition: &str, clock: &str, description: &str) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]      --> src/compiler.rs:30458:12
[INFO] [stdout]       |
[INFO] [stdout] 30457 | impl HirFormalAssume {
[INFO] [stdout]       | -------------------- associated function in this implementation
[INFO] [stdout] 30458 |     pub fn new(name: &str, condition: &str, clock: &str, description: &str) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `has_forwarding` are never read
[INFO] [stdout]      --> src/compiler.rs:30496:9
[INFO] [stdout]       |
[INFO] [stdout] 30495 | pub struct HirTernaryRegFile {
[INFO] [stdout]       |            ----------------- fields in this struct
[INFO] [stdout] 30496 |     pub name: String,
[INFO] [stdout]       |         ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30501 |     pub has_forwarding: bool,
[INFO] [stdout]       |         ^^^^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: `HirTernaryRegFile` 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: multiple associated items are never used
[INFO] [stdout]      --> src/compiler.rs:30521:12
[INFO] [stdout]       |
[INFO] [stdout] 30520 | impl HirTernaryCore {
[INFO] [stdout]       | ------------------- associated items in this implementation
[INFO] [stdout] 30521 |     pub fn basic(name: &str) -> Self {
[INFO] [stdout]       |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30538 |     pub fn full(name: &str) -> Self {
[INFO] [stdout]       |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30555 |     pub fn with_regfile(mut self, rf: HirTernaryRegFile) -> Self {
[INFO] [stdout]       |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30560 |     pub fn add_pipeline_stage(&mut self, name: &str, latency: u32, has_forwarding: bool) {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30568 |     pub fn add_alu_op(&mut self, name: &str, opcode: u32, latency: u32, uses_gf16: bool) {
[INFO] [stdout]       |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30612 |     pub fn fits_arty_a7(&self) -> bool {
[INFO] [stdout]       |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30616 |     pub fn fits_xc7a100t(&self) -> bool {
[INFO] [stdout]       |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]      --> src/compiler.rs:30646:12
[INFO] [stdout]       |
[INFO] [stdout] 30645 | impl HirTernaryRegFile {
[INFO] [stdout]       | ---------------------- associated function in this implementation
[INFO] [stdout] 30646 |     pub fn new(name: &str) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HirResourceEstimate` is never constructed
[INFO] [stdout]      --> src/compiler.rs:30667:12
[INFO] [stdout]       |
[INFO] [stdout] 30667 | pub struct HirResourceEstimate {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `zero` and `new` are never used
[INFO] [stdout]      --> src/compiler.rs:30676:12
[INFO] [stdout]       |
[INFO] [stdout] 30675 | impl HirResourceEstimate {
[INFO] [stdout]       | ------------------------ associated functions in this implementation
[INFO] [stdout] 30676 |     pub fn zero() -> Self {
[INFO] [stdout]       |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30686 |     pub fn new(luts: u32, ffs: u32, bram18: u32, dsp48: u32, io_pins: u32) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HirIpCore` is never constructed
[INFO] [stdout]      --> src/compiler.rs:30698:12
[INFO] [stdout]       |
[INFO] [stdout] 30698 | pub struct HirIpCore {
[INFO] [stdout]       |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HirBoardResources` is never constructed
[INFO] [stdout]      --> src/compiler.rs:30706:12
[INFO] [stdout]       |
[INFO] [stdout] 30706 | pub struct HirBoardResources {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `arty_a7` and `xc7a100t` are never used
[INFO] [stdout]      --> src/compiler.rs:30716:12
[INFO] [stdout]       |
[INFO] [stdout] 30715 | impl HirBoardResources {
[INFO] [stdout]       | ---------------------- associated functions in this implementation
[INFO] [stdout] 30716 |     pub fn arty_a7() -> Self {
[INFO] [stdout]       |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30727 |     pub fn xc7a100t() -> Self {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HirIpCatalog` is never constructed
[INFO] [stdout]      --> src/compiler.rs:30740:12
[INFO] [stdout]       |
[INFO] [stdout] 30740 | pub struct HirIpCatalog {
[INFO] [stdout]       |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]      --> src/compiler.rs:30746:12
[INFO] [stdout]       |
[INFO] [stdout] 30745 | impl HirIpCatalog {
[INFO] [stdout]       | ----------------- associated items in this implementation
[INFO] [stdout] 30746 |     pub fn new(name: &str) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 30753 |     pub fn add_core(
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30771 |     pub fn total_luts(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30774 |     pub fn total_ffs(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30777 |     pub fn total_bram18(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30780 |     pub fn total_dsp48(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30784 |     pub fn fits_board(&self, board: &HirBoardResources) -> bool {
[INFO] [stdout]       |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30791 |     pub fn luts_remaining(&self, board: &HirBoardResources) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30795 |     pub fn utilization_percent(&self, board: &HirBoardResources) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30802 |     pub fn validate(&self) -> Vec<String> {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AsmSectionKind` is never used
[INFO] [stdout]      --> src/compiler.rs:30820:10
[INFO] [stdout]       |
[INFO] [stdout] 30820 | pub enum AsmSectionKind {
[INFO] [stdout]       |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_i8` and `to_i8` are never used
[INFO] [stdout]      --> src/compiler.rs:30828:12
[INFO] [stdout]       |
[INFO] [stdout] 30827 | impl AsmSectionKind {
[INFO] [stdout]       | ------------------- associated items in this implementation
[INFO] [stdout] 30828 |     pub fn from_i8(v: i8) -> Self {
[INFO] [stdout]       |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30837 |     pub fn to_i8(&self) -> i8 {
[INFO] [stdout]       |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AsmRelocKind` is never used
[INFO] [stdout]      --> src/compiler.rs:30848:10
[INFO] [stdout]       |
[INFO] [stdout] 30848 | pub enum AsmRelocKind {
[INFO] [stdout]       |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_i8` and `to_i8` are never used
[INFO] [stdout]      --> src/compiler.rs:30855:12
[INFO] [stdout]       |
[INFO] [stdout] 30854 | impl AsmRelocKind {
[INFO] [stdout]       | ----------------- associated items in this implementation
[INFO] [stdout] 30855 |     pub fn from_i8(v: i8) -> Self {
[INFO] [stdout]       |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30863 |     pub fn to_i8(&self) -> i8 {
[INFO] [stdout]       |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AssembledInstr` is never constructed
[INFO] [stdout]      --> src/compiler.rs:30873:12
[INFO] [stdout]       |
[INFO] [stdout] 30873 | pub struct AssembledInstr {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]      --> src/compiler.rs:30885:12
[INFO] [stdout]       |
[INFO] [stdout] 30884 | impl AssembledInstr {
[INFO] [stdout]       | ------------------- associated items in this implementation
[INFO] [stdout] 30885 |     pub fn r_type(opcode: u32, rd: u32, rs1: u32, rs2: u32) -> Self {
[INFO] [stdout]       |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30898 |     pub fn i_type(opcode: u32, rd: u32, rs1: u32, imm: u32) -> Self {
[INFO] [stdout]       |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30911 |     pub fn gf16(opcode: u32, rd: u32, rs1: u32, rs2: u32) -> Self {
[INFO] [stdout]       |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30924 |     pub fn is_r_type(&self) -> bool {
[INFO] [stdout]       |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30928 |     pub fn is_i_type(&self) -> bool {
[INFO] [stdout]       |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30932 |     pub fn is_gf16_instr(&self) -> bool {
[INFO] [stdout]       |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30936 |     pub fn encode_r_type(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30940 |     pub fn encode_i_type(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30944 |     pub fn encode(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AsmRelocEntry` is never constructed
[INFO] [stdout]      --> src/compiler.rs:30956:12
[INFO] [stdout]       |
[INFO] [stdout] 30956 | pub struct AsmRelocEntry {
[INFO] [stdout]       |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]      --> src/compiler.rs:30964:12
[INFO] [stdout]       |
[INFO] [stdout] 30963 | impl AsmRelocEntry {
[INFO] [stdout]       | ------------------ associated function in this implementation
[INFO] [stdout] 30964 |     pub fn new(offset: u32, kind: AsmRelocKind, symbol: &str, addend: u32) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AsmSymbol` is never constructed
[INFO] [stdout]      --> src/compiler.rs:30975:12
[INFO] [stdout]       |
[INFO] [stdout] 30975 | pub struct AsmSymbol {
[INFO] [stdout]       |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `validate` are never used
[INFO] [stdout]      --> src/compiler.rs:30984:12
[INFO] [stdout]       |
[INFO] [stdout] 30983 | impl AsmSymbol {
[INFO] [stdout]       | -------------- associated items in this implementation
[INFO] [stdout] 30984 |     pub fn new(name: &str, address: u32, section: AsmSectionKind, is_global: bool) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 30994 |     pub fn validate(&self) -> Vec<String> {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AsmSection` is never constructed
[INFO] [stdout]      --> src/compiler.rs:31004:12
[INFO] [stdout]       |
[INFO] [stdout] 31004 | pub struct AsmSection {
[INFO] [stdout]       |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `text`, `data`, `bss`, `rodata`, and `end` are never used
[INFO] [stdout]      --> src/compiler.rs:31012:12
[INFO] [stdout]       |
[INFO] [stdout] 31011 | impl AsmSection {
[INFO] [stdout]       | --------------- associated items in this implementation
[INFO] [stdout] 31012 |     pub fn text(base: u32) -> Self {
[INFO] [stdout]       |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31021 |     pub fn data(base: u32) -> Self {
[INFO] [stdout]       |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31030 |     pub fn bss(base: u32) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 31039 |     pub fn rodata(base: u32) -> Self {
[INFO] [stdout]       |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31048 |     pub fn end(&self) -> u32 {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AsmConfig` is never constructed
[INFO] [stdout]      --> src/compiler.rs:31054:12
[INFO] [stdout]       |
[INFO] [stdout] 31054 | pub struct AsmConfig {
[INFO] [stdout]       |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `instr_count`, and `validate` are never used
[INFO] [stdout]      --> src/compiler.rs:31064:12
[INFO] [stdout]       |
[INFO] [stdout] 31063 | impl AsmConfig {
[INFO] [stdout]       | -------------- associated items in this implementation
[INFO] [stdout] 31064 |     pub fn new(name: &str) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 31075 |     pub fn instr_count(&self, bytes: u32) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31082 |     pub fn validate(&self) -> Vec<String> {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `align_address` is never used
[INFO] [stdout]      --> src/compiler.rs:31094:8
[INFO] [stdout]       |
[INFO] [stdout] 31094 | pub fn align_address(addr: u32, alignment: u32) -> u32 {
[INFO] [stdout]       |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HirAssembler` is never constructed
[INFO] [stdout]      --> src/compiler.rs:31107:12
[INFO] [stdout]       |
[INFO] [stdout] 31107 | pub struct HirAssembler {
[INFO] [stdout]       |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]      --> src/compiler.rs:31118:12
[INFO] [stdout]       |
[INFO] [stdout] 31117 | impl HirAssembler {
[INFO] [stdout]       | ----------------- associated items in this implementation
[INFO] [stdout] 31118 |     pub fn new(name: &str) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 31133 |     pub fn with_config(config: AsmConfig) -> Self {
[INFO] [stdout]       |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31147 |     pub fn set_section(&mut self, name: &str) -> Result<(), String> {
[INFO] [stdout]       |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31157 |     pub fn emit_r(&mut self, opcode: u32, rd: u32, rs1: u32, rs2: u32) -> u32 {
[INFO] [stdout]       |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31167 |     pub fn emit_i(&mut self, opcode: u32, rd: u32, rs1: u32, imm: u32) -> u32 {
[INFO] [stdout]       |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31177 |     pub fn emit_gf16(&mut self, opcode: u32, rd: u32, rs1: u32, rs2: u32) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31187 |     pub fn define_symbol(&mut self, name: &str, is_global: bool) {
[INFO] [stdout]       |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31195 |     pub fn resolve_symbol(&self, name: &str) -> Option<u32> {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31202 |     pub fn add_relocation(&mut self, offset: u32, kind: AsmRelocKind, symbol: &str, addend: u32) {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31207 |     pub fn apply_relocations(&mut self) -> Result<u32, String> {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31230 |     pub fn total_bytes(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31234 |     pub fn total_instructions(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31238 |     pub fn encode_all(&self) -> Vec<u32> {
[INFO] [stdout]       |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31242 |     pub fn to_binary(&self) -> Vec<u8> {
[INFO] [stdout]       |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31251 |     pub fn validate(&self) -> Vec<String> {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `duty_cycle` and `phase_ns` are never read
[INFO] [stdout]      --> src/compiler.rs:31263:9
[INFO] [stdout]       |
[INFO] [stdout] 31261 | pub struct TbClockCfg {
[INFO] [stdout]       |            ---------- fields in this struct
[INFO] [stdout] 31262 |     pub period_ns: u32,
[INFO] [stdout] 31263 |     pub duty_cycle: u32,
[INFO] [stdout]       |         ^^^^^^^^^^
[INFO] [stdout] 31264 |     pub phase_ns: u32,
[INFO] [stdout]       |         ^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: `TbClockCfg` 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: method `reset_end_cycle` is never used
[INFO] [stdout]      --> src/compiler.rs:31297:12
[INFO] [stdout]       |
[INFO] [stdout] 31288 | impl TbResetCfg {
[INFO] [stdout]       | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 31297 |     pub fn reset_end_cycle(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `validate` are never used
[INFO] [stdout]      --> src/compiler.rs:31310:12
[INFO] [stdout]       |
[INFO] [stdout] 31309 | impl TbStimulus {
[INFO] [stdout]       | --------------- associated items in this implementation
[INFO] [stdout] 31310 |     pub fn new(cycle: u32, signal: &str, value: u32) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 31318 |     pub fn validate(&self) -> Vec<String> {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_mask`, and `validate` are never used
[INFO] [stdout]      --> src/compiler.rs:31336:12
[INFO] [stdout]       |
[INFO] [stdout] 31335 | impl TbCheck {
[INFO] [stdout]       | ------------ associated items in this implementation
[INFO] [stdout] 31336 |     pub fn new(cycle: u32, signal: &str, expected: u32) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 31345 |     pub fn with_mask(cycle: u32, signal: &str, expected: u32, mask: u32) -> Self {
[INFO] [stdout]       |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31354 |     pub fn validate(&self) -> Vec<String> {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `fail_fast` is never read
[INFO] [stdout]      --> src/compiler.rs:31370:9
[INFO] [stdout]       |
[INFO] [stdout] 31364 | pub struct TbConfig {
[INFO] [stdout]       |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 31370 |     pub fail_fast: bool,
[INFO] [stdout]       |         ^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: `TbConfig` 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: method `validate` is never used
[INFO] [stdout]      --> src/compiler.rs:31385:12
[INFO] [stdout]       |
[INFO] [stdout] 31373 | impl TbConfig {
[INFO] [stdout]       | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 31385 |     pub fn validate(&self) -> Vec<String> {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_stimulus`, `add_check`, `add_check_masked`, and `validate` are never used
[INFO] [stdout]      --> src/compiler.rs:31419:12
[INFO] [stdout]       |
[INFO] [stdout] 31407 | impl HirTestbench {
[INFO] [stdout]       | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 31419 |     pub fn add_stimulus(&mut self, cycle: u32, signal: &str, value: u32) {
[INFO] [stdout]       |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31423 |     pub fn add_check(&mut self, cycle: u32, signal: &str, expected: u32) {
[INFO] [stdout]       |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31427 |     pub fn add_check_masked(&mut self, cycle: u32, signal: &str, expected: u32, mask: u32) {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31553 |     pub fn validate(&self) -> Vec<String> {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `VcdVarKind` is never used
[INFO] [stdout]      --> src/compiler.rs:31566:10
[INFO] [stdout]       |
[INFO] [stdout] 31566 | pub enum VcdVarKind {
[INFO] [stdout]       |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `vcd_str` is never used
[INFO] [stdout]      --> src/compiler.rs:31574:12
[INFO] [stdout]       |
[INFO] [stdout] 31573 | impl VcdVarKind {
[INFO] [stdout]       | --------------- method in this implementation
[INFO] [stdout] 31574 |     pub fn vcd_str(&self) -> &'static str {
[INFO] [stdout]       |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VcdVar` is never constructed
[INFO] [stdout]      --> src/compiler.rs:31585:12
[INFO] [stdout]       |
[INFO] [stdout] 31585 | pub struct VcdVar {
[INFO] [stdout]       |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `wire`, `reg`, and `validate` are never used
[INFO] [stdout]      --> src/compiler.rs:31593:12
[INFO] [stdout]       |
[INFO] [stdout] 31592 | impl VcdVar {
[INFO] [stdout]       | ----------- associated items in this implementation
[INFO] [stdout] 31593 |     pub fn wire(size: u32, name: &str, ident: &str) -> Self {
[INFO] [stdout]       |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31602 |     pub fn reg(size: u32, name: &str, ident: &str) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 31611 |     pub fn validate(&self) -> Vec<String> {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VcdChange` is never constructed
[INFO] [stdout]      --> src/compiler.rs:31624:12
[INFO] [stdout]       |
[INFO] [stdout] 31624 | pub struct VcdChange {
[INFO] [stdout]       |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `format_binary`, and `validate` are never used
[INFO] [stdout]      --> src/compiler.rs:31632:12
[INFO] [stdout]       |
[INFO] [stdout] 31631 | impl VcdChange {
[INFO] [stdout]       | -------------- associated items in this implementation
[INFO] [stdout] 31632 |     pub fn new(ts: u64, ident: &str, value: u32, width: u32) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 31641 |     pub fn format_binary(&self) -> String {
[INFO] [stdout]       |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31657 |     pub fn validate(&self) -> Vec<String> {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VcdHeader` is never constructed
[INFO] [stdout]      --> src/compiler.rs:31670:12
[INFO] [stdout]       |
[INFO] [stdout] 31670 | pub struct VcdHeader {
[INFO] [stdout]       |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]      --> src/compiler.rs:31678:12
[INFO] [stdout]       |
[INFO] [stdout] 31677 | impl VcdHeader {
[INFO] [stdout]       | -------------- associated function in this implementation
[INFO] [stdout] 31678 |     pub fn new(version: &str, timescale: &str) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HirVcdTrace` is never constructed
[INFO] [stdout]      --> src/compiler.rs:31689:12
[INFO] [stdout]       |
[INFO] [stdout] 31689 | pub struct HirVcdTrace {
[INFO] [stdout]       |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]      --> src/compiler.rs:31697:12
[INFO] [stdout]       |
[INFO] [stdout] 31696 | impl HirVcdTrace {
[INFO] [stdout]       | ---------------- associated items in this implementation
[INFO] [stdout] 31697 |     pub fn new(version: &str) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 31706 |     pub fn add_var(&mut self, kind: VcdVarKind, size: u32, name: &str) {
[INFO] [stdout]       |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31717 |     pub fn add_wire(&mut self, size: u32, name: &str) {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31721 |     pub fn add_reg(&mut self, size: u32, name: &str) {
[INFO] [stdout]       |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31725 |     pub fn record(&mut self, timestamp_ps: u64, var_name: &str, value: u32) {
[INFO] [stdout]       |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31737 |     pub fn changes_at(&self, ts: u64) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31741 |     pub fn earliest_timestamp(&self) -> u64 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31749 |     pub fn latest_timestamp(&self) -> u64 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31757 |     pub fn duration_ps(&self) -> u64 {
[INFO] [stdout]       |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31765 |     pub fn ident_from_index(idx: usize) -> String {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31778 |     pub fn emit_vcd(&self) -> String {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31821 |     pub fn validate(&self) -> Vec<String> {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LinkSection` is never constructed
[INFO] [stdout]      --> src/compiler.rs:31834:12
[INFO] [stdout]       |
[INFO] [stdout] 31834 | pub struct LinkSection {
[INFO] [stdout]       |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `text`, `data`, `bss`, and `end` are never used
[INFO] [stdout]      --> src/compiler.rs:31843:12
[INFO] [stdout]       |
[INFO] [stdout] 31842 | impl LinkSection {
[INFO] [stdout]       | ---------------- associated items in this implementation
[INFO] [stdout] 31843 |     pub fn text(vaddr: u32, size: u32) -> Self {
[INFO] [stdout]       |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31853 |     pub fn data(vaddr: u32, size: u32) -> Self {
[INFO] [stdout]       |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31863 |     pub fn bss(vaddr: u32, size: u32) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 31873 |     pub fn end(&self) -> u32 {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LinkedSymbol` is never constructed
[INFO] [stdout]      --> src/compiler.rs:31879:12
[INFO] [stdout]       |
[INFO] [stdout] 31879 | pub struct LinkedSymbol {
[INFO] [stdout]       |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `is_global`, `is_local`, and `validate` are never used
[INFO] [stdout]      --> src/compiler.rs:31889:12
[INFO] [stdout]       |
[INFO] [stdout] 31888 | impl LinkedSymbol {
[INFO] [stdout]       | ----------------- associated items in this implementation
[INFO] [stdout] 31889 |     pub fn new(name: &str, value: u32, section_idx: u32) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 31900 |     pub fn is_global(&self) -> bool {
[INFO] [stdout]       |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31904 |     pub fn is_local(&self) -> bool {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31908 |     pub fn validate(&self) -> Vec<String> {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LinkSegment` is never constructed
[INFO] [stdout]      --> src/compiler.rs:31918:12
[INFO] [stdout]       |
[INFO] [stdout] 31918 | pub struct LinkSegment {
[INFO] [stdout]       |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `text` and `data` are never used
[INFO] [stdout]      --> src/compiler.rs:31927:12
[INFO] [stdout]       |
[INFO] [stdout] 31926 | impl LinkSegment {
[INFO] [stdout]       | ---------------- associated functions in this implementation
[INFO] [stdout] 31927 |     pub fn text(vaddr: u32, size: u32) -> Self {
[INFO] [stdout]       |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31937 |     pub fn data(vaddr: u32, memsz: u32, filesz: u32) -> Self {
[INFO] [stdout]       |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LinkerConfig` is never constructed
[INFO] [stdout]      --> src/compiler.rs:31949:12
[INFO] [stdout]       |
[INFO] [stdout] 31949 | pub struct LinkerConfig {
[INFO] [stdout]       |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `stack_top`, `heap_start`, and `validate` are never used
[INFO] [stdout]      --> src/compiler.rs:31959:12
[INFO] [stdout]       |
[INFO] [stdout] 31958 | impl LinkerConfig {
[INFO] [stdout]       | ----------------- associated items in this implementation
[INFO] [stdout] 31959 |     pub fn new(entry: &str) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 31970 |     pub fn stack_top(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31974 |     pub fn heap_start(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31980 |     pub fn validate(&self) -> Vec<String> {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LinkResult` is never constructed
[INFO] [stdout]      --> src/compiler.rs:31990:12
[INFO] [stdout]       |
[INFO] [stdout] 31990 | pub struct LinkResult {
[INFO] [stdout]       |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `ok`, `fail`, `total_image_size`, and `passed` are never used
[INFO] [stdout]      --> src/compiler.rs:32001:12
[INFO] [stdout]       |
[INFO] [stdout] 32000 | impl LinkResult {
[INFO] [stdout]       | --------------- associated items in this implementation
[INFO] [stdout] 32001 |     pub fn ok(entry: u32, text: u32, data: u32, bss: u32) -> Self {
[INFO] [stdout]       |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 32013 |     pub fn fail(errors: u32) -> Self {
[INFO] [stdout]       |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32025 |     pub fn total_image_size(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32031 |     pub fn passed(&self) -> bool {
[INFO] [stdout]       |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HirLinker` is never constructed
[INFO] [stdout]      --> src/compiler.rs:32037:12
[INFO] [stdout]       |
[INFO] [stdout] 32037 | pub struct HirLinker {
[INFO] [stdout]       |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]      --> src/compiler.rs:32047:12
[INFO] [stdout]       |
[INFO] [stdout] 32046 | impl HirLinker {
[INFO] [stdout]       | -------------- associated items in this implementation
[INFO] [stdout] 32047 |     pub fn new(entry: &str) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 32058 |     pub fn add_object(&mut self, asm: &HirAssembler) {
[INFO] [stdout]       |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32067 |     pub fn link(&mut self) -> LinkResult {
[INFO] [stdout]       |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32101 |     pub fn resolve_entry(&self) -> Option<u32> {
[INFO] [stdout]       |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32113 |     pub fn resolve_symbol(&self, name: &str) -> Option<u32> {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32120 |     pub fn emit_image(&self) -> Vec<u8> {
[INFO] [stdout]       |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32131 |     pub fn emit_hex(&self) -> String {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32157 |     pub fn validate(&self) -> Vec<String> {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ArcKind` is never used
[INFO] [stdout]      --> src/compiler.rs:32167:10
[INFO] [stdout]       |
[INFO] [stdout] 32167 | pub enum ArcKind {
[INFO] [stdout]       |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_i8` is never used
[INFO] [stdout]      --> src/compiler.rs:32176:12
[INFO] [stdout]       |
[INFO] [stdout] 32175 | impl ArcKind {
[INFO] [stdout]       | ------------ associated function in this implementation
[INFO] [stdout] 32176 |     pub fn from_i8(v: i8) -> Self {
[INFO] [stdout]       |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TimingArc` is never constructed
[INFO] [stdout]      --> src/compiler.rs:32189:12
[INFO] [stdout]       |
[INFO] [stdout] 32189 | pub struct TimingArc {
[INFO] [stdout]       |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `comb`, `reg_to_reg`, and `input_to_reg` are never used
[INFO] [stdout]      --> src/compiler.rs:32197:12
[INFO] [stdout]       |
[INFO] [stdout] 32196 | impl TimingArc {
[INFO] [stdout]       | -------------- associated functions in this implementation
[INFO] [stdout] 32197 |     pub fn comb(source: &str, sink: &str, delay_ps: u32) -> Self {
[INFO] [stdout]       |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32205 |     pub fn reg_to_reg(source: &str, sink: &str, delay_ps: u32) -> Self {
[INFO] [stdout]       |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32213 |     pub fn input_to_reg(source: &str, sink: &str, delay_ps: u32) -> Self {
[INFO] [stdout]       |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TimingPath` is never constructed
[INFO] [stdout]      --> src/compiler.rs:32224:12
[INFO] [stdout]       |
[INFO] [stdout] 32224 | pub struct TimingPath {
[INFO] [stdout]       |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `is_met`, and `is_violated` are never used
[INFO] [stdout]      --> src/compiler.rs:32233:12
[INFO] [stdout]       |
[INFO] [stdout] 32232 | impl TimingPath {
[INFO] [stdout]       | --------------- associated items in this implementation
[INFO] [stdout] 32233 |     pub fn new(start: &str, end: &str, delay: u32, slack: i64) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 32242 |     pub fn is_met(&self) -> bool {
[INFO] [stdout]       |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32245 |     pub fn is_violated(&self) -> bool {
[INFO] [stdout]       |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TimingConstraint` is never constructed
[INFO] [stdout]      --> src/compiler.rs:32251:12
[INFO] [stdout]       |
[INFO] [stdout] 32251 | pub struct TimingConstraint {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_period`, `from_mhz`, and `validate` are never used
[INFO] [stdout]      --> src/compiler.rs:32258:12
[INFO] [stdout]       |
[INFO] [stdout] 32257 | impl TimingConstraint {
[INFO] [stdout]       | --------------------- associated items in this implementation
[INFO] [stdout] 32258 |     pub fn from_period(name: &str, period_ps: u32) -> Self {
[INFO] [stdout]       |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32276 |     pub fn from_mhz(name: &str, mhz: u32) -> Self {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32288 |     pub fn validate(&self) -> Vec<String> {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TimingReport` is never constructed
[INFO] [stdout]      --> src/compiler.rs:32301:12
[INFO] [stdout]       |
[INFO] [stdout] 32301 | pub struct TimingReport {
[INFO] [stdout]       |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `ok`, `fail`, and `passed` are never used
[INFO] [stdout]      --> src/compiler.rs:32312:12
[INFO] [stdout]       |
[INFO] [stdout] 32311 | impl TimingReport {
[INFO] [stdout]       | ----------------- associated items in this implementation
[INFO] [stdout] 32312 |     pub fn ok(critical_ps: u32, fmax: u32) -> Self {
[INFO] [stdout]       |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 32323 |     pub fn fail(critical_ps: u32) -> Self {
[INFO] [stdout]       |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32334 |     pub fn passed(&self) -> bool {
[INFO] [stdout]       |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TimingModel` is never constructed
[INFO] [stdout]      --> src/compiler.rs:32339:12
[INFO] [stdout]       |
[INFO] [stdout] 32339 | pub struct TimingModel;
[INFO] [stdout]       |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]      --> src/compiler.rs:32342:15
[INFO] [stdout]       |
[INFO] [stdout] 32341 | impl TimingModel {
[INFO] [stdout]       | ---------------- associated items in this implementation
[INFO] [stdout] 32342 |     pub const LUT_DELAY_PS: u32 = 100;
[INFO] [stdout]       |               ^^^^^^^^^^^^
[INFO] [stdout] 32343 |     pub const BRAM_DELAY_PS: u32 = 2000;
[INFO] [stdout]       |               ^^^^^^^^^^^^^
[INFO] [stdout] 32344 |     pub const DSP_DELAY_PS: u32 = 2500;
[INFO] [stdout]       |               ^^^^^^^^^^^^
[INFO] [stdout] 32345 |     pub const ROUTING_DELAY_PS: u32 = 300;
[INFO] [stdout]       |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 32346 |     pub const SETUP_TIME_PS: u32 = 200;
[INFO] [stdout]       |               ^^^^^^^^^^^^^
[INFO] [stdout] 32347 |     pub const HOLD_TIME_PS: u32 = 50;
[INFO] [stdout]       |               ^^^^^^^^^^^^
[INFO] [stdout] 32348 |
[INFO] [stdout] 32349 |     pub fn est_comb_delay(num_luts: u32) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32353 |     pub fn est_reg_to_reg_delay(num_luts: u32) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32357 |     pub fn slack(delay_ps: u32, constraint_ps: u32) -> i64 {
[INFO] [stdout]       |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32361 |     pub fn fmax_from_delay(delay_ps: u32) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32368 |     pub fn analyze_module(module: &HirModule, constraint: &TimingConstraint) -> TimingReport {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `path_delay` is never used
[INFO] [stdout]      --> src/compiler.rs:32429:8
[INFO] [stdout]       |
[INFO] [stdout] 32429 | pub fn path_delay(arcs: &[TimingArc]) -> u32 {
[INFO] [stdout]       |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `worst_path_delay` is never used
[INFO] [stdout]      --> src/compiler.rs:32433:8
[INFO] [stdout]       |
[INFO] [stdout] 32433 | pub fn worst_path_delay(paths: &[TimingPath]) -> u32 {
[INFO] [stdout]       |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PowerDomain` is never constructed
[INFO] [stdout]      --> src/compiler.rs:32441:12
[INFO] [stdout]       |
[INFO] [stdout] 32441 | pub struct PowerDomain {
[INFO] [stdout]       |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `validate` are never used
[INFO] [stdout]      --> src/compiler.rs:32449:12
[INFO] [stdout]       |
[INFO] [stdout] 32448 | impl PowerDomain {
[INFO] [stdout]       | ---------------- associated items in this implementation
[INFO] [stdout] 32449 |     pub fn new(name: &str, clock_mhz: u32) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 32457 |     pub fn validate(&self) -> Vec<String> {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PowerEstimate` is never constructed
[INFO] [stdout]      --> src/compiler.rs:32470:12
[INFO] [stdout]       |
[INFO] [stdout] 32470 | pub struct PowerEstimate {
[INFO] [stdout]       |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PowerModel` is never constructed
[INFO] [stdout]      --> src/compiler.rs:32480:12
[INFO] [stdout]       |
[INFO] [stdout] 32480 | pub struct PowerModel;
[INFO] [stdout]       |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]      --> src/compiler.rs:32483:15
[INFO] [stdout]       |
[INFO] [stdout] 32482 | impl PowerModel {
[INFO] [stdout]       | --------------- associated items in this implementation
[INFO] [stdout] 32483 |     pub const LUT_POWER_UW_PER_MHZ: u32 = 10;
[INFO] [stdout]       |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 32484 |     pub const FF_POWER_UW_PER_MHZ: u32 = 5;
[INFO] [stdout]       |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 32485 |     pub const BRAM_POWER_UW_PER_MHZ: u32 = 50;
[INFO] [stdout]       |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 32486 |     pub const DSP_POWER_UW_PER_MHZ: u32 = 100;
[INFO] [stdout]       |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 32487 |     pub const IO_POWER_UW_PER_MHZ: u32 = 20;
[INFO] [stdout]       |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 32488 |     pub const STATIC_BASE_MW: u32 = 50;
[INFO] [stdout]       |               ^^^^^^^^^^^^^^
[INFO] [stdout] 32489 |     pub const STATIC_PER_RESOURCE_UW: u32 = 100;
[INFO] [stdout]       |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 32490 |
[INFO] [stdout] 32491 |     pub fn est_lut_dynamic(luts: u32, clock_mhz: u32, toggle_rate: u32) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32494 |     pub fn est_ff_dynamic(ffs: u32, clock_mhz: u32, toggle_rate: u32) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32497 |     pub fn est_bram_dynamic(brams: u32, clock_mhz: u32) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32500 |     pub fn est_dsp_dynamic(dsps: u32, clock_mhz: u32) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32503 |     pub fn est_static(total_resources: u32) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32507 |     pub fn estimate_module(module: &HirModule, clock_mhz: u32, toggle_rate: u32) -> PowerEstimate {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RegionKind` is never used
[INFO] [stdout]      --> src/compiler.rs:32547:10
[INFO] [stdout]       |
[INFO] [stdout] 32547 | pub enum RegionKind {
[INFO] [stdout]       |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PlacementRegion` is never constructed
[INFO] [stdout]      --> src/compiler.rs:32556:12
[INFO] [stdout]       |
[INFO] [stdout] 32556 | pub struct PlacementRegion {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]      --> src/compiler.rs:32566:12
[INFO] [stdout]       |
[INFO] [stdout] 32565 | impl PlacementRegion {
[INFO] [stdout]       | -------------------- associated items in this implementation
[INFO] [stdout] 32566 |     pub fn logic(name: &str, x0: u32, y0: u32, x1: u32, y1: u32) -> Self {
[INFO] [stdout]       |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32576 |     pub fn bram_col(name: &str, col: u32, y0: u32, y1: u32) -> Self {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32586 |     pub fn dsp_col(name: &str, col: u32, y0: u32, y1: u32) -> Self {
[INFO] [stdout]       |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32596 |     pub fn width(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32599 |     pub fn height(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32602 |     pub fn area(&self) -> u32 {
[INFO] [stdout]       |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32605 |     pub fn overlaps(&self, other: &PlacementRegion) -> bool {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32608 |     pub fn validate(&self) -> Vec<String> {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PlacementHint` is never constructed
[INFO] [stdout]      --> src/compiler.rs:32624:12
[INFO] [stdout]       |
[INFO] [stdout] 32624 | pub struct PlacementHint {
[INFO] [stdout]       |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `validate` are never used
[INFO] [stdout]      --> src/compiler.rs:32631:12
[INFO] [stdout]       |
[INFO] [stdout] 32630 | impl PlacementHint {
[INFO] [stdout]       | ------------------ associated items in this implementation
[INFO] [stdout] 32631 |     pub fn new(module: &str, region: &str, priority: u32) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 32638 |     pub fn validate(&self) -> Vec<String> {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RouteConstraint` is never constructed
[INFO] [stdout]      --> src/compiler.rs:32651:12
[INFO] [stdout]       |
[INFO] [stdout] 32651 | pub struct RouteConstraint {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Floorplan` is never constructed
[INFO] [stdout]      --> src/compiler.rs:32658:12
[INFO] [stdout]       |
[INFO] [stdout] 32658 | pub struct Floorplan {
[INFO] [stdout]       |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]      --> src/compiler.rs:32667:12
[INFO] [stdout]       |
[INFO] [stdout] 32666 | impl Floorplan {
[INFO] [stdout]       | -------------- associated items in this implementation
[INFO] [stdout] 32667 |     pub fn new(name: &str, device: &str) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 32677 |     pub fn add_region(&mut self, region: PlacementRegion) {
[INFO] [stdout]       |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32681 |     pub fn add_hint(&mut self, module: &str, region: &str, priority: u32) {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32686 |     pub fn add_route(&mut self, source: &str, sink: &str, max_delay_ps: u32) {
[INFO] [stdout]       |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32694 |     pub fn auto_floorplan(&mut self, module: &HirModule) {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32735 |     pub fn check_overlaps(&self) -> Vec<(String, String)> {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32747 |     pub fn total_area(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32751 |     pub fn validate(&self) -> Vec<String> {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BitstreamMeta` is never constructed
[INFO] [stdout]      --> src/compiler.rs:32764:12
[INFO] [stdout]       |
[INFO] [stdout] 32764 | pub struct BitstreamMeta {
[INFO] [stdout]       |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `compute_checksum`, `with_checksum`, `verify`, and `validate` are never used
[INFO] [stdout]      --> src/compiler.rs:32774:12
[INFO] [stdout]       |
[INFO] [stdout] 32773 | impl BitstreamMeta {
[INFO] [stdout]       | ------------------ associated items in this implementation
[INFO] [stdout] 32774 |     pub fn new(device: &str, size_bytes: u32) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 32785 |     pub fn compute_checksum(data: &[u8]) -> u64 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32794 |     pub fn with_checksum(mut self, data: &[u8]) -> Self {
[INFO] [stdout]       |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32800 |     pub fn verify(&self, data: &[u8]) -> bool {
[INFO] [stdout]       |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32804 |     pub fn validate(&self) -> Vec<String> {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FpgaNode` is never constructed
[INFO] [stdout]      --> src/compiler.rs:32817:12
[INFO] [stdout]       |
[INFO] [stdout] 32817 | pub struct FpgaNode {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `arty_a7`, `util`, `remaining`, and `validate` are never used
[INFO] [stdout]      --> src/compiler.rs:32828:12
[INFO] [stdout]       |
[INFO] [stdout] 32827 | impl FpgaNode {
[INFO] [stdout]       | ------------- associated items in this implementation
[INFO] [stdout] 32828 |     pub fn arty_a7(name: &str) -> Self {
[INFO] [stdout]       |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32839 |     pub fn util(&self, used_luts: u32) -> u32 {
[INFO] [stdout]       |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32845 |     pub fn remaining(&self, used_luts: u32) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32848 |     pub fn validate(&self) -> Vec<String> {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InterFpgaLink` is never constructed
[INFO] [stdout]      --> src/compiler.rs:32861:12
[INFO] [stdout]       |
[INFO] [stdout] 32861 | pub struct InterFpgaLink {
[INFO] [stdout]       |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `lvds`, `serdes`, and `bandwidth_mbps` are never used
[INFO] [stdout]      --> src/compiler.rs:32870:12
[INFO] [stdout]       |
[INFO] [stdout] 32869 | impl InterFpgaLink {
[INFO] [stdout]       | ------------------ associated items in this implementation
[INFO] [stdout] 32870 |     pub fn lvds(a: u32, b: u32, width: u32) -> Self {
[INFO] [stdout]       |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32879 |     pub fn serdes(a: u32, b: u32) -> Self {
[INFO] [stdout]       |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32888 |     pub fn bandwidth_mbps(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PartitionAssign` is never constructed
[INFO] [stdout]      --> src/compiler.rs:32894:12
[INFO] [stdout]       |
[INFO] [stdout] 32894 | pub struct PartitionAssign {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PartitionResult` is never constructed
[INFO] [stdout]      --> src/compiler.rs:32904:12
[INFO] [stdout]       |
[INFO] [stdout] 32904 | pub struct PartitionResult {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `ok`, `fail`, and `passed` are never used
[INFO] [stdout]      --> src/compiler.rs:32914:12
[INFO] [stdout]       |
[INFO] [stdout] 32913 | impl PartitionResult {
[INFO] [stdout]       | -------------------- associated items in this implementation
[INFO] [stdout] 32914 |     pub fn ok(fpgas: u32, assigns: u32, links: u32, bw: u32) -> Self {
[INFO] [stdout]       |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 32924 |     pub fn fail(errors: u32) -> Self {
[INFO] [stdout]       |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32934 |     pub fn passed(&self) -> bool {
[INFO] [stdout]       |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HirPartitioner` is never constructed
[INFO] [stdout]      --> src/compiler.rs:32940:12
[INFO] [stdout]       |
[INFO] [stdout] 32940 | pub struct HirPartitioner {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]      --> src/compiler.rs:32947:12
[INFO] [stdout]       |
[INFO] [stdout] 32946 | impl HirPartitioner {
[INFO] [stdout]       | ------------------- associated items in this implementation
[INFO] [stdout] 32947 |     pub fn new() -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 32955 |     pub fn add_fpga(&mut self, fpga: FpgaNode) {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32959 |     pub fn add_link(&mut self, link: InterFpgaLink) {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32963 |     pub fn total_bandwidth(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32967 |     pub fn fpga_usage(&self, fpga_idx: u32) -> (u32, u32, u32, u32) {
[INFO] [stdout]       |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32978 |     pub fn fits(&self, fpga_idx: u32, luts: u32, ffs: u32, bram: u32, dsp: u32) -> bool {
[INFO] [stdout]       |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32990 |     pub fn assign(
[INFO] [stdout]       |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33013 |     pub fn auto_partition(&mut self, modules: &[(String, u32, u32, u32, u32)]) -> PartitionResult {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33037 |     fn check_balanced(&self) -> bool {
[INFO] [stdout]       |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ConnEdgeKind` is never used
[INFO] [stdout]      --> src/compiler.rs:33057:10
[INFO] [stdout]       |
[INFO] [stdout] 33057 | pub enum ConnEdgeKind {
[INFO] [stdout]       |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConnEdge` is never constructed
[INFO] [stdout]      --> src/compiler.rs:33065:12
[INFO] [stdout]       |
[INFO] [stdout] 33065 | pub struct ConnEdge {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `data` and `clock` are never used
[INFO] [stdout]      --> src/compiler.rs:33073:12
[INFO] [stdout]       |
[INFO] [stdout] 33072 | impl ConnEdge {
[INFO] [stdout]       | ------------- associated functions in this implementation
[INFO] [stdout] 33073 |     pub fn data(source: &str, sink: &str, width: u32) -> Self {
[INFO] [stdout]       |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33081 |     pub fn clock(source: &str, sink: &str) -> Self {
[INFO] [stdout]       |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FanoutInfo` is never constructed
[INFO] [stdout]      --> src/compiler.rs:33092:12
[INFO] [stdout]       |
[INFO] [stdout] 33092 | pub struct FanoutInfo {
[INFO] [stdout]       |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_high_fanout` and `is_clock_network` are never used
[INFO] [stdout]      --> src/compiler.rs:33099:12
[INFO] [stdout]       |
[INFO] [stdout] 33098 | impl FanoutInfo {
[INFO] [stdout]       | --------------- methods in this implementation
[INFO] [stdout] 33099 |     pub fn is_high_fanout(&self) -> bool {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33102 |     pub fn is_clock_network(&self) -> bool {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RouteEstimate` is never constructed
[INFO] [stdout]      --> src/compiler.rs:33108:12
[INFO] [stdout]       |
[INFO] [stdout] 33108 | pub struct RouteEstimate {
[INFO] [stdout]       |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `passed` is never used
[INFO] [stdout]      --> src/compiler.rs:33118:12
[INFO] [stdout]       |
[INFO] [stdout] 33117 | impl RouteEstimate {
[INFO] [stdout]       | ------------------ method in this implementation
[INFO] [stdout] 33118 |     pub fn passed(&self) -> bool {
[INFO] [stdout]       |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RouteModel` is never constructed
[INFO] [stdout]      --> src/compiler.rs:33123:12
[INFO] [stdout]       |
[INFO] [stdout] 33123 | pub struct RouteModel;
[INFO] [stdout]       |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `LOCAL_WIRE_UM`, `MEDIUM_WIRE_UM`, `LONG_WIRE_UM`, `est_wire_length`, and `est_congestion` are never used
[INFO] [stdout]      --> src/compiler.rs:33126:15
[INFO] [stdout]       |
[INFO] [stdout] 33125 | impl RouteModel {
[INFO] [stdout]       | --------------- associated items in this implementation
[INFO] [stdout] 33126 |     pub const LOCAL_WIRE_UM: u32 = 500;
[INFO] [stdout]       |               ^^^^^^^^^^^^^
[INFO] [stdout] 33127 |     pub const MEDIUM_WIRE_UM: u32 = 2000;
[INFO] [stdout]       |               ^^^^^^^^^^^^^^
[INFO] [stdout] 33128 |     pub const LONG_WIRE_UM: u32 = 5000;
[INFO] [stdout]       |               ^^^^^^^^^^^^
[INFO] [stdout] 33129 |
[INFO] [stdout] 33130 |     pub fn est_wire_length(fanout: u32) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33139 |     pub fn est_congestion(nets: u32, die_area_mm2: u32) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HirRouter` is never constructed
[INFO] [stdout]      --> src/compiler.rs:33148:12
[INFO] [stdout]       |
[INFO] [stdout] 33148 | pub struct HirRouter {
[INFO] [stdout]       |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add_edge`, `analyze_fanout`, and `analyze_module` are never used
[INFO] [stdout]      --> src/compiler.rs:33154:12
[INFO] [stdout]       |
[INFO] [stdout] 33153 | impl HirRouter {
[INFO] [stdout]       | -------------- associated items in this implementation
[INFO] [stdout] 33154 |     pub fn new() -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 33161 |     pub fn add_edge(&mut self, edge: ConnEdge) {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33165 |     pub fn analyze_fanout(&mut self) {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33184 |     pub fn analyze_module(module: &HirModule) -> RouteEstimate {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ScanChain` is never constructed
[INFO] [stdout]      --> src/compiler.rs:33226:12
[INFO] [stdout]       |
[INFO] [stdout] 33226 | pub struct ScanChain {
[INFO] [stdout]       |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `cycles`, `bytes`, and `validate` are never used
[INFO] [stdout]      --> src/compiler.rs:33233:12
[INFO] [stdout]       |
[INFO] [stdout] 33232 | impl ScanChain {
[INFO] [stdout]       | -------------- associated items in this implementation
[INFO] [stdout] 33233 |     pub fn new(name: &str, regs: u32) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 33240 |     pub fn cycles(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33243 |     pub fn bytes(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33246 |     pub fn validate(&self) -> Vec<String> {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `BistKind` is never used
[INFO] [stdout]      --> src/compiler.rs:33259:10
[INFO] [stdout]       |
[INFO] [stdout] 33259 | pub enum BistKind {
[INFO] [stdout]       |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BistCtrl` is never constructed
[INFO] [stdout]      --> src/compiler.rs:33266:12
[INFO] [stdout]       |
[INFO] [stdout] 33266 | pub struct BistCtrl {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `memory`, `logic`, `cycles`, `coverage`, and `validate` are never used
[INFO] [stdout]      --> src/compiler.rs:33274:12
[INFO] [stdout]       |
[INFO] [stdout] 33273 | impl BistCtrl {
[INFO] [stdout]       | ------------- associated items in this implementation
[INFO] [stdout] 33274 |     pub fn memory(name: &str, patterns: u32) -> Self {
[INFO] [stdout]       |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33282 |     pub fn logic(name: &str, patterns: u32) -> Self {
[INFO] [stdout]       |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33290 |     pub fn cycles(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33293 |     pub fn coverage(&self, total_faults: u32) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33299 |     pub fn validate(&self) -> Vec<String> {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `JtagTap` is never constructed
[INFO] [stdout]      --> src/compiler.rs:33312:12
[INFO] [stdout]       |
[INFO] [stdout] 33312 | pub struct JtagTap {
[INFO] [stdout]       |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `total_bits`, and `validate` are never used
[INFO] [stdout]      --> src/compiler.rs:33321:12
[INFO] [stdout]       |
[INFO] [stdout] 33320 | impl JtagTap {
[INFO] [stdout]       | ------------ associated items in this implementation
[INFO] [stdout] 33321 |     pub fn new(name: &str, ir_width: u32, idcode: u32) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 33330 |     pub fn total_bits(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33333 |     pub fn validate(&self) -> Vec<String> {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestCoverage` is never constructed
[INFO] [stdout]      --> src/compiler.rs:33346:12
[INFO] [stdout]       |
[INFO] [stdout] 33346 | pub struct TestCoverage {
[INFO] [stdout]       |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `is_acceptable` are never used
[INFO] [stdout]      --> src/compiler.rs:33354:12
[INFO] [stdout]       |
[INFO] [stdout] 33353 | impl TestCoverage {
[INFO] [stdout]       | ----------------- associated items in this implementation
[INFO] [stdout] 33354 |     pub fn new(scan: u32, bist: u32, atpg: u32) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 33362 |     pub fn is_acceptable(&self) -> bool {
[INFO] [stdout]       |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HirDft` is never constructed
[INFO] [stdout]      --> src/compiler.rs:33368:12
[INFO] [stdout]       |
[INFO] [stdout] 33368 | pub struct HirDft {
[INFO] [stdout]       |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]      --> src/compiler.rs:33376:12
[INFO] [stdout]       |
[INFO] [stdout] 33375 | impl HirDft {
[INFO] [stdout]       | ----------- associated items in this implementation
[INFO] [stdout] 33376 |     pub fn new() -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 33385 |     pub fn add_scan_chain(&mut self, name: &str, regs: u32) {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33389 |     pub fn add_memory_bist(&mut self, name: &str, patterns: u32) {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33393 |     pub fn add_logic_bist(&mut self, name: &str, patterns: u32) {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33397 |     pub fn set_jtag(&mut self, tap: JtagTap) {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33401 |     pub fn total_scan_regs(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33405 |     pub fn total_scan_cycles(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33409 |     pub fn total_bist_cycles(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33413 |     pub fn est_test_time_cycles(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33417 |     pub fn coverage_estimate(&self) -> TestCoverage {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33428 |     pub fn validate(&self) -> Vec<String> {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PllConfig` is never constructed
[INFO] [stdout]      --> src/compiler.rs:33444:12
[INFO] [stdout]       |
[INFO] [stdout] 33444 | pub struct PllConfig {
[INFO] [stdout]       |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `period_ps`, and `validate` are never used
[INFO] [stdout]      --> src/compiler.rs:33454:12
[INFO] [stdout]       |
[INFO] [stdout] 33453 | impl PllConfig {
[INFO] [stdout]       | -------------- associated items in this implementation
[INFO] [stdout] 33454 |     pub fn new(name: &str, input_mhz: u32, output_mhz: u32) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 33464 |     pub fn period_ps(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33470 |     pub fn validate(&self) -> Vec<String> {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ClockBuffer` is never constructed
[INFO] [stdout]      --> src/compiler.rs:33483:12
[INFO] [stdout]       |
[INFO] [stdout] 33483 | pub struct ClockBuffer {
[INFO] [stdout]       |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `bufg` and `bufh` are never used
[INFO] [stdout]      --> src/compiler.rs:33490:12
[INFO] [stdout]       |
[INFO] [stdout] 33489 | impl ClockBuffer {
[INFO] [stdout]       | ---------------- associated functions in this implementation
[INFO] [stdout] 33490 |     pub fn bufg(name: &str) -> Self {
[INFO] [stdout]       |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33497 |     pub fn bufh(name: &str) -> Self {
[INFO] [stdout]       |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ClockTree` is never constructed
[INFO] [stdout]      --> src/compiler.rs:33507:12
[INFO] [stdout]       |
[INFO] [stdout] 33507 | pub struct ClockTree {
[INFO] [stdout]       |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `tree_delay_ps`, and `skew_ok` are never used
[INFO] [stdout]      --> src/compiler.rs:33515:12
[INFO] [stdout]       |
[INFO] [stdout] 33514 | impl ClockTree {
[INFO] [stdout]       | -------------- associated items in this implementation
[INFO] [stdout] 33515 |     pub fn new(root: &str, levels: u32, bufs: u32) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 33523 |     pub fn tree_delay_ps(&self, buf_delay: u32) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33526 |     pub fn skew_ok(&self, max_allowed_ps: u32) -> bool {
[INFO] [stdout]       |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CtsReport` is never constructed
[INFO] [stdout]      --> src/compiler.rs:33532:12
[INFO] [stdout]       |
[INFO] [stdout] 33532 | pub struct CtsReport {
[INFO] [stdout]       |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `passed` is never used
[INFO] [stdout]      --> src/compiler.rs:33542:12
[INFO] [stdout]       |
[INFO] [stdout] 33541 | impl CtsReport {
[INFO] [stdout]       | -------------- method in this implementation
[INFO] [stdout] 33542 |     pub fn passed(&self) -> bool {
[INFO] [stdout]       |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CtsModel` is never constructed
[INFO] [stdout]      --> src/compiler.rs:33547:12
[INFO] [stdout]       |
[INFO] [stdout] 33547 | pub struct CtsModel;
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `est_buffers_needed` and `est_tree_levels` are never used
[INFO] [stdout]      --> src/compiler.rs:33550:12
[INFO] [stdout]       |
[INFO] [stdout] 33549 | impl CtsModel {
[INFO] [stdout]       | ------------- associated functions in this implementation
[INFO] [stdout] 33550 |     pub fn est_buffers_needed(num_sinks: u32) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33557 |     pub fn est_tree_levels(num_sinks: u32) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HirCts` is never constructed
[INFO] [stdout]      --> src/compiler.rs:33569:12
[INFO] [stdout]       |
[INFO] [stdout] 33569 | pub struct HirCts {
[INFO] [stdout]       |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add_pll`, `build_tree`, `report`, and `validate` are never used
[INFO] [stdout]      --> src/compiler.rs:33576:12
[INFO] [stdout]       |
[INFO] [stdout] 33575 | impl HirCts {
[INFO] [stdout]       | ----------- associated items in this implementation
[INFO] [stdout] 33576 |     pub fn new() -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 33584 |     pub fn add_pll(&mut self, pll: PllConfig) {
[INFO] [stdout]       |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33588 |     pub fn build_tree(&mut self, root: &str, num_sinks: u32) {
[INFO] [stdout]       |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33598 |     pub fn report(&self) -> CtsReport {
[INFO] [stdout]       |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33616 |     pub fn validate(&self) -> Vec<String> {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ResetSynchronizer` is never constructed
[INFO] [stdout]      --> src/compiler.rs:33626:12
[INFO] [stdout]       |
[INFO] [stdout] 33626 | pub struct ResetSynchronizer {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `meta_stability_mttf_ps`, `latency_ps`, and `validate` are never used
[INFO] [stdout]      --> src/compiler.rs:33635:12
[INFO] [stdout]       |
[INFO] [stdout] 33634 | impl ResetSynchronizer {
[INFO] [stdout]       | ---------------------- associated items in this implementation
[INFO] [stdout] 33635 |     pub fn new(name: &str, stages: u32, in_clk: &str, out_clk: &str) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 33644 |     pub fn meta_stability_mttf_ps(&self, clk_period_ps: u32) -> u64 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33651 |     pub fn latency_ps(&self, clk_period_ps: u32) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33654 |     pub fn validate(&self) -> Vec<String> {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ResetDomain` is never constructed
[INFO] [stdout]      --> src/compiler.rs:33667:12
[INFO] [stdout]       |
[INFO] [stdout] 33667 | pub struct ResetDomain {
[INFO] [stdout]       |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `add_sync` are never used
[INFO] [stdout]      --> src/compiler.rs:33675:12
[INFO] [stdout]       |
[INFO] [stdout] 33674 | impl ResetDomain {
[INFO] [stdout]       | ---------------- associated items in this implementation
[INFO] [stdout] 33675 |     pub fn new(name: &str, clk_domain: &str, active_low: bool) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 33683 |     pub fn add_sync(&mut self, sync: ResetSynchronizer) {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RetimingOp` is never constructed
[INFO] [stdout]      --> src/compiler.rs:33689:12
[INFO] [stdout]       |
[INFO] [stdout] 33689 | pub struct RetimingOp {
[INFO] [stdout]       |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `forward` and `backward` are never used
[INFO] [stdout]      --> src/compiler.rs:33697:12
[INFO] [stdout]       |
[INFO] [stdout] 33696 | impl RetimingOp {
[INFO] [stdout]       | --------------- associated functions in this implementation
[INFO] [stdout] 33697 |     pub fn forward(from: &str, to: &str, regs: u32) -> Self {
[INFO] [stdout]       |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33705 |     pub fn backward(from: &str, to: &str, regs: u32) -> Self {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HirRetimer` is never constructed
[INFO] [stdout]      --> src/compiler.rs:33716:12
[INFO] [stdout]       |
[INFO] [stdout] 33716 | pub struct HirRetimer {
[INFO] [stdout]       |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `retime_forward`, `retime_backward`, `improvement_percent`, and `fmax_improvement` are never used
[INFO] [stdout]      --> src/compiler.rs:33723:12
[INFO] [stdout]       |
[INFO] [stdout] 33722 | impl HirRetimer {
[INFO] [stdout]       | --------------- associated items in this implementation
[INFO] [stdout] 33723 |     pub fn new() -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 33731 |     pub fn retime_forward(&mut self, from: &str, to: &str, regs: u32) {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33735 |     pub fn retime_backward(&mut self, from: &str, to: &str, regs: u32) {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33739 |     pub fn improvement_percent(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33747 |     pub fn fmax_improvement(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConfigReg` is never constructed
[INFO] [stdout]      --> src/compiler.rs:33766:12
[INFO] [stdout]       |
[INFO] [stdout] 33766 | pub struct ConfigReg {
[INFO] [stdout]       |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `rw`, `ro`, and `byte_offset` are never used
[INFO] [stdout]      --> src/compiler.rs:33776:12
[INFO] [stdout]       |
[INFO] [stdout] 33775 | impl ConfigReg {
[INFO] [stdout]       | -------------- associated items in this implementation
[INFO] [stdout] 33776 |     pub fn rw(name: &str, offset: u32, width: u32, reset: u32) -> Self {
[INFO] [stdout]       |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 33786 |     pub fn ro(name: &str, offset: u32, width: u32) -> Self {
[INFO] [stdout]       |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 33796 |     pub fn byte_offset(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HirConfigBlock` is never constructed
[INFO] [stdout]      --> src/compiler.rs:33802:12
[INFO] [stdout]       |
[INFO] [stdout] 33802 | pub struct HirConfigBlock {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add_rw`, `add_ro`, `total_bytes`, and `validate` are never used
[INFO] [stdout]      --> src/compiler.rs:33809:12
[INFO] [stdout]       |
[INFO] [stdout] 33808 | impl HirConfigBlock {
[INFO] [stdout]       | ------------------- associated items in this implementation
[INFO] [stdout] 33809 |     pub fn new(name: &str, base: u32) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 33816 |     pub fn add_rw(&mut self, name: &str, width: u32, reset: u32) {
[INFO] [stdout]       |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33826 |     pub fn add_ro(&mut self, name: &str, width: u32) {
[INFO] [stdout]       |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33835 |     pub fn total_bytes(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33839 |     pub fn validate(&self) -> Vec<String> {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IrqSource` is never constructed
[INFO] [stdout]      --> src/compiler.rs:33854:12
[INFO] [stdout]       |
[INFO] [stdout] 33854 | pub struct IrqSource {
[INFO] [stdout]       |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `level` and `edge` are never used
[INFO] [stdout]      --> src/compiler.rs:33862:12
[INFO] [stdout]       |
[INFO] [stdout] 33861 | impl IrqSource {
[INFO] [stdout]       | -------------- associated functions in this implementation
[INFO] [stdout] 33862 |     pub fn level(name: &str, id: u32, priority: u32) -> Self {
[INFO] [stdout]       |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33870 |     pub fn edge(name: &str, id: u32, priority: u32) -> Self {
[INFO] [stdout]       |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HirInterruptCtrl` is never constructed
[INFO] [stdout]      --> src/compiler.rs:33881:12
[INFO] [stdout]       |
[INFO] [stdout] 33881 | pub struct HirInterruptCtrl {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]      --> src/compiler.rs:33890:12
[INFO] [stdout]       |
[INFO] [stdout] 33889 | impl HirInterruptCtrl {
[INFO] [stdout]       | --------------------- associated items in this implementation
[INFO] [stdout] 33890 |     pub fn new(name: &str, num_priorities: u32) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 33899 |     pub fn add_level_irq(&mut self, name: &str, id: u32, priority: u32) {
[INFO] [stdout]       |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33902 |     pub fn add_edge_irq(&mut self, name: &str, id: u32, priority: u32) {
[INFO] [stdout]       |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33905 |     pub fn highest_priority(&self) -> Option<&IrqSource> {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33908 |     pub fn pending_count(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33911 |     pub fn validate(&self) -> Vec<String> {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33919 |     pub fn emit_verilog(&self) -> String {
[INFO] [stdout]       |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `DmaTransferKind` is never used
[INFO] [stdout]      --> src/compiler.rs:33970:10
[INFO] [stdout]       |
[INFO] [stdout] 33970 | pub enum DmaTransferKind {
[INFO] [stdout]       |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DmaChannel` is never constructed
[INFO] [stdout]      --> src/compiler.rs:33977:12
[INFO] [stdout]       |
[INFO] [stdout] 33977 | pub struct DmaChannel {
[INFO] [stdout]       |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `single`, `burst`, `transfer_cycles`, and `bandwidth_mbps` are never used
[INFO] [stdout]      --> src/compiler.rs:33988:12
[INFO] [stdout]       |
[INFO] [stdout] 33987 | impl DmaChannel {
[INFO] [stdout]       | --------------- associated items in this implementation
[INFO] [stdout] 33988 |     pub fn single(name: &str, idx: u32, src: u32, dst: u32, len: u32) -> Self {
[INFO] [stdout]       |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33999 |     pub fn burst(name: &str, idx: u32, src: u32, dst: u32, len: u32, burst: u32) -> Self {
[INFO] [stdout]       |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34010 |     pub fn transfer_cycles(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34017 |     pub fn bandwidth_mbps(&self, clock_mhz: u32) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HirDmaEngine` is never constructed
[INFO] [stdout]      --> src/compiler.rs:34026:12
[INFO] [stdout]       |
[INFO] [stdout] 34026 | pub struct HirDmaEngine {
[INFO] [stdout]       |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]      --> src/compiler.rs:34034:12
[INFO] [stdout]       |
[INFO] [stdout] 34033 | impl HirDmaEngine {
[INFO] [stdout]       | ----------------- associated items in this implementation
[INFO] [stdout] 34034 |     pub fn new(name: &str, data_width: u32) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 34042 |     pub fn add_single(&mut self, name: &str, src: u32, dst: u32, len: u32) {
[INFO] [stdout]       |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34047 |     pub fn add_burst(&mut self, name: &str, src: u32, dst: u32, len: u32, burst: u32) {
[INFO] [stdout]       |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34052 |     pub fn total_transfer_cycles(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34055 |     pub fn total_bytes(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34058 |     pub fn validate(&self) -> Vec<String> {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34069 |     pub fn emit_verilog(&self) -> String {
[INFO] [stdout]       |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CrossOptPass` is never constructed
[INFO] [stdout]      --> src/compiler.rs:34094:12
[INFO] [stdout]       |
[INFO] [stdout] 34094 | pub struct CrossOptPass {
[INFO] [stdout]       |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `empty`, `new`, `total_improvements`, `has_improvements`, and `improvement_density` are never used
[INFO] [stdout]      --> src/compiler.rs:34103:12
[INFO] [stdout]       |
[INFO] [stdout] 34102 | impl CrossOptPass {
[INFO] [stdout]       | ----------------- associated items in this implementation
[INFO] [stdout] 34103 |     pub fn empty() -> Self {
[INFO] [stdout]       |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34112 |     pub fn new(name: &str, mods: u32, consts: u32, dead: u32, merged: u32) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 34121 |     pub fn total_improvements(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34124 |     pub fn has_improvements(&self) -> bool {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34127 |     pub fn improvement_density(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CrossOptReport` is never constructed
[INFO] [stdout]      --> src/compiler.rs:34136:12
[INFO] [stdout]       |
[INFO] [stdout] 34136 | pub struct CrossOptReport {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `total_optimizations`, and `is_effective` are never used
[INFO] [stdout]      --> src/compiler.rs:34145:12
[INFO] [stdout]       |
[INFO] [stdout] 34144 | impl CrossOptReport {
[INFO] [stdout]       | ------------------- associated items in this implementation
[INFO] [stdout] 34145 |     pub fn new(passes: u32, consts: u32, dead: u32, merged: u32, mods: u32) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 34154 |     pub fn total_optimizations(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34157 |     pub fn is_effective(&self) -> bool {
[INFO] [stdout]       |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HirCrossOptimizer` is never constructed
[INFO] [stdout]      --> src/compiler.rs:34163:12
[INFO] [stdout]       |
[INFO] [stdout] 34163 | pub struct HirCrossOptimizer {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `run_pass`, and `report` are never used
[INFO] [stdout]      --> src/compiler.rs:34168:12
[INFO] [stdout]       |
[INFO] [stdout] 34167 | impl HirCrossOptimizer {
[INFO] [stdout]       | ---------------------- associated items in this implementation
[INFO] [stdout] 34168 |     pub fn new() -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 34172 |     pub fn run_pass(&mut self, modules: &mut [HirModule]) -> CrossOptPass {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34206 |     pub fn report(&self) -> CrossOptReport {
[INFO] [stdout]       |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BootStage` is never constructed
[INFO] [stdout]      --> src/compiler.rs:34218:12
[INFO] [stdout]       |
[INFO] [stdout] 34218 | pub struct BootStage {
[INFO] [stdout]       |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `end` are never used
[INFO] [stdout]      --> src/compiler.rs:34226:12
[INFO] [stdout]       |
[INFO] [stdout] 34225 | impl BootStage {
[INFO] [stdout]       | -------------- associated items in this implementation
[INFO] [stdout] 34226 |     pub fn new(name: &str, idx: u32, size: u32, entry: u32) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 34234 |     pub fn end(&self) -> u32 {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BootConfig` is never constructed
[INFO] [stdout]      --> src/compiler.rs:34240:12
[INFO] [stdout]       |
[INFO] [stdout] 34240 | pub struct BootConfig {
[INFO] [stdout]       |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `end`, `fits`, and `validate` are never used
[INFO] [stdout]      --> src/compiler.rs:34249:12
[INFO] [stdout]       |
[INFO] [stdout] 34248 | impl BootConfig {
[INFO] [stdout]       | --------------- associated items in this implementation
[INFO] [stdout] 34249 |     pub fn new(name: &str, rom_size: u32) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 34258 |     pub fn end(&self) -> u32 {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 34261 |     pub fn fits(&self, stages: &[BootStage]) -> bool {
[INFO] [stdout]       |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34265 |     pub fn validate(&self) -> Vec<String> {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WatchdogConfig` is never constructed
[INFO] [stdout]      --> src/compiler.rs:34278:12
[INFO] [stdout]       |
[INFO] [stdout] 34278 | pub struct WatchdogConfig {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `windowed`, `timeout_ns`, `in_window`, and `validate` are never used
[INFO] [stdout]      --> src/compiler.rs:34289:12
[INFO] [stdout]       |
[INFO] [stdout] 34288 | impl WatchdogConfig {
[INFO] [stdout]       | ------------------- associated items in this implementation
[INFO] [stdout] 34289 |     pub fn new(name: &str, timeout: u32) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 34300 |     pub fn windowed(name: &str, timeout: u32, open: u32, close: u32) -> Self {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34311 |     pub fn timeout_ns(&self, clock_ns: u32) -> u64 {
[INFO] [stdout]       |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34314 |     pub fn in_window(&self, count: u32) -> bool {
[INFO] [stdout]       |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34317 |     pub fn validate(&self) -> Vec<String> {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MemMapEntry` is never constructed
[INFO] [stdout]      --> src/compiler.rs:34330:12
[INFO] [stdout]       |
[INFO] [stdout] 34330 | pub struct MemMapEntry {
[INFO] [stdout]       |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `rom`, `ram`, `peripheral`, `end`, and `contains` are never used
[INFO] [stdout]      --> src/compiler.rs:34340:12
[INFO] [stdout]       |
[INFO] [stdout] 34339 | impl MemMapEntry {
[INFO] [stdout]       | ---------------- associated items in this implementation
[INFO] [stdout] 34340 |     pub fn rom(name: &str, base: u32, size: u32) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 34350 |     pub fn ram(name: &str, base: u32, size: u32) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 34360 |     pub fn peripheral(name: &str, base: u32, size: u32) -> Self {
[INFO] [stdout]       |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34370 |     pub fn end(&self) -> u32 {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 34373 |     pub fn contains(&self, addr: u32) -> bool {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HirMemMap` is never constructed
[INFO] [stdout]      --> src/compiler.rs:34379:12
[INFO] [stdout]       |
[INFO] [stdout] 34379 | pub struct HirMemMap {
[INFO] [stdout]       |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]      --> src/compiler.rs:34384:12
[INFO] [stdout]       |
[INFO] [stdout] 34383 | impl HirMemMap {
[INFO] [stdout]       | -------------- associated items in this implementation
[INFO] [stdout] 34384 |     pub fn new() -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 34389 |     pub fn add_rom(&mut self, name: &str, base: u32, size: u32) {
[INFO] [stdout]       |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34392 |     pub fn add_ram(&mut self, name: &str, base: u32, size: u32) {
[INFO] [stdout]       |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34395 |     pub fn add_periph(&mut self, name: &str, base: u32, size: u32) {
[INFO] [stdout]       |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34398 |     pub fn lookup(&self, addr: u32) -> Option<&MemMapEntry> {
[INFO] [stdout]       |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34401 |     pub fn total_size(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34404 |     pub fn check_overlaps(&self) -> Vec<(String, String)> {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SerDesConfig` is never constructed
[INFO] [stdout]      --> src/compiler.rs:34420:12
[INFO] [stdout]       |
[INFO] [stdout] 34420 | pub struct SerDesConfig {
[INFO] [stdout]       |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `total_bandwidth_gbps`, `throughput_bytes_per_sec`, and `validate` are never used
[INFO] [stdout]      --> src/compiler.rs:34429:12
[INFO] [stdout]       |
[INFO] [stdout] 34428 | impl SerDesConfig {
[INFO] [stdout]       | ----------------- associated items in this implementation
[INFO] [stdout] 34429 |     pub fn new(name: &str, lanes: u32, rate_gbps: u32) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 34438 |     pub fn total_bandwidth_gbps(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34441 |     pub fn throughput_bytes_per_sec(&self) -> u64 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34444 |     pub fn validate(&self) -> Vec<String> {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BuildStep` is never constructed
[INFO] [stdout]      --> src/compiler.rs:34457:12
[INFO] [stdout]       |
[INFO] [stdout] 34457 | pub struct BuildStep {
[INFO] [stdout]       |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HirBuildOrchestrator` is never constructed
[INFO] [stdout]      --> src/compiler.rs:34466:12
[INFO] [stdout]       |
[INFO] [stdout] 34466 | pub struct HirBuildOrchestrator {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add_step`, `standard_fpga_flow`, `step_count`, and `has_step` are never used
[INFO] [stdout]      --> src/compiler.rs:34472:12
[INFO] [stdout]       |
[INFO] [stdout] 34471 | impl HirBuildOrchestrator {
[INFO] [stdout]       | ------------------------- associated items in this implementation
[INFO] [stdout] 34472 |     pub fn new() -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 34479 |     pub fn add_step(&mut self, name: &str, tool: &str, input: &str, output: &str, est_ms: u32) {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34490 |     pub fn standard_fpga_flow(&mut self) {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34497 |     pub fn step_count(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34500 |     pub fn has_step(&self, name: &str) -> bool {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `clock_domains` and `clock_crossings` are never read
[INFO] [stdout]      --> src/compiler.rs:34514:9
[INFO] [stdout]       |
[INFO] [stdout] 34506 | pub struct HirModule {
[INFO] [stdout]       |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 34514 |     pub clock_domains: Vec<HirClockDomain>,
[INFO] [stdout]       |         ^^^^^^^^^^^^^
[INFO] [stdout] 34515 |     pub clock_crossings: Vec<HirClockCrossing>,
[INFO] [stdout]       |         ^^^^^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: `HirModule` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `removed_assigns` is never read
[INFO] [stdout]      --> src/compiler.rs:34829:5
[INFO] [stdout]       |
[INFO] [stdout] 34827 | pub struct HirOptimizer {
[INFO] [stdout]       |            ------------ field in this struct
[INFO] [stdout] 34828 |     removed_signals: u32,
[INFO] [stdout] 34829 |     removed_assigns: u32,
[INFO] [stdout]       |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `stats` and `resource_estimate` are never used
[INFO] [stdout]      --> src/compiler.rs:34869:12
[INFO] [stdout]       |
[INFO] [stdout] 34835 | impl HirOptimizer {
[INFO] [stdout]       | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 34869 |     pub fn stats(&self) -> (u32, u32, u32, u32) {
[INFO] [stdout]       |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34878 |     pub fn resource_estimate(&self, hir: &HirModule) -> HirResourceEstimate {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `HirSimState` is never used
[INFO] [stdout]      --> src/compiler.rs:38308:10
[INFO] [stdout]       |
[INFO] [stdout] 38308 | pub enum HirSimState {
[INFO] [stdout]       |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HirSimConfig` is never constructed
[INFO] [stdout]      --> src/compiler.rs:38317:12
[INFO] [stdout]       |
[INFO] [stdout] 38317 | pub struct HirSimConfig {
[INFO] [stdout]       |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]      --> src/compiler.rs:38328:12
[INFO] [stdout]       |
[INFO] [stdout] 38327 | impl HirSimConfig {
[INFO] [stdout]       | ----------------- associated items in this implementation
[INFO] [stdout] 38328 |     pub fn new(name: &str, max_cycles: u32) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 38340 |     pub fn with_trace(mut self, vcd_path: &str) -> Self {
[INFO] [stdout]       |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38347 |     pub fn sim_time_ns(&self, cycles: u32) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38354 |     pub fn sim_time_us(&self, cycles: u32) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38358 |     pub fn sim_time_ms(&self, cycles: u32) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38362 |     pub fn cycles_for_time_ns(&self, ns: u32) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38369 |     pub fn validate(&self) -> Vec<String> {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HirSimResult` is never constructed
[INFO] [stdout]      --> src/compiler.rs:38385:12
[INFO] [stdout]       |
[INFO] [stdout] 38385 | pub struct HirSimResult {
[INFO] [stdout]       |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `ok`, `error`, `is_done`, `is_error`, `has_errors`, and `passed` are never used
[INFO] [stdout]      --> src/compiler.rs:38394:12
[INFO] [stdout]       |
[INFO] [stdout] 38393 | impl HirSimResult {
[INFO] [stdout]       | ----------------- associated items in this implementation
[INFO] [stdout] 38394 |     pub fn ok(cycles: u32, coverage: u32) -> Self {
[INFO] [stdout]       |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 38404 |     pub fn error(cycles: u32, errors: u32) -> Self {
[INFO] [stdout]       |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38414 |     pub fn is_done(&self) -> bool {
[INFO] [stdout]       |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38417 |     pub fn is_error(&self) -> bool {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38420 |     pub fn has_errors(&self) -> bool {
[INFO] [stdout]       |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38423 |     pub fn passed(&self) -> bool {
[INFO] [stdout]       |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DemoKernel` is never constructed
[INFO] [stdout]      --> src/compiler.rs:39503:12
[INFO] [stdout]       |
[INFO] [stdout] 39503 | pub struct DemoKernel {
[INFO] [stdout]       |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `hello_trinity`, `gf16_mac_demo`, `kernel_size_bytes`, and `validate` are never used
[INFO] [stdout]      --> src/compiler.rs:39512:12
[INFO] [stdout]       |
[INFO] [stdout] 39511 | impl DemoKernel {
[INFO] [stdout]       | --------------- associated items in this implementation
[INFO] [stdout] 39512 |     pub fn hello_trinity() -> Self {
[INFO] [stdout]       |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39522 |     pub fn gf16_mac_demo() -> Self {
[INFO] [stdout]       |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39532 |     pub fn kernel_size_bytes(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39536 |     pub fn validate(&self) -> Vec<String> {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PipeResult` is never constructed
[INFO] [stdout]      --> src/compiler.rs:39549:12
[INFO] [stdout]       |
[INFO] [stdout] 39549 | pub struct PipeResult {
[INFO] [stdout]       |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `ok`, `error`, `ipc`, `cpi`, `gf16_throughput`, and `passed` are never used
[INFO] [stdout]      --> src/compiler.rs:39558:12
[INFO] [stdout]       |
[INFO] [stdout] 39557 | impl PipeResult {
[INFO] [stdout]       | --------------- associated items in this implementation
[INFO] [stdout] 39558 |     pub fn ok(cycles: u32, retired: u32, gf16: u32) -> Self {
[INFO] [stdout]       |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 39568 |     pub fn error(cycles: u32, errors: u32) -> Self {
[INFO] [stdout]       |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39578 |     pub fn ipc(&self) -> u32 {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 39585 |     pub fn cpi(&self) -> u32 {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 39592 |     pub fn gf16_throughput(&self, clock_mhz: u32) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39599 |     pub fn passed(&self) -> bool {
[INFO] [stdout]       |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DemoConfig` is never constructed
[INFO] [stdout]      --> src/compiler.rs:39605:12
[INFO] [stdout]       |
[INFO] [stdout] 39605 | pub struct DemoConfig {
[INFO] [stdout]       |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `sim_time_us`, and `validate` are never used
[INFO] [stdout]      --> src/compiler.rs:39614:12
[INFO] [stdout]       |
[INFO] [stdout] 39613 | impl DemoConfig {
[INFO] [stdout]       | --------------- associated items in this implementation
[INFO] [stdout] 39614 |     pub fn new(kernel: DemoKernel) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 39624 |     pub fn sim_time_us(&self, cycles: u32) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39631 |     pub fn validate(&self) -> Vec<String> {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SvInterface` is never constructed
[INFO] [stdout]      --> src/compiler.rs:42777:12
[INFO] [stdout]       |
[INFO] [stdout] 42777 | pub struct SvInterface {
[INFO] [stdout]       |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add_signal`, and `emit` are never used
[INFO] [stdout]      --> src/compiler.rs:42783:12
[INFO] [stdout]       |
[INFO] [stdout] 42782 | impl SvInterface {
[INFO] [stdout]       | ---------------- associated items in this implementation
[INFO] [stdout] 42783 |     pub fn new(name: &str) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 42789 |     pub fn add_signal(&mut self, name: &str, width: u32) {
[INFO] [stdout]       |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42792 |     pub fn emit(&self) -> String {
[INFO] [stdout]       |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HirSvEmitter` is never constructed
[INFO] [stdout]      --> src/compiler.rs:42808:12
[INFO] [stdout]       |
[INFO] [stdout] 42808 | pub struct HirSvEmitter {
[INFO] [stdout]       |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `into_string`, `emit_package`, `emit_interface`, and `emit_module_sv` are never used
[INFO] [stdout]      --> src/compiler.rs:42814:12
[INFO] [stdout]       |
[INFO] [stdout] 42813 | impl HirSvEmitter {
[INFO] [stdout]       | ----------------- associated items in this implementation
[INFO] [stdout] 42814 |     pub fn new() -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 42820 |     pub fn into_string(self) -> String {
[INFO] [stdout]       |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42824 |     pub fn emit_package(&mut self, name: &str, types: &[(&str, u32)]) {
[INFO] [stdout]       |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42836 |     pub fn emit_interface(&mut self, iface: &SvInterface) {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42841 |     pub fn emit_module_sv(&mut self, hir: &HirModule) {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HirFirrtlEmitter` is never constructed
[INFO] [stdout]      --> src/compiler.rs:42885:12
[INFO] [stdout]       |
[INFO] [stdout] 42885 | pub struct HirFirrtlEmitter {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `into_string`, and `emit` are never used
[INFO] [stdout]      --> src/compiler.rs:42890:12
[INFO] [stdout]       |
[INFO] [stdout] 42889 | impl HirFirrtlEmitter {
[INFO] [stdout]       | --------------------- associated items in this implementation
[INFO] [stdout] 42890 |     pub fn new() -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 42895 |     pub fn into_string(self) -> String {
[INFO] [stdout]       |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42899 |     pub fn emit(&mut self, hir: &HirModule) {
[INFO] [stdout]       |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HirDiff` is never constructed
[INFO] [stdout]      --> src/compiler.rs:42925:12
[INFO] [stdout]       |
[INFO] [stdout] 42925 | pub struct HirDiff {
[INFO] [stdout]       |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HirDiffEngine` is never constructed
[INFO] [stdout]      --> src/compiler.rs:42932:12
[INFO] [stdout]       |
[INFO] [stdout] 42932 | pub struct HirDiffEngine;
[INFO] [stdout]       |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `diff` and `equivalent` are never used
[INFO] [stdout]      --> src/compiler.rs:42935:12
[INFO] [stdout]       |
[INFO] [stdout] 42934 | impl HirDiffEngine {
[INFO] [stdout]       | ------------------ associated functions in this implementation
[INFO] [stdout] 42935 |     pub fn diff(a: &HirModule, b: &HirModule) -> Vec<HirDiff> {
[INFO] [stdout]       |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42988 |     pub fn equivalent(a: &HirModule, b: &HirModule) -> bool {
[INFO] [stdout]       |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BuildMetrics` is never constructed
[INFO] [stdout]      --> src/compiler.rs:42994:12
[INFO] [stdout]       |
[INFO] [stdout] 42994 | pub struct BuildMetrics {
[INFO] [stdout]       |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]      --> src/compiler.rs:43006:12
[INFO] [stdout]       |
[INFO] [stdout] 43005 | impl BuildMetrics {
[INFO] [stdout]       | ----------------- associated function in this implementation
[INFO] [stdout] 43006 |     pub fn new(id: u32, luts: u32, ffs: u32, bram: u32, dsp: u32, fmax: u32, power: u32) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HirRegressionTracker` is never constructed
[INFO] [stdout]      --> src/compiler.rs:43021:12
[INFO] [stdout]       |
[INFO] [stdout] 43021 | pub struct HirRegressionTracker {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `record`, `latest`, `lut_regression`, `fmax_regression`, and `total_builds` are never used
[INFO] [stdout]      --> src/compiler.rs:43026:12
[INFO] [stdout]       |
[INFO] [stdout] 43025 | impl HirRegressionTracker {
[INFO] [stdout]       | ------------------------- associated items in this implementation
[INFO] [stdout] 43026 |     pub fn new() -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 43029 |     pub fn record(&mut self, m: BuildMetrics) {
[INFO] [stdout]       |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43032 |     pub fn latest(&self) -> Option<&BuildMetrics> {
[INFO] [stdout]       |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43035 |     pub fn lut_regression(&self) -> bool {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43043 |     pub fn fmax_regression(&self) -> bool {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43051 |     pub fn total_builds(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HirFileFingerprint` is never constructed
[INFO] [stdout]      --> src/compiler.rs:43057:12
[INFO] [stdout]       |
[INFO] [stdout] 43057 | pub struct HirFileFingerprint {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]      --> src/compiler.rs:43064:12
[INFO] [stdout]       |
[INFO] [stdout] 43063 | impl HirFileFingerprint {
[INFO] [stdout]       | ----------------------- associated function in this implementation
[INFO] [stdout] 43064 |     pub fn new(path: &str, hash: u64) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HirElabCache` is never constructed
[INFO] [stdout]      --> src/compiler.rs:43074:12
[INFO] [stdout]       |
[INFO] [stdout] 43074 | pub struct HirElabCache {
[INFO] [stdout]       |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add`, `is_cached`, `invalidate`, and `entry_count` are never used
[INFO] [stdout]      --> src/compiler.rs:43079:12
[INFO] [stdout]       |
[INFO] [stdout] 43078 | impl HirElabCache {
[INFO] [stdout]       | ----------------- associated items in this implementation
[INFO] [stdout] 43079 |     pub fn new() -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 43084 |     pub fn add(&mut self, fp: HirFileFingerprint) {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 43087 |     pub fn is_cached(&self, path: &str, hash: u64) -> bool {
[INFO] [stdout]       |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43092 |     pub fn invalidate(&mut self, path: &str) {
[INFO] [stdout]       |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43095 |     pub fn entry_count(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CdcViolation` is never constructed
[INFO] [stdout]      --> src/compiler.rs:43101:12
[INFO] [stdout]       |
[INFO] [stdout] 43101 | pub struct CdcViolation {
[INFO] [stdout]       |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HirCdcChecker` is never constructed
[INFO] [stdout]      --> src/compiler.rs:43110:12
[INFO] [stdout]       |
[INFO] [stdout] 43110 | pub struct HirCdcChecker;
[INFO] [stdout]       |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `check` and `has_violations` are never used
[INFO] [stdout]      --> src/compiler.rs:43113:12
[INFO] [stdout]       |
[INFO] [stdout] 43112 | impl HirCdcChecker {
[INFO] [stdout]       | ------------------ associated functions in this implementation
[INFO] [stdout] 43113 |     pub fn check(module: &HirModule) -> Vec<CdcViolation> {
[INFO] [stdout]       |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43147 |     pub fn has_violations(module: &HirModule) -> bool {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LintViolation` is never constructed
[INFO] [stdout]      --> src/compiler.rs:43153:12
[INFO] [stdout]       |
[INFO] [stdout] 43153 | pub struct LintViolation {
[INFO] [stdout]       |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HirLinter` is never constructed
[INFO] [stdout]      --> src/compiler.rs:43161:12
[INFO] [stdout]       |
[INFO] [stdout] 43161 | pub struct HirLinter {
[INFO] [stdout]       |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new`, `lint`, and `lint_count` are never used
[INFO] [stdout]      --> src/compiler.rs:43166:12
[INFO] [stdout]       |
[INFO] [stdout] 43165 | impl HirLinter {
[INFO] [stdout]       | -------------- associated functions in this implementation
[INFO] [stdout] 43166 |     pub fn new() -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 43178 |     pub fn lint(module: &HirModule) -> Vec<LintViolation> {
[INFO] [stdout]       |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43215 |     pub fn lint_count(module: &HirModule) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DepNode` is never constructed
[INFO] [stdout]      --> src/compiler.rs:43221:12
[INFO] [stdout]       |
[INFO] [stdout] 43221 | pub struct DepNode {
[INFO] [stdout]       |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HirDepGraph` is never constructed
[INFO] [stdout]      --> src/compiler.rs:43228:12
[INFO] [stdout]       |
[INFO] [stdout] 43228 | pub struct HirDepGraph {
[INFO] [stdout]       |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add_module`, `topological_order`, `has_cycle`, `leaf_modules`, and `max_depth` are never used
[INFO] [stdout]      --> src/compiler.rs:43233:12
[INFO] [stdout]       |
[INFO] [stdout] 43232 | impl HirDepGraph {
[INFO] [stdout]       | ---------------- associated items in this implementation
[INFO] [stdout] 43233 |     pub fn new() -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 43236 |     pub fn add_module(&mut self, name: &str, deps: &[&str]) {
[INFO] [stdout]       |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43254 |     pub fn topological_order(&self) -> Vec<&str> {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43259 |     pub fn has_cycle(&self) -> bool {
[INFO] [stdout]       |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43276 |     pub fn leaf_modules(&self) -> Vec<&str> {
[INFO] [stdout]       |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43283 |     pub fn max_depth(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CoverGroup` is never constructed
[INFO] [stdout]      --> src/compiler.rs:43289:12
[INFO] [stdout]       |
[INFO] [stdout] 43289 | pub struct CoverGroup {
[INFO] [stdout]       |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `coverage_percent`, and `is_covered` are never used
[INFO] [stdout]      --> src/compiler.rs:43296:12
[INFO] [stdout]       |
[INFO] [stdout] 43295 | impl CoverGroup {
[INFO] [stdout]       | --------------- associated items in this implementation
[INFO] [stdout] 43296 |     pub fn new(name: &str, bins: u32) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 43303 |     pub fn coverage_percent(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43309 |     pub fn is_covered(&self) -> bool {
[INFO] [stdout]       |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HirCoverageModel` is never constructed
[INFO] [stdout]      --> src/compiler.rs:43315:12
[INFO] [stdout]       |
[INFO] [stdout] 43315 | pub struct HirCoverageModel {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add_group`, `hit`, `total_coverage`, `is_complete`, and `uncovered` are never used
[INFO] [stdout]      --> src/compiler.rs:43320:12
[INFO] [stdout]       |
[INFO] [stdout] 43319 | impl HirCoverageModel {
[INFO] [stdout]       | --------------------- associated items in this implementation
[INFO] [stdout] 43320 |     pub fn new() -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 43323 |     pub fn add_group(&mut self, name: &str, bins: u32) {
[INFO] [stdout]       |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43326 |     pub fn hit(&mut self, group_name: &str) {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 43331 |     pub fn total_coverage(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43341 |     pub fn is_complete(&self) -> bool {
[INFO] [stdout]       |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43344 |     pub fn uncovered(&self) -> Vec<&str> {
[INFO] [stdout]       |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `slug` and `is_source` are never used
[INFO] [stdout]   --> src/source_kind.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | impl SourceKind {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn slug(self) -> &'static str {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub fn is_source(self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `classify` is never used
[INFO] [stdout]    --> src/entry_points.rs:126:8
[INFO] [stdout]     |
[INFO] [stdout] 126 | pub fn classify(source: &str) -> Verdict {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_emitted` is never used
[INFO] [stdout]    --> src/catalog_gate.rs:299:4
[INFO] [stdout]     |
[INFO] [stdout] 299 | fn check_emitted(emitted: &Path, records: &[Record], r: &mut Report) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `total` is never used
[INFO] [stdout]    --> src/suite.rs:291:8
[INFO] [stdout]     |
[INFO] [stdout] 278 | impl PhaseSplit {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 291 |     fn total(&self) -> usize {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cmd_simulated_output_wellformed` is never used
[INFO] [stdout]     --> src/suite.rs:1014:4
[INFO] [stdout]      |
[INFO] [stdout] 1014 | fn cmd_simulated_output_wellformed(repo: &Path, rel: &str) -> anyhow::Result<()> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `failure_fallback` is never used
[INFO] [stdout]     --> src/suite.rs:1506:8
[INFO] [stdout]      |
[INFO] [stdout] 1413 | impl FpgaSmokeResultBuilder {
[INFO] [stdout]      | --------------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1506 |     fn failure_fallback() -> FpgaSmokeResult {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `runtime_to_anyhow` is never used
[INFO] [stdout]    --> src/formula_eval.rs:208:4
[INFO] [stdout]     |
[INFO] [stdout] 208 | fn runtime_to_anyhow(err: RuntimeError) -> anyhow::Error {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `max_likelihood_sacred` is never used
[INFO] [stdout]   --> src/math_bayes.rs:65:4
[INFO] [stdout]    |
[INFO] [stdout] 65 | fn max_likelihood_sacred(n_obs: usize, n_params: usize, data_norm: f64) -> f64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BayesFactorResult` is never constructed
[INFO] [stdout]    --> src/math_bayes.rs:103:12
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub struct BayesFactorResult {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `target_value` is never read
[INFO] [stdout]   --> src/chimera_engine.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct ChimeraCandidate {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub target_value: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `params` are never read
[INFO] [stdout]   --> src/runtime/mod.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 50 | struct FunctionDef {
[INFO] [stdout]    |        ----------- fields in this struct
[INFO] [stdout] 51 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 52 |     return_type: String,
[INFO] [stdout] 53 |     params: Vec<String>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FunctionDef` 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: methods `get_function_names`, `get_function_info`, `clear_cache`, and `cache_stats` are never used
[INFO] [stdout]    --> src/runtime/mod.rs:526:12
[INFO] [stdout]     |
[INFO] [stdout]  73 | impl FormulaRuntime {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 526 |     pub fn get_function_names(&self) -> Vec<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 531 |     pub(crate) fn get_function_info<'a>(&'a self, name: &str) -> Option<&'a FunctionDef> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 536 |     pub fn clear_cache(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 541 |     pub fn cache_stats(&self) -> (usize, usize) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HSLM_READY` is never used
[INFO] [stdout]  --> src/neural/mod.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const HSLM_READY: bool = false;
[INFO] [stdout]   |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_hslm_available` is never used
[INFO] [stdout]   --> src/neural/mod.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn is_hslm_available() -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ternary_add` is never used
[INFO] [stdout]  --> src/ternary/../../gen/rust/base/ternary_add.rs:2:8
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub fn ternary_add(a: i32, b: i32) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TernaryMemory` is never constructed
[INFO] [stdout]  --> src/ternary/../../gen/rust/base/ternary_memory.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct TernaryMemory;
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> src/ternary/../../gen/rust/base/ternary_memory.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | impl TernaryMemory {
[INFO] [stdout]   | ------------------ associated function in this implementation
[INFO] [stdout] 5 |     pub fn new() -> Self {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ternary_multiply` is never used
[INFO] [stdout]  --> src/ternary/../../gen/rust/base/ternary_arithmetic.rs:2:8
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub fn ternary_multiply(a: i32, b: i32) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ternary_if` is never used
[INFO] [stdout]  --> src/ternary/../../gen/rust/base/ternary_control_flow.rs:2:8
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub fn ternary_if(condition: bool, true_val: i32, false_val: i32) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ternary_and` is never used
[INFO] [stdout]  --> src/ternary/../../gen/rust/base/ternary_gates.rs:2:8
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub fn ternary_and(a: i8, b: i8) -> i8 {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PHI` is never used
[INFO] [stdout]   --> src/memory/mod.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const PHI: f64 = 1.618033988749895;
[INFO] [stdout]    |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cosine_sim` is never used
[INFO] [stdout]   --> src/memory/mod.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn cosine_sim(a: &[f64], b: &[f64]) -> f64 {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FEATURE_VALUE` is never used
[INFO] [stdout]  --> src/memory/generated/formula_embed.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const FEATURE_VALUE: usize = 0;
[INFO] [stdout]   |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FEATURE_COMPLEXITY` is never used
[INFO] [stdout]  --> src/memory/generated/formula_embed.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const FEATURE_COMPLEXITY: usize = 1;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FEATURE_PHI_DIST` is never used
[INFO] [stdout]   --> src/memory/generated/formula_embed.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const FEATURE_PHI_DIST: usize = 2;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FEATURE_SECTOR_ID` is never used
[INFO] [stdout]   --> src/memory/generated/formula_embed.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const FEATURE_SECTOR_ID: usize = 3;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BASE_FEATURE_COUNT` is never used
[INFO] [stdout]   --> src/memory/generated/formula_embed.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub const BASE_FEATURE_COUNT: usize = 4;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Sector` is never used
[INFO] [stdout]   --> src/memory/generated/formula_embed.rs:18:10
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub enum Sector {
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Formula` is never constructed
[INFO] [stdout]   --> src/memory/generated/formula_embed.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct Formula {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Embedding` is never constructed
[INFO] [stdout]   --> src/memory/generated/formula_embed.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub struct Embedding {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Features` is never constructed
[INFO] [stdout]   --> src/memory/generated/formula_embed.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct Features {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_features` is never used
[INFO] [stdout]   --> src/memory/generated/formula_embed.rs:52:8
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub fn extract_features(formula: &Formula) -> Features {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pad_features` is never used
[INFO] [stdout]   --> src/memory/generated/formula_embed.rs:61:8
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub fn pad_features(features: &Features) -> Vec<f64> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `l2_norm` is never used
[INFO] [stdout]   --> src/memory/generated/formula_embed.rs:88:8
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub fn l2_norm(vec: &[f64]) -> f64 {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `embed_formula` is never used
[INFO] [stdout]   --> src/memory/generated/formula_embed.rs:92:8
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub fn embed_formula(formula: &Formula) -> Embedding {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `phi_distance` is never used
[INFO] [stdout]    --> src/memory/generated/formula_embed.rs:122:8
[INFO] [stdout]     |
[INFO] [stdout] 122 | pub fn phi_distance(value: f64) -> f64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_CORPUS` is never used
[INFO] [stdout]  --> src/memory/generated/semantic_search.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const MAX_CORPUS: usize = 10000;
[INFO] [stdout]   |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_K` is never used
[INFO] [stdout]   --> src/memory/generated/semantic_search.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const DEFAULT_K: usize = 5;
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FormulaMatch` is never constructed
[INFO] [stdout]   --> src/memory/generated/semantic_search.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct FormulaMatch {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SearchResult` is never constructed
[INFO] [stdout]   --> src/memory/generated/semantic_search.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct SearchResult {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FormulaEmbedding` is never constructed
[INFO] [stdout]   --> src/memory/generated/semantic_search.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct FormulaEmbedding {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SearchQuery` is never constructed
[INFO] [stdout]   --> src/memory/generated/semantic_search.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct SearchQuery {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_similarity` is never used
[INFO] [stdout]   --> src/memory/generated/semantic_search.rs:41:8
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub fn compute_similarity(query: &[f64], target: &[f64]) -> f64 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `top_k` is never used
[INFO] [stdout]   --> src/memory/generated/semantic_search.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub fn top_k(matches: &mut [FormulaMatch], k: usize) -> Vec<FormulaMatch> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `semantic_search` is never used
[INFO] [stdout]   --> src/memory/generated/semantic_search.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub fn semantic_search(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BUNDLE_ORDER` is never used
[INFO] [stdout]   --> src/bitnet_bundle.rs:95:11
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub const BUNDLE_ORDER: &[&str] = &[
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BUNDLE_FILE_COUNT` is never used
[INFO] [stdout]    --> src/bitnet_bundle.rs:112:11
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub const BUNDLE_FILE_COUNT: usize = 13;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AddrError` is never used
[INFO] [stdout]  --> src/host/addrmap.rs:2:10
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub enum AddrError {
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MemRegion` is never constructed
[INFO] [stdout]   --> src/host/addrmap.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct MemRegion {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `end`, `contains`, `offset_of`, `overlaps`, and `align_up` are never used
[INFO] [stdout]   --> src/host/addrmap.rs:34:18
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl MemRegion {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 34 |     pub const fn new(name: &'static str, base: u64, size: u64) -> Self {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub const fn end(&self) -> u64 {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub const fn contains(&self, addr: u64) -> bool {
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     pub const fn offset_of(&self, addr: u64) -> Option<u64> {
[INFO] [stdout]    |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub const fn overlaps(&self, other: &MemRegion) -> bool {
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub const fn align_up(&self, align: u64) -> u64 {
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REGION_CSR` is never used
[INFO] [stdout]   --> src/host/addrmap.rs:63:11
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub const REGION_CSR: MemRegion = MemRegion::new("csr", 0x4000_0000, 0x1000);
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REGION_BRAM` is never used
[INFO] [stdout]   --> src/host/addrmap.rs:64:11
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub const REGION_BRAM: MemRegion = MemRegion::new("bram", 0x0000_0000, 0x0010_0000);
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REGION_DDR` is never used
[INFO] [stdout]   --> src/host/addrmap.rs:65:11
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub const REGION_DDR: MemRegion = MemRegion::new("ddr", 0x8000_0000, 0x1000_0000);
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REGION_DMA` is never used
[INFO] [stdout]   --> src/host/addrmap.rs:66:11
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub const REGION_DMA: MemRegion = MemRegion::new("dma", 0x4000_1000, 0x0100);
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AddrMap` is never constructed
[INFO] [stdout]   --> src/host/addrmap.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub struct AddrMap {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/host/addrmap.rs:74:12
[INFO] [stdout]     |
[INFO] [stdout]  73 | impl AddrMap {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout]  74 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  80 |     pub fn add(&mut self, region: MemRegion) -> Result<(), AddrError> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  96 |     pub fn find(&self, addr: u64) -> Option<&MemRegion> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn find_name(&self, name: &str) -> Option<&MemRegion> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn regions(&self) -> &[MemRegion] {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     pub fn validate_addr(&self, addr: u64) -> Result<&MemRegion, AddrError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub fn validate_range(&self, addr: u64, len: u64) -> Result<&MemRegion, AddrError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub fn default_map() -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mask` is never used
[INFO] [stdout]  --> src/host/bitmask.rs:1:14
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub const fn mask(width: u8) -> u32 {
[INFO] [stdout]   |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `field_mask` is never used
[INFO] [stdout]  --> src/host/bitmask.rs:5:14
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub const fn field_mask(high: u8, low: u8) -> u32 {
[INFO] [stdout]   |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract` is never used
[INFO] [stdout]  --> src/host/bitmask.rs:9:14
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const fn extract(value: u32, high: u8, low: u8) -> u32 {
[INFO] [stdout]   |              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `insert` is never used
[INFO] [stdout]   --> src/host/bitmask.rs:13:14
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const fn insert(value: u32, high: u8, low: u8, field: u32) -> u32 {
[INFO] [stdout]    |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_set` is never used
[INFO] [stdout]   --> src/host/bitmask.rs:18:14
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const fn is_set(value: u32, bit: u8) -> bool {
[INFO] [stdout]    |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_bit` is never used
[INFO] [stdout]   --> src/host/bitmask.rs:22:14
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub const fn set_bit(value: u32, bit: u8) -> u32 {
[INFO] [stdout]    |              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clear_bit` is never used
[INFO] [stdout]   --> src/host/bitmask.rs:26:14
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub const fn clear_bit(value: u32, bit: u8) -> u32 {
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `toggle_bit` is never used
[INFO] [stdout]   --> src/host/bitmask.rs:30:14
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub const fn toggle_bit(value: u32, bit: u8) -> u32 {
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `popcount` is never used
[INFO] [stdout]   --> src/host/bitmask.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub fn popcount(value: u32) -> u8 {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `trailing_zeros` is never used
[INFO] [stdout]   --> src/host/bitmask.rs:38:8
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub fn trailing_zeros(value: u32) -> u8 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `leading_zeros` is never used
[INFO] [stdout]   --> src/host/bitmask.rs:42:8
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub fn leading_zeros(value: u32) -> u8 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FieldDesc` is never constructed
[INFO] [stdout]   --> src/host/bitmask.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub struct FieldDesc {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `width`, `mask`, `extract`, and `insert` are never used
[INFO] [stdout]   --> src/host/bitmask.rs:54:18
[INFO] [stdout]    |
[INFO] [stdout] 53 | impl FieldDesc {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 54 |     pub const fn new(name: &'static str, high: u8, low: u8) -> Self {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub const fn width(self) -> u8 {
[INFO] [stdout]    |                  ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub const fn mask(self) -> u32 {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub const fn extract(self, value: u32) -> u32 {
[INFO] [stdout]    |                  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub const fn insert(self, value: u32, field: u32) -> u32 {
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `BitError` is never used
[INFO] [stdout]  --> src/host/bitstream.rs:2:10
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub enum BitError {
[INFO] [stdout]   |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BitstreamReader` is never constructed
[INFO] [stdout]   --> src/host/bitstream.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct BitstreamReader<'a> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/host/bitstream.rs:24:12
[INFO] [stdout]     |
[INFO] [stdout]  23 | impl<'a> BitstreamReader<'a> {
[INFO] [stdout]     | ---------------------------- associated items in this implementation
[INFO] [stdout]  24 |     pub fn new(data: &'a [u8]) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  32 |     pub fn bits_remaining(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  37 |     pub fn bytes_consumed(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  45 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  49 |     pub fn read_bit(&mut self) -> Result<bool, BitError> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  62 |     pub fn read_bits(&mut self, count: u8) -> Result<u64, BitError> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  76 |     pub fn read_u8(&mut self) -> Result<u8, BitError> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  80 |     pub fn read_u16_le(&mut self) -> Result<u16, BitError> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  86 |     pub fn read_u32_le(&mut self) -> Result<u32, BitError> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  94 |     pub fn align_to_byte(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub fn skip_bits(&mut self, count: usize) -> Result<(), BitError> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ChainError` is never used
[INFO] [stdout]  --> src/host/bufchain.rs:2:10
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub enum ChainError {
[INFO] [stdout]   |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_SEGMENT` is never used
[INFO] [stdout]   --> src/host/bufchain.rs:28:11
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub const MAX_SEGMENT: usize = 4096;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_CHAIN_BYTES` is never used
[INFO] [stdout]   --> src/host/bufchain.rs:29:11
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub const MAX_CHAIN_BYTES: usize = 65536;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BufSegment` is never constructed
[INFO] [stdout]   --> src/host/bufchain.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct BufSegment {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `len`, `is_empty`, and `end_addr` are never used
[INFO] [stdout]   --> src/host/bufchain.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl BufSegment {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 38 |     pub fn new(data: Vec<u8>, addr: u64) -> Result<Self, ChainError> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn len(&self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn end_addr(&self) -> u64 {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BufChain` is never constructed
[INFO] [stdout]   --> src/host/bufchain.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub struct BufChain {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/host/bufchain.rs:67:12
[INFO] [stdout]     |
[INFO] [stdout]  66 | impl BufChain {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout]  67 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  73 |     pub fn push(&mut self, seg: BufSegment) -> Result<(), ChainError> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  85 |     pub fn get(&self, index: usize) -> Result<&BufSegment, ChainError> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  94 |     pub fn segments(&self) -> &[BufSegment] {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  98 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     pub fn total_bytes(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub fn flatten(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 118 |     pub fn addr_range(&self) -> Option<(u64, u64)> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |     pub fn clear(&mut self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub fn stats(&self) -> ChainStats {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ChainStats` is never constructed
[INFO] [stdout]    --> src/host/bufchain.rs:153:12
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub struct ChainStats {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CAP_INFERENCE` is never used
[INFO] [stdout]  --> src/host/capflags.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub const CAP_INFERENCE: u32 = 1 << 0;
[INFO] [stdout]   |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CAP_DMA` is never used
[INFO] [stdout]  --> src/host/capflags.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub const CAP_DMA: u32 = 1 << 1;
[INFO] [stdout]   |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CAP_IRQ` is never used
[INFO] [stdout]  --> src/host/capflags.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub const CAP_IRQ: u32 = 1 << 2;
[INFO] [stdout]   |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CAP_TERNARY` is never used
[INFO] [stdout]  --> src/host/capflags.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const CAP_TERNARY: u32 = 1 << 3;
[INFO] [stdout]   |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CAP_CRC32` is never used
[INFO] [stdout]  --> src/host/capflags.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub const CAP_CRC32: u32 = 1 << 4;
[INFO] [stdout]   |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CAP_SCATTER_GATHER` is never used
[INFO] [stdout]  --> src/host/capflags.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const CAP_SCATTER_GATHER: u32 = 1 << 5;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CAP_WEIGHT_VALIDATION` is never used
[INFO] [stdout]  --> src/host/capflags.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const CAP_WEIGHT_VALIDATION: u32 = 1 << 6;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CAP_MULTI_LAYER` is never used
[INFO] [stdout]  --> src/host/capflags.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const CAP_MULTI_LAYER: u32 = 1 << 7;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CAP_DEBUG_CSR` is never used
[INFO] [stdout]  --> src/host/capflags.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const CAP_DEBUG_CSR: u32 = 1 << 8;
[INFO] [stdout]   |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CAP_WATCHDOG` is never used
[INFO] [stdout]   --> src/host/capflags.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const CAP_WATCHDOG: u32 = 1 << 9;
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CapFlags` is never constructed
[INFO] [stdout]   --> src/host/capflags.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct CapFlags(u32);
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/host/capflags.rs:16:18
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl CapFlags {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 16 |     pub const fn none() -> Self {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub const fn all() -> Self {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub const fn from_bits(bits: u32) -> Self {
[INFO] [stdout]    |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub const fn bits(self) -> u32 {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub const fn has(self, cap: u32) -> bool {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub const fn set(mut self, cap: u32) -> Self {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub const fn clear(mut self, cap: u32) -> Self {
[INFO] [stdout]    |                  ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     pub const fn is_empty(self) -> bool {
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn count(self) -> u32 {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn missing(self, required: CapFlags) -> CapFlags {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn satisfies(self, required: CapFlags) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn names(self) -> Vec<&'static str> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CapabilityError` is never constructed
[INFO] [stdout]   --> src/host/capflags.rs:96:12
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub struct CapabilityError {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_capabilities` is never used
[INFO] [stdout]    --> src/host/capflags.rs:108:8
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub fn check_capabilities(have: CapFlags, need: CapFlags) -> Result<(), CapabilityError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BASE_CAPABILITIES` is never used
[INFO] [stdout]    --> src/host/capflags.rs:117:11
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub const BASE_CAPABILITIES: CapFlags = CapFlags::none()
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FULL_CAPABILITIES` is never used
[INFO] [stdout]    --> src/host/capflags.rs:122:11
[INFO] [stdout]     |
[INFO] [stdout] 122 | pub const FULL_CAPABILITIES: CapFlags = CapFlags::all();
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ChecksumKind` is never used
[INFO] [stdout]  --> src/host/checksum.rs:2:10
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub enum ChecksumKind {
[INFO] [stdout]   |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `name` and `digest_size` are never used
[INFO] [stdout]   --> src/host/checksum.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl ChecksumKind {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] 10 |     pub fn name(self) -> &'static str {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn digest_size(self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ChecksumError` is never used
[INFO] [stdout]   --> src/host/checksum.rs:30:10
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub enum ChecksumError {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Digest` is never constructed
[INFO] [stdout]   --> src/host/checksum.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub struct Digest {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `as_u32` are never used
[INFO] [stdout]   --> src/host/checksum.rs:53:12
[INFO] [stdout]    |
[INFO] [stdout] 52 | impl Digest {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 53 |     pub fn new(kind: ChecksumKind, bytes: Vec<u8>) -> Result<Self, ChecksumError> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn as_u32(&self) -> u32 {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `crc32_table` is never used
[INFO] [stdout]   --> src/host/checksum.rs:73:4
[INFO] [stdout]    |
[INFO] [stdout] 73 | fn crc32_table() -> &'static [u32; 256] {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_crc32` is never used
[INFO] [stdout]   --> src/host/checksum.rs:96:4
[INFO] [stdout]    |
[INFO] [stdout] 96 | fn compute_crc32(data: &[u8]) -> u32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_sum8` is never used
[INFO] [stdout]    --> src/host/checksum.rs:105:4
[INFO] [stdout]     |
[INFO] [stdout] 105 | fn compute_sum8(data: &[u8]) -> u8 {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_xor8` is never used
[INFO] [stdout]    --> src/host/checksum.rs:113:4
[INFO] [stdout]     |
[INFO] [stdout] 113 | fn compute_xor8(data: &[u8]) -> u8 {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_fletcher16` is never used
[INFO] [stdout]    --> src/host/checksum.rs:121:4
[INFO] [stdout]     |
[INFO] [stdout] 121 | fn compute_fletcher16(data: &[u8]) -> u16 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `checksum` is never used
[INFO] [stdout]    --> src/host/checksum.rs:131:8
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub fn checksum(kind: ChecksumKind, data: &[u8]) -> Digest {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `verify` is never used
[INFO] [stdout]    --> src/host/checksum.rs:152:8
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub fn verify(expected: &Digest, data: &[u8]) -> bool {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `QueueError` is never used
[INFO] [stdout]  --> src/host/cmdq.rs:2:10
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub enum QueueError {
[INFO] [stdout]   |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Priority` is never used
[INFO] [stdout]   --> src/host/cmdq.rs:19:10
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub enum Priority {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `QueuedCommand` is never constructed
[INFO] [stdout]   --> src/host/cmdq.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct QueuedCommand {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CmdKind` is never used
[INFO] [stdout]   --> src/host/cmdq.rs:41:10
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub enum CmdKind {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Slot` is never constructed
[INFO] [stdout]   --> src/host/cmdq.rs:51:8
[INFO] [stdout]    |
[INFO] [stdout] 51 | struct Slot {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_CAPACITY` is never used
[INFO] [stdout]   --> src/host/cmdq.rs:56:11
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub const DEFAULT_CAPACITY: usize = 32;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CommandQueue` is never constructed
[INFO] [stdout]   --> src/host/cmdq.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub struct CommandQueue {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/host/cmdq.rs:68:12
[INFO] [stdout]     |
[INFO] [stdout]  67 | impl CommandQueue {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout]  68 |     pub fn new(capacity: usize) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  79 |     pub fn enqueue(&mut self, kind: CmdKind, priority: Priority, payload: Vec<u8>) -> Result<u64, QueueError> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  99 |     pub fn dequeue(&mut self) -> Result<QueuedCommand, QueueError> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub fn peek(&self) -> Result<&QueuedCommand, QueueError> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 140 |     pub fn is_full(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 144 |     pub fn capacity(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 148 |     pub fn clear(&mut self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 152 |     pub fn contains(&self, id: u64) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 156 |     pub fn remove(&mut self, id: u64) -> Option<QueuedCommand> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     pub fn stats(&self) -> QueueStats {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `QueueStats` is never constructed
[INFO] [stdout]    --> src/host/cmdq.rs:174:12
[INFO] [stdout]     |
[INFO] [stdout] 174 | pub struct QueueStats {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `utilization` is never used
[INFO] [stdout]    --> src/host/cmdq.rs:182:12
[INFO] [stdout]     |
[INFO] [stdout] 181 | impl QueueStats {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] 182 |     pub fn utilization(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ConfigError` is never used
[INFO] [stdout]  --> src/host/config.rs:2:10
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub enum ConfigError {
[INFO] [stdout]   |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_LAYERS` is never used
[INFO] [stdout]   --> src/host/config.rs:36:11
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub const MIN_LAYERS: u32 = 1;
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_LAYERS` is never used
[INFO] [stdout]   --> src/host/config.rs:37:11
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub const MAX_LAYERS: u32 = 256;
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_NEURONS` is never used
[INFO] [stdout]   --> src/host/config.rs:38:11
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub const MIN_NEURONS: u32 = 1;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_NEURONS` is never used
[INFO] [stdout]   --> src/host/config.rs:39:11
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub const MAX_NEURONS: u32 = 65536;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_CHUNKS` is never used
[INFO] [stdout]   --> src/host/config.rs:40:11
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub const MIN_CHUNKS: u32 = 1;
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_THRESHOLD` is never used
[INFO] [stdout]   --> src/host/config.rs:41:11
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub const MIN_THRESHOLD: i32 = -32768;
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_THRESHOLD` is never used
[INFO] [stdout]   --> src/host/config.rs:42:11
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub const MAX_THRESHOLD: i32 = 32767;
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_POLL_TIMEOUT_MS` is never used
[INFO] [stdout]   --> src/host/config.rs:43:11
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub const DEFAULT_POLL_TIMEOUT_MS: u64 = 5000;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_POLL_INTERVAL_US` is never used
[INFO] [stdout]   --> src/host/config.rs:44:11
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub const DEFAULT_POLL_INTERVAL_US: u64 = 100;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HostConfig` is never constructed
[INFO] [stdout]   --> src/host/config.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub struct HostConfig {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `builder`, `validate`, and `total_weights` are never used
[INFO] [stdout]    --> src/host/config.rs:76:12
[INFO] [stdout]     |
[INFO] [stdout]  75 | impl HostConfig {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout]  76 |     pub fn builder() -> HostConfigBuilder {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  80 |     pub fn validate(&self) -> Result<(), ConfigError> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub fn total_weights(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HostConfigBuilder` is never constructed
[INFO] [stdout]    --> src/host/config.rs:123:12
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub struct HostConfigBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/host/config.rs:128:12
[INFO] [stdout]     |
[INFO] [stdout] 127 | impl HostConfigBuilder {
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout] 128 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 134 |     pub fn layers(mut self, n: u32) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 139 |     pub fn neurons(mut self, n: u32) -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 144 |     pub fn chunks(mut self, n: u32) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 149 |     pub fn threshold(mut self, t: i32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 154 |     pub fn weight_addr(mut self, addr: u64) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 159 |     pub fn poll_timeout_ms(mut self, ms: u64) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 164 |     pub fn poll_interval_us(mut self, us: u64) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 169 |     pub fn max_retries(mut self, n: u8) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 174 |     pub fn watchdog_timeout_ms(mut self, ms: u64) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 179 |     pub fn build(self) -> Result<HostConfig, ConfigError> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ConfigValue` is never used
[INFO] [stdout]  --> src/host/configreg.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum ConfigValue {
[INFO] [stdout]   |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RegistryError` is never used
[INFO] [stdout]   --> src/host/configreg.rs:27:10
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub enum RegistryError {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Entry` is never constructed
[INFO] [stdout]   --> src/host/configreg.rs:46:8
[INFO] [stdout]    |
[INFO] [stdout] 46 | struct Entry {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConfigRegistry` is never constructed
[INFO] [stdout]   --> src/host/configreg.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub struct ConfigRegistry {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/host/configreg.rs:58:12
[INFO] [stdout]     |
[INFO] [stdout]  57 | impl ConfigRegistry {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout]  58 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  65 |     pub fn set(&mut self, key: &str, value: ConfigValue) -> Result<(), RegistryError> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  76 |     pub fn set_readonly(&mut self, key: &str, value: ConfigValue) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  81 |     pub fn get(&self, key: &str) -> Result<&ConfigValue, RegistryError> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  88 |     pub fn get_bool(&self, key: &str) -> Result<bool, RegistryError> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  95 |     pub fn get_u32(&self, key: &str) -> Result<u32, RegistryError> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub fn get_u64(&self, key: &str) -> Result<u64, RegistryError> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 109 |     pub fn get_string(&self, key: &str) -> Result<&str, RegistryError> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     pub fn contains(&self, key: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub fn remove(&mut self, key: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |     pub fn keys(&self) -> Vec<&str> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 133 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |     pub fn change_count(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 145 |     pub fn is_readonly(&self, key: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 149 |     pub fn clear(&mut self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 |     pub fn snapshot(&self) -> Vec<(&str, &ConfigValue, bool)> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `STATUS_BUSY_BIT` is never used
[INFO] [stdout]   --> src/host/csr_map.rs:83:11
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub const STATUS_BUSY_BIT: u32 = 0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `STATUS_BUSY_MASK` is never used
[INFO] [stdout]   --> src/host/csr_map.rs:92:11
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub const STATUS_BUSY_MASK: u32 = 1 << STATUS_BUSY_BIT;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RingError` is never used
[INFO] [stdout]  --> src/host/descring.rs:2:10
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub enum RingError {
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_RING_SIZE` is never used
[INFO] [stdout]   --> src/host/descring.rs:22:11
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub const DEFAULT_RING_SIZE: usize = 16;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `DescStatus` is never used
[INFO] [stdout]   --> src/host/descring.rs:25:10
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub enum DescStatus {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Descriptor` is never constructed
[INFO] [stdout]   --> src/host/descring.rs:46:12
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Descriptor {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `with_tag` are never used
[INFO] [stdout]   --> src/host/descring.rs:54:18
[INFO] [stdout]    |
[INFO] [stdout] 53 | impl Descriptor {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 54 |     pub const fn new(addr: u64, len: u32) -> Self {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn with_tag(mut self, tag: u8) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DescriptorRing` is never constructed
[INFO] [stdout]   --> src/host/descring.rs:70:12
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub struct DescriptorRing {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/host/descring.rs:78:12
[INFO] [stdout]     |
[INFO] [stdout]  77 | impl DescriptorRing {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout]  78 |     pub fn new(capacity: usize) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  88 |     pub fn enqueue(&mut self, desc: Descriptor) -> Result<usize, RingError> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub fn dequeue(&mut self) -> Result<Descriptor, RingError> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub fn peek(&self) -> Result<&Descriptor, RingError> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub fn get(&self, index: usize) -> Result<&Descriptor, RingError> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 130 |     pub fn get_mut(&mut self, index: usize) -> Result<&mut Descriptor, RingError> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 140 |     pub fn mark_active(&mut self, index: usize) -> Result<(), RingError> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 146 |     pub fn mark_completed(&mut self, index: usize) -> Result<(), RingError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 152 |     pub fn mark_error(&mut self, index: usize) -> Result<(), RingError> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 166 |     pub fn is_full(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 170 |     pub fn capacity(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 174 |     pub fn clear(&mut self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 183 |     pub fn count_by_status(&self, status: DescStatus) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 187 |     pub fn stats(&self) -> RingStats {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RingStats` is never constructed
[INFO] [stdout]    --> src/host/descring.rs:201:12
[INFO] [stdout]     |
[INFO] [stdout] 201 | pub struct RingStats {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `COUNTER_INFERENCE_COUNT` is never used
[INFO] [stdout]  --> src/host/diag.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub const COUNTER_INFERENCE_COUNT: &str = "inference_count";
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `COUNTER_INFERENCE_ERRORS` is never used
[INFO] [stdout]  --> src/host/diag.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const COUNTER_INFERENCE_ERRORS: &str = "inference_errors";
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `COUNTER_DMA_TRANSFERS` is never used
[INFO] [stdout]  --> src/host/diag.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub const COUNTER_DMA_TRANSFERS: &str = "dma_transfers";
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `COUNTER_DMA_BYTES` is never used
[INFO] [stdout]  --> src/host/diag.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const COUNTER_DMA_BYTES: &str = "dma_bytes";
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `COUNTER_WEIGHT_LOADS` is never used
[INFO] [stdout]  --> src/host/diag.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const COUNTER_WEIGHT_LOADS: &str = "weight_loads";
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `COUNTER_RETRIES` is never used
[INFO] [stdout]  --> src/host/diag.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const COUNTER_RETRIES: &str = "retries";
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `COUNTER_TIMEOUTS` is never used
[INFO] [stdout]  --> src/host/diag.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const COUNTER_TIMEOUTS: &str = "timeouts";
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `COUNTER_WATCHDOG_FEEDS` is never used
[INFO] [stdout]   --> src/host/diag.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const COUNTER_WATCHDOG_FEEDS: &str = "watchdog_feeds";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DiagCounters` is never constructed
[INFO] [stdout]   --> src/host/diag.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct DiagCounters {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/host/diag.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl DiagCounters {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 18 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn inc(&mut self, name: &str) -> u64 {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn inc_by(&mut self, name: &str, delta: u64) -> u64 {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn dec(&mut self, name: &str) -> u64 {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn set(&mut self, name: &str, value: u64) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     pub fn get(&self, name: &str) -> u64 {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn names(&self) -> Vec<&str> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn len(&self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn snapshot(&self) -> Vec<(&str, u64)> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 69 |     pub fn reset(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     pub fn clear(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub fn summary(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `into_mmio`, `is_busy`, `is_done`, `has_error`, `read_irq_status`, and `clear_irq` are never used
[INFO] [stdout]    --> src/host/driver.rs:88:12
[INFO] [stdout]     |
[INFO] [stdout]  71 | impl<M: Mmio> BitnetDriver<M> {
[INFO] [stdout]     | ----------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  88 |     pub fn into_mmio(self) -> M {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     pub fn is_busy(&mut self) -> bool {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |     pub fn is_done(&mut self) -> bool {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 133 |     pub fn has_error(&mut self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub fn read_irq_status(&mut self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 188 |     pub fn clear_irq(&mut self, _mask: u32) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `EndpointError` is never used
[INFO] [stdout]  --> src/host/endpoint.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum EndpointError {
[INFO] [stdout]   |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Access` is never used
[INFO] [stdout]   --> src/host/endpoint.rs:25:10
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub enum Access {
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Endpoint` is never constructed
[INFO] [stdout]   --> src/host/endpoint.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct Endpoint {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/host/endpoint.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 50 | impl Endpoint {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 51 |     pub fn new(name: &str, base: u32, size: u32, access: Access) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub fn with_description(mut self, desc: &str) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub fn end(&self) -> u32 {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn contains(&self, offset: u32) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 74 |     pub fn offset_of(&self, offset: u32) -> Option<u32> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 82 |     pub fn can_read(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 86 |     pub fn can_write(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 90 |     fn overlaps(&self, other: &Endpoint) -> bool {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EndpointRegistry` is never constructed
[INFO] [stdout]   --> src/host/endpoint.rs:96:12
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub struct EndpointRegistry {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/host/endpoint.rs:101:12
[INFO] [stdout]     |
[INFO] [stdout] 100 | impl EndpointRegistry {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] 101 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |     pub fn register(&mut self, ep: Endpoint) -> Result<(), EndpointError> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     pub fn unregister(&mut self, name: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     pub fn get(&self, name: &str) -> Option<&Endpoint> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn get_mut(&mut self, name: &str) -> Option<&mut Endpoint> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 135 |     pub fn find_by_offset(&self, offset: u32) -> Option<&Endpoint> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 139 |     pub fn validate_read(&self, offset: u32) -> Result<&Endpoint, EndpointError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 147 |     pub fn validate_write(&self, offset: u32) -> Result<&Endpoint, EndpointError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 159 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     pub fn names(&self) -> Vec<&str> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |     pub fn endpoints(&self) -> Vec<&Endpoint> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 171 |     pub fn clear(&mut self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `EventKind` is never used
[INFO] [stdout]  --> src/host/eventlog.rs:2:10
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub enum EventKind {
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `name` is never used
[INFO] [stdout]   --> src/host/eventlog.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl EventKind {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] 22 |     pub fn name(self) -> &'static str {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Event` is never constructed
[INFO] [stdout]   --> src/host/eventlog.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct Event {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_data`, and `duration_since` are never used
[INFO] [stdout]   --> src/host/eventlog.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl Event {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 52 |     pub fn new(kind: EventKind, timestamp_us: u64) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub fn with_data(kind: EventKind, timestamp_us: u64, data: u32) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub fn duration_since(&self, earlier: &Event) -> Option<u64> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_CAPACITY` is never used
[INFO] [stdout]   --> src/host/eventlog.rs:77:11
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub const DEFAULT_CAPACITY: usize = 256;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EventLog` is never constructed
[INFO] [stdout]   --> src/host/eventlog.rs:80:12
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub struct EventLog {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/host/eventlog.rs:87:12
[INFO] [stdout]     |
[INFO] [stdout]  86 | impl EventLog {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout]  87 |     pub fn new(capacity: usize) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  95 |     pub fn record(&mut self, kind: EventKind, timestamp_us: u64) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  99 |     pub fn record_with_data(&mut self, kind: EventKind, timestamp_us: u64, data: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     fn push(&mut self, event: Event) {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 111 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     pub fn events(&self) -> &[Event] {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     pub fn last(&self) -> Option<&Event> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     pub fn first(&self) -> Option<&Event> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn find(&self, kind: EventKind) -> Option<&Event> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 135 |     pub fn find_all(&self, kind: EventKind) -> Vec<&Event> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 139 |     pub fn count(&self, kind: EventKind) -> usize {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     pub fn clear(&mut self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 148 |     pub fn dropped(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 152 |     pub fn capacity(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 156 |     pub fn duration(&self) -> Option<u64> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 |     pub fn stats(&self) -> EventLogStats {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub fn filter_by_range(&self, start_us: u64, end_us: u64) -> Vec<&Event> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EventLogStats` is never constructed
[INFO] [stdout]    --> src/host/eventlog.rs:181:12
[INFO] [stdout]     |
[INFO] [stdout] 181 | pub struct EventLogStats {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ImageError` is never used
[INFO] [stdout]  --> src/host/firmware.rs:2:10
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub enum ImageError {
[INFO] [stdout]   |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAGIC` is never used
[INFO] [stdout]   --> src/host/firmware.rs:40:11
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub const MAGIC: u32 = 0x54465700;
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VERSION` is never used
[INFO] [stdout]   --> src/host/firmware.rs:41:11
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub const VERSION: u8 = 1;
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_SIZE` is never used
[INFO] [stdout]   --> src/host/firmware.rs:42:11
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub const HEADER_SIZE: u16 = 128;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_SECTIONS` is never used
[INFO] [stdout]   --> src/host/firmware.rs:43:11
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub const MAX_SECTIONS: u8 = 8;
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SECTION_CODE` is never used
[INFO] [stdout]   --> src/host/firmware.rs:45:11
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub const SECTION_CODE: &[u8; 4] = b"CODE";
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SECTION_DATA` is never used
[INFO] [stdout]   --> src/host/firmware.rs:46:11
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub const SECTION_DATA: &[u8; 4] = b"DATA";
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SECTION_CFG` is never used
[INFO] [stdout]   --> src/host/firmware.rs:47:11
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub const SECTION_CFG: &[u8; 4] = b"CFG\0";
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SECTION_WGT` is never used
[INFO] [stdout]   --> src/host/firmware.rs:48:11
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub const SECTION_WGT: &[u8; 4] = b"WGT\0";
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SectionHeader` is never constructed
[INFO] [stdout]   --> src/host/firmware.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct SectionHeader {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `tag_str`, and `end` are never used
[INFO] [stdout]   --> src/host/firmware.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 58 | impl SectionHeader {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 59 |     pub fn new(tag: &[u8; 4], offset: u32, size: u32, crc32: u32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub fn tag_str(&self) -> &str {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     pub fn end(&self) -> u32 {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FirmwareHeader` is never constructed
[INFO] [stdout]   --> src/host/firmware.rs:78:12
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub struct FirmwareHeader {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `find_section` and `require_section` are never used
[INFO] [stdout]   --> src/host/firmware.rs:87:12
[INFO] [stdout]    |
[INFO] [stdout] 86 | impl FirmwareHeader {
[INFO] [stdout]    | ------------------- methods in this implementation
[INFO] [stdout] 87 |     pub fn find_section(&self, tag: &[u8; 4]) -> Option<&SectionHeader> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 91 |     pub fn require_section(&self, tag: &[u8; 4]) -> Result<&SectionHeader, ImageError> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FirmwareImage` is never constructed
[INFO] [stdout]   --> src/host/firmware.rs:99:12
[INFO] [stdout]    |
[INFO] [stdout] 99 | pub struct FirmwareImage {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `parse`, `section_data`, `verify_crc`, `total_image_size`, and `code_size` are never used
[INFO] [stdout]    --> src/host/firmware.rs:105:12
[INFO] [stdout]     |
[INFO] [stdout] 104 | impl FirmwareImage {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] 105 |     pub fn parse(data: &[u8]) -> Result<Self, ImageError> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |     pub fn section_data(&self, section: &SectionHeader) -> &[u8] {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 198 |     pub fn verify_crc(&self, section: &SectionHeader) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 203 |     pub fn total_image_size(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 207 |     pub fn code_size(&self) -> Option<u32> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `crc32` is never used
[INFO] [stdout]    --> src/host/firmware.rs:212:4
[INFO] [stdout]     |
[INFO] [stdout] 212 | fn crc32(data: &[u8]) -> u32 {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_image` is never used
[INFO] [stdout]    --> src/host/firmware.rs:240:8
[INFO] [stdout]     |
[INFO] [stdout] 240 | pub fn build_image(
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Health` is never used
[INFO] [stdout]  --> src/host/health.rs:2:10
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub enum Health {
[INFO] [stdout]   |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Subsystem` is never used
[INFO] [stdout]   --> src/host/health.rs:21:10
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub enum Subsystem {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SubsystemHealth` is never constructed
[INFO] [stdout]   --> src/host/health.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct SubsystemHealth {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/host/health.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl SubsystemHealth {
[INFO] [stdout]    | -------------------- associated function in this implementation
[INFO] [stdout] 52 |     pub fn new(subsystem: Subsystem, health: Health, message: &str, timestamp_us: u64) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HealthMonitor` is never constructed
[INFO] [stdout]   --> src/host/health.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub struct HealthMonitor {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/host/health.rs:70:12
[INFO] [stdout]     |
[INFO] [stdout]  69 | impl HealthMonitor {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout]  70 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  78 |     pub fn report(&mut self, report: SubsystemHealth) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  86 |     pub fn get(&self, subsystem: Subsystem) -> Option<&SubsystemHealth> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  90 |     pub fn overall(&self) -> Health {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  98 |     pub fn score(&self) -> u8 {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |     pub fn degraded_subsystems(&self) -> Vec<&SubsystemHealth> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 |     pub fn check(&mut self, now_us: u64) -> Health {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub fn checks(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub fn last_check_us(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |     pub fn subsystem_count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |     pub fn clear(&mut self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 138 |     pub fn summary(&self) -> HealthSummary {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 147 |     fn subsystems_count(&self) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HealthSummary` is never constructed
[INFO] [stdout]    --> src/host/health.rs:159:12
[INFO] [stdout]     |
[INFO] [stdout] 159 | pub struct HealthSummary {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUM_BINS` is never used
[INFO] [stdout]  --> src/host/histogram.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub const NUM_BINS: usize = 10;
[INFO] [stdout]   |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BIN_BOUNDARIES` is never used
[INFO] [stdout]  --> src/host/histogram.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub const BIN_BOUNDARIES: [u64; NUM_BINS + 1] = [
[INFO] [stdout]   |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BIN_LABELS` is never used
[INFO] [stdout]  --> src/host/histogram.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub const BIN_LABELS: [&str; NUM_BINS] = [
[INFO] [stdout]   |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Histogram` is never constructed
[INFO] [stdout]   --> src/host/histogram.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct Histogram {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/host/histogram.rs:20:12
[INFO] [stdout]     |
[INFO] [stdout]  19 | impl Histogram {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout]  20 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  30 |     pub fn record(&mut self, latency_us: u64) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  43 |     fn find_bin(&self, value: u64) -> usize {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  52 |     pub fn bins(&self) -> &[u64; NUM_BINS] {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  56 |     pub fn bin(&self, index: usize) -> u64 {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  60 |     pub fn count(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  64 |     pub fn sum_us(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  68 |     pub fn min_us(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  72 |     pub fn max_us(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  76 |     pub fn mean_us(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  84 |     pub fn percentile(&self, p: f64) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  99 |     pub fn p50(&self) -> u64 {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     pub fn p99(&self) -> u64 {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |     pub fn merge(&mut self, other: &Histogram) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     pub fn reset(&mut self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 135 |     pub fn summary(&self) -> HistogramSummary {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HistogramSummary` is never constructed
[INFO] [stdout]    --> src/host/histogram.rs:154:12
[INFO] [stdout]     |
[INFO] [stdout] 154 | pub struct HistogramSummary {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IrqCounters` is never constructed
[INFO] [stdout]   --> src/host/irq.rs:80:12
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub struct IrqCounters {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `unregister` and `is_registered` are never used
[INFO] [stdout]    --> src/host/irq.rs:122:12
[INFO] [stdout]     |
[INFO] [stdout] 102 | impl IrqHandler {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub fn unregister(&mut self, src: IrqSource) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn is_registered(&self, src: IrqSource) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `into_parts` is never used
[INFO] [stdout]    --> src/host/irq.rs:224:12
[INFO] [stdout]     |
[INFO] [stdout] 202 | impl<M: Mmio> IrqDrivenDriver<M> {
[INFO] [stdout]     | -------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 224 |     pub fn into_parts(self) -> (BitnetDriver<M>, IrqHandler) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `IrqHandlerFn` is never used
[INFO] [stdout]  --> src/host/irqrouter.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub type IrqHandlerFn = fn(IrqSource, u32) -> IrqAction;
[INFO] [stdout]   |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `IrqSource` is never used
[INFO] [stdout]  --> src/host/irqrouter.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub enum IrqSource {
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `IrqAction` is never used
[INFO] [stdout]   --> src/host/irqrouter.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub enum IrqAction {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RouteError` is never used
[INFO] [stdout]   --> src/host/irqrouter.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub enum RouteError {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IrqEvent` is never constructed
[INFO] [stdout]   --> src/host/irqrouter.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct IrqEvent {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IrqRouter` is never constructed
[INFO] [stdout]   --> src/host/irqrouter.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub struct IrqRouter {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/host/irqrouter.rs:66:12
[INFO] [stdout]     |
[INFO] [stdout]  65 | impl IrqRouter {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout]  66 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  76 |     pub fn register(&mut self, source: IrqSource, handler: IrqHandlerFn) -> Result<(), RouteError> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  84 |     pub fn unregister(&mut self, source: IrqSource) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  88 |     pub fn set_mask(&mut self, mask: u8) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  92 |     pub fn mask(&self) -> u8 {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  96 |     pub fn is_masked(&self, source: IrqSource) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub fn dispatch(&mut self, event: IrqEvent) -> Option<IrqAction> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 118 |     pub fn handler_count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub fn has_handler(&self, source: IrqSource) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 126 |     pub fn total_dispatched(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 130 |     pub fn total_dropped(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 134 |     pub fn source_count(&self, source: IrqSource) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 138 |     pub fn clear_stats(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `PoolError` is never used
[INFO] [stdout]  --> src/host/mempool.rs:2:10
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub enum PoolError {
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLOCK_SIZE` is never used
[INFO] [stdout]   --> src/host/mempool.rs:22:11
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub const BLOCK_SIZE: usize = 64;
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_BLOCKS` is never used
[INFO] [stdout]   --> src/host/mempool.rs:23:11
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub const MAX_BLOCKS: usize = 64;
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MemBlock` is never constructed
[INFO] [stdout]   --> src/host/mempool.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct MemBlock {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/host/mempool.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl MemBlock {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 32 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn with_data(slice: &[u8]) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn as_slice(&self) -> &[u8] {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub fn as_mut_slice(&mut self) -> &mut [u8] {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub fn capacity(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub fn remaining(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn clear(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub fn write(&mut self, data: &[u8]) -> usize {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MemPool` is never constructed
[INFO] [stdout]   --> src/host/mempool.rs:76:12
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub struct MemPool {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/host/mempool.rs:83:12
[INFO] [stdout]     |
[INFO] [stdout]  82 | impl MemPool {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout]  83 |     pub fn new(block_count: usize) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  94 |     pub fn allocate(&mut self) -> Result<(usize, &mut MemBlock), PoolError> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub fn allocate_with(&mut self, data: &[u8]) -> Result<(usize, &mut MemBlock), PoolError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     pub fn deallocate(&mut self, idx: usize) -> Result<(), PoolError> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub fn get(&self, idx: usize) -> Result<&MemBlock, PoolError> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |     pub fn get_mut(&mut self, idx: usize) -> Result<&mut MemBlock, PoolError> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 135 |     pub fn free_count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 139 |     pub fn allocated_count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     pub fn total_count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 147 |     pub fn is_full(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |     pub fn stats(&self) -> PoolStats {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PoolStats` is never constructed
[INFO] [stdout]    --> src/host/mempool.rs:166:12
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub struct PoolStats {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `utilization` is never used
[INFO] [stdout]    --> src/host/mempool.rs:174:12
[INFO] [stdout]     |
[INFO] [stdout] 173 | impl PoolStats {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] 174 |     pub fn utilization(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `log`, `clear_log`, `set_busy`, `set_error`, `peek`, and `poke` are never used
[INFO] [stdout]    --> src/host/mmio.rs:84:12
[INFO] [stdout]     |
[INFO] [stdout]  68 | impl MockMmio {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  84 |     pub fn log(&self) -> &[MmioRecord] {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  89 |     pub fn clear_log(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn set_busy(&mut self, busy: bool) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 |     pub fn set_error(&mut self, err: bool) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn peek(&self, addr: u32) -> u32 {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 130 |     pub fn poke(&mut self, addr: u32, value: u32) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `OpStatus` is never used
[INFO] [stdout]  --> src/host/oplog.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum OpStatus {
[INFO] [stdout]   |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OpRecord` is never constructed
[INFO] [stdout]   --> src/host/oplog.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct OpRecord {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_tag`, `complete`, `fail`, `timeout`, and `duration_us` are never used
[INFO] [stdout]   --> src/host/oplog.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl OpRecord {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 33 |     pub fn new(id: u64, name: &str, start_us: u64) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn with_tag(mut self, key: &str, value: &str) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn complete(&mut self, end_us: u64) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn fail(&mut self, end_us: u64) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub fn timeout(&mut self, end_us: u64) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub fn duration_us(&self) -> Option<u64> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_MAX_OPS` is never used
[INFO] [stdout]   --> src/host/oplog.rs:69:11
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub const DEFAULT_MAX_OPS: usize = 128;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OpLog` is never constructed
[INFO] [stdout]   --> src/host/oplog.rs:72:12
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub struct OpLog {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/host/oplog.rs:80:12
[INFO] [stdout]     |
[INFO] [stdout]  79 | impl OpLog {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout]  80 |     pub fn new(max_ops: usize) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  89 |     pub fn begin(&mut self, name: &str, start_us: u64) -> u64 {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub fn begin_with_tag(&mut self, name: &str, start_us: u64, key: &str, value: &str) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub fn complete(&mut self, id: u64, end_us: u64) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     pub fn fail(&mut self, id: u64, end_us: u64) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn timeout(&mut self, id: u64, end_us: u64) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn get(&self, id: u64) -> Option<&OpRecord> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 135 |     pub fn records(&self) -> &[OpRecord] {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 139 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 147 |     pub fn dropped(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     pub fn by_status(&self, status: OpStatus) -> Vec<&OpRecord> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |     pub fn by_name(&self, name: &str) -> Vec<&OpRecord> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 159 |     pub fn success_count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     pub fn fail_count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |     pub fn clear(&mut self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub fn stats(&self) -> OpLogStats {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OpLogStats` is never constructed
[INFO] [stdout]    --> src/host/oplog.rs:191:12
[INFO] [stdout]     |
[INFO] [stdout] 191 | pub struct OpLogStats {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `PipelineState` is never used
[INFO] [stdout]  --> src/host/pipeline.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub enum PipelineState {
[INFO] [stdout]   |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `PipelineError` is never used
[INFO] [stdout]   --> src/host/pipeline.rs:28:10
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub enum PipelineError {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PipelineConfig` is never constructed
[INFO] [stdout]   --> src/host/pipeline.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct PipelineConfig {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InferenceResult` is never constructed
[INFO] [stdout]   --> src/host/pipeline.rs:76:12
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub struct InferenceResult {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InferencePipeline` is never constructed
[INFO] [stdout]   --> src/host/pipeline.rs:82:12
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub struct InferencePipeline {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/host/pipeline.rs:90:12
[INFO] [stdout]     |
[INFO] [stdout]  89 | impl InferencePipeline {
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout]  90 |     pub fn new(config: PipelineConfig) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  99 |     pub fn state(&self) -> PipelineState {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     pub fn poll_count(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |     pub fn configure(&mut self) -> Result<(), PipelineError> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn load_weights(&mut self) -> Result<(), PipelineError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub fn start(&mut self) -> Result<(), PipelineError> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     pub fn poll(&mut self) -> Result<PipelineState, PipelineError> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 175 |     pub fn wait_complete(&mut self) -> Result<InferenceResult, PipelineError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 187 |     pub fn reset(&mut self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RateLimitError` is never used
[INFO] [stdout]  --> src/host/ratelimit.rs:2:10
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub enum RateLimitError {
[INFO] [stdout]   |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RateLimitConfig` is never constructed
[INFO] [stdout]   --> src/host/ratelimit.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct RateLimitConfig {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `burst` are never used
[INFO] [stdout]   --> src/host/ratelimit.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl RateLimitConfig {
[INFO] [stdout]    | -------------------- associated functions in this implementation
[INFO] [stdout] 34 |     pub fn new(max_tokens: u64, refill_per_second: u64) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub fn burst(max: u64) -> Self {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RateLimiter` is never constructed
[INFO] [stdout]   --> src/host/ratelimit.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct RateLimiter {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/host/ratelimit.rs:59:12
[INFO] [stdout]     |
[INFO] [stdout]  58 | impl RateLimiter {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout]  59 |     pub fn new(config: RateLimitConfig) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  69 |     pub fn try_acquire(&mut self, now_ms: u64) -> Result<(), RateLimitError> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  86 |     pub fn acquire(&mut self, now_ms: u64, count: u64) -> Result<(), RateLimitError> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     fn refill(&mut self, now_ms: u64) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub fn tokens(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub fn total_allowed(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub fn total_rejected(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn reset(&mut self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |     pub fn stats(&self) -> RateLimitStats {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RateLimitStats` is never constructed
[INFO] [stdout]    --> src/host/ratelimit.rs:143:12
[INFO] [stdout]     |
[INFO] [stdout] 143 | pub struct RateLimitStats {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CacheError` is never used
[INFO] [stdout]  --> src/host/regcache.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub enum CacheError {
[INFO] [stdout]   |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CacheEntry` is never constructed
[INFO] [stdout]   --> src/host/regcache.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct CacheEntry {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RegisterCache` is never constructed
[INFO] [stdout]   --> src/host/regcache.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct RegisterCache {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/host/regcache.rs:41:12
[INFO] [stdout]     |
[INFO] [stdout]  40 | impl RegisterCache {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout]  41 |     pub fn new(ttl_us: u64) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  52 |     pub fn read(&mut self, offset: u32, now_us: u64) -> Option<u32> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  64 |     pub fn write(&mut self, offset: u32, value: u32, now_us: u64) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  73 |     pub fn update(&mut self, offset: u32, value: u32, now_us: u64) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  81 |     pub fn invalidate(&mut self, offset: u32) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  90 |     pub fn invalidate_all(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  96 |     pub fn flush_dirty(&mut self) -> Vec<(u32, u32)> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     pub fn get(&self, offset: u32) -> Option<&CacheEntry> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     pub fn contains(&self, offset: u32) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub fn is_stale(&self, offset: u32, now_us: u64) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn ttl_us(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 135 |     pub fn hits(&self) -> u64 {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 139 |     pub fn misses(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     pub fn writes(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 147 |     pub fn evictions(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     pub fn hit_rate(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 156 |     pub fn prefill_csrs(&mut self, now_us: u64) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 |     pub fn stats(&self) -> CacheStats {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CacheStats` is never constructed
[INFO] [stdout]    --> src/host/regcache.rs:175:12
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub struct CacheStats {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CtrlReg` is never constructed
[INFO] [stdout]  --> src/host/regmap.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct CtrlReg(u32);
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `from_raw`, `raw`, `start`, and `with_start` are never used
[INFO] [stdout]   --> src/host/regmap.rs:7:18
[INFO] [stdout]    |
[INFO] [stdout]  6 | impl CtrlReg {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout]  7 |     pub const fn new() -> Self {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 11 |     pub const fn from_raw(raw: u32) -> Self {
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub const fn raw(self) -> u32 {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub const fn start(self) -> bool {
[INFO] [stdout]    |                  ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub const fn with_start(mut self) -> Self {
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StatusReg` is never constructed
[INFO] [stdout]   --> src/host/regmap.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct StatusReg(u32);
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_raw`, `raw`, `busy`, `done`, `error`, and `is_idle` are never used
[INFO] [stdout]   --> src/host/regmap.rs:33:18
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl StatusReg {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 33 |     pub const fn from_raw(raw: u32) -> Self {
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub const fn raw(self) -> u32 {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub const fn busy(self) -> bool {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub const fn done(self) -> bool {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub const fn error(self) -> bool {
[INFO] [stdout]    |                  ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub const fn is_idle(self) -> bool {
[INFO] [stdout]    |                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IrqEnReg` is never constructed
[INFO] [stdout]   --> src/host/regmap.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub struct IrqEnReg(u32);
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/host/regmap.rs:62:18
[INFO] [stdout]     |
[INFO] [stdout]  61 | impl IrqEnReg {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout]  62 |     pub const fn new() -> Self {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout]  66 |     pub const fn from_raw(raw: u32) -> Self {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  70 |     pub const fn raw(self) -> u32 {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout]  74 |     pub const fn inference_done(self) -> bool {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  78 |     pub const fn dma_done(self) -> bool {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  82 |     pub const fn error(self) -> bool {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  86 |     pub const fn with_inference_done(mut self) -> Self {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  91 |     pub const fn with_dma_done(mut self) -> Self {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  96 |     pub const fn with_error(mut self) -> Self {
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub const fn with_all(mut self) -> Self {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IrqStatReg` is never constructed
[INFO] [stdout]    --> src/host/regmap.rs:108:12
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub struct IrqStatReg(u32);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/host/regmap.rs:111:18
[INFO] [stdout]     |
[INFO] [stdout] 110 | impl IrqStatReg {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 111 |     pub const fn from_raw(raw: u32) -> Self {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |     pub const fn raw(self) -> u32 {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     pub const fn inference_done(self) -> bool {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     pub const fn dma_done(self) -> bool {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     pub const fn error(self) -> bool {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub const fn has_any(self) -> bool {
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 135 |     pub const fn clear_inference_done(mut self) -> Self {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 140 |     pub const fn clear_dma_done(mut self) -> Self {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 145 |     pub const fn clear_error(mut self) -> Self {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WeightAddr` is never constructed
[INFO] [stdout]    --> src/host/regmap.rs:152:12
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub struct WeightAddr {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `addr` are never used
[INFO] [stdout]    --> src/host/regmap.rs:158:18
[INFO] [stdout]     |
[INFO] [stdout] 157 | impl WeightAddr {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 158 |     pub const fn new(addr: u64) -> Self {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 165 |     pub const fn addr(self) -> u64 {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConfigSnapshot` is never constructed
[INFO] [stdout]    --> src/host/regmap.rs:171:12
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct ConfigSnapshot {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FullSnapshot` is never constructed
[INFO] [stdout]    --> src/host/regmap.rs:180:12
[INFO] [stdout]     |
[INFO] [stdout] 180 | pub struct FullSnapshot {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RetryError` is never used
[INFO] [stdout]  --> src/host/retry.rs:2:10
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub enum RetryError {
[INFO] [stdout]   |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `BackoffStrategy` is never used
[INFO] [stdout]   --> src/host/retry.rs:19:10
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub enum BackoffStrategy {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `delay_for_attempt` is never used
[INFO] [stdout]   --> src/host/retry.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl BackoffStrategy {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] 26 |     pub fn delay_for_attempt(&self, attempt: u32) -> u64 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RetryPolicy` is never constructed
[INFO] [stdout]   --> src/host/retry.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct RetryPolicy {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/host/retry.rs:61:12
[INFO] [stdout]    |
[INFO] [stdout] 60 | impl RetryPolicy {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 61 |     pub fn new(max_attempts: u32, backoff: BackoffStrategy) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn with_max_delay(mut self, ms: u64) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     pub fn with_jitter(mut self, on: bool) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 80 |     pub fn delay_for_attempt(&self, attempt: u32) -> u64 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 85 |     pub fn total_delay_ms(&self) -> u64 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 89 |     pub fn should_retry(&self, attempts_so_far: u32) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     pub fn check(&self, attempts_so_far: u32) -> Result<(), RetryError> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RetryState` is never constructed
[INFO] [stdout]    --> src/host/retry.rs:105:12
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub struct RetryState {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/host/retry.rs:112:12
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl RetryState {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 112 |     pub fn new(policy: RetryPolicy) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub fn attempts(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub fn total_delay_ms(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |     pub fn policy(&self) -> &RetryPolicy {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |     pub fn next_delay(&mut self) -> Option<u64> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 142 |     pub fn reset(&mut self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 147 |     pub fn is_exhausted(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     pub fn remaining(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RingError` is never used
[INFO] [stdout]  --> src/host/ring_buffer.rs:2:10
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub enum RingError {
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RingBuffer` is never constructed
[INFO] [stdout]   --> src/host/ring_buffer.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct RingBuffer<T: Clone> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/host/ring_buffer.rs:28:12
[INFO] [stdout]     |
[INFO] [stdout]  27 | impl<T: Clone + Default> RingBuffer<T> {
[INFO] [stdout]     | -------------------------------------- associated items in this implementation
[INFO] [stdout]  28 |     pub fn new(capacity: usize) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  38 |     pub fn with_default(capacity: usize, default: T) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  48 |     pub fn capacity(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  52 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  56 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  60 |     pub fn is_full(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  64 |     pub fn available(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  68 |     pub fn push(&mut self, item: T) -> Result<(), RingError> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  78 |     pub fn pop(&mut self) -> Result<T, RingError> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  88 |     pub fn peek(&self) -> Option<&T> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  96 |     pub fn push_batch(&mut self, items: &[T]) -> Result<usize, RingError> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 109 |     pub fn pop_batch(&mut self, out: &mut [T]) -> Result<usize, RingError> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub fn clear(&mut self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SgError` is never used
[INFO] [stdout]  --> src/host/scatter_gather.rs:2:10
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub enum SgError {
[INFO] [stdout]   |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SgSegment` is never constructed
[INFO] [stdout]   --> src/host/scatter_gather.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct SgSegment {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `src_end`, `dst_end`, `overlaps_src`, and `overlaps_dst` are never used
[INFO] [stdout]   --> src/host/scatter_gather.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl SgSegment {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 32 |     pub fn new(src: u64, dst: u64, len: u32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn src_end(&self) -> u64 {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn dst_end(&self) -> u64 {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn overlaps_src(&self, other: &SgSegment) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn overlaps_dst(&self, other: &SgSegment) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SgDescriptor` is never constructed
[INFO] [stdout]   --> src/host/scatter_gather.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct SgDescriptor {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/host/scatter_gather.rs:59:12
[INFO] [stdout]     |
[INFO] [stdout]  58 | impl SgDescriptor {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout]  59 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  63 |     pub fn add(&mut self, src: u64, dst: u64, len: u32) -> Result<(), SgError> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  72 |     pub fn total_bytes(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  76 |     pub fn segment_count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  80 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  84 |     pub fn validate_no_overlap(&self) -> Result<(), SgError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub fn execute(&self, src_buf: &[u8], dst_buf: &mut [u8]) -> Result<u64, SgError> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SerialError` is never used
[INFO] [stdout]  --> src/host/serial.rs:2:10
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub enum SerialError {
[INFO] [stdout]   |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Serializer` is never constructed
[INFO] [stdout]   --> src/host/serial.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct Serializer {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/host/serial.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl Serializer {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 28 |     pub fn new(capacity: usize) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn write_u8(&mut self, v: u8) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn write_u16_le(&mut self, v: u16) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn write_u32_le(&mut self, v: u32) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     pub fn write_u64_le(&mut self, v: u64) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn write_bytes(&mut self, data: &[u8]) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn write_cstr(&mut self, s: &str) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub fn len(&self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub fn into_bytes(self) -> Vec<u8> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub fn as_slice(&self) -> &[u8] {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     pub fn clear(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Deserializer` is never constructed
[INFO] [stdout]   --> src/host/serial.rs:81:12
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub struct Deserializer<'a> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/host/serial.rs:87:12
[INFO] [stdout]     |
[INFO] [stdout]  86 | impl<'a> Deserializer<'a> {
[INFO] [stdout]     | ------------------------- associated items in this implementation
[INFO] [stdout]  87 |     pub fn new(data: &'a [u8]) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  91 |     pub fn remaining(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  95 |     pub fn pos(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  99 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     pub fn read_u8(&mut self) -> Result<u8, SerialError> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     pub fn read_u16_le(&mut self) -> Result<u16, SerialError> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub fn read_u32_le(&mut self) -> Result<u32, SerialError> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 135 |     pub fn read_u64_le(&mut self) -> Result<u64, SerialError> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 145 |     pub fn read_bytes(&mut self, len: usize) -> Result<&'a [u8], SerialError> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 154 |     pub fn read_cstr(&mut self) -> Result<&'a str, SerialError> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |     pub fn skip(&mut self, len: usize) -> Result<(), SerialError> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SessionError` is never used
[INFO] [stdout]  --> src/host/session.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub enum SessionError {
[INFO] [stdout]   |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SessionConfig` is never constructed
[INFO] [stdout]   --> src/host/session.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct SessionConfig {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PendingRequest` is never constructed
[INFO] [stdout]   --> src/host/session.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct PendingRequest {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Session` is never constructed
[INFO] [stdout]   --> src/host/session.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub struct Session {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/host/session.rs:66:12
[INFO] [stdout]     |
[INFO] [stdout]  65 | impl Session {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout]  66 |     pub fn new(config: SessionConfig) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  74 |     pub fn next_seq(&self) -> u8 {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  78 |     pub fn has_pending(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  82 |     pub fn pending_cmd(&self) -> Option<Cmd> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  86 |     pub fn build_request(&mut self, cmd: Cmd, payload: &[u8]) -> Result<Vec<u8>, SessionError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     fn advance_seq(&mut self) -> Result<(), SessionError> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     pub fn handle_response(&mut self, resp_frame: &[u8]) -> Result<RespPacket, SessionError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 134 |     pub fn should_retry(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |     pub fn retry_frame(&self) -> Option<&[u8]> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 145 |     pub fn reset(&mut self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub fn stats(&self) -> SessionStats {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SessionStats` is never constructed
[INFO] [stdout]    --> src/host/session.rs:161:12
[INFO] [stdout]     |
[INFO] [stdout] 161 | pub struct SessionStats {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Phase` is never used
[INFO] [stdout]  --> src/host/shutdown.rs:2:10
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub enum Phase {
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ShutdownError` is never used
[INFO] [stdout]   --> src/host/shutdown.rs:21:10
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub enum ShutdownError {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ShutdownFn` is never used
[INFO] [stdout]   --> src/host/shutdown.rs:37:10
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub type ShutdownFn = fn(Phase) -> Result<(), String>;
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ShutdownEntry` is never constructed
[INFO] [stdout]   --> src/host/shutdown.rs:40:8
[INFO] [stdout]    |
[INFO] [stdout] 40 | struct ShutdownEntry {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ShutdownState` is never used
[INFO] [stdout]   --> src/host/shutdown.rs:49:10
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub enum ShutdownState {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ShutdownCoordinator` is never constructed
[INFO] [stdout]   --> src/host/shutdown.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub struct ShutdownCoordinator {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/host/shutdown.rs:66:12
[INFO] [stdout]     |
[INFO] [stdout]  65 | impl ShutdownCoordinator {
[INFO] [stdout]     | ------------------------ associated items in this implementation
[INFO] [stdout]  66 |     pub fn new(timeout_ms: u64) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  76 |     pub fn register(&mut self, name: &'static str, phase: Phase, priority: u8, handler: ShutdownFn) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  86 |     pub fn begin(&mut self) -> Result<(), ShutdownError> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  97 |     pub fn step(&mut self) -> ShutdownState {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 144 |     pub fn run_all(&mut self) -> ShutdownState {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 |     pub fn state(&self) -> ShutdownState {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |     pub fn is_running(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     pub fn is_complete(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 165 |     pub fn timeout_ms(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 169 |     pub fn entry_count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |     pub fn completed_count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 177 |     pub fn total_completed(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 181 |     pub fn total_failures(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MetricKind` is never used
[INFO] [stdout]  --> src/host/telemetry.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum MetricKind {
[INFO] [stdout]   |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MetricValue` is never used
[INFO] [stdout]   --> src/host/telemetry.rs:11:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub enum MetricValue {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Metric` is never constructed
[INFO] [stdout]   --> src/host/telemetry.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct Metric {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `counter`, `gauge`, and `with_label` are never used
[INFO] [stdout]   --> src/host/telemetry.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl Metric {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 36 |     pub fn counter(name: &str, value: u64) -> Self {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn gauge(name: &str, value: f64) -> Self {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn with_label(mut self, key: &str, val: &str) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TelemetrySnapshot` is never constructed
[INFO] [stdout]   --> src/host/telemetry.rs:61:12
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub struct TelemetrySnapshot {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/host/telemetry.rs:67:12
[INFO] [stdout]     |
[INFO] [stdout]  66 | impl TelemetrySnapshot {
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout]  67 |     pub fn new(timestamp_us: u64) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  74 |     pub fn add(&mut self, metric: Metric) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  78 |     pub fn find(&self, name: &str) -> Option<&Metric> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  82 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  86 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  90 |     pub fn to_prometheus(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 |     pub fn to_json(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TelemetryCollector` is never constructed
[INFO] [stdout]    --> src/host/telemetry.rs:146:12
[INFO] [stdout]     |
[INFO] [stdout] 146 | pub struct TelemetryCollector {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/host/telemetry.rs:153:12
[INFO] [stdout]     |
[INFO] [stdout] 152 | impl TelemetryCollector {
[INFO] [stdout]     | ----------------------- associated items in this implementation
[INFO] [stdout] 153 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     pub fn inc_counter(&mut self, name: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 165 |     pub fn inc_counter_by(&mut self, name: &str, delta: u64) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 169 |     pub fn set_gauge(&mut self, name: &str, value: f64) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |     pub fn set_label(&mut self, metric: &str, key: &str, value: &str) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 180 |     pub fn snapshot(&self, timestamp_us: u64) -> TelemetrySnapshot {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 203 |     pub fn reset(&mut self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CRC_SIZE` is never used
[INFO] [stdout]  --> src/host/transport.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub const CRC_SIZE: usize = 4;
[INFO] [stdout]   |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_PAYLOAD` is never used
[INFO] [stdout]  --> src/host/transport.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const MAX_PAYLOAD: usize = 4096;
[INFO] [stdout]   |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FRAME_OVERHEAD` is never used
[INFO] [stdout]  --> src/host/transport.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub const FRAME_OVERHEAD: usize = 4 + CMD_HEADER_SIZE + CRC_SIZE;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TransportError` is never used
[INFO] [stdout]  --> src/host/transport.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub enum TransportError {
[INFO] [stdout]   |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `crc32_table` is never used
[INFO] [stdout]   --> src/host/transport.rs:34:4
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn crc32_table() -> &'static [u32; 256] {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `crc32` is never used
[INFO] [stdout]   --> src/host/transport.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub fn crc32(data: &[u8]) -> u32 {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TransportFrame` is never constructed
[INFO] [stdout]   --> src/host/transport.rs:67:12
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub struct TransportFrame {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `encoded_len`, `encode`, and `decode` are never used
[INFO] [stdout]    --> src/host/transport.rs:73:12
[INFO] [stdout]     |
[INFO] [stdout]  72 | impl TransportFrame {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout]  73 |     pub fn new(header: CmdPacket, payload: &[u8]) -> Result<Self, TransportError> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  86 |     pub fn encoded_len(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  90 |     pub fn encode(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub fn decode(data: &[u8]) -> Result<Self, TransportError> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RespFrame` is never constructed
[INFO] [stdout]    --> src/host/transport.rs:141:12
[INFO] [stdout]     |
[INFO] [stdout] 141 | pub struct RespFrame {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `encoded_len`, `encode`, and `decode` are never used
[INFO] [stdout]    --> src/host/transport.rs:147:12
[INFO] [stdout]     |
[INFO] [stdout] 146 | impl RespFrame {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] 147 |     pub fn new(header: RespPacket, payload: &[u8]) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 154 |     pub fn encoded_len(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub fn encode(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 170 |     pub fn decode(data: &[u8]) -> Result<Self, TransportError> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SemVer` is never constructed
[INFO] [stdout]  --> src/host/version.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct SemVer {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `as_u32`, `from_u32`, and `is_compatible` are never used
[INFO] [stdout]   --> src/host/version.rs:9:18
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl SemVer {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout]  9 |     pub const fn new(major: u8, minor: u8, patch: u8) -> Self {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     pub const fn as_u32(self) -> u32 {
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn from_u32(v: u32) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn is_compatible(&self, other: &SemVer) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HOST_VERSION` is never used
[INFO] [stdout]   --> src/host/version.rs:36:11
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub const HOST_VERSION: SemVer = SemVer::new(0, 5, 0);
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROTOCOL_VERSION` is never used
[INFO] [stdout]   --> src/host/version.rs:37:11
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub const PROTOCOL_VERSION: SemVer = SemVer::new(1, 0, 0);
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_FIRMWARE_VERSION` is never used
[INFO] [stdout]   --> src/host/version.rs:38:11
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub const MIN_FIRMWARE_VERSION: SemVer = SemVer::new(1, 0, 0);
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `VersionError` is never used
[INFO] [stdout]   --> src/host/version.rs:41:10
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub enum VersionError {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VersionInfo` is never constructed
[INFO] [stdout]   --> src/host/version.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub struct VersionInfo {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `check_firmware`, `check_protocol`, and `version_string` are never used
[INFO] [stdout]    --> src/host/version.rs:79:12
[INFO] [stdout]     |
[INFO] [stdout]  78 | impl VersionInfo {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout]  79 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  83 |     pub fn check_firmware(&self, firmware: SemVer) -> Result<(), VersionError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  93 |     pub fn check_protocol(&self, remote: SemVer) -> Result<(), VersionError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     pub fn version_string(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BuildInfo` is never constructed
[INFO] [stdout]    --> src/host/version.rs:112:12
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub struct BuildInfo {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `encode`, and `decode` are never used
[INFO] [stdout]    --> src/host/version.rs:119:18
[INFO] [stdout]     |
[INFO] [stdout] 118 | impl BuildInfo {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] 119 |     pub const fn new(version: SemVer, git_hash: u32, build_timestamp: u64) -> Self {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     pub fn encode(&self) -> [u8; 16] {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn decode(data: &[u8]) -> Option<Self> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `WatchdogError` is never used
[INFO] [stdout]  --> src/host/watchdog.rs:2:10
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub enum WatchdogError {
[INFO] [stdout]   |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `WatchdogState` is never used
[INFO] [stdout]   --> src/host/watchdog.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub enum WatchdogState {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WatchdogConfig` is never constructed
[INFO] [stdout]   --> src/host/watchdog.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct WatchdogConfig {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `with_timeout`, `with_heartbeat_interval`, and `with_max_missed` are never used
[INFO] [stdout]   --> src/host/watchdog.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl WatchdogConfig {
[INFO] [stdout]    | ------------------- methods in this implementation
[INFO] [stdout] 48 |     pub fn with_timeout(mut self, ms: u64) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub fn with_heartbeat_interval(mut self, ms: u64) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn with_max_missed(mut self, count: u8) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WatchdogTimer` is never constructed
[INFO] [stdout]   --> src/host/watchdog.rs:65:12
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub struct WatchdogTimer {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/host/watchdog.rs:76:12
[INFO] [stdout]     |
[INFO] [stdout]  75 | impl WatchdogTimer {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout]  76 |     pub fn new(config: WatchdogConfig) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  88 |     pub fn state(&self) -> WatchdogState {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  92 |     pub fn start(&mut self, now_ms: u64) -> Result<(), WatchdogError> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     pub fn feed(&mut self, now_ms: u64) -> Result<(), WatchdogError> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub fn check(&mut self, now_ms: u64) -> WatchdogState {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 133 |     pub fn record_heartbeat(&mut self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |     pub fn record_missed_heartbeat(&mut self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 154 |     pub fn missed_heartbeats(&self) -> u8 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub fn elapsed_ms(&self, now_ms: u64) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 |     pub fn remaining_ms(&self, now_ms: u64) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 170 |     pub fn stop(&mut self) -> Result<(), WatchdogError> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     pub fn reset(&mut self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 185 |     pub fn stats(&self) -> WatchdogStats {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WatchdogStats` is never constructed
[INFO] [stdout]    --> src/host/watchdog.rs:198:12
[INFO] [stdout]     |
[INFO] [stdout] 198 | pub struct WatchdogStats {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `HeaderError` is never used
[INFO] [stdout]  --> src/host/weight_header.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum HeaderError {
[INFO] [stdout]   |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAGIC` is never used
[INFO] [stdout]   --> src/host/weight_header.rs:32:11
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub const MAGIC: u32 = 0x54325700;
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VERSION` is never used
[INFO] [stdout]   --> src/host/weight_header.rs:33:11
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub const VERSION: u8 = 1;
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_SIZE` is never used
[INFO] [stdout]   --> src/host/weight_header.rs:34:11
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub const HEADER_SIZE: usize = 16;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WeightHeader` is never constructed
[INFO] [stdout]   --> src/host/weight_header.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct WeightHeader {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/host/weight_header.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 46 | impl WeightHeader {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 47 |     pub fn new(layers: u16, neurons: u16) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn with_checksum_seed(mut self, seed: u32) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn with_bits_per_weight(mut self, bits: u8) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub fn total_weights(&self) -> u64 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     pub fn total_weight_bytes(&self) -> u64 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |     pub fn has_crc(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 81 |     pub fn is_ternary(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 85 |     pub fn encode(&self) -> [u8; HEADER_SIZE] {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 98 |     pub fn decode(data: &[u8]) -> Result<Self, HeaderError> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `LoadError` is never used
[INFO] [stdout]  --> src/host/weight_loader.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum LoadError {
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `WordFormat` is never used
[INFO] [stdout]   --> src/host/weight_loader.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub enum WordFormat {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LoadConfig` is never constructed
[INFO] [stdout]   --> src/host/weight_loader.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub struct LoadConfig {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `raw`, `with_checksum`, and `ternary` are never used
[INFO] [stdout]   --> src/host/weight_loader.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 56 | impl LoadConfig {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 57 |     pub fn raw() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub fn with_checksum(mut self) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub fn ternary(mut self) -> Self {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LoadReport` is never constructed
[INFO] [stdout]   --> src/host/weight_loader.rs:75:12
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub struct LoadReport {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_words` is never used
[INFO] [stdout]   --> src/host/weight_loader.rs:83:8
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub fn load_words(data: &[u8], config: &LoadConfig) -> Result<(Vec<u64>, LoadReport), LoadError> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_from_reader` is never used
[INFO] [stdout]    --> src/host/weight_loader.rs:158:8
[INFO] [stdout]     |
[INFO] [stdout] 158 | pub fn load_from_reader<R: Read>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TtDebugErrorClass` is never used
[INFO] [stdout]   --> src/tt_debug.rs:51:10
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub enum TtDebugErrorClass {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `slug`, `csr_offset`, and `all` are never used
[INFO] [stdout]   --> src/tt_debug.rs:60:12
[INFO] [stdout]    |
[INFO] [stdout] 58 | impl TtDebugErrorClass {
[INFO] [stdout]    | ---------------------- associated items in this implementation
[INFO] [stdout] 59 |     /// Stable lower-case slug used in Verilog register names.
[INFO] [stdout] 60 |     pub fn slug(&self) -> &'static str {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn csr_offset(&self) -> u32 {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 80 |     pub fn all() -> [TtDebugErrorClass; 4] {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 2m 01s
[INFO] running `Command { std: "docker" "inspect" "1f00b4021297e88bf17db3ad8b18be557987c8bf30169cd2017878927b7b28c4", 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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "1f00b4021297e88bf17db3ad8b18be557987c8bf30169cd2017878927b7b28c4" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.185
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling spin v0.9.8
[INFO] [stderr]    Compiling time-core v0.1.8
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]    Compiling num-conv v0.2.1
[INFO] [stderr]    Compiling num-bigint-dig v0.8.6
[INFO] [stderr]    Compiling thiserror-impl v2.0.21
[INFO] [stdout] warning: unexpected `cfg` condition value: `serde`
[INFO] [stdout]   --> gen/rust/tri/crypto/sha256.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `net` and `server`
[INFO] [stdout]    = help: consider adding `serde` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling tokio v1.53.1
[INFO] [stderr]    Compiling pem v3.0.6
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr] warning: t27c@0.5.2: t27c: built outside the t27 repository; repository policy checks skipped
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling colored v2.2.0
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling time-macros v0.2.27
[INFO] [stderr]    Compiling thiserror v2.0.21
[INFO] [stderr]    Compiling time v0.3.47
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling chrono v0.4.45
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling hyper v1.11.1
[INFO] [stderr]    Compiling num-iter v0.1.45
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling ff v0.13.1
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling group v0.13.0
[INFO] [stderr]    Compiling rand v0.8.6
[INFO] [stderr]    Compiling simple_asn1 v0.6.4
[INFO] [stderr]    Compiling zeroize_derive v1.4.3
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling der v0.7.10
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-bigint v0.5.5
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling signature v2.2.0
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling hkdf v0.12.4
[INFO] [stderr]    Compiling rfc6979 v0.4.0
[INFO] [stderr]    Compiling spki v0.7.3
[INFO] [stderr]    Compiling pkcs8 v0.10.2
[INFO] [stderr]    Compiling sec1 v0.7.3
[INFO] [stderr]    Compiling ed25519 v2.2.3
[INFO] [stderr]    Compiling pkcs1 v0.7.5
[INFO] [stderr]    Compiling rsa v0.9.10
[INFO] [stderr]    Compiling t27c v0.5.2 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling elliptic-curve v0.13.8
[INFO] [stdout] warning: multiple lines skipped by escaped newline
[INFO] [stdout]    --> src/behavior_sva.rs:293:23
[INFO] [stdout]     |
[INFO] [stdout] 293 |   const FOOTER: &str = "\
[INFO] [stdout]     |  _______________________^
[INFO] [stdout] 294 | |
[INFO] [stdout] 295 | | `default_nettype wire
[INFO] [stdout]     | |_^ skipping everything up to and including this point
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling ed25519-dalek v2.2.0
[INFO] [stderr]    Compiling primeorder v0.13.6
[INFO] [stderr]    Compiling ecdsa v0.16.9
[INFO] [stderr]    Compiling p384 v0.13.1
[INFO] [stderr]    Compiling p256 v0.13.2
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]    --> src/math_bayes.rs:310:31
[INFO] [stdout]     |
[INFO] [stdout] 310 |     let bic_interpret = match (evidence_h0.bic - evidence_h1.bic) {
[INFO] [stdout]     |                               ^                                 ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 310 -     let bic_interpret = match (evidence_h0.bic - evidence_h1.bic) {
[INFO] [stdout] 310 +     let bic_interpret = match evidence_h0.bic - evidence_h1.bic {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PathBuf`
[INFO] [stdout]   --> src/notebook.rs:12:23
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::path::{Path, PathBuf};
[INFO] [stdout]    |                       ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `serde`
[INFO] [stdout]   --> src/../gen/rust/tri/crypto/sha256.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `net` and `server`
[INFO] [stdout]    = help: consider adding `serde` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `serde`
[INFO] [stdout]   --> src/../gen/rust/tri/crypto/ed25519.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `net` and `server`
[INFO] [stdout]    = help: consider adding `serde` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `serde`
[INFO] [stdout]   --> src/../gen/rust/tri/crypto/ed25519.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `net` and `server`
[INFO] [stdout]    = help: consider adding `serde` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `serde`
[INFO] [stdout]    --> src/../gen/rust/tri/crypto/ed25519.rs:524:12
[INFO] [stdout]     |
[INFO] [stdout] 524 | #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `net` and `server`
[INFO] [stdout]     = help: consider adding `serde` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `unknown` should have an upper camel case name
[INFO] [stdout]   --> src/memory/generated/formula_embed.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     unknown = 0,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Unknown`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `qcd` should have an upper camel case name
[INFO] [stdout]   --> src/memory/generated/formula_embed.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     qcd = 1,
[INFO] [stdout]    |     ^^^ help: convert the identifier to upper camel case: `Qcd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `electroweak` should have an upper camel case name
[INFO] [stdout]   --> src/memory/generated/formula_embed.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     electroweak = 2,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `Electroweak`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `cosmology` should have an upper camel case name
[INFO] [stdout]   --> src/memory/generated/formula_embed.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     cosmology = 3,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Cosmology`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `condensed` should have an upper camel case name
[INFO] [stdout]   --> src/memory/generated/formula_embed.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     condensed = 4,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Condensed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `nuclear` should have an upper camel case name
[INFO] [stdout]   --> src/memory/generated/formula_embed.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     nuclear = 5,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper camel case: `Nuclear`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `particle` should have an upper camel case name
[INFO] [stdout]   --> src/memory/generated/formula_embed.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     particle = 6,
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to upper camel case: `Particle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TtChip`
[INFO] [stdout]   --> src/tt_debug.rs:33:26
[INFO] [stdout]    |
[INFO] [stdout] 33 | use crate::tt_manifest::{TtChip, TtManifest};
[INFO] [stdout]    |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling jsonwebtoken v10.4.0
[INFO] [stdout] warning: function `a_tuple_that_appears_ONLY_as_a_local_is_still_hoisted` should have a snake case name
[INFO] [stdout]    --> tests/c_tuple_positions.rs:130:4
[INFO] [stdout]     |
[INFO] [stdout] 130 | fn a_tuple_that_appears_ONLY_as_a_local_is_still_hoisted() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `a_tuple_that_appears_only_as_a_local_is_still_hoisted`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]   --> tests/on_clock_plain_assign.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use std::path::PathBuf;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `a_slice_local_WITH_an_initialiser_keeps_the_array_form` should have a snake case name
[INFO] [stdout]    --> tests/c_local_array_types.rs:118:4
[INFO] [stdout]     |
[INFO] [stdout] 118 | fn a_slice_local_WITH_an_initialiser_keeps_the_array_form() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `a_slice_local_with_an_initialiser_keeps_the_array_form`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `rbracket_line` is never read
[INFO] [stdout]     --> src/compiler.rs:5853:33
[INFO] [stdout]      |
[INFO] [stdout] 5853 |         let mut rbracket_line = self.current.line;
[INFO] [stdout]      |                                 ^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 5878 |                 rbracket_line = self.current.line;
[INFO] [stdout]      |                 --------------------------------- `rbracket_line` is overwritten here before the previous value is read
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_method`
[INFO] [stdout]     --> src/compiler.rs:9021:13
[INFO] [stdout]      |
[INFO] [stdout] 9021 |         let is_method = node.params.iter().any(|(name, _)| name == "self");
[INFO] [stdout]      |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_method`
[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 `elem_type` is never read
[INFO] [stdout]      --> src/compiler.rs:12984:29
[INFO] [stdout]       |
[INFO] [stdout] 12984 |         let mut elem_type = String::new();
[INFO] [stdout]       |                             ^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 12993 |                     elem_type = Self::base_type_name(ret_ty);
[INFO] [stdout]       |                     --------- `elem_type` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]      --> src/compiler.rs:14002:17
[INFO] [stdout]       |
[INFO] [stdout] 14002 |             let mut errors: std::collections::HashMap<String, String> =
[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: `type_array`
[INFO] [stdout]      --> src/compiler.rs:15260:13
[INFO] [stdout]       |
[INFO] [stdout] 15260 |         let type_array = Self::parse_array_type(&node.extra_type);
[INFO] [stdout]       |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_type_array`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `full_width`
[INFO] [stdout]      --> src/compiler.rs:16778:37
[INFO] [stdout]       |
[INFO] [stdout] 16778 | ...                   let full_width = specs
[INFO] [stdout]       |                           ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_full_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]      --> src/compiler.rs:19563:17
[INFO] [stdout]       |
[INFO] [stdout] 19563 |             let mut consider = |ty: &str,
[INFO] [stdout]       |                 ----^^^^^^^^
[INFO] [stdout]       |                 |
[INFO] [stdout]       |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple lines skipped by escaped newline
[INFO] [stdout]    --> src/behavior_sva.rs:293:23
[INFO] [stdout]     |
[INFO] [stdout] 293 |   const FOOTER: &str = "\
[INFO] [stdout]     |  _______________________^
[INFO] [stdout] 294 | |
[INFO] [stdout] 295 | | `default_nettype wire
[INFO] [stdout]     | |_^ skipping everything up to and including this point
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rest`
[INFO] [stdout]      --> src/compiler.rs:23144:22
[INFO] [stdout]       |
[INFO] [stdout] 23144 |             let Some(rest) = t.strip_prefix("const ") else {
[INFO] [stdout]       |                      ^^^^ help: if this is intentional, prefix it with an underscore: `_rest`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]      --> src/compiler.rs:25675:9
[INFO] [stdout]       |
[INFO] [stdout] 25675 |     let mut note = |ty: &str, where_: String, out: &mut Vec<(String, String)>| {
[INFO] [stdout]       |         ----^^^^
[INFO] [stdout]       |         |
[INFO] [stdout]       |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]      --> src/compiler.rs:26503:9
[INFO] [stdout]       |
[INFO] [stdout] 26380 |         NodeKind::ExprReturn => {
[INFO] [stdout]       |         -------------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 26503 |         NodeKind::ExprReturn => {
[INFO] [stdout]       |         ^^^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout]       |
[INFO] [stdout]       = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `x_offset` is never read
[INFO] [stdout]      --> src/compiler.rs:32718:13
[INFO] [stdout]       |
[INFO] [stdout] 32718 |             x_offset += 11;
[INFO] [stdout]       |             ^^^^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `corpus_with_no_tools` is never used
[INFO] [stdout]   --> tests/corpus_unresolved.rs:42:4
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn corpus_with_no_tools(extra: &[&str], empty_dir: &std::path::Path) -> std::process::Output {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/suite.rs:1947:9
[INFO] [stdout]      |
[INFO] [stdout] 1947 |     let mut record = |name: &str,
[INFO] [stdout]      |         ----^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p3b_known_failures`
[INFO] [stdout]     --> src/suite.rs:2102:22
[INFO] [stdout]      |
[INFO] [stdout] 2102 |     let (p3bp, p3bf, p3b_known_failures) = if yosys_available() {
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_p3b_known_failures`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `p3b_fail` is never read
[INFO] [stdout]     --> src/suite.rs:2085:24
[INFO] [stdout]      |
[INFO] [stdout] 2085 |     let mut p3b_fail = 0usize;
[INFO] [stdout]      |                        ^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 2137 |     p3b_fail = p3bf;
[INFO] [stdout]      |     --------------- `p3b_fail` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `p3cs_fail` is never read
[INFO] [stdout]     --> src/suite.rs:2185:25
[INFO] [stdout]      |
[INFO] [stdout] 2185 |     let mut p3cs_fail = 0usize;
[INFO] [stdout]      |                         ^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 2203 |             p3cs_fail = 1;
[INFO] [stdout]      |             ------------- `p3cs_fail` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `p3cs_skipped` is never read
[INFO] [stdout]     --> src/suite.rs:2186:28
[INFO] [stdout]      |
[INFO] [stdout] 2186 |     let mut p3cs_skipped = 0usize;
[INFO] [stdout]      |                            ^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 2208 |         p3cs_skipped = 1;
[INFO] [stdout]      |         ---------------- `p3cs_skipped` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]    --> src/math_bayes.rs:310:31
[INFO] [stdout]     |
[INFO] [stdout] 310 |     let bic_interpret = match (evidence_h0.bic - evidence_h1.bic) {
[INFO] [stdout]     |                               ^                                 ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 310 -     let bic_interpret = match (evidence_h0.bic - evidence_h1.bic) {
[INFO] [stdout] 310 +     let bic_interpret = match evidence_h0.bic - evidence_h1.bic {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PathBuf`
[INFO] [stdout]   --> src/notebook.rs:12:23
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::path::{Path, PathBuf};
[INFO] [stdout]    |                       ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `serde`
[INFO] [stdout]   --> src/../gen/rust/tri/crypto/sha256.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `net` and `server`
[INFO] [stdout]    = help: consider adding `serde` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `serde`
[INFO] [stdout]   --> src/../gen/rust/tri/crypto/ed25519.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `net` and `server`
[INFO] [stdout]    = help: consider adding `serde` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `serde`
[INFO] [stdout]   --> src/../gen/rust/tri/crypto/ed25519.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `net` and `server`
[INFO] [stdout]    = help: consider adding `serde` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `serde`
[INFO] [stdout]    --> src/../gen/rust/tri/crypto/ed25519.rs:524:12
[INFO] [stdout]     |
[INFO] [stdout] 524 | #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `net` and `server`
[INFO] [stdout]     = help: consider adding `serde` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `unknown` should have an upper camel case name
[INFO] [stdout]   --> src/memory/generated/formula_embed.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     unknown = 0,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Unknown`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `qcd` should have an upper camel case name
[INFO] [stdout]   --> src/memory/generated/formula_embed.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     qcd = 1,
[INFO] [stdout]    |     ^^^ help: convert the identifier to upper camel case: `Qcd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `electroweak` should have an upper camel case name
[INFO] [stdout]   --> src/memory/generated/formula_embed.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     electroweak = 2,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `Electroweak`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `cosmology` should have an upper camel case name
[INFO] [stdout]   --> src/memory/generated/formula_embed.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     cosmology = 3,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Cosmology`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `condensed` should have an upper camel case name
[INFO] [stdout]   --> src/memory/generated/formula_embed.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     condensed = 4,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Condensed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `nuclear` should have an upper camel case name
[INFO] [stdout]   --> src/memory/generated/formula_embed.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     nuclear = 5,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper camel case: `Nuclear`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `particle` should have an upper camel case name
[INFO] [stdout]   --> src/memory/generated/formula_embed.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     particle = 6,
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to upper camel case: `Particle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AddrError`, `AddrMap`, `MemRegion`, `REGION_BRAM`, `REGION_CSR`, `REGION_DDR`, and `REGION_DMA`
[INFO] [stdout]   --> src/host/mod.rs:68:19
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub use addrmap::{AddrMap, AddrError, MemRegion, REGION_BRAM, REGION_CSR, REGION_DDR, REGION_DMA};
[INFO] [stdout]    |                   ^^^^^^^  ^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FieldDesc`, `clear_bit`, `extract`, `field_mask`, `insert`, `is_set`, `mask`, `popcount`, `set_bit`, and `toggle_bit`
[INFO] [stdout]   --> src/host/mod.rs:69:19
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub use bitmask::{clear_bit, extract, field_mask, insert, is_set, mask, popcount, set_bit, toggle_bit, FieldDesc};
[INFO] [stdout]    |                   ^^^^^^^^^  ^^^^^^^  ^^^^^^^^^^  ^^^^^^  ^^^^^^  ^^^^  ^^^^^^^^  ^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BitError` and `BitstreamReader`
[INFO] [stdout]   --> src/host/mod.rs:70:21
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub use bitstream::{BitError, BitstreamReader};
[INFO] [stdout]    |                     ^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufChain`, `BufSegment`, `ChainError`, and `ChainStats`
[INFO] [stdout]   --> src/host/mod.rs:71:20
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub use bufchain::{BufChain, BufSegment, ChainError, ChainStats};
[INFO] [stdout]    |                    ^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BASE_CAPABILITIES`, `CapFlags`, `CapabilityError`, `FULL_CAPABILITIES`, and `check_capabilities`
[INFO] [stdout]   --> src/host/mod.rs:72:20
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub use capflags::{check_capabilities, CapFlags, CapabilityError, BASE_CAPABILITIES, FULL_CAPABILITIES};
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^  ^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ChecksumError`, `ChecksumKind`, `Digest`, `checksum`, and `verify`
[INFO] [stdout]   --> src/host/mod.rs:73:20
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub use checksum::{checksum, verify, ChecksumError, ChecksumKind, Digest};
[INFO] [stdout]    |                    ^^^^^^^^  ^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CmdKind`, `CommandQueue`, `Priority`, `QueueError`, and `QueueStats`
[INFO] [stdout]   --> src/host/mod.rs:74:16
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub use cmdq::{CmdKind, CommandQueue, Priority, QueueError, QueueStats};
[INFO] [stdout]    |                ^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ConfigError`, `HostConfigBuilder`, and `HostConfig`
[INFO] [stdout]   --> src/host/mod.rs:75:18
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub use config::{ConfigError, HostConfig, HostConfigBuilder};
[INFO] [stdout]    |                  ^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ConfigRegistry`, `ConfigValue`, and `RegistryError`
[INFO] [stdout]   --> src/host/mod.rs:76:21
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub use configreg::{ConfigRegistry, ConfigValue, RegistryError};
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DescStatus`, `DescriptorRing`, `Descriptor`, `RingError as DescRingError`, and `RingStats`
[INFO] [stdout]   --> src/host/mod.rs:77:20
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub use descring::{Descriptor, DescriptorRing, DescStatus, RingError as DescRingError, RingStats};
[INFO] [stdout]    |                    ^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `diag::DiagCounters`
[INFO] [stdout]   --> src/host/mod.rs:78:9
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub use diag::DiagCounters;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DmaChannel`, `DmaConfig`, `DmaError`, `DmaReport`, and `DmaState`
[INFO] [stdout]   --> src/host/mod.rs:79:15
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub use dma::{DmaChannel, DmaConfig, DmaError, DmaReport, DmaState};
[INFO] [stdout]    |               ^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^  ^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CsrSnapshot` and `DriverError`
[INFO] [stdout]   --> src/host/mod.rs:80:32
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub use driver::{BitnetDriver, CsrSnapshot, DriverError};
[INFO] [stdout]    |                                ^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Access`, `EndpointError`, `EndpointRegistry`, and `Endpoint`
[INFO] [stdout]   --> src/host/mod.rs:81:20
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub use endpoint::{Access, Endpoint, EndpointError, EndpointRegistry};
[INFO] [stdout]    |                    ^^^^^^  ^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CatalogEntry`, `ErrorCode`, `ErrorDomain`, `Severity`, `by_domain`, `by_severity`, and `lookup`
[INFO] [stdout]   --> src/host/mod.rs:82:18
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub use errors::{by_domain, by_severity, lookup, CatalogEntry, ErrorCode, ErrorDomain, Severity};
[INFO] [stdout]    |                  ^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EventKind`, `EventLogStats`, `EventLog`, and `Event`
[INFO] [stdout]   --> src/host/mod.rs:83:20
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub use eventlog::{Event, EventKind, EventLog, EventLogStats};
[INFO] [stdout]    |                    ^^^^^  ^^^^^^^^^  ^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FirmwareHeader`, `FirmwareImage`, `ImageError`, and `SectionHeader`
[INFO] [stdout]   --> src/host/mod.rs:84:20
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub use firmware::{FirmwareHeader, FirmwareImage, ImageError, SectionHeader};
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HealthMonitor`, `HealthSummary`, `Health`, `SubsystemHealth`, and `Subsystem`
[INFO] [stdout]   --> src/host/mod.rs:85:18
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub use health::{Health, HealthMonitor, HealthSummary, Subsystem, SubsystemHealth};
[INFO] [stdout]    |                  ^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HistogramSummary` and `Histogram`
[INFO] [stdout]   --> src/host/mod.rs:86:21
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub use histogram::{Histogram, HistogramSummary};
[INFO] [stdout]    |                     ^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IrqCallback`, `IrqCounters`, and `ServiceReport`
[INFO] [stdout]   --> src/host/mod.rs:87:15
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub use irq::{IrqCallback, IrqCounters, IrqDrivenDriver, IrqHandler, IrqSource, ServiceReport};
[INFO] [stdout]    |               ^^^^^^^^^^^  ^^^^^^^^^^^                                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IrqAction`, `IrqEvent`, `IrqRouter`, `IrqSource as RouterIrqSource`, and `RouteError`
[INFO] [stdout]   --> src/host/mod.rs:88:21
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub use irqrouter::{IrqAction, IrqEvent, IrqRouter, IrqSource as RouterIrqSource, RouteError};
[INFO] [stdout]    |                     ^^^^^^^^^  ^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BLOCK_SIZE`, `MAX_BLOCKS`, `MemBlock`, `MemPool`, `PoolError`, and `PoolStats`
[INFO] [stdout]   --> src/host/mod.rs:89:19
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub use mempool::{MemBlock, MemPool, PoolError, PoolStats, BLOCK_SIZE, MAX_BLOCKS};
[INFO] [stdout]    |                   ^^^^^^^^  ^^^^^^^  ^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MmioOp` and `MmioRecord`
[INFO] [stdout]   --> src/host/mod.rs:90:16
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub use mmio::{MmioOp, MmioRecord, MockMmio};
[INFO] [stdout]    |                ^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OpLogStats`, `OpLog`, `OpRecord`, and `OpStatus`
[INFO] [stdout]   --> src/host/mod.rs:91:17
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub use oplog::{OpLog, OpLogStats, OpRecord, OpStatus};
[INFO] [stdout]    |                 ^^^^^  ^^^^^^^^^^  ^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `InferencePipeline`, `PipelineConfig`, `PipelineError`, and `PipelineState`
[INFO] [stdout]   --> src/host/mod.rs:92:20
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub use pipeline::{InferencePipeline, PipelineConfig, PipelineError, PipelineState};
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CMD_HEADER_SIZE`, `CmdPacket`, `Cmd`, `ProtocolError`, `RESP_HEADER_SIZE`, `RespCode`, and `RespPacket`
[INFO] [stdout]   --> src/host/mod.rs:93:20
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub use protocol::{Cmd, CmdPacket, ProtocolError, RespCode, RespPacket, CMD_HEADER_SIZE, RESP_HEADER_SIZE};
[INFO] [stdout]    |                    ^^^  ^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RateLimitConfig`, `RateLimitError`, `RateLimitStats`, and `RateLimiter`
[INFO] [stdout]   --> src/host/mod.rs:94:21
[INFO] [stdout]    |
[INFO] [stdout] 94 | pub use ratelimit::{RateLimitConfig, RateLimitError, RateLimiter, RateLimitStats};
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CacheError`, `CacheStats`, and `RegisterCache`
[INFO] [stdout]   --> src/host/mod.rs:95:20
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub use regcache::{CacheError, CacheStats, RegisterCache};
[INFO] [stdout]    |                    ^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ConfigSnapshot`, `CtrlReg`, `FullSnapshot`, `IrqEnReg`, `IrqStatReg`, `StatusReg`, and `WeightAddr`
[INFO] [stdout]   --> src/host/mod.rs:96:18
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub use regmap::{ConfigSnapshot, CtrlReg, FullSnapshot, IrqEnReg, IrqStatReg, StatusReg, WeightAddr};
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^  ^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BackoffStrategy`, `RetryError`, `RetryPolicy`, and `RetryState`
[INFO] [stdout]   --> src/host/mod.rs:97:17
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub use retry::{BackoffStrategy, RetryError, RetryPolicy, RetryState};
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RingBuffer` and `RingError as RingBufError`
[INFO] [stdout]   --> src/host/mod.rs:98:23
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub use ring_buffer::{RingBuffer, RingError as RingBufError};
[INFO] [stdout]    |                       ^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SgDescriptor`, `SgError`, and `SgSegment`
[INFO] [stdout]   --> src/host/mod.rs:99:26
[INFO] [stdout]    |
[INFO] [stdout] 99 | pub use scatter_gather::{SgDescriptor, SgError, SgSegment};
[INFO] [stdout]    |                          ^^^^^^^^^^^^  ^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserializer`, `SerialError`, and `Serializer`
[INFO] [stdout]    --> src/host/mod.rs:100:18
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub use serial::{Deserializer, SerialError, Serializer};
[INFO] [stdout]     |                  ^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SessionConfig`, `SessionError`, `SessionStats`, and `Session`
[INFO] [stdout]    --> src/host/mod.rs:101:19
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub use session::{Session, SessionConfig, SessionError, SessionStats};
[INFO] [stdout]     |                   ^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Phase`, `ShutdownCoordinator`, `ShutdownError`, and `ShutdownState`
[INFO] [stdout]    --> src/host/mod.rs:102:20
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub use shutdown::{Phase, ShutdownCoordinator, ShutdownError, ShutdownState};
[INFO] [stdout]     |                    ^^^^^  ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MetricKind`, `MetricValue`, `Metric`, `TelemetryCollector`, and `TelemetrySnapshot`
[INFO] [stdout]    --> src/host/mod.rs:103:21
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub use telemetry::{Metric, MetricKind, MetricValue, TelemetryCollector, TelemetrySnapshot};
[INFO] [stdout]     |                     ^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TransportError` and `TransportFrame`
[INFO] [stdout]    --> src/host/mod.rs:104:21
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub use transport::{TransportError, TransportFrame};
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BuildInfo`, `HOST_VERSION`, `PROTOCOL_VERSION`, `SemVer`, `VersionError`, and `VersionInfo`
[INFO] [stdout]    --> src/host/mod.rs:105:19
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub use version::{BuildInfo, SemVer, VersionError, VersionInfo, HOST_VERSION, PROTOCOL_VERSION};
[INFO] [stdout]     |                   ^^^^^^^^^  ^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `WatchdogConfig`, `WatchdogError`, `WatchdogState`, `WatchdogStats`, and `WatchdogTimer`
[INFO] [stdout]    --> src/host/mod.rs:106:20
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub use watchdog::{WatchdogConfig, WatchdogError, WatchdogState, WatchdogStats, WatchdogTimer};
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HEADER_SIZE`, `HeaderError`, `MAGIC`, `VERSION`, and `WeightHeader`
[INFO] [stdout]    --> src/host/mod.rs:107:25
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub use weight_header::{HeaderError, WeightHeader, HEADER_SIZE, MAGIC, VERSION};
[INFO] [stdout]     |                         ^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `LoadConfig`, `LoadError`, `LoadReport`, `WordFormat`, `encode_with_crc`, `encode_words`, `load_from_reader`, and `load_words`
[INFO] [stdout]    --> src/host/mod.rs:108:25
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub use weight_loader::{load_from_reader, load_words, encode_words, encode_with_crc, LoadConfig, LoadError, LoadReport, WordFormat};
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TtChip`
[INFO] [stdout]   --> src/tt_debug.rs:33:26
[INFO] [stdout]    |
[INFO] [stdout] 33 | use crate::tt_manifest::{TtChip, TtManifest};
[INFO] [stdout]    |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_obs`
[INFO] [stdout]    --> src/math_bayes.rs:262:9
[INFO] [stdout]     |
[INFO] [stdout] 262 |     let n_obs = k * n;
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_n_obs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/math_bayes.rs:364:9
[INFO] [stdout]     |
[INFO] [stdout] 364 |     let mut min_log_bf = f64::MAX;
[INFO] [stdout]     |         ----^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `min_log_bf`
[INFO] [stdout]    --> src/math_bayes.rs:344:54
[INFO] [stdout]     |
[INFO] [stdout] 344 | fn run_verification(experience_path: Option<String>, min_log_bf: f64) -> anyhow::Result<()> {
[INFO] [stdout]     |                                                      ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_min_log_bf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/host/firmware.rs:92:13
[INFO] [stdout]    |
[INFO] [stdout] 92 |         let name = std::str::from_utf8(tag).unwrap_or("????");
[INFO] [stdout]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `current_vacuous`
[INFO] [stdout]     --> src/main.rs:5785:9
[INFO] [stdout]      |
[INFO] [stdout] 5785 |     let current_vacuous = is_vacuous(
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_vacuous`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/main.rs:8315:13
[INFO] [stdout]      |
[INFO] [stdout] 8315 |         let mut offset = 0u32;
[INFO] [stdout]      |             ----^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]     --> src/main.rs:8315:13
[INFO] [stdout]      |
[INFO] [stdout] 8315 |         let mut offset = 0u32;
[INFO] [stdout]      |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `warnings` is assigned to, but never used
[INFO] [stdout]      --> src/main.rs:11643:9
[INFO] [stdout]       |
[INFO] [stdout] 11643 |     let mut warnings = 0u32;
[INFO] [stdout]       |         ^^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: consider using `_warnings` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `warnings` is never read
[INFO] [stdout]      --> src/main.rs:11668:45
[INFO] [stdout]       |
[INFO] [stdout] 11668 |         if has_t { has_tests += 1; } else { warnings += 1; }
[INFO] [stdout]       |                                             ^^^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `FunctionDef` is more private than the item `FormulaRuntime::get_function_info`
[INFO] [stdout]    --> src/runtime/mod.rs:531:5
[INFO] [stdout]     |
[INFO] [stdout] 531 |     pub(crate) fn get_function_info<'a>(&'a self, name: &str) -> Option<&'a FunctionDef> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `FormulaRuntime::get_function_info` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `FunctionDef` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/runtime/mod.rs:50:1
[INFO] [stdout]     |
[INFO] [stdout]  50 | struct FunctionDef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NotebookMeta` is never constructed
[INFO] [stdout]    --> src/bridge.rs:122:8
[INFO] [stdout]     |
[INFO] [stdout] 122 | struct NotebookMeta {
[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 `NotebookCreateResponse` is never constructed
[INFO] [stdout]    --> src/bridge.rs:131:8
[INFO] [stdout]     |
[INFO] [stdout] 131 | struct NotebookCreateResponse {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CURRENT_TASK_DIR` is never used
[INFO] [stdout]    --> src/bridge.rs:138:7
[INFO] [stdout]     |
[INFO] [stdout] 138 | const CURRENT_TASK_DIR: &str = ".trinity/current_task";
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NOTEBOOK_ID_FILE` is never used
[INFO] [stdout]    --> src/bridge.rs:139:7
[INFO] [stdout]     |
[INFO] [stdout] 139 | const NOTEBOOK_ID_FILE: &str = ".notebook_id";
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NOTEBOOK_META_FILE` is never used
[INFO] [stdout]    --> src/bridge.rs:140:7
[INFO] [stdout]     |
[INFO] [stdout] 140 | const NOTEBOOK_META_FILE: &str = "notebook_meta.json";
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handle_task_start` is never used
[INFO] [stdout]    --> src/bridge.rs:142:4
[INFO] [stdout]     |
[INFO] [stdout] 142 | fn handle_task_start(root: &Path, title: &str, sources: &str) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ExprRange` is never constructed
[INFO] [stdout]   --> src/compiler.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub enum NodeKind {
[INFO] [stdout]    |          -------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 42 |     ExprRange, // start..end
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `NodeKind` 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: associated items `parse_range_bound` and `type_is_float` are never used
[INFO] [stdout]     --> src/compiler.rs:4636:8
[INFO] [stdout]      |
[INFO] [stdout] 1169 | impl Parser {
[INFO] [stdout]      | ----------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 4636 |     fn parse_range_bound(&mut self) -> Result<Node, String> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 7113 |     fn type_is_float(ty: &str) -> bool {
[INFO] [stdout]      |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `packed_struct_width` is never used
[INFO] [stdout]      --> src/compiler.rs:12730:8
[INFO] [stdout]       |
[INFO] [stdout] 11243 | impl VerilogCodegen {
[INFO] [stdout]       | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 12730 |     fn packed_struct_width(&self, name: &str, depth: u32) -> u32 {
[INFO] [stdout]       |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `c_return_type` is never used
[INFO] [stdout]      --> src/compiler.rs:20972:8
[INFO] [stdout]       |
[INFO] [stdout] 19123 | impl CCodegen {
[INFO] [stdout]       | ------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 20972 |     fn c_return_type(ty: &str) -> String {
[INFO] [stdout]       |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Inout` is never constructed
[INFO] [stdout]      --> src/compiler.rs:29446:5
[INFO] [stdout]       |
[INFO] [stdout] 29443 | pub enum HwPortDir {
[INFO] [stdout]       |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 29446 |     Inout,
[INFO] [stdout]       |     ^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: `HwPortDir` 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 `param_map` is never read
[INFO] [stdout]      --> src/compiler.rs:29517:9
[INFO] [stdout]       |
[INFO] [stdout] 29513 | pub struct HirInstance {
[INFO] [stdout]       |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 29517 |     pub param_map: Vec<(String, String)>,
[INFO] [stdout]       |         ^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: `HirInstance` 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: variant `Read` is never constructed
[INFO] [stdout]      --> src/compiler.rs:29530:5
[INFO] [stdout]       |
[INFO] [stdout] 29529 | pub enum HwMemPortKind {
[INFO] [stdout]       |          ------------- variant in this enum
[INFO] [stdout] 29530 |     Read,
[INFO] [stdout]       |     ^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: `HwMemPortKind` 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 `addr_width` is never read
[INFO] [stdout]      --> src/compiler.rs:29549:9
[INFO] [stdout]       |
[INFO] [stdout] 29544 | pub struct HirMemory {
[INFO] [stdout]       |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 29549 |     pub addr_width: u32,
[INFO] [stdout]       |         ^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: `HirMemory` 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: associated items `new_bram`, `new_rom`, `calc_addr_width`, `add_read_port`, `add_write_port`, and `has_read` are never used
[INFO] [stdout]      --> src/compiler.rs:29554:12
[INFO] [stdout]       |
[INFO] [stdout] 29553 | impl HirMemory {
[INFO] [stdout]       | -------------- associated items in this implementation
[INFO] [stdout] 29554 |     pub fn new_bram(name: &str, depth: u32, data_width: u32) -> Self {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29566 |     pub fn new_rom(name: &str, depth: u32, data_width: u32) -> Self {
[INFO] [stdout]       |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29578 |     fn calc_addr_width(depth: u32) -> u32 {
[INFO] [stdout]       |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29591 |     pub fn add_read_port(&mut self, name: &str) {
[INFO] [stdout]       |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29600 |     pub fn add_write_port(&mut self, name: &str) {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29609 |     pub fn has_read(&self) -> bool {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `HwClkSrcKind` is never used
[INFO] [stdout]      --> src/compiler.rs:29654:10
[INFO] [stdout]       |
[INFO] [stdout] 29654 | pub enum HwClkSrcKind {
[INFO] [stdout]       |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HirClkSource` is never constructed
[INFO] [stdout]      --> src/compiler.rs:29662:12
[INFO] [stdout]       |
[INFO] [stdout] 29662 | pub struct HirClkSource {
[INFO] [stdout]       |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `source_name`, `freq_hz`, and `posedge` are never read
[INFO] [stdout]      --> src/compiler.rs:29672:9
[INFO] [stdout]       |
[INFO] [stdout] 29671 | pub struct HirClockDomain {
[INFO] [stdout]       |            -------------- fields in this struct
[INFO] [stdout] 29672 |     pub name: String,
[INFO] [stdout]       |         ^^^^
[INFO] [stdout] 29673 |     pub source_name: String,
[INFO] [stdout]       |         ^^^^^^^^^^^
[INFO] [stdout] 29674 |     pub freq_hz: u32,
[INFO] [stdout]       |         ^^^^^^^
[INFO] [stdout] 29675 |     pub posedge: bool,
[INFO] [stdout]       |         ^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: `HirClockDomain` 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: associated items `new`, `period_ns`, and `half_period_ns` are never used
[INFO] [stdout]      --> src/compiler.rs:29679:12
[INFO] [stdout]       |
[INFO] [stdout] 29678 | impl HirClockDomain {
[INFO] [stdout]       | ------------------- associated items in this implementation
[INFO] [stdout] 29679 |     pub fn new(name: &str, source: &str, freq_hz: u32) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 29688 |     pub fn period_ns(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29695 |     pub fn half_period_ns(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `src_domain`, `dst_domain`, `strategy`, and `data_width` are never read
[INFO] [stdout]      --> src/compiler.rs:29710:9
[INFO] [stdout]       |
[INFO] [stdout] 29709 | pub struct HirClockCrossing {
[INFO] [stdout]       |            ---------------- fields in this struct
[INFO] [stdout] 29710 |     pub src_domain: String,
[INFO] [stdout]       |         ^^^^^^^^^^
[INFO] [stdout] 29711 |     pub dst_domain: String,
[INFO] [stdout]       |         ^^^^^^^^^^
[INFO] [stdout] 29712 |     pub strategy: HwCrossStrategy,
[INFO] [stdout]       |         ^^^^^^^^
[INFO] [stdout] 29713 |     pub data_width: u32,
[INFO] [stdout]       |         ^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: `HirClockCrossing` 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: associated functions `new_sync` and `new_async` are never used
[INFO] [stdout]      --> src/compiler.rs:29736:12
[INFO] [stdout]       |
[INFO] [stdout] 29735 | impl HirFifo {
[INFO] [stdout]       | ------------ associated functions in this implementation
[INFO] [stdout] 29736 |     pub fn new_sync(name: &str, depth: u32, data_width: u32) -> Self {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29749 |     pub fn new_async(name: &str, depth: u32, data_width: u32) -> Self {
[INFO] [stdout]       |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Master` is never constructed
[INFO] [stdout]      --> src/compiler.rs:29788:5
[INFO] [stdout]       |
[INFO] [stdout] 29787 | pub enum HwBusRole {
[INFO] [stdout]       |          --------- variant in this enum
[INFO] [stdout] 29788 |     Master,
[INFO] [stdout]       |     ^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: `HwBusRole` 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: multiple associated items are never used
[INFO] [stdout]      --> src/compiler.rs:29803:12
[INFO] [stdout]       |
[INFO] [stdout] 29802 | impl HirBusPort {
[INFO] [stdout]       | --------------- associated items in this implementation
[INFO] [stdout] 29803 |     pub fn axi4_lite_slave(name: &str, addr_width: u32, data_width: u32) -> Self {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29814 |     pub fn axi4_lite_master(name: &str, addr_width: u32, data_width: u32) -> Self {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29825 |     pub fn axi4_full_slave(name: &str, addr_width: u32, data_width: u32, id_width: u32) -> Self {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29836 |     pub fn axi4_full_master(name: &str, addr_width: u32, data_width: u32, id_width: u32) -> Self {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29851 |     pub fn is_lite(&self) -> bool {
[INFO] [stdout]       |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29855 |     pub fn is_full(&self) -> bool {
[INFO] [stdout]       |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29859 |     pub fn is_slave(&self) -> bool {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29863 |     pub fn is_master(&self) -> bool {
[INFO] [stdout]       |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29959 |     pub fn total_signal_bits(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]      --> src/compiler.rs:30010:9
[INFO] [stdout]       |
[INFO] [stdout] 30009 | pub struct HirApbPeriphMap {
[INFO] [stdout]       |            --------------- field in this struct
[INFO] [stdout] 30010 |     pub name: String,
[INFO] [stdout]       |         ^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: `HirApbPeriphMap` 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: associated items `new`, `with_error_response`, `add_peripheral`, `addr_bits_for_peripherals`, and `select_peripheral` are never used
[INFO] [stdout]      --> src/compiler.rs:30028:12
[INFO] [stdout]       |
[INFO] [stdout] 30027 | impl HirApbBridge {
[INFO] [stdout]       | ----------------- associated items in this implementation
[INFO] [stdout] 30028 |     pub fn new(name: &str, addr_width: u32, data_width: u32, num_peripherals: u32) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 30040 |     pub fn with_error_response(mut self) -> Self {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30046 |     pub fn add_peripheral(&mut self, name: &str, base_addr: u32, size: u32, index: u32) {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30059 |     pub fn addr_bits_for_peripherals(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30072 |     pub fn select_peripheral(&self, addr: u32) -> Option<u32> {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Gf16OpKind` is never used
[INFO] [stdout]      --> src/compiler.rs:30109:10
[INFO] [stdout]       |
[INFO] [stdout] 30109 | pub enum Gf16OpKind {
[INFO] [stdout]       |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]      --> src/compiler.rs:30129:9
[INFO] [stdout]       |
[INFO] [stdout] 30128 | pub struct HirGf16FftConfig {
[INFO] [stdout]       |            ---------------- field in this struct
[INFO] [stdout] 30129 |     pub name: String,
[INFO] [stdout]       |         ^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: `HirGf16FftConfig` 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 `has_dot_product` is never read
[INFO] [stdout]      --> src/compiler.rs:30161:9
[INFO] [stdout]       |
[INFO] [stdout] 30155 | pub struct HirGf16Accel {
[INFO] [stdout]       |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 30161 |     pub has_dot_product: bool,
[INFO] [stdout]       |         ^^^^^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: `HirGf16Accel` 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: multiple associated items are never used
[INFO] [stdout]      --> src/compiler.rs:30169:12
[INFO] [stdout]       |
[INFO] [stdout] 30168 | impl HirGf16Accel {
[INFO] [stdout]       | ----------------- associated items in this implementation
[INFO] [stdout] 30169 |     pub fn basic(name: &str, num_mult: u32) -> Self {
[INFO] [stdout]       |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30184 |     pub fn full(name: &str, num_mult: u32, vec_width: u32) -> Self {
[INFO] [stdout]       |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30199 |     pub fn add_mac_unit(&mut self, name: &str, acc_width: u32, stages: u32) {
[INFO] [stdout]       |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30207 |     pub fn set_fft(&mut self, name: &str, num_points: u32, radix: u32) {
[INFO] [stdout]       |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30215 |     pub fn total_gf16_bits(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30219 |     pub fn mac_unit_count(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30242 |     pub fn matmul_cycles(&self, n: u32) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30250 |     pub fn dot_product_cycles(&self, vec_len: u32) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Immediate`, `Cover`, and `Assume` are never constructed
[INFO] [stdout]      --> src/compiler.rs:30287:5
[INFO] [stdout]       |
[INFO] [stdout] 30286 | pub enum HwAssertKind {
[INFO] [stdout]       |          ------------ variants in this enum
[INFO] [stdout] 30287 |     Immediate,
[INFO] [stdout]       |     ^^^^^^^^^
[INFO] [stdout] 30288 |     Concurrent,
[INFO] [stdout] 30289 |     Cover,
[INFO] [stdout]       |     ^^^^^
[INFO] [stdout] 30290 |     Assume,
[INFO] [stdout]       |     ^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: `HwAssertKind` 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: variants `Info`, `Warning`, `Error`, and `Fatal` are never constructed
[INFO] [stdout]      --> src/compiler.rs:30295:5
[INFO] [stdout]       |
[INFO] [stdout] 30294 | pub enum HwAssertSeverity {
[INFO] [stdout]       |          ---------------- variants in this enum
[INFO] [stdout] 30295 |     Info,
[INFO] [stdout]       |     ^^^^
[INFO] [stdout] 30296 |     Warning,
[INFO] [stdout]       |     ^^^^^^^
[INFO] [stdout] 30297 |     Error,
[INFO] [stdout]       |     ^^^^^
[INFO] [stdout] 30298 |     Fatal,
[INFO] [stdout]       |     ^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: `HwAssertSeverity` 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: associated items `new`, `with_depth`, and `with_timeout` are never used
[INFO] [stdout]      --> src/compiler.rs:30339:12
[INFO] [stdout]       |
[INFO] [stdout] 30338 | impl HirFormalConfig {
[INFO] [stdout]       | -------------------- associated items in this implementation
[INFO] [stdout] 30339 |     pub fn new(name: &str, module_name: &str, clock: &str, reset: &str) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 30350 |     pub fn with_depth(mut self, depth: u32) -> Self {
[INFO] [stdout]       |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30355 |     pub fn with_timeout(mut self, timeout: u32) -> Self {
[INFO] [stdout]       |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `immediate` and `concurrent` are never used
[INFO] [stdout]      --> src/compiler.rs:30382:12
[INFO] [stdout]       |
[INFO] [stdout] 30381 | impl HirFormalAssert {
[INFO] [stdout]       | -------------------- associated functions in this implementation
[INFO] [stdout] 30382 |     pub fn immediate(
[INFO] [stdout]       |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30399 |     pub fn concurrent(
[INFO] [stdout]       |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]      --> src/compiler.rs:30436:12
[INFO] [stdout]       |
[INFO] [stdout] 30435 | impl HirCoverPoint {
[INFO] [stdout]       | ------------------ associated function in this implementation
[INFO] [stdout] 30436 |     pub fn new(name: &str, condition: &str, clock: &str, description: &str) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]      --> src/compiler.rs:30458:12
[INFO] [stdout]       |
[INFO] [stdout] 30457 | impl HirFormalAssume {
[INFO] [stdout]       | -------------------- associated function in this implementation
[INFO] [stdout] 30458 |     pub fn new(name: &str, condition: &str, clock: &str, description: &str) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `has_forwarding` are never read
[INFO] [stdout]      --> src/compiler.rs:30496:9
[INFO] [stdout]       |
[INFO] [stdout] 30495 | pub struct HirTernaryRegFile {
[INFO] [stdout]       |            ----------------- fields in this struct
[INFO] [stdout] 30496 |     pub name: String,
[INFO] [stdout]       |         ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30501 |     pub has_forwarding: bool,
[INFO] [stdout]       |         ^^^^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: `HirTernaryRegFile` 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: multiple associated items are never used
[INFO] [stdout]      --> src/compiler.rs:30521:12
[INFO] [stdout]       |
[INFO] [stdout] 30520 | impl HirTernaryCore {
[INFO] [stdout]       | ------------------- associated items in this implementation
[INFO] [stdout] 30521 |     pub fn basic(name: &str) -> Self {
[INFO] [stdout]       |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30538 |     pub fn full(name: &str) -> Self {
[INFO] [stdout]       |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30555 |     pub fn with_regfile(mut self, rf: HirTernaryRegFile) -> Self {
[INFO] [stdout]       |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30560 |     pub fn add_pipeline_stage(&mut self, name: &str, latency: u32, has_forwarding: bool) {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30568 |     pub fn add_alu_op(&mut self, name: &str, opcode: u32, latency: u32, uses_gf16: bool) {
[INFO] [stdout]       |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30612 |     pub fn fits_arty_a7(&self) -> bool {
[INFO] [stdout]       |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30616 |     pub fn fits_xc7a100t(&self) -> bool {
[INFO] [stdout]       |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]      --> src/compiler.rs:30646:12
[INFO] [stdout]       |
[INFO] [stdout] 30645 | impl HirTernaryRegFile {
[INFO] [stdout]       | ---------------------- associated function in this implementation
[INFO] [stdout] 30646 |     pub fn new(name: &str) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HirResourceEstimate` is never constructed
[INFO] [stdout]      --> src/compiler.rs:30667:12
[INFO] [stdout]       |
[INFO] [stdout] 30667 | pub struct HirResourceEstimate {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `zero` and `new` are never used
[INFO] [stdout]      --> src/compiler.rs:30676:12
[INFO] [stdout]       |
[INFO] [stdout] 30675 | impl HirResourceEstimate {
[INFO] [stdout]       | ------------------------ associated functions in this implementation
[INFO] [stdout] 30676 |     pub fn zero() -> Self {
[INFO] [stdout]       |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30686 |     pub fn new(luts: u32, ffs: u32, bram18: u32, dsp48: u32, io_pins: u32) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HirIpCore` is never constructed
[INFO] [stdout]      --> src/compiler.rs:30698:12
[INFO] [stdout]       |
[INFO] [stdout] 30698 | pub struct HirIpCore {
[INFO] [stdout]       |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HirBoardResources` is never constructed
[INFO] [stdout]      --> src/compiler.rs:30706:12
[INFO] [stdout]       |
[INFO] [stdout] 30706 | pub struct HirBoardResources {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `arty_a7` and `xc7a100t` are never used
[INFO] [stdout]      --> src/compiler.rs:30716:12
[INFO] [stdout]       |
[INFO] [stdout] 30715 | impl HirBoardResources {
[INFO] [stdout]       | ---------------------- associated functions in this implementation
[INFO] [stdout] 30716 |     pub fn arty_a7() -> Self {
[INFO] [stdout]       |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30727 |     pub fn xc7a100t() -> Self {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HirIpCatalog` is never constructed
[INFO] [stdout]      --> src/compiler.rs:30740:12
[INFO] [stdout]       |
[INFO] [stdout] 30740 | pub struct HirIpCatalog {
[INFO] [stdout]       |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]      --> src/compiler.rs:30746:12
[INFO] [stdout]       |
[INFO] [stdout] 30745 | impl HirIpCatalog {
[INFO] [stdout]       | ----------------- associated items in this implementation
[INFO] [stdout] 30746 |     pub fn new(name: &str) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 30753 |     pub fn add_core(
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30771 |     pub fn total_luts(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30774 |     pub fn total_ffs(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30777 |     pub fn total_bram18(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30780 |     pub fn total_dsp48(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30784 |     pub fn fits_board(&self, board: &HirBoardResources) -> bool {
[INFO] [stdout]       |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30791 |     pub fn luts_remaining(&self, board: &HirBoardResources) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30795 |     pub fn utilization_percent(&self, board: &HirBoardResources) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30802 |     pub fn validate(&self) -> Vec<String> {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AsmSectionKind` is never used
[INFO] [stdout]      --> src/compiler.rs:30820:10
[INFO] [stdout]       |
[INFO] [stdout] 30820 | pub enum AsmSectionKind {
[INFO] [stdout]       |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_i8` and `to_i8` are never used
[INFO] [stdout]      --> src/compiler.rs:30828:12
[INFO] [stdout]       |
[INFO] [stdout] 30827 | impl AsmSectionKind {
[INFO] [stdout]       | ------------------- associated items in this implementation
[INFO] [stdout] 30828 |     pub fn from_i8(v: i8) -> Self {
[INFO] [stdout]       |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30837 |     pub fn to_i8(&self) -> i8 {
[INFO] [stdout]       |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AsmRelocKind` is never used
[INFO] [stdout]      --> src/compiler.rs:30848:10
[INFO] [stdout]       |
[INFO] [stdout] 30848 | pub enum AsmRelocKind {
[INFO] [stdout]       |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_i8` and `to_i8` are never used
[INFO] [stdout]      --> src/compiler.rs:30855:12
[INFO] [stdout]       |
[INFO] [stdout] 30854 | impl AsmRelocKind {
[INFO] [stdout]       | ----------------- associated items in this implementation
[INFO] [stdout] 30855 |     pub fn from_i8(v: i8) -> Self {
[INFO] [stdout]       |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30863 |     pub fn to_i8(&self) -> i8 {
[INFO] [stdout]       |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AssembledInstr` is never constructed
[INFO] [stdout]      --> src/compiler.rs:30873:12
[INFO] [stdout]       |
[INFO] [stdout] 30873 | pub struct AssembledInstr {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]      --> src/compiler.rs:30885:12
[INFO] [stdout]       |
[INFO] [stdout] 30884 | impl AssembledInstr {
[INFO] [stdout]       | ------------------- associated items in this implementation
[INFO] [stdout] 30885 |     pub fn r_type(opcode: u32, rd: u32, rs1: u32, rs2: u32) -> Self {
[INFO] [stdout]       |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30898 |     pub fn i_type(opcode: u32, rd: u32, rs1: u32, imm: u32) -> Self {
[INFO] [stdout]       |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30911 |     pub fn gf16(opcode: u32, rd: u32, rs1: u32, rs2: u32) -> Self {
[INFO] [stdout]       |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30924 |     pub fn is_r_type(&self) -> bool {
[INFO] [stdout]       |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30928 |     pub fn is_i_type(&self) -> bool {
[INFO] [stdout]       |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30932 |     pub fn is_gf16_instr(&self) -> bool {
[INFO] [stdout]       |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30936 |     pub fn encode_r_type(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30940 |     pub fn encode_i_type(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30944 |     pub fn encode(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AsmRelocEntry` is never constructed
[INFO] [stdout]      --> src/compiler.rs:30956:12
[INFO] [stdout]       |
[INFO] [stdout] 30956 | pub struct AsmRelocEntry {
[INFO] [stdout]       |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]      --> src/compiler.rs:30964:12
[INFO] [stdout]       |
[INFO] [stdout] 30963 | impl AsmRelocEntry {
[INFO] [stdout]       | ------------------ associated function in this implementation
[INFO] [stdout] 30964 |     pub fn new(offset: u32, kind: AsmRelocKind, symbol: &str, addend: u32) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AsmSymbol` is never constructed
[INFO] [stdout]      --> src/compiler.rs:30975:12
[INFO] [stdout]       |
[INFO] [stdout] 30975 | pub struct AsmSymbol {
[INFO] [stdout]       |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `validate` are never used
[INFO] [stdout]      --> src/compiler.rs:30984:12
[INFO] [stdout]       |
[INFO] [stdout] 30983 | impl AsmSymbol {
[INFO] [stdout]       | -------------- associated items in this implementation
[INFO] [stdout] 30984 |     pub fn new(name: &str, address: u32, section: AsmSectionKind, is_global: bool) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 30994 |     pub fn validate(&self) -> Vec<String> {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AsmSection` is never constructed
[INFO] [stdout]      --> src/compiler.rs:31004:12
[INFO] [stdout]       |
[INFO] [stdout] 31004 | pub struct AsmSection {
[INFO] [stdout]       |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `text`, `data`, `bss`, `rodata`, and `end` are never used
[INFO] [stdout]      --> src/compiler.rs:31012:12
[INFO] [stdout]       |
[INFO] [stdout] 31011 | impl AsmSection {
[INFO] [stdout]       | --------------- associated items in this implementation
[INFO] [stdout] 31012 |     pub fn text(base: u32) -> Self {
[INFO] [stdout]       |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31021 |     pub fn data(base: u32) -> Self {
[INFO] [stdout]       |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31030 |     pub fn bss(base: u32) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 31039 |     pub fn rodata(base: u32) -> Self {
[INFO] [stdout]       |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31048 |     pub fn end(&self) -> u32 {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AsmConfig` is never constructed
[INFO] [stdout]      --> src/compiler.rs:31054:12
[INFO] [stdout]       |
[INFO] [stdout] 31054 | pub struct AsmConfig {
[INFO] [stdout]       |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `instr_count`, and `validate` are never used
[INFO] [stdout]      --> src/compiler.rs:31064:12
[INFO] [stdout]       |
[INFO] [stdout] 31063 | impl AsmConfig {
[INFO] [stdout]       | -------------- associated items in this implementation
[INFO] [stdout] 31064 |     pub fn new(name: &str) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 31075 |     pub fn instr_count(&self, bytes: u32) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31082 |     pub fn validate(&self) -> Vec<String> {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `align_address` is never used
[INFO] [stdout]      --> src/compiler.rs:31094:8
[INFO] [stdout]       |
[INFO] [stdout] 31094 | pub fn align_address(addr: u32, alignment: u32) -> u32 {
[INFO] [stdout]       |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HirAssembler` is never constructed
[INFO] [stdout]      --> src/compiler.rs:31107:12
[INFO] [stdout]       |
[INFO] [stdout] 31107 | pub struct HirAssembler {
[INFO] [stdout]       |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]      --> src/compiler.rs:31118:12
[INFO] [stdout]       |
[INFO] [stdout] 31117 | impl HirAssembler {
[INFO] [stdout]       | ----------------- associated items in this implementation
[INFO] [stdout] 31118 |     pub fn new(name: &str) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 31133 |     pub fn with_config(config: AsmConfig) -> Self {
[INFO] [stdout]       |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31147 |     pub fn set_section(&mut self, name: &str) -> Result<(), String> {
[INFO] [stdout]       |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31157 |     pub fn emit_r(&mut self, opcode: u32, rd: u32, rs1: u32, rs2: u32) -> u32 {
[INFO] [stdout]       |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31167 |     pub fn emit_i(&mut self, opcode: u32, rd: u32, rs1: u32, imm: u32) -> u32 {
[INFO] [stdout]       |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31177 |     pub fn emit_gf16(&mut self, opcode: u32, rd: u32, rs1: u32, rs2: u32) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31187 |     pub fn define_symbol(&mut self, name: &str, is_global: bool) {
[INFO] [stdout]       |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31195 |     pub fn resolve_symbol(&self, name: &str) -> Option<u32> {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31202 |     pub fn add_relocation(&mut self, offset: u32, kind: AsmRelocKind, symbol: &str, addend: u32) {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31207 |     pub fn apply_relocations(&mut self) -> Result<u32, String> {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31230 |     pub fn total_bytes(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31234 |     pub fn total_instructions(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31238 |     pub fn encode_all(&self) -> Vec<u32> {
[INFO] [stdout]       |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31242 |     pub fn to_binary(&self) -> Vec<u8> {
[INFO] [stdout]       |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31251 |     pub fn validate(&self) -> Vec<String> {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `duty_cycle` and `phase_ns` are never read
[INFO] [stdout]      --> src/compiler.rs:31263:9
[INFO] [stdout]       |
[INFO] [stdout] 31261 | pub struct TbClockCfg {
[INFO] [stdout]       |            ---------- fields in this struct
[INFO] [stdout] 31262 |     pub period_ns: u32,
[INFO] [stdout] 31263 |     pub duty_cycle: u32,
[INFO] [stdout]       |         ^^^^^^^^^^
[INFO] [stdout] 31264 |     pub phase_ns: u32,
[INFO] [stdout]       |         ^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: `TbClockCfg` 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: method `reset_end_cycle` is never used
[INFO] [stdout]      --> src/compiler.rs:31297:12
[INFO] [stdout]       |
[INFO] [stdout] 31288 | impl TbResetCfg {
[INFO] [stdout]       | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 31297 |     pub fn reset_end_cycle(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `validate` are never used
[INFO] [stdout]      --> src/compiler.rs:31310:12
[INFO] [stdout]       |
[INFO] [stdout] 31309 | impl TbStimulus {
[INFO] [stdout]       | --------------- associated items in this implementation
[INFO] [stdout] 31310 |     pub fn new(cycle: u32, signal: &str, value: u32) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 31318 |     pub fn validate(&self) -> Vec<String> {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_mask`, and `validate` are never used
[INFO] [stdout]      --> src/compiler.rs:31336:12
[INFO] [stdout]       |
[INFO] [stdout] 31335 | impl TbCheck {
[INFO] [stdout]       | ------------ associated items in this implementation
[INFO] [stdout] 31336 |     pub fn new(cycle: u32, signal: &str, expected: u32) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 31345 |     pub fn with_mask(cycle: u32, signal: &str, expected: u32, mask: u32) -> Self {
[INFO] [stdout]       |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31354 |     pub fn validate(&self) -> Vec<String> {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `fail_fast` is never read
[INFO] [stdout]      --> src/compiler.rs:31370:9
[INFO] [stdout]       |
[INFO] [stdout] 31364 | pub struct TbConfig {
[INFO] [stdout]       |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 31370 |     pub fail_fast: bool,
[INFO] [stdout]       |         ^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: `TbConfig` 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: method `validate` is never used
[INFO] [stdout]      --> src/compiler.rs:31385:12
[INFO] [stdout]       |
[INFO] [stdout] 31373 | impl TbConfig {
[INFO] [stdout]       | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 31385 |     pub fn validate(&self) -> Vec<String> {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_stimulus`, `add_check`, `add_check_masked`, and `validate` are never used
[INFO] [stdout]      --> src/compiler.rs:31419:12
[INFO] [stdout]       |
[INFO] [stdout] 31407 | impl HirTestbench {
[INFO] [stdout]       | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 31419 |     pub fn add_stimulus(&mut self, cycle: u32, signal: &str, value: u32) {
[INFO] [stdout]       |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31423 |     pub fn add_check(&mut self, cycle: u32, signal: &str, expected: u32) {
[INFO] [stdout]       |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31427 |     pub fn add_check_masked(&mut self, cycle: u32, signal: &str, expected: u32, mask: u32) {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31553 |     pub fn validate(&self) -> Vec<String> {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `VcdVarKind` is never used
[INFO] [stdout]      --> src/compiler.rs:31566:10
[INFO] [stdout]       |
[INFO] [stdout] 31566 | pub enum VcdVarKind {
[INFO] [stdout]       |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `vcd_str` is never used
[INFO] [stdout]      --> src/compiler.rs:31574:12
[INFO] [stdout]       |
[INFO] [stdout] 31573 | impl VcdVarKind {
[INFO] [stdout]       | --------------- method in this implementation
[INFO] [stdout] 31574 |     pub fn vcd_str(&self) -> &'static str {
[INFO] [stdout]       |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VcdVar` is never constructed
[INFO] [stdout]      --> src/compiler.rs:31585:12
[INFO] [stdout]       |
[INFO] [stdout] 31585 | pub struct VcdVar {
[INFO] [stdout]       |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `wire`, `reg`, and `validate` are never used
[INFO] [stdout]      --> src/compiler.rs:31593:12
[INFO] [stdout]       |
[INFO] [stdout] 31592 | impl VcdVar {
[INFO] [stdout]       | ----------- associated items in this implementation
[INFO] [stdout] 31593 |     pub fn wire(size: u32, name: &str, ident: &str) -> Self {
[INFO] [stdout]       |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31602 |     pub fn reg(size: u32, name: &str, ident: &str) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 31611 |     pub fn validate(&self) -> Vec<String> {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VcdChange` is never constructed
[INFO] [stdout]      --> src/compiler.rs:31624:12
[INFO] [stdout]       |
[INFO] [stdout] 31624 | pub struct VcdChange {
[INFO] [stdout]       |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `format_binary`, and `validate` are never used
[INFO] [stdout]      --> src/compiler.rs:31632:12
[INFO] [stdout]       |
[INFO] [stdout] 31631 | impl VcdChange {
[INFO] [stdout]       | -------------- associated items in this implementation
[INFO] [stdout] 31632 |     pub fn new(ts: u64, ident: &str, value: u32, width: u32) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 31641 |     pub fn format_binary(&self) -> String {
[INFO] [stdout]       |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31657 |     pub fn validate(&self) -> Vec<String> {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VcdHeader` is never constructed
[INFO] [stdout]      --> src/compiler.rs:31670:12
[INFO] [stdout]       |
[INFO] [stdout] 31670 | pub struct VcdHeader {
[INFO] [stdout]       |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]      --> src/compiler.rs:31678:12
[INFO] [stdout]       |
[INFO] [stdout] 31677 | impl VcdHeader {
[INFO] [stdout]       | -------------- associated function in this implementation
[INFO] [stdout] 31678 |     pub fn new(version: &str, timescale: &str) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HirVcdTrace` is never constructed
[INFO] [stdout]      --> src/compiler.rs:31689:12
[INFO] [stdout]       |
[INFO] [stdout] 31689 | pub struct HirVcdTrace {
[INFO] [stdout]       |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]      --> src/compiler.rs:31697:12
[INFO] [stdout]       |
[INFO] [stdout] 31696 | impl HirVcdTrace {
[INFO] [stdout]       | ---------------- associated items in this implementation
[INFO] [stdout] 31697 |     pub fn new(version: &str) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 31706 |     pub fn add_var(&mut self, kind: VcdVarKind, size: u32, name: &str) {
[INFO] [stdout]       |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31717 |     pub fn add_wire(&mut self, size: u32, name: &str) {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31721 |     pub fn add_reg(&mut self, size: u32, name: &str) {
[INFO] [stdout]       |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31725 |     pub fn record(&mut self, timestamp_ps: u64, var_name: &str, value: u32) {
[INFO] [stdout]       |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31737 |     pub fn changes_at(&self, ts: u64) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31741 |     pub fn earliest_timestamp(&self) -> u64 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31749 |     pub fn latest_timestamp(&self) -> u64 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31757 |     pub fn duration_ps(&self) -> u64 {
[INFO] [stdout]       |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31765 |     pub fn ident_from_index(idx: usize) -> String {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31778 |     pub fn emit_vcd(&self) -> String {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31821 |     pub fn validate(&self) -> Vec<String> {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LinkSection` is never constructed
[INFO] [stdout]      --> src/compiler.rs:31834:12
[INFO] [stdout]       |
[INFO] [stdout] 31834 | pub struct LinkSection {
[INFO] [stdout]       |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `text`, `data`, `bss`, and `end` are never used
[INFO] [stdout]      --> src/compiler.rs:31843:12
[INFO] [stdout]       |
[INFO] [stdout] 31842 | impl LinkSection {
[INFO] [stdout]       | ---------------- associated items in this implementation
[INFO] [stdout] 31843 |     pub fn text(vaddr: u32, size: u32) -> Self {
[INFO] [stdout]       |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31853 |     pub fn data(vaddr: u32, size: u32) -> Self {
[INFO] [stdout]       |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31863 |     pub fn bss(vaddr: u32, size: u32) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 31873 |     pub fn end(&self) -> u32 {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LinkedSymbol` is never constructed
[INFO] [stdout]      --> src/compiler.rs:31879:12
[INFO] [stdout]       |
[INFO] [stdout] 31879 | pub struct LinkedSymbol {
[INFO] [stdout]       |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `is_global`, `is_local`, and `validate` are never used
[INFO] [stdout]      --> src/compiler.rs:31889:12
[INFO] [stdout]       |
[INFO] [stdout] 31888 | impl LinkedSymbol {
[INFO] [stdout]       | ----------------- associated items in this implementation
[INFO] [stdout] 31889 |     pub fn new(name: &str, value: u32, section_idx: u32) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 31900 |     pub fn is_global(&self) -> bool {
[INFO] [stdout]       |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31904 |     pub fn is_local(&self) -> bool {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31908 |     pub fn validate(&self) -> Vec<String> {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LinkSegment` is never constructed
[INFO] [stdout]      --> src/compiler.rs:31918:12
[INFO] [stdout]       |
[INFO] [stdout] 31918 | pub struct LinkSegment {
[INFO] [stdout]       |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `text` and `data` are never used
[INFO] [stdout]      --> src/compiler.rs:31927:12
[INFO] [stdout]       |
[INFO] [stdout] 31926 | impl LinkSegment {
[INFO] [stdout]       | ---------------- associated functions in this implementation
[INFO] [stdout] 31927 |     pub fn text(vaddr: u32, size: u32) -> Self {
[INFO] [stdout]       |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31937 |     pub fn data(vaddr: u32, memsz: u32, filesz: u32) -> Self {
[INFO] [stdout]       |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LinkerConfig` is never constructed
[INFO] [stdout]      --> src/compiler.rs:31949:12
[INFO] [stdout]       |
[INFO] [stdout] 31949 | pub struct LinkerConfig {
[INFO] [stdout]       |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `stack_top`, `heap_start`, and `validate` are never used
[INFO] [stdout]      --> src/compiler.rs:31959:12
[INFO] [stdout]       |
[INFO] [stdout] 31958 | impl LinkerConfig {
[INFO] [stdout]       | ----------------- associated items in this implementation
[INFO] [stdout] 31959 |     pub fn new(entry: &str) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 31970 |     pub fn stack_top(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31974 |     pub fn heap_start(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31980 |     pub fn validate(&self) -> Vec<String> {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LinkResult` is never constructed
[INFO] [stdout]      --> src/compiler.rs:31990:12
[INFO] [stdout]       |
[INFO] [stdout] 31990 | pub struct LinkResult {
[INFO] [stdout]       |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `ok`, `fail`, `total_image_size`, and `passed` are never used
[INFO] [stdout]      --> src/compiler.rs:32001:12
[INFO] [stdout]       |
[INFO] [stdout] 32000 | impl LinkResult {
[INFO] [stdout]       | --------------- associated items in this implementation
[INFO] [stdout] 32001 |     pub fn ok(entry: u32, text: u32, data: u32, bss: u32) -> Self {
[INFO] [stdout]       |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 32013 |     pub fn fail(errors: u32) -> Self {
[INFO] [stdout]       |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32025 |     pub fn total_image_size(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32031 |     pub fn passed(&self) -> bool {
[INFO] [stdout]       |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HirLinker` is never constructed
[INFO] [stdout]      --> src/compiler.rs:32037:12
[INFO] [stdout]       |
[INFO] [stdout] 32037 | pub struct HirLinker {
[INFO] [stdout]       |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]      --> src/compiler.rs:32047:12
[INFO] [stdout]       |
[INFO] [stdout] 32046 | impl HirLinker {
[INFO] [stdout]       | -------------- associated items in this implementation
[INFO] [stdout] 32047 |     pub fn new(entry: &str) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 32058 |     pub fn add_object(&mut self, asm: &HirAssembler) {
[INFO] [stdout]       |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32067 |     pub fn link(&mut self) -> LinkResult {
[INFO] [stdout]       |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32101 |     pub fn resolve_entry(&self) -> Option<u32> {
[INFO] [stdout]       |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32113 |     pub fn resolve_symbol(&self, name: &str) -> Option<u32> {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32120 |     pub fn emit_image(&self) -> Vec<u8> {
[INFO] [stdout]       |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32131 |     pub fn emit_hex(&self) -> String {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32157 |     pub fn validate(&self) -> Vec<String> {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ArcKind` is never used
[INFO] [stdout]      --> src/compiler.rs:32167:10
[INFO] [stdout]       |
[INFO] [stdout] 32167 | pub enum ArcKind {
[INFO] [stdout]       |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_i8` is never used
[INFO] [stdout]      --> src/compiler.rs:32176:12
[INFO] [stdout]       |
[INFO] [stdout] 32175 | impl ArcKind {
[INFO] [stdout]       | ------------ associated function in this implementation
[INFO] [stdout] 32176 |     pub fn from_i8(v: i8) -> Self {
[INFO] [stdout]       |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TimingArc` is never constructed
[INFO] [stdout]      --> src/compiler.rs:32189:12
[INFO] [stdout]       |
[INFO] [stdout] 32189 | pub struct TimingArc {
[INFO] [stdout]       |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `comb`, `reg_to_reg`, and `input_to_reg` are never used
[INFO] [stdout]      --> src/compiler.rs:32197:12
[INFO] [stdout]       |
[INFO] [stdout] 32196 | impl TimingArc {
[INFO] [stdout]       | -------------- associated functions in this implementation
[INFO] [stdout] 32197 |     pub fn comb(source: &str, sink: &str, delay_ps: u32) -> Self {
[INFO] [stdout]       |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32205 |     pub fn reg_to_reg(source: &str, sink: &str, delay_ps: u32) -> Self {
[INFO] [stdout]       |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32213 |     pub fn input_to_reg(source: &str, sink: &str, delay_ps: u32) -> Self {
[INFO] [stdout]       |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TimingPath` is never constructed
[INFO] [stdout]      --> src/compiler.rs:32224:12
[INFO] [stdout]       |
[INFO] [stdout] 32224 | pub struct TimingPath {
[INFO] [stdout]       |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `is_met`, and `is_violated` are never used
[INFO] [stdout]      --> src/compiler.rs:32233:12
[INFO] [stdout]       |
[INFO] [stdout] 32232 | impl TimingPath {
[INFO] [stdout]       | --------------- associated items in this implementation
[INFO] [stdout] 32233 |     pub fn new(start: &str, end: &str, delay: u32, slack: i64) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 32242 |     pub fn is_met(&self) -> bool {
[INFO] [stdout]       |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32245 |     pub fn is_violated(&self) -> bool {
[INFO] [stdout]       |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TimingConstraint` is never constructed
[INFO] [stdout]      --> src/compiler.rs:32251:12
[INFO] [stdout]       |
[INFO] [stdout] 32251 | pub struct TimingConstraint {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_period`, `from_mhz`, and `validate` are never used
[INFO] [stdout]      --> src/compiler.rs:32258:12
[INFO] [stdout]       |
[INFO] [stdout] 32257 | impl TimingConstraint {
[INFO] [stdout]       | --------------------- associated items in this implementation
[INFO] [stdout] 32258 |     pub fn from_period(name: &str, period_ps: u32) -> Self {
[INFO] [stdout]       |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32276 |     pub fn from_mhz(name: &str, mhz: u32) -> Self {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32288 |     pub fn validate(&self) -> Vec<String> {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TimingReport` is never constructed
[INFO] [stdout]      --> src/compiler.rs:32301:12
[INFO] [stdout]       |
[INFO] [stdout] 32301 | pub struct TimingReport {
[INFO] [stdout]       |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `ok`, `fail`, and `passed` are never used
[INFO] [stdout]      --> src/compiler.rs:32312:12
[INFO] [stdout]       |
[INFO] [stdout] 32311 | impl TimingReport {
[INFO] [stdout]       | ----------------- associated items in this implementation
[INFO] [stdout] 32312 |     pub fn ok(critical_ps: u32, fmax: u32) -> Self {
[INFO] [stdout]       |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 32323 |     pub fn fail(critical_ps: u32) -> Self {
[INFO] [stdout]       |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32334 |     pub fn passed(&self) -> bool {
[INFO] [stdout]       |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TimingModel` is never constructed
[INFO] [stdout]      --> src/compiler.rs:32339:12
[INFO] [stdout]       |
[INFO] [stdout] 32339 | pub struct TimingModel;
[INFO] [stdout]       |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]      --> src/compiler.rs:32342:15
[INFO] [stdout]       |
[INFO] [stdout] 32341 | impl TimingModel {
[INFO] [stdout]       | ---------------- associated items in this implementation
[INFO] [stdout] 32342 |     pub const LUT_DELAY_PS: u32 = 100;
[INFO] [stdout]       |               ^^^^^^^^^^^^
[INFO] [stdout] 32343 |     pub const BRAM_DELAY_PS: u32 = 2000;
[INFO] [stdout]       |               ^^^^^^^^^^^^^
[INFO] [stdout] 32344 |     pub const DSP_DELAY_PS: u32 = 2500;
[INFO] [stdout]       |               ^^^^^^^^^^^^
[INFO] [stdout] 32345 |     pub const ROUTING_DELAY_PS: u32 = 300;
[INFO] [stdout]       |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 32346 |     pub const SETUP_TIME_PS: u32 = 200;
[INFO] [stdout]       |               ^^^^^^^^^^^^^
[INFO] [stdout] 32347 |     pub const HOLD_TIME_PS: u32 = 50;
[INFO] [stdout]       |               ^^^^^^^^^^^^
[INFO] [stdout] 32348 |
[INFO] [stdout] 32349 |     pub fn est_comb_delay(num_luts: u32) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32353 |     pub fn est_reg_to_reg_delay(num_luts: u32) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32357 |     pub fn slack(delay_ps: u32, constraint_ps: u32) -> i64 {
[INFO] [stdout]       |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32361 |     pub fn fmax_from_delay(delay_ps: u32) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32368 |     pub fn analyze_module(module: &HirModule, constraint: &TimingConstraint) -> TimingReport {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `path_delay` is never used
[INFO] [stdout]      --> src/compiler.rs:32429:8
[INFO] [stdout]       |
[INFO] [stdout] 32429 | pub fn path_delay(arcs: &[TimingArc]) -> u32 {
[INFO] [stdout]       |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `worst_path_delay` is never used
[INFO] [stdout]      --> src/compiler.rs:32433:8
[INFO] [stdout]       |
[INFO] [stdout] 32433 | pub fn worst_path_delay(paths: &[TimingPath]) -> u32 {
[INFO] [stdout]       |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PowerDomain` is never constructed
[INFO] [stdout]      --> src/compiler.rs:32441:12
[INFO] [stdout]       |
[INFO] [stdout] 32441 | pub struct PowerDomain {
[INFO] [stdout]       |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `validate` are never used
[INFO] [stdout]      --> src/compiler.rs:32449:12
[INFO] [stdout]       |
[INFO] [stdout] 32448 | impl PowerDomain {
[INFO] [stdout]       | ---------------- associated items in this implementation
[INFO] [stdout] 32449 |     pub fn new(name: &str, clock_mhz: u32) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 32457 |     pub fn validate(&self) -> Vec<String> {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PowerEstimate` is never constructed
[INFO] [stdout]      --> src/compiler.rs:32470:12
[INFO] [stdout]       |
[INFO] [stdout] 32470 | pub struct PowerEstimate {
[INFO] [stdout]       |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PowerModel` is never constructed
[INFO] [stdout]      --> src/compiler.rs:32480:12
[INFO] [stdout]       |
[INFO] [stdout] 32480 | pub struct PowerModel;
[INFO] [stdout]       |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]      --> src/compiler.rs:32483:15
[INFO] [stdout]       |
[INFO] [stdout] 32482 | impl PowerModel {
[INFO] [stdout]       | --------------- associated items in this implementation
[INFO] [stdout] 32483 |     pub const LUT_POWER_UW_PER_MHZ: u32 = 10;
[INFO] [stdout]       |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 32484 |     pub const FF_POWER_UW_PER_MHZ: u32 = 5;
[INFO] [stdout]       |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 32485 |     pub const BRAM_POWER_UW_PER_MHZ: u32 = 50;
[INFO] [stdout]       |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 32486 |     pub const DSP_POWER_UW_PER_MHZ: u32 = 100;
[INFO] [stdout]       |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 32487 |     pub const IO_POWER_UW_PER_MHZ: u32 = 20;
[INFO] [stdout]       |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 32488 |     pub const STATIC_BASE_MW: u32 = 50;
[INFO] [stdout]       |               ^^^^^^^^^^^^^^
[INFO] [stdout] 32489 |     pub const STATIC_PER_RESOURCE_UW: u32 = 100;
[INFO] [stdout]       |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 32490 |
[INFO] [stdout] 32491 |     pub fn est_lut_dynamic(luts: u32, clock_mhz: u32, toggle_rate: u32) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32494 |     pub fn est_ff_dynamic(ffs: u32, clock_mhz: u32, toggle_rate: u32) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32497 |     pub fn est_bram_dynamic(brams: u32, clock_mhz: u32) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32500 |     pub fn est_dsp_dynamic(dsps: u32, clock_mhz: u32) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32503 |     pub fn est_static(total_resources: u32) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32507 |     pub fn estimate_module(module: &HirModule, clock_mhz: u32, toggle_rate: u32) -> PowerEstimate {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RegionKind` is never used
[INFO] [stdout]      --> src/compiler.rs:32547:10
[INFO] [stdout]       |
[INFO] [stdout] 32547 | pub enum RegionKind {
[INFO] [stdout]       |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PlacementRegion` is never constructed
[INFO] [stdout]      --> src/compiler.rs:32556:12
[INFO] [stdout]       |
[INFO] [stdout] 32556 | pub struct PlacementRegion {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]      --> src/compiler.rs:32566:12
[INFO] [stdout]       |
[INFO] [stdout] 32565 | impl PlacementRegion {
[INFO] [stdout]       | -------------------- associated items in this implementation
[INFO] [stdout] 32566 |     pub fn logic(name: &str, x0: u32, y0: u32, x1: u32, y1: u32) -> Self {
[INFO] [stdout]       |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32576 |     pub fn bram_col(name: &str, col: u32, y0: u32, y1: u32) -> Self {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32586 |     pub fn dsp_col(name: &str, col: u32, y0: u32, y1: u32) -> Self {
[INFO] [stdout]       |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32596 |     pub fn width(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32599 |     pub fn height(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32602 |     pub fn area(&self) -> u32 {
[INFO] [stdout]       |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32605 |     pub fn overlaps(&self, other: &PlacementRegion) -> bool {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32608 |     pub fn validate(&self) -> Vec<String> {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PlacementHint` is never constructed
[INFO] [stdout]      --> src/compiler.rs:32624:12
[INFO] [stdout]       |
[INFO] [stdout] 32624 | pub struct PlacementHint {
[INFO] [stdout]       |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `validate` are never used
[INFO] [stdout]      --> src/compiler.rs:32631:12
[INFO] [stdout]       |
[INFO] [stdout] 32630 | impl PlacementHint {
[INFO] [stdout]       | ------------------ associated items in this implementation
[INFO] [stdout] 32631 |     pub fn new(module: &str, region: &str, priority: u32) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 32638 |     pub fn validate(&self) -> Vec<String> {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RouteConstraint` is never constructed
[INFO] [stdout]      --> src/compiler.rs:32651:12
[INFO] [stdout]       |
[INFO] [stdout] 32651 | pub struct RouteConstraint {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Floorplan` is never constructed
[INFO] [stdout]      --> src/compiler.rs:32658:12
[INFO] [stdout]       |
[INFO] [stdout] 32658 | pub struct Floorplan {
[INFO] [stdout]       |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]      --> src/compiler.rs:32667:12
[INFO] [stdout]       |
[INFO] [stdout] 32666 | impl Floorplan {
[INFO] [stdout]       | -------------- associated items in this implementation
[INFO] [stdout] 32667 |     pub fn new(name: &str, device: &str) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 32677 |     pub fn add_region(&mut self, region: PlacementRegion) {
[INFO] [stdout]       |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32681 |     pub fn add_hint(&mut self, module: &str, region: &str, priority: u32) {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32686 |     pub fn add_route(&mut self, source: &str, sink: &str, max_delay_ps: u32) {
[INFO] [stdout]       |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32694 |     pub fn auto_floorplan(&mut self, module: &HirModule) {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32735 |     pub fn check_overlaps(&self) -> Vec<(String, String)> {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32747 |     pub fn total_area(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32751 |     pub fn validate(&self) -> Vec<String> {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BitstreamMeta` is never constructed
[INFO] [stdout]      --> src/compiler.rs:32764:12
[INFO] [stdout]       |
[INFO] [stdout] 32764 | pub struct BitstreamMeta {
[INFO] [stdout]       |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `compute_checksum`, `with_checksum`, `verify`, and `validate` are never used
[INFO] [stdout]      --> src/compiler.rs:32774:12
[INFO] [stdout]       |
[INFO] [stdout] 32773 | impl BitstreamMeta {
[INFO] [stdout]       | ------------------ associated items in this implementation
[INFO] [stdout] 32774 |     pub fn new(device: &str, size_bytes: u32) -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 32785 |     pub fn compute_checksum(data: &[u8]) -> u64 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32794 |     pub fn with_checksum(mut self, data: &[u8]) -> Self {
[INFO] [stdout]       |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32800 |     pub fn verify(&self, data: &[u8]) -> bool {
[INFO] [stdout]       |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32804 |     pub fn validate(&self) -> Vec<String> {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FpgaNode` is never constructed
[INFO] [stdout]      --> src/compiler.rs:32817:12
[INFO] [stdout]       |
[INFO] [stdout] 32817 | pub struct FpgaNode {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `arty_a7`, `util`, `remaining`, and `validate` are never used
[INFO] [stdout]      --> src/compiler.rs:32828:12
[INFO] [stdout]       |
[INFO] [stdout] 32827 | impl FpgaNode {
[INFO] [stdout]       | ------------- associated items in this implementation
[INFO] [stdout] 32828 |     pub fn arty_a7(name: &str) -> Self {
[INFO] [stdout]       |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32839 |     pub fn util(&self, used_luts: u32) -> u32 {
[INFO] [stdout]       |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32845 |     pub fn remaining(&self, used_luts: u32) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32848 |     pub fn validate(&self) -> Vec<String> {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InterFpgaLink` is never constructed
[INFO] [stdout]      --> src/compiler.rs:32861:12
[INFO] [stdout]       |
[INFO] [stdout] 32861 | pub struct InterFpgaLink {
[INFO] [stdout]       |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `lvds`, `serdes`, and `bandwidth_mbps` are never used
[INFO] [stdout]      --> src/compiler.rs:32870:12
[INFO] [stdout]       |
[INFO] [stdout] 32869 | impl InterFpgaLink {
[INFO] [stdout]       | ------------------ associated items in this implementation
[INFO] [stdout] 32870 |     pub fn lvds(a: u32, b: u32, width: u32) -> Self {
[INFO] [stdout]       |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32879 |     pub fn serdes(a: u32, b: u32) -> Self {
[INFO] [stdout]       |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32888 |     pub fn bandwidth_mbps(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PartitionAssign` is never constructed
[INFO] [stdout]      --> src/compiler.rs:32894:12
[INFO] [stdout]       |
[INFO] [stdout] 32894 | pub struct PartitionAssign {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PartitionResult` is never constructed
[INFO] [stdout]      --> src/compiler.rs:32904:12
[INFO] [stdout]       |
[INFO] [stdout] 32904 | pub struct PartitionResult {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `ok`, `fail`, and `passed` are never used
[INFO] [stdout]      --> src/compiler.rs:32914:12
[INFO] [stdout]       |
[INFO] [stdout] 32913 | impl PartitionResult {
[INFO] [stdout]       | -------------------- associated items in this implementation
[INFO] [stdout] 32914 |     pub fn ok(fpgas: u32, assigns: u32, links: u32, bw: u32) -> Self {
[INFO] [stdout]       |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 32924 |     pub fn fail(errors: u32) -> Self {
[INFO] [stdout]       |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32934 |     pub fn passed(&self) -> bool {
[INFO] [stdout]       |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HirPartitioner` is never constructed
[INFO] [stdout]      --> src/compiler.rs:32940:12
[INFO] [stdout]       |
[INFO] [stdout] 32940 | pub struct HirPartitioner {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]      --> src/compiler.rs:32947:12
[INFO] [stdout]       |
[INFO] [stdout] 32946 | impl HirPartitioner {
[INFO] [stdout]       | ------------------- associated items in this implementation
[INFO] [stdout] 32947 |     pub fn new() -> Self {
[INFO] [stdout]       |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 32955 |     pub fn add_fpga(&mut self, fpga: FpgaNode) {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32959 |     pub fn add_link(&mut self, link: InterFpgaLink) {
[INFO] [stdout]       |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32963 |     pub fn total_bandwidth(&self) -> u32 {
[INFO] [stdout]       |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32967 |     pub fn fpga_usage(&self, fpga_idx: u32) -> (u32, u32, u32, u32) {
[INFO] [stdout]       |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32978 |     pub fn fits(&self, fpga_idx: u32, luts: u32, ffs: u32, bram: u32, dsp: u32) -> bool {
[WARN] too many lines in the log, truncating it
