[INFO] cloning repository https://github.com/Rasmus20B/Cadmus
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Rasmus20B/Cadmus" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRasmus20B%2FCadmus", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRasmus20B%2FCadmus'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] d40ffb751d4564a4c4f60e70079ca8960a6e2bed
[INFO] testing Rasmus20B/Cadmus against nightly-2025-01-18+rustflags=-Zrandomize-layout for randomize-layout-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRasmus20B%2FCadmus" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/Rasmus20B/Cadmus on toolchain nightly-2025-01-18
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly-2025-01-18" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/Rasmus20B/Cadmus
[INFO] finished tweaking git repo https://github.com/Rasmus20B/Cadmus
[INFO] tweaked toml for git repo https://github.com/Rasmus20B/Cadmus written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/Rasmus20B/Cadmus 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" "+nightly-2025-01-18" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:819108c5571ea2e421544af4d832f968d213c87fbe3707a016657f43d2f853bc" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2025-01-18" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 09c74da16c0bb2129c6606344515dd5f059803c9b9d22e7152cccf8b0d79acdd
[INFO] running `Command { std: "docker" "start" "-a" "09c74da16c0bb2129c6606344515dd5f059803c9b9d22e7152cccf8b0d79acdd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "09c74da16c0bb2129c6606344515dd5f059803c9b9d22e7152cccf8b0d79acdd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "09c74da16c0bb2129c6606344515dd5f059803c9b9d22e7152cccf8b0d79acdd", kill_on_drop: false }`
[INFO] [stdout] 09c74da16c0bb2129c6606344515dd5f059803c9b9d22e7152cccf8b0d79acdd
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Zrandomize-layout" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:819108c5571ea2e421544af4d832f968d213c87fbe3707a016657f43d2f853bc" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2025-01-18" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f5ef1759b5bd8c92b4a635e66e6b3327880189e271eabcfa8bc64437bb4a00a1
[INFO] running `Command { std: "docker" "start" "-a" "f5ef1759b5bd8c92b4a635e66e6b3327880189e271eabcfa8bc64437bb4a00a1", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-ident v1.0.13
[INFO] [stderr]    Compiling crossbeam-utils v0.8.20
[INFO] [stderr]    Compiling autocfg v1.4.0
[INFO] [stderr]    Compiling serde v1.0.210
[INFO] [stderr]    Compiling rayon-core v1.12.1
[INFO] [stderr]    Compiling minimal-lexical v0.2.1
[INFO] [stderr]    Compiling iana-time-zone v0.1.61
[INFO] [stderr]    Compiling either v1.13.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.86
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling quote v1.0.37
[INFO] [stderr]    Compiling syn v2.0.77
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling crossbeam-deque v0.8.5
[INFO] [stderr]    Compiling chrono v0.4.38
[INFO] [stderr]    Compiling rayon v1.10.0
[INFO] [stderr]    Compiling serde_derive v1.0.210
[INFO] [stderr]    Compiling clap_derive v4.5.13
[INFO] [stderr]    Compiling color-print-proc-macro v0.3.6
[INFO] [stderr]    Compiling color-print v0.3.6
[INFO] [stderr]    Compiling clap v4.5.17
[INFO] [stderr]    Compiling serde_json v1.0.128
[INFO] [stderr]    Compiling fmc v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `BufReader`, `BufWriter`, `File`, and `OpenOptions`
[INFO] [stdout]  --> src/main.rs:1:32
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fs::{read_to_string, File, OpenOptions}, io::{BufReader, BufWriter}, path::Path};
[INFO] [stdout]   |                                ^^^^  ^^^^^^^^^^^        ^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `diff::get_diffs`
[INFO] [stdout]  --> src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use diff::get_diffs;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hbam::fs::HBAMInterface`
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use hbam::fs::HBAMInterface;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AutoEntryType`, `AutoEntry`, `DataType`, `ValidationTrigger`, and `Validation`
[INFO] [stdout]  --> src/hbam2/api.rs:1:59
[INFO] [stdout]   |
[INFO] [stdout] 1 | ...::{AutoEntry, AutoEntryType, DBObjectReference, DataSource, DataSourceType, DataType, Field, LayoutFM, Relation, RelationComparison, RelationCriteria, Script, Table, TableOccurrence, Validation, ValidationTrigger}, ...
[INFO] [stdout]   |       ^^^^^^^^^  ^^^^^^^^^^^^^                                                 ^^^^^^^^                                                                                                   ^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> src/emulator/calc_engine/operand.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::str::FromStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `tblocc_id_t` should have an upper camel case name
[INFO] [stdout]  --> src/emulator/layout.rs:2:6
[INFO] [stdout]   |
[INFO] [stdout] 2 | type tblocc_id_t = u32;
[INFO] [stdout]   |      ^^^^^^^^^^^ help: convert the identifier to upper camel case: `TbloccIdT`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/emulator/emulator.rs:2:33
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `color_print::cprintln`
[INFO] [stdout]  --> src/emulator/emulator.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use color_print::cprintln;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]   --> src/emulator/emulator.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::cell::RefCell;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]   --> src/emulator/emulator.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::rc::Rc;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `window_id_t` should have an upper camel case name
[INFO] [stdout]   --> src/emulator/emulator.rs:14:6
[INFO] [stdout]    |
[INFO] [stdout] 14 | type window_id_t = u32;
[INFO] [stdout]    |      ^^^^^^^^^^^ help: convert the identifier to upper camel case: `WindowIdT`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `db_id_t` should have an upper camel case name
[INFO] [stdout]   --> src/emulator/emulator.rs:15:6
[INFO] [stdout]    |
[INFO] [stdout] 15 | type db_id_t = u32;
[INFO] [stdout]    |      ^^^^^^^ help: convert the identifier to upper camel case: `DbIdT`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `tblocc_id_t` should have an upper camel case name
[INFO] [stdout]   --> src/emulator/emulator.rs:16:6
[INFO] [stdout]    |
[INFO] [stdout] 16 | type tblocc_id_t = u32;
[INFO] [stdout]    |      ^^^^^^^^^^^ help: convert the identifier to upper camel case: `TbloccIdT`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `layout_id_t` should have an upper camel case name
[INFO] [stdout]   --> src/emulator/emulator.rs:17:6
[INFO] [stdout]    |
[INFO] [stdout] 17 | type layout_id_t = u32;
[INFO] [stdout]    |      ^^^^^^^^^^^ help: convert the identifier to upper camel case: `LayoutIdT`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `database::Database` and `table::Table`
[INFO] [stdout]  --> src/emulator2/emulator.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     database::Database,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 6 |     table::Table,
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `database::Database`
[INFO] [stdout]  --> src/emulator2/script_engine.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     database::Database,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `database::Database`
[INFO] [stdout]  --> src/emulator2/window.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::{database::Database, record::Record, layout::Layout, find::FoundSet};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ops::RangeBounds`
[INFO] [stdout]  --> src/hbam/chunk.rs:3:27
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::{fmt::Formatter, ops::RangeBounds};
[INFO] [stdout]   |                           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `clap::Parser`
[INFO] [stdout]  --> src/emulator/test.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use clap::Parser;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]    --> src/cadlang/parser.rs:310:9
[INFO] [stdout]     |
[INFO] [stdout] 310 |     let result = TableOccurrence {
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/cadlang/parser.rs:324:9
[INFO] [stdout]     |
[INFO] [stdout] 324 |     let mut table_or_source = expect(tokens, &vec![TokenType::Identifier], info)?;
[INFO] [stdout]     |         ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `second_table`
[INFO] [stdout]    --> src/cadlang/parser.rs:468:25
[INFO] [stdout]     |
[INFO] [stdout] 468 |                     let second_table = expect(tokens, &vec![TokenType::Identifier], info)?;
[INFO] [stdout]     |                         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_second_table`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `to_field`
[INFO] [stdout]    --> src/cadlang/staging.rs:210:29
[INFO] [stdout]     |
[INFO] [stdout] 210 |                         let to_field = to_parts[1];
[INFO] [stdout]     |                             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_to_field`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `occ_id`
[INFO] [stdout]    --> src/cadlang/staging.rs:212:30
[INFO] [stdout]     |
[INFO] [stdout] 212 |                         let (occ_id, occ_base_table) = match self.table_occurrences.iter()
[INFO] [stdout]     |                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_occ_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `table_actual`
[INFO] [stdout]    --> src/cadlang/staging.rs:225:29
[INFO] [stdout]     |
[INFO] [stdout] 225 |                         let table_actual = match self.tables.iter()
[INFO] [stdout]     |                             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_table_actual`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `comparison`
[INFO] [stdout]    --> src/cadlang/staging.rs:316:21
[INFO] [stdout]     |
[INFO] [stdout] 316 |                 let comparison = RelationComparison::Equal;
[INFO] [stdout]     |                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_comparison`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `occ1_id` is assigned to, but never used
[INFO] [stdout]    --> src/cadlang/staging.rs:321:25
[INFO] [stdout]     |
[INFO] [stdout] 321 |                 let mut occ1_id = 0;
[INFO] [stdout]     |                         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_occ1_id` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `occ1_id` is never read
[INFO] [stdout]    --> src/cadlang/staging.rs:326:25
[INFO] [stdout]     |
[INFO] [stdout] 326 |                         occ1_id = (*inner.0) as usize;
[INFO] [stdout]     |                         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `occ2_id` is assigned to, but never used
[INFO] [stdout]    --> src/cadlang/staging.rs:363:25
[INFO] [stdout]     |
[INFO] [stdout] 363 |                 let mut occ2_id = 0;
[INFO] [stdout]     |                         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_occ2_id` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `occ2_id` is never read
[INFO] [stdout]    --> src/cadlang/staging.rs:368:25
[INFO] [stdout]     |
[INFO] [stdout] 368 |                         occ2_id = (*inner.0) as usize;
[INFO] [stdout]     |                         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `scope` is assigned to, but never used
[INFO] [stdout]   --> src/burn_script/lexer.rs:18:17
[INFO] [stdout]    |
[INFO] [stdout] 18 |         let mut scope = 0;
[INFO] [stdout]    |                 ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_scope` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]   --> src/burn_script/lexer.rs:42:17
[INFO] [stdout]    |
[INFO] [stdout] 42 |             let b = buffer.as_str();
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block_start`
[INFO] [stdout]    --> src/hbam/fs.rs:250:13
[INFO] [stdout]     |
[INFO] [stdout] 250 |         let block_start = self.inner.cursor.block_index;
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_block_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/hbam/fs.rs:329:54
[INFO] [stdout]     |
[INFO] [stdout] 329 |     fn set_long_kv_by_data(&mut self, key: &Vec<u8>, data: &[u8]) -> Result<(), String> {
[INFO] [stdout]     |                                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/hbam/fs.rs:375:27
[INFO] [stdout]     |
[INFO] [stdout] 375 |                 if let Ok(key) = chunk.ref_data.unwrap().lookup_from_buffer(storage) {
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `size_` is assigned to, but never used
[INFO] [stdout]   --> src/hbam/block.rs:49:17
[INFO] [stdout]    |
[INFO] [stdout] 49 |         let mut size_ = 0;
[INFO] [stdout]    |                 ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_size_` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `source_type`
[INFO] [stdout]    --> src/hbam2/api.rs:175:13
[INFO] [stdout]     |
[INFO] [stdout] 175 |         let source_type = &definition[0..=3];
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_source_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `typename`
[INFO] [stdout]    --> src/hbam2/api.rs:179:13
[INFO] [stdout]     |
[INFO] [stdout] 179 |         let typename = &definition[start..=end];
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_typename`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/hbam2/api.rs:300:21
[INFO] [stdout]     |
[INFO] [stdout] 300 | pub fn get_data<'a>(key: Key) -> Result<KeyValue, BPlusTreeErr> {
[INFO] [stdout]     |                     ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/hbam2/api.rs:304:25
[INFO] [stdout]     |
[INFO] [stdout] 304 | pub fn set_keyvalue<'a>(key: Key, val: Value) -> Result<(), BPlusTreeErr> {
[INFO] [stdout]     |                         ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]    --> src/hbam2/api.rs:304:35
[INFO] [stdout]     |
[INFO] [stdout] 304 | pub fn set_keyvalue<'a>(key: Key, val: Value) -> Result<(), BPlusTreeErr> {
[INFO] [stdout]     |                                   ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `in_range`
[INFO] [stdout]    --> src/hbam2/bplustree.rs:181:9
[INFO] [stdout]     |
[INFO] [stdout] 181 |     let in_range = false;
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_in_range`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]  --> src/hbam2/parser.rs:4:23
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn parse_keyvalue(data: &[u8], cursor: &mut Cursor) -> Option<KeyValue> {
[INFO] [stdout]   |                       ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cursor`
[INFO] [stdout]  --> src/hbam2/parser.rs:4:36
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn parse_keyvalue(data: &[u8], cursor: &mut Cursor) -> Option<KeyValue> {
[INFO] [stdout]   |                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cursor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `search`
[INFO] [stdout]    --> src/hbam2/view.rs:216:30
[INFO] [stdout]     |
[INFO] [stdout] 216 |     pub fn get_simple(&self, search: u16) -> Option<Vec<&[u8]>> {
[INFO] [stdout]     |                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_search`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `field`
[INFO] [stdout]    --> src/emulator/test.rs:605:37
[INFO] [stdout]     |
[INFO] [stdout] 605 |                         let (table, field) = match &args[0] {
[INFO] [stdout]     |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_field`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/emulator/database.rs:203:13
[INFO] [stdout]     |
[INFO] [stdout] 203 |         let name = self.tables[t.table_ptr as usize].name.clone();
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `related_record_idx`
[INFO] [stdout]    --> src/emulator/database.rs:573:13
[INFO] [stdout]     |
[INFO] [stdout] 573 |         let related_record_idx = current_occurrence.related_records
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_related_record_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `related_record_idx`
[INFO] [stdout]    --> src/emulator/database.rs:595:13
[INFO] [stdout]     |
[INFO] [stdout] 595 |         let related_record_idx = current_occurrence.related_records
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_related_record_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `related_record_idx`
[INFO] [stdout]    --> src/emulator/database.rs:622:13
[INFO] [stdout]     |
[INFO] [stdout] 622 |         let related_record_idx = current_occurrence.related_records
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_related_record_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `field`
[INFO] [stdout]    --> src/emulator/calc_engine/calc_eval.rs:139:33
[INFO] [stdout]     |
[INFO] [stdout] 139 |                     let (table, field) = match &args[0] {
[INFO] [stdout]     |                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_field`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/emulator/calc_engine/calc_eval.rs:69:17
[INFO] [stdout]    |
[INFO] [stdout] 69 |             let mut lhs = match *left {
[INFO] [stdout]    |                 ----^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/emulator/calc_engine/calc_eval.rs:73:17
[INFO] [stdout]    |
[INFO] [stdout] 73 |             let mut rhs = get_operand_val(rhs_wrap, emulator).unwrap();
[INFO] [stdout]    |                 ----^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/emulator/calc_engine/calc_eval.rs:160:17
[INFO] [stdout]     |
[INFO] [stdout] 160 |             let mut lhs = get_operand_val(lhs_wrap.to_string(), emulator).unwrap();
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/emulator/calc_engine/calc_eval.rs:161:17
[INFO] [stdout]     |
[INFO] [stdout] 161 |             let mut rhs = get_operand_val(rhs_wrap.to_string(), emulator).unwrap();
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/emulator/calc_engine/calc_parser.rs:35:13
[INFO] [stdout]    |
[INFO] [stdout] 33 |             Precedence::Add => 1,
[INFO] [stdout]    |             --------------- matches all the relevant values
[INFO] [stdout] 34 |             Precedence::Subtract => 2,
[INFO] [stdout] 35 |             Precedence::Add => 3,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/emulator/calc_engine/calc_parser.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 34 |             Precedence::Subtract => 2,
[INFO] [stdout]    |             -------------------- matches all the relevant values
[INFO] [stdout] 35 |             Precedence::Add => 3,
[INFO] [stdout] 36 |             Precedence::Subtract => 4,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/emulator/calc_engine/calc_parser.rs:172:13
[INFO] [stdout]     |
[INFO] [stdout] 172 |         let index = &self.tokens.index.get_val();
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `schema`
[INFO] [stdout]    --> src/emulator/emulator.rs:169:24
[INFO] [stdout]     |
[INFO] [stdout] 169 |     pub fn load_schema(schema: &Schema) {
[INFO] [stdout]     |                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_schema`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s_name`
[INFO] [stdout]    --> src/emulator/emulator.rs:184:13
[INFO] [stdout]     |
[INFO] [stdout] 184 |         let s_name = self.scr_state.instruction_ptr[n_stack].0.clone();
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_s_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]    --> src/emulator/emulator.rs:222:21
[INFO] [stdout]     |
[INFO] [stdout] 222 |                 let val = eval_calculation(&cur_instruction.switches[0], self);
[INFO] [stdout]     |                     ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `exit` is assigned to, but never used
[INFO] [stdout]    --> src/emulator/emulator.rs:223:25
[INFO] [stdout]     |
[INFO] [stdout] 223 |                 let mut exit = false;
[INFO] [stdout]     |                         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_exit` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `exit` is never read
[INFO] [stdout]    --> src/emulator/emulator.rs:227:25
[INFO] [stdout]     |
[INFO] [stdout] 227 |                         exit = true;
[INFO] [stdout]     |                         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]    --> src/emulator/emulator.rs:312:21
[INFO] [stdout]     |
[INFO] [stdout] 312 |                 let val : &str = &mut eval_calculation(&cur_instruction.switches[1], self);
[INFO] [stdout]     |                     ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `parts`
[INFO] [stdout]    --> src/emulator/emulator.rs:313:21
[INFO] [stdout]     |
[INFO] [stdout] 313 |                 let parts : Vec<&str> = name.split("::").collect();
[INFO] [stdout]     |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_parts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/emulator/emulator.rs:181:13
[INFO] [stdout]     |
[INFO] [stdout] 181 |         let mut ip_handle: (String, usize);
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/emulator2/database.rs:39:14
[INFO] [stdout]    |
[INFO] [stdout] 39 |         for (i, source) in &schema.data_sources {
[INFO] [stdout]    |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tmp`
[INFO] [stdout]   --> src/emulator2/database.rs:40:17
[INFO] [stdout]    |
[INFO] [stdout] 40 |             let tmp = DataSource {
[INFO] [stdout]    |                 ^^^ help: if this is intentional, prefix it with an underscore: `_tmp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/emulator2/database.rs:48:14
[INFO] [stdout]    |
[INFO] [stdout] 48 |         for (i, occurrence) in &schema.table_occurrences {
[INFO] [stdout]    |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `schema`
[INFO] [stdout]   --> src/emulator2/emulator.rs:19:25
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn start(&mut self, schema: &Schema) {
[INFO] [stdout]    |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_schema`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dbs`
[INFO] [stdout]   --> src/emulator2/script_engine.rs:23:28
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn step(&mut self, dbs: &mut DatabaseMgr, window_mgr: &mut WindowMgr) -> Result<(), StepResult>  {
[INFO] [stdout]    |                            ^^^ help: if this is intentional, prefix it with an underscore: `_dbs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tmp`
[INFO] [stdout]   --> src/emulator2/table.rs:28:13
[INFO] [stdout]    |
[INFO] [stdout] 28 |         let tmp = Record::new(self.records.len(), &self.field_names);
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_tmp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `window`
[INFO] [stdout]   --> src/emulator2/window_mgr.rs:21:34
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn add_window(&mut self, window: Window) {
[INFO] [stdout]    |                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_window`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cadmus_file`
[INFO] [stdout]   --> src/main.rs:73:30
[INFO] [stdout]    |
[INFO] [stdout] 73 |         cli::Command::Sync { cadmus_file, fmp_file } => todo!(),
[INFO] [stdout]    |                              ^^^^^^^^^^^ help: try ignoring the field: `cadmus_file: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fmp_file`
[INFO] [stdout]   --> src/main.rs:73:43
[INFO] [stdout]    |
[INFO] [stdout] 73 |         cli::Command::Sync { cadmus_file, fmp_file } => todo!(),
[INFO] [stdout]    |                                           ^^^^^^^^ help: try ignoring the field: `fmp_file: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `test::EvaluateError` is more private than the item `TestEnvironment::<'a>::evaluate`
[INFO] [stdout]    --> src/emulator/test.rs:509:5
[INFO] [stdout]     |
[INFO] [stdout] 509 |     pub fn evaluate(&self, ast: Node) -> Result<String, EvaluateError> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `TestEnvironment::<'a>::evaluate` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `test::EvaluateError` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/emulator/test.rs:37:1
[INFO] [stdout]     |
[INFO] [stdout] 37  | enum EvaluateError {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `cad` is never read
[INFO] [stdout]   --> src/main.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | struct InputContext {
[INFO] [stdout]    |        ------------ field in this struct
[INFO] [stdout] 25 |     cad: Schema,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Cursor` is never constructed
[INFO] [stdout]  --> src/cadlang/lexer.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | struct Cursor {
[INFO] [stdout]   |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ValueList` is never constructed
[INFO] [stdout]   --> src/cadlang/parser.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub enum FMObjType {
[INFO] [stdout]    |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 15 |     ValueList,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FMObjType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/cadlang/token.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 5  | pub enum TokenType {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 18 |     AutoIncrement,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 19 |     AutoEntry,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     Creation,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 31 |     Modification,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     LastVisited,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 39 |     Data,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     Lookup,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     StartTable,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 46 |     RelatedTable,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     Validate,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 50 |     Always,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 51 |     OnEntry,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 52 |     AllowOverride,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     StrictDataType,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 56 |     NotEmpty,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     MemberOf,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 60 |     Range,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 61 |     ValidationCalc,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 62 |     MaxChars,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     Global,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 67 |     Repetitions,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 94 |     OpenParen,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 95 |     CloseParen,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 96 |     OpenSquare,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 97 |     CloseSquare,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TokenType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `RelationCriteria`, `UnknownTable`, `UnknownTableOccurrence`, `UnknownField`, and `InvalidAssert` are never constructed
[INFO] [stdout]   --> src/cadlang/error.rs:7:5
[INFO] [stdout]    |
[INFO] [stdout] 5  | pub enum CompileErr {
[INFO] [stdout]    |          ---------- variants in this enum
[INFO] [stdout] 6  |     UnexpectedToken { token: Token, expected: Vec<TokenType>},
[INFO] [stdout] 7  |     RelationCriteria { token: Token }, // criteria must have uniform tables.
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 8  |     UnknownTable { token: Token },
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 9  |     UnknownTableOccurrence { token: Token },
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |     UnknownField { token: Token },
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 11 |     InvalidAssert { token: Token }, // Asserts can only be used in tests
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CompileErr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `MemberOf`, `Range`, `Calculation`, and `MaxChars` are never constructed
[INFO] [stdout]   --> src/cadlang/staging.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub enum StagedValidationType {
[INFO] [stdout]    |          -------------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 25 |     MemberOf(Token),
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 26 |     Range{start: usize, end: usize},
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 27 |     Calculation(String),
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 28 |     MaxChars(usize),
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StagedValidationType` 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 `Lookup`, `Creation`, `Modification`, `LastVisited`, and `Data` are never constructed
[INFO] [stdout]   --> src/cadlang/staging.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub enum StagedAutoEntryType {
[INFO] [stdout]    |          ------------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 43 |     Lookup { from: Token, to: Token },
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 44 |     Creation(AutoEntryDataPresets),
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 45 |     Modification(AutoEntryDataPresets),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 46 |     LastVisited,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 47 |     Data(String),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StagedAutoEntryType` 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: constant `ENCODING_MAPPING` is never used
[INFO] [stdout]  --> src/util/dbcharconv.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const ENCODING_MAPPING: [(u8, u8, char); 29] = [
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_char` is never used
[INFO] [stdout]   --> src/util/dbcharconv.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn decode_char(high: u8, low: u8) -> char {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_bytes` is never used
[INFO] [stdout]   --> src/util/dbcharconv.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn decode_bytes(bytes: &[u8]) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_char` is never used
[INFO] [stdout]   --> src/util/dbcharconv.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn encode_char(ch: char) -> (u8, u8) {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_text` is never used
[INFO] [stdout]   --> src/util/dbcharconv.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub fn encode_text(text: &str) -> Vec<u8> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `put_path_int` is never used
[INFO] [stdout]   --> src/util/encoding_util.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn put_path_int(n: u32) -> Vec<u8> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `put_int` is never used
[INFO] [stdout]   --> src/util/encoding_util.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub fn put_int(mut n: usize) -> Vec<u8> {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fm_string_encrypt` is never used
[INFO] [stdout]   --> src/util/encoding_util.rs:45:8
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub fn fm_string_encrypt(text: &str) -> Vec<u8> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decompile_calculation` is never used
[INFO] [stdout]  --> src/util/calc_bytecode.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn decompile_calculation(bytecode: &[u8]) -> String {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `offset` is never read
[INFO] [stdout]  --> src/staging_buffer.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct DataStaging {
[INFO] [stdout]   |            ----------- field in this struct
[INFO] [stdout] 5 |     pub buffer: Vec<u8>,
[INFO] [stdout] 6 |     offset: u16,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `store`, and `load` are never used
[INFO] [stdout]   --> src/staging_buffer.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 9  | impl DataStaging {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 10 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn store(&mut self, value: Vec<u8>) -> BlockStorage {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn load(&self, location: BlockStorage) -> Vec<u8> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `OpenParen`, `CloseParen`, and `String` are never constructed
[INFO] [stdout]   --> src/burn_script/tokens.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout] 3  | pub enum TokenType {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 6  |     OpenParen,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 7  |     CloseParen,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     String,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TokenType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/hbam/btree.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl HBAMCursor {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 19 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `writer`, `block_buffer`, and `staging_buffer` are never read
[INFO] [stdout]   --> src/hbam/btree.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct HBAMFile {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 27 |     reader: BufReader<File>,
[INFO] [stdout] 28 |     writer: BufWriter<File>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub block_buffer: DataStaging,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 33 |     pub staging_buffer: DataStaging,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/hbam/btree.rs:37:12
[INFO] [stdout]     |
[INFO] [stdout] 36  | impl HBAMFile {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] 37  |     pub fn new(path: &Path) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 53  |     pub fn get_current_path(&self) -> HBAMPath {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 74  |     pub fn emit_binary_chunk(&self, chunk: &Chunk, data_store: &DataStaging) -> Result<Vec<u8>, &str> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 80  |     pub fn emit_binary_block_header(&self, block: &Block) -> Result<Vec<u8>, &str> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 84  |     pub fn emit_binary_block(&mut self, block: &Block, data_store: &DataStaging) -> Result<Vec<u8>, &str> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |     pub fn write_node(&mut self, block: &Block, data_store: &DataStaging) -> Result<(), &str> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     pub fn write_nodes(&mut self, data_store: &DataStaging) -> Result<(), &str> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     pub fn get_leaf_with_buffer(&mut self, hbam_path: &HBAMPath) -> (Block, Vec<u8>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     pub fn get_node(&mut self, hbam_path: &HBAMPath) -> &Block {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 198 |     pub fn write_dir_chunks_json(&mut self, path: &HBAMPath) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 204 |     pub fn write_all_chunks_json(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 212 |     pub fn get_current_block_mut(&mut self) -> &mut Block {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 230 |     pub fn get_block_chunks(&self) -> &Vec<ChunkType> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 234 |     pub fn print_root_block(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 247 |     pub fn print_all_chunks(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 271 |     pub fn get_root(&mut self) -> Block {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 346 |     fn load_leaf_from_io(&mut self) -> Block {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 350 |     pub fn goto_next_leaf(&mut self) -> Result<&Block, String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 366 |     pub fn get_next_leaf(&mut self) -> Result<&Block, String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 382 |     pub fn get_next_leaf_mut(&mut self) -> Result<&mut Block, String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `block_buffer` is never read
[INFO] [stdout]   --> src/hbam/fs.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 8  | pub struct HBAMInterface {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 11 |     block_buffer: Vec<u8>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/hbam/fs.rs:16:12
[INFO] [stdout]     |
[INFO] [stdout] 14  | impl HBAMInterface {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] 15  |
[INFO] [stdout] 16  |     pub fn new(path: &Path) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 227 |     fn get_kv(&mut self, key: u16) -> Result<ChunkType, String> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 274 |     fn set_kv(&mut self, key: u16, data: &[u8]) -> Result<(), String> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 297 |     fn set_long_kv(&mut self, key: &Vec<u8>, data: &[u8]) -> Result<(), String> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 329 |     fn set_long_kv_by_data(&mut self, key: &Vec<u8>, data: &[u8]) -> Result<(), String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 362 |     fn get_long_kv(&mut self, key: &Vec<u8>) -> Result<ChunkType, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 388 |     fn update_consistency_counter(&mut self) -> Result<(), String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 421 |     pub fn modify_table(&mut self, table: &Table) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 456 |     pub fn modify_table_occurrence(&mut self, table_occurrence: &TableOccurrence) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 462 |     pub fn commit_table_changes(&mut self, schema: &Schema, diffs: &DiffCollection) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 477 |     pub fn commit_table_occurrence_changes(&mut self, schema: &Schema, diffs: &DiffCollection) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 492 |     pub fn commit_changes(&mut self, schema: &Schema, diffs: &SchemaDiff) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `MalformedInstruction` is never constructed
[INFO] [stdout]   --> src/hbam/chunk.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub enum BlockErr {
[INFO] [stdout]    |          -------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 25 |     MalformedInstruction,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BlockErr` 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 `chunk_mut` is never used
[INFO] [stdout]   --> src/hbam/chunk.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 34 | impl ChunkType {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub fn chunk_mut(&mut self) -> &mut Chunk {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `get_simple_data`, `to_bytes`, `from_bytes_new`, and `chunk_to_string` are never used
[INFO] [stdout]    --> src/hbam/chunk.rs:116:12
[INFO] [stdout]     |
[INFO] [stdout] 76  | impl Chunk {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 116 |     pub fn get_simple_data(&self, bytes: &[u8]) -> Result<Vec<u8>, BlockErr> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub fn to_bytes(&self, chunk_bytes: &DataStaging) -> Result<Vec<u8>, BlockErr> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 217 |     pub fn from_bytes_new(code: &[u8], offset: &mut usize, path: &mut Vec<String>) -> Result<(Chunk, bool), BlockErr> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 768 |     pub fn chunk_to_string(&self, buffer: &[u8]) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `offset`, `deleted`, `level`, `previous`, and `size` are never read
[INFO] [stdout]   --> src/hbam/block.rs:6:9
[INFO] [stdout]    |
[INFO] [stdout] 5  | pub struct Block {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] 6  |     pub offset: usize,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 7  |     pub index: u32,
[INFO] [stdout] 8  |     pub deleted: bool,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 9  |     pub level: u32,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 10 |     pub previous: u32,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 14 |     pub size: u16,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Block` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_bytes` and `to_bytes` are never used
[INFO] [stdout]    --> src/hbam/block.rs:76:12
[INFO] [stdout]     |
[INFO] [stdout] 17  | impl Block {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 76  |     pub fn from_bytes(offset_: usize, index_: Option<u32>, buffer: &[u8]) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |     pub fn to_bytes(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> src/hbam/block_location.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | impl BlockLocation {
[INFO] [stdout]   | ------------------ associated function in this implementation
[INFO] [stdout] 9 |     pub fn new(chunk_index_: u32, local_index_: u32) -> Self {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Key` is never used
[INFO] [stdout]  --> src/hbam2/api.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub type Key = Vec<String>;
[INFO] [stdout]   |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Value` is never used
[INFO] [stdout]  --> src/hbam2/api.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub type Value = String;
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `emit_file` is never used
[INFO] [stdout]   --> src/hbam2/api.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn emit_file(file: &str) {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_datasource_catalog` is never used
[INFO] [stdout]    --> src/hbam2/api.rs:158:8
[INFO] [stdout]     |
[INFO] [stdout] 158 | pub fn get_datasource_catalog(cache: &mut PageStore, file: &str) -> HashMap::<usize, DataSource> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_script_catalog` is never used
[INFO] [stdout]    --> src/hbam2/api.rs:195:8
[INFO] [stdout]     |
[INFO] [stdout] 195 | pub fn get_script_catalog(cache: &mut PageStore, file: &str) -> HashMap::<usize, Script> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_keyvalue` is never used
[INFO] [stdout]    --> src/hbam2/api.rs:294:8
[INFO] [stdout]     |
[INFO] [stdout] 294 | pub fn get_keyvalue<'a>(key: &HBAMPath, store: &'a mut PageStore, file: &'a str) -> Result<Option<KeyValue>, BPlusTreeErr> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_data` is never used
[INFO] [stdout]    --> src/hbam2/api.rs:300:8
[INFO] [stdout]     |
[INFO] [stdout] 300 | pub fn get_data<'a>(key: Key) -> Result<KeyValue, BPlusTreeErr> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_keyvalue` is never used
[INFO] [stdout]    --> src/hbam2/api.rs:304:8
[INFO] [stdout]     |
[INFO] [stdout] 304 | pub fn set_keyvalue<'a>(key: Key, val: Value) -> Result<(), BPlusTreeErr> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CachedKeyLocation` is never constructed
[INFO] [stdout]  --> src/hbam2/kv_cache.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct CachedKeyLocation {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KeyValCache` is never constructed
[INFO] [stdout]   --> src/hbam2/kv_cache.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct KeyValCache {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Offset` is never used
[INFO] [stdout]  --> src/hbam2/bplustree.rs:7:6
[INFO] [stdout]   |
[INFO] [stdout] 7 | type Offset = usize;
[INFO] [stdout]   |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/hbam2/bplustree.rs:11:17
[INFO] [stdout]    |
[INFO] [stdout] 11 |     KeyNotFound(Vec<Vec<u8>>),
[INFO] [stdout]    |     ----------- ^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BPlusTreeErr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 11 |     KeyNotFound(()),
[INFO] [stdout]    |                 ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/hbam2/bplustree.rs:15:29
[INFO] [stdout]    |
[INFO] [stdout] 15 |     InvalidChunkComposition(ParseErr),
[INFO] [stdout]    |     ----------------------- ^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BPlusTreeErr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 15 |     InvalidChunkComposition(()),
[INFO] [stdout]    |                             ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/hbam2/bplustree.rs:16:15
[INFO] [stdout]    |
[INFO] [stdout] 16 |     PageCycle(PageIndex)
[INFO] [stdout]    |     --------- ^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BPlusTreeErr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 16 |     PageCycle(())
[INFO] [stdout]    |               ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `PageNotFound` is never constructed
[INFO] [stdout]   --> src/hbam2/bplustree.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub(crate) enum BPlusTreeErr {
[INFO] [stdout]    |                 ------------ variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 13 |     PageNotFound(usize),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BPlusTreeErr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Cursor` is never constructed
[INFO] [stdout]   --> src/hbam2/bplustree.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct Cursor {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `search_key_in_page` is never used
[INFO] [stdout]   --> src/hbam2/bplustree.rs:24:4
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn search_key_in_page<'a>(key_: &HBAMPath, page_data: &[u8; 4096]) -> Result<Option<KeyValue>, BPlusTreeErr> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `search_key` is never used
[INFO] [stdout]    --> src/hbam2/bplustree.rs:252:8
[INFO] [stdout]     |
[INFO] [stdout] 252 | pub fn search_key<'a>(key: &HBAMPath, cache: &'a mut PageStore, file: &'a str) -> Result<Option<KeyValue>, BPlusTreeErr> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_tree` is never used
[INFO] [stdout]    --> src/hbam2/bplustree.rs:283:8
[INFO] [stdout]     |
[INFO] [stdout] 283 | pub fn print_tree(cache: &mut PageStore, file: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Data` is never used
[INFO] [stdout]  --> src/hbam2/keyvalue.rs:2:6
[INFO] [stdout]   |
[INFO] [stdout] 2 | type Data = Vec<u8>;
[INFO] [stdout]   |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Value` is never used
[INFO] [stdout]  --> src/hbam2/keyvalue.rs:4:6
[INFO] [stdout]   |
[INFO] [stdout] 4 | enum Value<'a> {
[INFO] [stdout]   |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KeyValue` is never constructed
[INFO] [stdout]   --> src/hbam2/keyvalue.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct KeyValue<'a> {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `inspect` is never used
[INFO] [stdout]   --> src/hbam2/keyvalue.rs:15:4
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn inspect(keyvalue: &KeyValue) {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Root` is never constructed
[INFO] [stdout]  --> src/hbam2/page.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub enum PageType {
[INFO] [stdout]   |          -------- variant in this enum
[INFO] [stdout] 6 |     Root,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `PageType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `index`, `deleted`, `level`, and `previous` are never read
[INFO] [stdout]   --> src/hbam2/page.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct PageHeader {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 13 |     pub index: u32,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 14 |     pub deleted: bool,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 15 |     pub level: u32,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 16 |     pub previous: u32,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PageHeader` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `InvalidPageType` is never constructed
[INFO] [stdout]   --> src/hbam2/page.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub enum PageHeaderErr {
[INFO] [stdout]    |          ------------- variant in this enum
[INFO] [stdout] 23 |     InvalidPageType(u32, u32)
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PageHeaderErr` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_root` is never used
[INFO] [stdout]   --> src/hbam2/page_store.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl PageStore {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn get_root(&self, file: String) -> Option<Arc<Page>> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/hbam2/chunk.rs:33:24
[INFO] [stdout]    |
[INFO] [stdout] 33 |     UnrecognizedOpcode(u8),
[INFO] [stdout]    |     ------------------ ^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ParseErr` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 33 |     UnrecognizedOpcode(()),
[INFO] [stdout]    |                        ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `UnexpectedEndOfPage` and `MalformedChunk` are never constructed
[INFO] [stdout]   --> src/hbam2/chunk.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub enum ParseErr {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout] 31 |     EndChunk,
[INFO] [stdout] 32 |     UnexpectedEndOfPage,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 33 |     UnrecognizedOpcode(u8),
[INFO] [stdout] 34 |     MalformedChunk,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ParseErr` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `offset`, `opcode`, and `delayed` are never read
[INFO] [stdout]   --> src/hbam2/chunk.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct LocalChunk {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 40 |     pub offset: u16,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 41 |     pub opcode: u16,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 42 |     pub contents: LocalChunkContents,
[INFO] [stdout] 43 |     pub delayed: bool,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LocalChunk` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_keyvalue` is never used
[INFO] [stdout]  --> src/hbam2/parser.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn parse_keyvalue(data: &[u8], cursor: &mut Cursor) -> Option<KeyValue> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `KeyType` is never used
[INFO] [stdout]   --> src/hbam2/view.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub enum KeyType {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_dirs` is never used
[INFO] [stdout]   --> src/hbam2/view.rs:90:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl<'a> SubView<'a> {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 90 |     pub fn get_dirs(&self) -> Option<Vec<SubView>> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_simple`, `get_value`, and `get_dir` are never used
[INFO] [stdout]    --> src/hbam2/view.rs:216:12
[INFO] [stdout]     |
[INFO] [stdout] 171 | impl<'a> View {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 216 |     pub fn get_simple(&self, search: u16) -> Option<Vec<&[u8]>> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 220 |     pub fn get_value(&self, search: u16) -> Option<&[u8]> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 231 |     pub fn get_dir<'b>(&'a self, search: HBAMPath) -> Option<SubView<'b>> where 'a:'b {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `datatype`, `repetitions`, `autoentry`, and `validation` are never used
[INFO] [stdout]    --> src/schema.rs:159:12
[INFO] [stdout]     |
[INFO] [stdout] 135 | impl Field {
[INFO] [stdout]     | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 159 |     pub fn datatype(mut self, dtype_: DataType) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 164 |     pub fn repetitions(mut self, repetitions_: usize) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 179 |     pub fn autoentry(mut self, definition_: AutoEntryType, nomodify_: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 187 |     pub fn validation(mut self, validation_: Validation) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `criteria` is never used
[INFO] [stdout]    --> src/schema.rs:237:12
[INFO] [stdout]     |
[INFO] [stdout] 227 | impl Relation {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 237 |     pub fn criteria(mut self, criteria: RelationCriteria) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `INSTRUCTIONMAP` is never used
[INFO] [stdout]    --> src/fm_script_engine/fm_script_engine_instructions.rs:227:12
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub static INSTRUCTIONMAP : [Option<Instruction>; 255] = [
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Script` is never constructed
[INFO] [stdout]    --> src/fm_script_engine/fm_script_engine_instructions.rs:492:12
[INFO] [stdout]     |
[INFO] [stdout] 492 | pub struct Script {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `global` are never read
[INFO] [stdout]   --> src/emulator/test.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct Variable {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 21 |     pub name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 22 |     pub value: String,
[INFO] [stdout] 23 |     pub global: bool,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Variable` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `operand_left` and `operand_right` are never read
[INFO] [stdout]   --> src/emulator/test.rs:38:20
[INFO] [stdout]    |
[INFO] [stdout] 38 |     DivideByZero { operand_left: String, operand_right: String },
[INFO] [stdout]    |     ------------   ^^^^^^^^^^^^          ^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EvaluateError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `function` and `argument` are never read
[INFO] [stdout]   --> src/emulator/test.rs:40:23
[INFO] [stdout]    |
[INFO] [stdout] 40 |     InvalidArgument { function: String, argument: String },
[INFO] [stdout]    |     ---------------   ^^^^^^^^          ^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EvaluateError` 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 `function` is never read
[INFO] [stdout]   --> src/emulator/test.rs:41:29
[INFO] [stdout]    |
[INFO] [stdout] 41 |     UnimplementedFunction { function: String },
[INFO] [stdout]    |     ---------------------   ^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EvaluateError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `InvalidOperation` is never constructed
[INFO] [stdout]   --> src/emulator/test.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | enum EvaluateError {
[INFO] [stdout]    |      ------------- variant in this enum
[INFO] [stdout] 38 |     DivideByZero { operand_left: String, operand_right: String },
[INFO] [stdout] 39 |     InvalidOperation { operand_left: String, operator: String, operand_right: String },
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EvaluateError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VMTable` is never constructed
[INFO] [stdout]   --> src/emulator/test.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct VMTable {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FieldName` is never constructed
[INFO] [stdout]   --> src/emulator/test.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 56 | enum OperandType {
[INFO] [stdout]    |      ----------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 59 |     FieldName,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OperandType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Record` is never used
[INFO] [stdout]   --> src/emulator/test.rs:68:6
[INFO] [stdout]    |
[INFO] [stdout] 68 | type Record = usize;
[INFO] [stdout]    |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `run_tests_with_cleanup` and `get_variable_by_name` are never used
[INFO] [stdout]    --> src/emulator/test.rs:153:12
[INFO] [stdout]     |
[INFO] [stdout] 102 | impl<'a> TestEnvironment<'a> {
[INFO] [stdout]     | ---------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 153 |     pub fn run_tests_with_cleanup(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 465 |     pub fn get_variable_by_name(&self, scope: usize, var: &str) -> Option<&Variable> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `delete_record` is never used
[INFO] [stdout]   --> src/emulator/database.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl TableObject {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn delete_record(&mut self, record_id: u16) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `records` is never read
[INFO] [stdout]   --> src/emulator/database.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub struct RelatedRecordSet {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 59 |     records: Vec<usize>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RelatedRecordSet` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/emulator/database.rs:110:12
[INFO] [stdout]     |
[INFO] [stdout] 99  | impl Database {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub fn clear_records(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 249 |     pub fn get_occurrence_mut(&mut self, occurrence_handle: usize) -> &mut TableOccurrence {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 253 |     pub fn get_occurrence_by_name(&self, occurrence_handle: &str) -> &TableOccurrence {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 257 |     pub fn get_occurrence_by_name_mut(&mut self, occurrence_handle: &str) -> &mut TableOccurrence {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 293 |     pub fn get_table_mut(&mut self, name: &str) -> Option<&mut TableObject> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 297 |     pub fn get_records_for_current_table(&self) -> &Vec<Field> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 327 |     pub fn get_current_record_field(&self, field: &str) -> &str {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 345 |     pub fn get_record_by_field(&self, field: &str, record_id: usize) -> Result<&str, &str> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 362 |     pub fn get_current_record_by_field_mut(&mut self, field: &str) -> Result<&mut str, &str> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 380 |     pub fn get_current_record_by_table_field(&self, occurrence: &str, field: &str) -> Result<&str, &str> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 488 |     pub fn get_related_record_field(&mut self, occurrence: &str, field_target: &str) -> Result<String, &str> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 568 |     pub fn get_related_record_field_mut(&mut self, occurrence: &str, field: &str) -> &mut str {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 590 |     pub fn get_nth_related_record_field(&mut self, occurrence: &str, field: &str, n: usize) -> &str {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 617 |     pub fn get_nth_related_record_field_mut(&mut self, occurrence: &str, field: &str, n: usize) -> &mut str {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `UnexpectedEOF` is never constructed
[INFO] [stdout]   --> src/emulator/calc_engine/calc_lexer.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 7  | pub enum LexerError {
[INFO] [stdout]    |          ---------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 10 |     UnexpectedEOF,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LexerError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `InvalidOperation`, `InvalidArgument`, and `UnimplementedFunction` are never constructed
[INFO] [stdout]   --> src/emulator/calc_engine/calc_eval.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 9  | pub enum EvaluateError {
[INFO] [stdout]    |          ------------- variants in this enum
[INFO] [stdout] 10 |     DivideByZero { operand_left: String, operand_right: String },
[INFO] [stdout] 11 |     InvalidOperation { operand_left: String, operator: String, operand_right: String },
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     InvalidArgument { function: String, argument: String },
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     UnimplementedFunction { function: String },
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EvaluateError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_calculation` is never used
[INFO] [stdout]   --> src/emulator/calc_engine/calc_eval.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn eval_calculation(calculation: &str, emulator: &Emulator) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_operand_val` is never used
[INFO] [stdout]   --> src/emulator/calc_engine/calc_eval.rs:22:4
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn get_operand_val<'a, 'b>(val: String, emulator: &'a Emulator) -> Result<Operand, String> 
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `evaluate` is never used
[INFO] [stdout]   --> src/emulator/calc_engine/calc_eval.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub fn evaluate(ast: Node, emulator: &Emulator) -> Result<String, EvaluateError> {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `SemiColon`, `OpenSquare`, and `CloseSquare` are never constructed
[INFO] [stdout]   --> src/emulator/calc_engine/calc_tokens.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout] 3  | pub enum TokenType {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 9  |     SemiColon,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 10 |     Comma,
[INFO] [stdout] 11 |     OpenSquare,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 12 |     CloseSquare,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TokenType` 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: enum `Precedence` is never used
[INFO] [stdout]  --> src/emulator/calc_engine/calc_parser.rs:7:6
[INFO] [stdout]   |
[INFO] [stdout] 7 | enum Precedence {
[INFO] [stdout]   |      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `from_int` and `to_int` are never used
[INFO] [stdout]   --> src/emulator/calc_engine/calc_parser.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl Precedence {
[INFO] [stdout]    | --------------- associated functions in this implementation
[INFO] [stdout] 18 |     pub fn from_int(num: usize) -> Result<Self, String> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn to_int(num: Self) -> usize {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Unary` is never constructed
[INFO] [stdout]   --> src/emulator/calc_engine/calc_parser.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub enum Node {
[INFO] [stdout]    |          ---- variant in this enum
[INFO] [stdout] 48 |     Unary { value: String, child: Option<Box<Node>> },
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Node` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `previous` is never used
[INFO] [stdout]    --> src/emulator/calc_engine/calc_parser.rs:108:8
[INFO] [stdout]     |
[INFO] [stdout] 86  | impl TokenList {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 108 |     fn previous(&self) -> Option<&Token> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `MissingToken` is never constructed
[INFO] [stdout]    --> src/emulator/calc_engine/calc_parser.rs:124:5
[INFO] [stdout]     |
[INFO] [stdout] 122 | pub enum ParserError {
[INFO] [stdout]     |          ----------- variant in this enum
[INFO] [stdout] 123 |     UnexpectedToken { token: Token, expected: Vec<TokenType> },
[INFO] [stdout] 124 |     MissingToken { expected: TokenType, position: usize },
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ParserError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `parse_func_call`, `parse_identifier`, `parse_numeric`, and `parse_string` are never used
[INFO] [stdout]    --> src/emulator/calc_engine/calc_parser.rs:167:12
[INFO] [stdout]     |
[INFO] [stdout] 145 | impl Parser {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 167 |     pub fn parse_func_call(&mut self, _name: String) -> Result<Box<Node>, &str>{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 171 |     pub fn parse_identifier(&mut self, tok: Token) -> Result<Box<Node>, &str> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 227 |     pub fn parse_numeric(&mut self, tok: Token) -> Result<Box<Node>, &str> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 284 |     fn parse_string(&mut self, tok: Token) -> Result<Box<Node>, &str> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ParseErr` is never used
[INFO] [stdout]  --> src/emulator/calc_engine/operand.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub enum ParseErr {
[INFO] [stdout]   |          ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `ParseErr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Text` and `FieldName` are never constructed
[INFO] [stdout]   --> src/emulator/calc_engine/operand.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub enum Operand {
[INFO] [stdout]    |          ------- variants in this enum
[INFO] [stdout] 13 |     Number(f64),
[INFO] [stdout] 14 |     Text(String),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 15 |     FieldName(String),
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Operand` 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 `concat` is never used
[INFO] [stdout]   --> src/emulator/calc_engine/operand.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl Operand {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn concat(self, rhs: Operand) -> Self {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `tblocc_id_t` is never used
[INFO] [stdout]  --> src/emulator/layout.rs:2:6
[INFO] [stdout]   |
[INFO] [stdout] 2 | type tblocc_id_t = u32;
[INFO] [stdout]   |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Layout` is never constructed
[INFO] [stdout]  --> src/emulator/layout.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Layout {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Window` is never constructed
[INFO] [stdout]  --> src/emulator/window.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct Window {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `window_id_t` is never used
[INFO] [stdout]   --> src/emulator/emulator.rs:14:6
[INFO] [stdout]    |
[INFO] [stdout] 14 | type window_id_t = u32;
[INFO] [stdout]    |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `db_id_t` is never used
[INFO] [stdout]   --> src/emulator/emulator.rs:15:6
[INFO] [stdout]    |
[INFO] [stdout] 15 | type db_id_t = u32;
[INFO] [stdout]    |      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `tblocc_id_t` is never used
[INFO] [stdout]   --> src/emulator/emulator.rs:16:6
[INFO] [stdout]    |
[INFO] [stdout] 16 | type tblocc_id_t = u32;
[INFO] [stdout]    |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `layout_id_t` is never used
[INFO] [stdout]   --> src/emulator/emulator.rs:17:6
[INFO] [stdout]    |
[INFO] [stdout] 17 | type layout_id_t = u32;
[INFO] [stdout]    |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IDCache` is never constructed
[INFO] [stdout]   --> src/emulator/emulator.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct IDCache {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/emulator/emulator.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl IDCache {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 52 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `value`, and `global` are never read
[INFO] [stdout]   --> src/emulator/emulator.rs:65:9
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub struct Variable {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 65 |     pub name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 66 |     pub value: String,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 67 |     pub global: bool,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Variable` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/emulator/emulator.rs:71:12
[INFO] [stdout]    |
[INFO] [stdout] 70 | impl Variable {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 71 |     pub fn new(n: String, val: String, g: bool) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Fail` is never constructed
[INFO] [stdout]   --> src/emulator/emulator.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub enum TestState {
[INFO] [stdout]    |          --------- variant in this enum
[INFO] [stdout] 82 |     Pass,
[INFO] [stdout] 83 |     Fail
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TestState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Find` is never constructed
[INFO] [stdout]   --> src/emulator/emulator.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 86 | enum Mode {
[INFO] [stdout]    |      ---- variant in this enum
[INFO] [stdout] 87 |     Browse,
[INFO] [stdout] 88 |     Find,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/emulator/emulator.rs:92:9
[INFO] [stdout]     |
[INFO] [stdout] 91  | pub struct ScriptEngineState<'a> {
[INFO] [stdout]     |            ----------------- fields in this struct
[INFO] [stdout] 92  |     pub instruction_ptr: Vec<(String, usize)>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 93  |     pub call_stack: Vec<&'a Script>,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 94  |     pub variables: Vec<HashMap<String, Variable>>,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 95  |     pub active_script: Option<String>, 
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 96  |     pub loop_scopes: Vec<usize>,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 97  |     pub test_state: TestState,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 98  |     pub punc_stack: Vec<Instruction>,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 99  |     pub branch_taken: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 100 |     mode: Mode,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/emulator/emulator.rs:104:12
[INFO] [stdout]     |
[INFO] [stdout] 103 | impl<'a> ScriptEngineState<'a> {
[INFO] [stdout]     | ------------------------------ associated function in this implementation
[INFO] [stdout] 104 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Emulator` is never constructed
[INFO] [stdout]    --> src/emulator/emulator.rs:136:12
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub struct Emulator<'a> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `load_schema`, `get_active_database`, `get_active_database_mut`, and `step` are never used
[INFO] [stdout]    --> src/emulator/emulator.rs:156:12
[INFO] [stdout]     |
[INFO] [stdout] 155 | impl<'a> Emulator<'a> {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] 156 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 169 |     pub fn load_schema(schema: &Schema) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub fn get_active_database(&self) -> &Database {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 176 |     pub fn get_active_database_mut(&mut self) -> Option<&mut Database> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 180 |     pub fn step(&mut self) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Database` is never constructed
[INFO] [stdout]   --> src/emulator2/database.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct Database {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `from_schema` are never used
[INFO] [stdout]   --> src/emulator2/database.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl Database {
[INFO] [stdout]    | ------------- associated functions in this implementation
[INFO] [stdout] 19 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn from_schema(schema: &Schema) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DatabaseMgr` is never constructed
[INFO] [stdout]  --> src/emulator2/database_mgr.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct DatabaseMgr {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `DataSourceType` is never used
[INFO] [stdout]  --> src/emulator2/data_source.rs:2:10
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub enum DataSourceType {
[INFO] [stdout]   |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DataSource` is never constructed
[INFO] [stdout]  --> src/emulator2/data_source.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct DataSource {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Emulator` is never constructed
[INFO] [stdout]   --> src/emulator2/emulator.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct Emulator {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `start` and `step` are never used
[INFO] [stdout]   --> src/emulator2/emulator.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl Emulator {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] 19 |     fn start(&mut self, schema: &Schema) {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     fn step(&mut self) {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FindRequest` is never constructed
[INFO] [stdout]  --> src/emulator2/find.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct FindRequest {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FoundSet` is never constructed
[INFO] [stdout]   --> src/emulator2/find.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct FoundSet {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `current_record` is never used
[INFO] [stdout]   --> src/emulator2/find.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl FoundSet {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] 19 |     pub fn current_record(&self) -> Option<&Record> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Layout` is never constructed
[INFO] [stdout]  --> src/emulator2/layout.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct Layout {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Record` is never constructed
[INFO] [stdout]  --> src/emulator2/record.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Record {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Record` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `set_field`, and `get_field` are never used
[INFO] [stdout]   --> src/emulator2/record.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl Record {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 12 |     pub fn new(id_: usize, fields_: &Vec<String>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn set_field(&self, fieldname: &str, value: &str) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn get_field(&self, fieldname: &str) -> Option<String> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `StepResult` is never used
[INFO] [stdout]   --> src/emulator2/script_engine.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub enum StepResult {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ScriptEngine` is never constructed
[INFO] [stdout]   --> src/emulator2/script_engine.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct ScriptEngine {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `step`, `cur_script`, and `next_instruction` are never used
[INFO] [stdout]   --> src/emulator2/script_engine.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl ScriptEngine {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] 23 |     pub fn step(&mut self, dbs: &mut DatabaseMgr, window_mgr: &mut WindowMgr) -> Result<(), StepResult>  {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     fn cur_script(&self) -> Option<Rc<Script>> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     fn next_instruction(&self) -> Option<ScriptStep> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Table` is never constructed
[INFO] [stdout]  --> src/emulator2/table.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Table {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Table` 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`, `name`, and `new_record` are never used
[INFO] [stdout]   --> src/emulator2/table.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Table {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 13 |     pub fn new(id_: usize) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn name(mut self, name: &str) -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn new_record(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TableOccurrence` is never constructed
[INFO] [stdout]  --> src/emulator2/table_occurrence.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct TableOccurrence {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `get_records` are never used
[INFO] [stdout]   --> src/emulator2/table_occurrence.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl TableOccurrence {
[INFO] [stdout]    | -------------------- associated items in this implementation
[INFO] [stdout] 13 |     pub fn new(id_: usize, name_: String, data_source_: String, table_: Rc<Table>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn get_records(&self) -> &Vec<Record> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `WindowStyle` is never used
[INFO] [stdout]  --> src/emulator2/window.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub enum WindowStyle {
[INFO] [stdout]   |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Window` is never constructed
[INFO] [stdout]   --> src/emulator2/window.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct Window {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_current_record_ref` is never used
[INFO] [stdout]   --> src/emulator2/window.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl Window {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] 22 |     pub fn get_current_record_ref(&self) -> Option<&Record> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WindowMgr` is never constructed
[INFO] [stdout]  --> src/emulator2/window_mgr.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct WindowMgr {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `select_window_by_name`, `current_window`, and `add_window` are never used
[INFO] [stdout]   --> src/emulator2/window_mgr.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 9  | impl WindowMgr {
[INFO] [stdout]    | -------------- methods in this implementation
[INFO] [stdout] 10 |     pub fn select_window_by_name(&mut self, name: &str) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn current_window(&self) -> &Window {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn add_window(&mut self, window: Window) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `DBObjectID` is never used
[INFO] [stdout]  --> src/diff.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub type DBObjectID = usize;
[INFO] [stdout]   |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `DiffCollection` is never used
[INFO] [stdout]  --> src/diff.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub type DiffCollection = HashMap<DBObjectID, DBObjectStatus>;
[INFO] [stdout]   |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SchemaDiff` is never constructed
[INFO] [stdout]  --> src/diff.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct SchemaDiff {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/diff.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl SchemaDiff {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 19 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_table_diffs` is never used
[INFO] [stdout]   --> src/diff.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub fn get_table_diffs(original: &Schema, updated: &Schema) -> DiffCollection {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_table_occurrence_diffs` is never used
[INFO] [stdout]   --> src/diff.rs:54:8
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub fn get_table_occurrence_diffs(original: &Schema, updated: &Schema) -> DiffCollection {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_relations_diffs` is never used
[INFO] [stdout]   --> src/diff.rs:76:8
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub fn get_relations_diffs(original: &Schema, updated: &Schema) -> DiffCollection {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_diffs` is never used
[INFO] [stdout]   --> src/diff.rs:98:8
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub fn get_diffs(original: &Schema, updated: &Schema) -> SchemaDiff {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 20.50s
[INFO] running `Command { std: "docker" "inspect" "f5ef1759b5bd8c92b4a635e66e6b3327880189e271eabcfa8bc64437bb4a00a1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f5ef1759b5bd8c92b4a635e66e6b3327880189e271eabcfa8bc64437bb4a00a1", kill_on_drop: false }`
[INFO] [stdout] f5ef1759b5bd8c92b4a635e66e6b3327880189e271eabcfa8bc64437bb4a00a1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Zrandomize-layout" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:819108c5571ea2e421544af4d832f968d213c87fbe3707a016657f43d2f853bc" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2025-01-18" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7b933376c1c1a45b7464cd68b6b3674afb316c3151ff4b839156073f2c731f5f
[INFO] running `Command { std: "docker" "start" "-a" "7b933376c1c1a45b7464cd68b6b3674afb316c3151ff4b839156073f2c731f5f", kill_on_drop: false }`
[INFO] [stderr]    Compiling fmc v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `BufWriter` and `OpenOptions`
[INFO] [stdout]  --> src/main.rs:1:38
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fs::{read_to_string, File, OpenOptions}, io::{BufReader, BufWriter}, path::Path};
[INFO] [stdout]   |                                      ^^^^^^^^^^^                   ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `diff::get_diffs`
[INFO] [stdout]  --> src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use diff::get_diffs;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hbam::fs::HBAMInterface`
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use hbam::fs::HBAMInterface;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AutoEntryType`, `AutoEntry`, `DataType`, `ValidationTrigger`, and `Validation`
[INFO] [stdout]  --> src/hbam2/api.rs:1:59
[INFO] [stdout]   |
[INFO] [stdout] 1 | ...::{AutoEntry, AutoEntryType, DBObjectReference, DataSource, DataSourceType, DataType, Field, LayoutFM, Relation, RelationComparison, RelationCriteria, Script, Table, TableOccurrence, Validation, ValidationTrigger}, ...
[INFO] [stdout]   |       ^^^^^^^^^  ^^^^^^^^^^^^^                                                 ^^^^^^^^                                                                                                   ^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> src/emulator/calc_engine/operand.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::str::FromStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `tblocc_id_t` should have an upper camel case name
[INFO] [stdout]  --> src/emulator/layout.rs:2:6
[INFO] [stdout]   |
[INFO] [stdout] 2 | type tblocc_id_t = u32;
[INFO] [stdout]   |      ^^^^^^^^^^^ help: convert the identifier to upper camel case: `TbloccIdT`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/emulator/emulator.rs:2:33
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `color_print::cprintln`
[INFO] [stdout]  --> src/emulator/emulator.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use color_print::cprintln;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]   --> src/emulator/emulator.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::cell::RefCell;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]   --> src/emulator/emulator.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::rc::Rc;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `window_id_t` should have an upper camel case name
[INFO] [stdout]   --> src/emulator/emulator.rs:14:6
[INFO] [stdout]    |
[INFO] [stdout] 14 | type window_id_t = u32;
[INFO] [stdout]    |      ^^^^^^^^^^^ help: convert the identifier to upper camel case: `WindowIdT`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `db_id_t` should have an upper camel case name
[INFO] [stdout]   --> src/emulator/emulator.rs:15:6
[INFO] [stdout]    |
[INFO] [stdout] 15 | type db_id_t = u32;
[INFO] [stdout]    |      ^^^^^^^ help: convert the identifier to upper camel case: `DbIdT`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `tblocc_id_t` should have an upper camel case name
[INFO] [stdout]   --> src/emulator/emulator.rs:16:6
[INFO] [stdout]    |
[INFO] [stdout] 16 | type tblocc_id_t = u32;
[INFO] [stdout]    |      ^^^^^^^^^^^ help: convert the identifier to upper camel case: `TbloccIdT`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `layout_id_t` should have an upper camel case name
[INFO] [stdout]   --> src/emulator/emulator.rs:17:6
[INFO] [stdout]    |
[INFO] [stdout] 17 | type layout_id_t = u32;
[INFO] [stdout]    |      ^^^^^^^^^^^ help: convert the identifier to upper camel case: `LayoutIdT`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `database::Database` and `table::Table`
[INFO] [stdout]  --> src/emulator2/emulator.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     database::Database,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 6 |     table::Table,
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `database::Database`
[INFO] [stdout]  --> src/emulator2/script_engine.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     database::Database,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `database::Database`
[INFO] [stdout]  --> src/emulator2/window.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::{database::Database, record::Record, layout::Layout, find::FoundSet};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ops::RangeBounds`
[INFO] [stdout]  --> src/hbam/chunk.rs:3:27
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::{fmt::Formatter, ops::RangeBounds};
[INFO] [stdout]   |                           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `clap::Parser`
[INFO] [stdout]  --> src/emulator/test.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use clap::Parser;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]    --> src/cadlang/parser.rs:310:9
[INFO] [stdout]     |
[INFO] [stdout] 310 |     let result = TableOccurrence {
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/cadlang/parser.rs:324:9
[INFO] [stdout]     |
[INFO] [stdout] 324 |     let mut table_or_source = expect(tokens, &vec![TokenType::Identifier], info)?;
[INFO] [stdout]     |         ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `second_table`
[INFO] [stdout]    --> src/cadlang/parser.rs:468:25
[INFO] [stdout]     |
[INFO] [stdout] 468 |                     let second_table = expect(tokens, &vec![TokenType::Identifier], info)?;
[INFO] [stdout]     |                         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_second_table`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `schema`
[INFO] [stdout]     --> src/cadlang/parser.rs:1336:13
[INFO] [stdout]      |
[INFO] [stdout] 1336 |         let schema = parse(&tokens).expect("Parsing failed.");
[INFO] [stdout]      |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_schema`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `to_field`
[INFO] [stdout]    --> src/cadlang/staging.rs:210:29
[INFO] [stdout]     |
[INFO] [stdout] 210 |                         let to_field = to_parts[1];
[INFO] [stdout]     |                             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_to_field`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `occ_id`
[INFO] [stdout]    --> src/cadlang/staging.rs:212:30
[INFO] [stdout]     |
[INFO] [stdout] 212 |                         let (occ_id, occ_base_table) = match self.table_occurrences.iter()
[INFO] [stdout]     |                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_occ_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `table_actual`
[INFO] [stdout]    --> src/cadlang/staging.rs:225:29
[INFO] [stdout]     |
[INFO] [stdout] 225 |                         let table_actual = match self.tables.iter()
[INFO] [stdout]     |                             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_table_actual`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `comparison`
[INFO] [stdout]    --> src/cadlang/staging.rs:316:21
[INFO] [stdout]     |
[INFO] [stdout] 316 |                 let comparison = RelationComparison::Equal;
[INFO] [stdout]     |                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_comparison`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `occ1_id` is assigned to, but never used
[INFO] [stdout]    --> src/cadlang/staging.rs:321:25
[INFO] [stdout]     |
[INFO] [stdout] 321 |                 let mut occ1_id = 0;
[INFO] [stdout]     |                         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_occ1_id` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `occ1_id` is never read
[INFO] [stdout]    --> src/cadlang/staging.rs:326:25
[INFO] [stdout]     |
[INFO] [stdout] 326 |                         occ1_id = (*inner.0) as usize;
[INFO] [stdout]     |                         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `occ2_id` is assigned to, but never used
[INFO] [stdout]    --> src/cadlang/staging.rs:363:25
[INFO] [stdout]     |
[INFO] [stdout] 363 |                 let mut occ2_id = 0;
[INFO] [stdout]     |                         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_occ2_id` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `occ2_id` is never read
[INFO] [stdout]    --> src/cadlang/staging.rs:368:25
[INFO] [stdout]     |
[INFO] [stdout] 368 |                         occ2_id = (*inner.0) as usize;
[INFO] [stdout]     |                         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `schema`
[INFO] [stdout]    --> src/cadlang/staging.rs:458:13
[INFO] [stdout]     |
[INFO] [stdout] 458 |         let schema = parse(&tokens).expect("Parsing failed.").to_schema();
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_schema`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `scope` is assigned to, but never used
[INFO] [stdout]   --> src/burn_script/lexer.rs:18:17
[INFO] [stdout]    |
[INFO] [stdout] 18 |         let mut scope = 0;
[INFO] [stdout]    |                 ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_scope` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]   --> src/burn_script/lexer.rs:42:17
[INFO] [stdout]    |
[INFO] [stdout] 42 |             let b = buffer.as_str();
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block_start`
[INFO] [stdout]    --> src/hbam/fs.rs:250:13
[INFO] [stdout]     |
[INFO] [stdout] 250 |         let block_start = self.inner.cursor.block_index;
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_block_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/hbam/fs.rs:329:54
[INFO] [stdout]     |
[INFO] [stdout] 329 |     fn set_long_kv_by_data(&mut self, key: &Vec<u8>, data: &[u8]) -> Result<(), String> {
[INFO] [stdout]     |                                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/hbam/fs.rs:375:27
[INFO] [stdout]     |
[INFO] [stdout] 375 |                 if let Ok(key) = chunk.ref_data.unwrap().lookup_from_buffer(storage) {
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/hbam/fs.rs:549:13
[INFO] [stdout]     |
[INFO] [stdout] 549 |         let data = file.get_kv_value(8).expect("Unable to get keyvalue");
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `size_` is assigned to, but never used
[INFO] [stdout]   --> src/hbam/block.rs:49:17
[INFO] [stdout]    |
[INFO] [stdout] 49 |         let mut size_ = 0;
[INFO] [stdout]    |                 ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_size_` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `source_type`
[INFO] [stdout]    --> src/hbam2/api.rs:175:13
[INFO] [stdout]     |
[INFO] [stdout] 175 |         let source_type = &definition[0..=3];
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_source_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `typename`
[INFO] [stdout]    --> src/hbam2/api.rs:179:13
[INFO] [stdout]     |
[INFO] [stdout] 179 |         let typename = &definition[start..=end];
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_typename`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/hbam2/api.rs:300:21
[INFO] [stdout]     |
[INFO] [stdout] 300 | pub fn get_data<'a>(key: Key) -> Result<KeyValue, BPlusTreeErr> {
[INFO] [stdout]     |                     ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/hbam2/api.rs:304:25
[INFO] [stdout]     |
[INFO] [stdout] 304 | pub fn set_keyvalue<'a>(key: Key, val: Value) -> Result<(), BPlusTreeErr> {
[INFO] [stdout]     |                         ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]    --> src/hbam2/api.rs:304:35
[INFO] [stdout]     |
[INFO] [stdout] 304 | pub fn set_keyvalue<'a>(key: Key, val: Value) -> Result<(), BPlusTreeErr> {
[INFO] [stdout]     |                                   ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `in_range`
[INFO] [stdout]    --> src/hbam2/bplustree.rs:181:9
[INFO] [stdout]     |
[INFO] [stdout] 181 |     let in_range = false;
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_in_range`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]  --> src/hbam2/parser.rs:4:23
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn parse_keyvalue(data: &[u8], cursor: &mut Cursor) -> Option<KeyValue> {
[INFO] [stdout]   |                       ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cursor`
[INFO] [stdout]  --> src/hbam2/parser.rs:4:36
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn parse_keyvalue(data: &[u8], cursor: &mut Cursor) -> Option<KeyValue> {
[INFO] [stdout]   |                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cursor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `search`
[INFO] [stdout]    --> src/hbam2/view.rs:216:30
[INFO] [stdout]     |
[INFO] [stdout] 216 |     pub fn get_simple(&self, search: u16) -> Option<Vec<&[u8]>> {
[INFO] [stdout]     |                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_search`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `field`
[INFO] [stdout]    --> src/emulator/test.rs:605:37
[INFO] [stdout]     |
[INFO] [stdout] 605 |                         let (table, field) = match &args[0] {
[INFO] [stdout]     |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_field`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/emulator/database.rs:203:13
[INFO] [stdout]     |
[INFO] [stdout] 203 |         let name = self.tables[t.table_ptr as usize].name.clone();
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `related_record_idx`
[INFO] [stdout]    --> src/emulator/database.rs:573:13
[INFO] [stdout]     |
[INFO] [stdout] 573 |         let related_record_idx = current_occurrence.related_records
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_related_record_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `related_record_idx`
[INFO] [stdout]    --> src/emulator/database.rs:595:13
[INFO] [stdout]     |
[INFO] [stdout] 595 |         let related_record_idx = current_occurrence.related_records
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_related_record_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `related_record_idx`
[INFO] [stdout]    --> src/emulator/database.rs:622:13
[INFO] [stdout]     |
[INFO] [stdout] 622 |         let related_record_idx = current_occurrence.related_records
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_related_record_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `field`
[INFO] [stdout]    --> src/emulator/calc_engine/calc_eval.rs:139:33
[INFO] [stdout]     |
[INFO] [stdout] 139 |                     let (table, field) = match &args[0] {
[INFO] [stdout]     |                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_field`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/emulator/calc_engine/calc_eval.rs:69:17
[INFO] [stdout]    |
[INFO] [stdout] 69 |             let mut lhs = match *left {
[INFO] [stdout]    |                 ----^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/emulator/calc_engine/calc_eval.rs:73:17
[INFO] [stdout]    |
[INFO] [stdout] 73 |             let mut rhs = get_operand_val(rhs_wrap, emulator).unwrap();
[INFO] [stdout]    |                 ----^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/emulator/calc_engine/calc_eval.rs:160:17
[INFO] [stdout]     |
[INFO] [stdout] 160 |             let mut lhs = get_operand_val(lhs_wrap.to_string(), emulator).unwrap();
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/emulator/calc_engine/calc_eval.rs:161:17
[INFO] [stdout]     |
[INFO] [stdout] 161 |             let mut rhs = get_operand_val(rhs_wrap.to_string(), emulator).unwrap();
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/emulator/calc_engine/calc_parser.rs:35:13
[INFO] [stdout]    |
[INFO] [stdout] 33 |             Precedence::Add => 1,
[INFO] [stdout]    |             --------------- matches all the relevant values
[INFO] [stdout] 34 |             Precedence::Subtract => 2,
[INFO] [stdout] 35 |             Precedence::Add => 3,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/emulator/calc_engine/calc_parser.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 34 |             Precedence::Subtract => 2,
[INFO] [stdout]    |             -------------------- matches all the relevant values
[INFO] [stdout] 35 |             Precedence::Add => 3,
[INFO] [stdout] 36 |             Precedence::Subtract => 4,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/emulator/calc_engine/calc_parser.rs:172:13
[INFO] [stdout]     |
[INFO] [stdout] 172 |         let index = &self.tokens.index.get_val();
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `schema`
[INFO] [stdout]    --> src/emulator/emulator.rs:169:24
[INFO] [stdout]     |
[INFO] [stdout] 169 |     pub fn load_schema(schema: &Schema) {
[INFO] [stdout]     |                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_schema`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s_name`
[INFO] [stdout]    --> src/emulator/emulator.rs:184:13
[INFO] [stdout]     |
[INFO] [stdout] 184 |         let s_name = self.scr_state.instruction_ptr[n_stack].0.clone();
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_s_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]    --> src/emulator/emulator.rs:222:21
[INFO] [stdout]     |
[INFO] [stdout] 222 |                 let val = eval_calculation(&cur_instruction.switches[0], self);
[INFO] [stdout]     |                     ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `exit` is assigned to, but never used
[INFO] [stdout]    --> src/emulator/emulator.rs:223:25
[INFO] [stdout]     |
[INFO] [stdout] 223 |                 let mut exit = false;
[INFO] [stdout]     |                         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_exit` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `exit` is never read
[INFO] [stdout]    --> src/emulator/emulator.rs:227:25
[INFO] [stdout]     |
[INFO] [stdout] 227 |                         exit = true;
[INFO] [stdout]     |                         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]    --> src/emulator/emulator.rs:312:21
[INFO] [stdout]     |
[INFO] [stdout] 312 |                 let val : &str = &mut eval_calculation(&cur_instruction.switches[1], self);
[INFO] [stdout]     |                     ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `parts`
[INFO] [stdout]    --> src/emulator/emulator.rs:313:21
[INFO] [stdout]     |
[INFO] [stdout] 313 |                 let parts : Vec<&str> = name.split("::").collect();
[INFO] [stdout]     |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_parts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/emulator/emulator.rs:181:13
[INFO] [stdout]     |
[INFO] [stdout] 181 |         let mut ip_handle: (String, usize);
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/emulator2/database.rs:39:14
[INFO] [stdout]    |
[INFO] [stdout] 39 |         for (i, source) in &schema.data_sources {
[INFO] [stdout]    |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tmp`
[INFO] [stdout]   --> src/emulator2/database.rs:40:17
[INFO] [stdout]    |
[INFO] [stdout] 40 |             let tmp = DataSource {
[INFO] [stdout]    |                 ^^^ help: if this is intentional, prefix it with an underscore: `_tmp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/emulator2/database.rs:48:14
[INFO] [stdout]    |
[INFO] [stdout] 48 |         for (i, occurrence) in &schema.table_occurrences {
[INFO] [stdout]    |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `schema`
[INFO] [stdout]   --> src/emulator2/emulator.rs:19:25
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn start(&mut self, schema: &Schema) {
[INFO] [stdout]    |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_schema`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dbs`
[INFO] [stdout]   --> src/emulator2/script_engine.rs:23:28
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn step(&mut self, dbs: &mut DatabaseMgr, window_mgr: &mut WindowMgr) -> Result<(), StepResult>  {
[INFO] [stdout]    |                            ^^^ help: if this is intentional, prefix it with an underscore: `_dbs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tmp`
[INFO] [stdout]   --> src/emulator2/table.rs:28:13
[INFO] [stdout]    |
[INFO] [stdout] 28 |         let tmp = Record::new(self.records.len(), &self.field_names);
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_tmp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `window`
[INFO] [stdout]   --> src/emulator2/window_mgr.rs:21:34
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn add_window(&mut self, window: Window) {
[INFO] [stdout]    |                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_window`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cadmus_file`
[INFO] [stdout]   --> src/main.rs:73:30
[INFO] [stdout]    |
[INFO] [stdout] 73 |         cli::Command::Sync { cadmus_file, fmp_file } => todo!(),
[INFO] [stdout]    |                              ^^^^^^^^^^^ help: try ignoring the field: `cadmus_file: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fmp_file`
[INFO] [stdout]   --> src/main.rs:73:43
[INFO] [stdout]    |
[INFO] [stdout] 73 |         cli::Command::Sync { cadmus_file, fmp_file } => todo!(),
[INFO] [stdout]    |                                           ^^^^^^^^ help: try ignoring the field: `fmp_file: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `emulator::test::EvaluateError` is more private than the item `TestEnvironment::<'a>::evaluate`
[INFO] [stdout]    --> src/emulator/test.rs:509:5
[INFO] [stdout]     |
[INFO] [stdout] 509 |     pub fn evaluate(&self, ast: Node) -> Result<String, EvaluateError> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `TestEnvironment::<'a>::evaluate` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `emulator::test::EvaluateError` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/emulator/test.rs:37:1
[INFO] [stdout]     |
[INFO] [stdout] 37  | enum EvaluateError {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `cad` is never read
[INFO] [stdout]   --> src/main.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | struct InputContext {
[INFO] [stdout]    |        ------------ field in this struct
[INFO] [stdout] 25 |     cad: Schema,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Cursor` is never constructed
[INFO] [stdout]  --> src/cadlang/lexer.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | struct Cursor {
[INFO] [stdout]   |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ValueList` is never constructed
[INFO] [stdout]   --> src/cadlang/parser.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub enum FMObjType {
[INFO] [stdout]    |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 15 |     ValueList,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FMObjType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/cadlang/token.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 5  | pub enum TokenType {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 18 |     AutoIncrement,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 19 |     AutoEntry,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     Creation,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 31 |     Modification,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     LastVisited,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 39 |     Data,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     Lookup,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     StartTable,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 46 |     RelatedTable,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     Validate,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 50 |     Always,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 51 |     OnEntry,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 52 |     AllowOverride,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     StrictDataType,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 56 |     NotEmpty,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     MemberOf,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 60 |     Range,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 61 |     ValidationCalc,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 62 |     MaxChars,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     Global,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 67 |     Repetitions,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 94 |     OpenParen,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 95 |     CloseParen,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 96 |     OpenSquare,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 97 |     CloseSquare,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TokenType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `RelationCriteria`, `UnknownTable`, `UnknownTableOccurrence`, `UnknownField`, and `InvalidAssert` are never constructed
[INFO] [stdout]   --> src/cadlang/error.rs:7:5
[INFO] [stdout]    |
[INFO] [stdout] 5  | pub enum CompileErr {
[INFO] [stdout]    |          ---------- variants in this enum
[INFO] [stdout] 6  |     UnexpectedToken { token: Token, expected: Vec<TokenType>},
[INFO] [stdout] 7  |     RelationCriteria { token: Token }, // criteria must have uniform tables.
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 8  |     UnknownTable { token: Token },
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 9  |     UnknownTableOccurrence { token: Token },
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |     UnknownField { token: Token },
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 11 |     InvalidAssert { token: Token }, // Asserts can only be used in tests
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CompileErr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `MemberOf`, `Range`, `Calculation`, and `MaxChars` are never constructed
[INFO] [stdout]   --> src/cadlang/staging.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub enum StagedValidationType {
[INFO] [stdout]    |          -------------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 25 |     MemberOf(Token),
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 26 |     Range{start: usize, end: usize},
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 27 |     Calculation(String),
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 28 |     MaxChars(usize),
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StagedValidationType` 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 `Lookup`, `Creation`, `Modification`, `LastVisited`, and `Data` are never constructed
[INFO] [stdout]   --> src/cadlang/staging.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub enum StagedAutoEntryType {
[INFO] [stdout]    |          ------------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 43 |     Lookup { from: Token, to: Token },
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 44 |     Creation(AutoEntryDataPresets),
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 45 |     Modification(AutoEntryDataPresets),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 46 |     LastVisited,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 47 |     Data(String),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StagedAutoEntryType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_bytes` is never used
[INFO] [stdout]   --> src/util/dbcharconv.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn decode_bytes(bytes: &[u8]) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fm_string_encrypt` is never used
[INFO] [stdout]   --> src/util/encoding_util.rs:45:8
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub fn fm_string_encrypt(text: &str) -> Vec<u8> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `load` is never used
[INFO] [stdout]   --> src/staging_buffer.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 9  | impl DataStaging {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn load(&self, location: BlockStorage) -> Vec<u8> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `OpenParen`, `CloseParen`, and `String` are never constructed
[INFO] [stdout]   --> src/burn_script/tokens.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout] 3  | pub enum TokenType {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 6  |     OpenParen,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 7  |     CloseParen,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     String,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TokenType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `writer`, `block_buffer`, and `staging_buffer` are never read
[INFO] [stdout]   --> src/hbam/btree.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct HBAMFile {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 27 |     reader: BufReader<File>,
[INFO] [stdout] 28 |     writer: BufWriter<File>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub block_buffer: DataStaging,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 33 |     pub staging_buffer: DataStaging,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/hbam/btree.rs:53:12
[INFO] [stdout]     |
[INFO] [stdout] 36  | impl HBAMFile {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 53  |     pub fn get_current_path(&self) -> HBAMPath {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 74  |     pub fn emit_binary_chunk(&self, chunk: &Chunk, data_store: &DataStaging) -> Result<Vec<u8>, &str> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 80  |     pub fn emit_binary_block_header(&self, block: &Block) -> Result<Vec<u8>, &str> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 84  |     pub fn emit_binary_block(&mut self, block: &Block, data_store: &DataStaging) -> Result<Vec<u8>, &str> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |     pub fn write_node(&mut self, block: &Block, data_store: &DataStaging) -> Result<(), &str> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     pub fn write_nodes(&mut self, data_store: &DataStaging) -> Result<(), &str> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     pub fn get_leaf_with_buffer(&mut self, hbam_path: &HBAMPath) -> (Block, Vec<u8>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     pub fn get_node(&mut self, hbam_path: &HBAMPath) -> &Block {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 198 |     pub fn write_dir_chunks_json(&mut self, path: &HBAMPath) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 204 |     pub fn write_all_chunks_json(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 230 |     pub fn get_block_chunks(&self) -> &Vec<ChunkType> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 234 |     pub fn print_root_block(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 247 |     pub fn print_all_chunks(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 271 |     pub fn get_root(&mut self) -> Block {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 346 |     fn load_leaf_from_io(&mut self) -> Block {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 350 |     pub fn goto_next_leaf(&mut self) -> Result<&Block, String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `block_buffer` is never read
[INFO] [stdout]   --> src/hbam/fs.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 8  | pub struct HBAMInterface {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 11 |     block_buffer: Vec<u8>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `update_consistency_counter`, `modify_table`, `modify_table_occurrence`, `commit_table_changes`, `commit_table_occurrence_changes`, and `commit_changes` are never used
[INFO] [stdout]    --> src/hbam/fs.rs:388:8
[INFO] [stdout]     |
[INFO] [stdout] 14  | impl HBAMInterface {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 388 |     fn update_consistency_counter(&mut self) -> Result<(), String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 421 |     pub fn modify_table(&mut self, table: &Table) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 456 |     pub fn modify_table_occurrence(&mut self, table_occurrence: &TableOccurrence) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 462 |     pub fn commit_table_changes(&mut self, schema: &Schema, diffs: &DiffCollection) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 477 |     pub fn commit_table_occurrence_changes(&mut self, schema: &Schema, diffs: &DiffCollection) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 492 |     pub fn commit_changes(&mut self, schema: &Schema, diffs: &SchemaDiff) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `MalformedInstruction` is never constructed
[INFO] [stdout]   --> src/hbam/chunk.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub enum BlockErr {
[INFO] [stdout]    |          -------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 25 |     MalformedInstruction,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BlockErr` 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 `get_simple_data`, `to_bytes`, `from_bytes_new`, and `chunk_to_string` are never used
[INFO] [stdout]    --> src/hbam/chunk.rs:116:12
[INFO] [stdout]     |
[INFO] [stdout] 76  | impl Chunk {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 116 |     pub fn get_simple_data(&self, bytes: &[u8]) -> Result<Vec<u8>, BlockErr> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub fn to_bytes(&self, chunk_bytes: &DataStaging) -> Result<Vec<u8>, BlockErr> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 217 |     pub fn from_bytes_new(code: &[u8], offset: &mut usize, path: &mut Vec<String>) -> Result<(Chunk, bool), BlockErr> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 768 |     pub fn chunk_to_string(&self, buffer: &[u8]) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `offset`, `deleted`, `level`, `previous`, and `size` are never read
[INFO] [stdout]   --> src/hbam/block.rs:6:9
[INFO] [stdout]    |
[INFO] [stdout] 5  | pub struct Block {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] 6  |     pub offset: usize,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 7  |     pub index: u32,
[INFO] [stdout] 8  |     pub deleted: bool,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 9  |     pub level: u32,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 10 |     pub previous: u32,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 14 |     pub size: u16,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Block` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_bytes` and `to_bytes` are never used
[INFO] [stdout]    --> src/hbam/block.rs:76:12
[INFO] [stdout]     |
[INFO] [stdout] 17  | impl Block {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 76  |     pub fn from_bytes(offset_: usize, index_: Option<u32>, buffer: &[u8]) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |     pub fn to_bytes(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> src/hbam/block_location.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | impl BlockLocation {
[INFO] [stdout]   | ------------------ associated function in this implementation
[INFO] [stdout] 9 |     pub fn new(chunk_index_: u32, local_index_: u32) -> Self {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `comparison_test` is never used
[INFO] [stdout]   --> src/hbam/block_location.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn comparison_test() {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Value` is never used
[INFO] [stdout]  --> src/hbam2/api.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub type Value = String;
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `emit_file` is never used
[INFO] [stdout]   --> src/hbam2/api.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn emit_file(file: &str) {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_data` is never used
[INFO] [stdout]    --> src/hbam2/api.rs:300:8
[INFO] [stdout]     |
[INFO] [stdout] 300 | pub fn get_data<'a>(key: Key) -> Result<KeyValue, BPlusTreeErr> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_keyvalue` is never used
[INFO] [stdout]    --> src/hbam2/api.rs:304:8
[INFO] [stdout]     |
[INFO] [stdout] 304 | pub fn set_keyvalue<'a>(key: Key, val: Value) -> Result<(), BPlusTreeErr> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CachedKeyLocation` is never constructed
[INFO] [stdout]  --> src/hbam2/kv_cache.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct CachedKeyLocation {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KeyValCache` is never constructed
[INFO] [stdout]   --> src/hbam2/kv_cache.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct KeyValCache {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/hbam2/bplustree.rs:11:17
[INFO] [stdout]    |
[INFO] [stdout] 11 |     KeyNotFound(Vec<Vec<u8>>),
[INFO] [stdout]    |     ----------- ^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BPlusTreeErr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 11 |     KeyNotFound(()),
[INFO] [stdout]    |                 ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/hbam2/bplustree.rs:15:29
[INFO] [stdout]    |
[INFO] [stdout] 15 |     InvalidChunkComposition(ParseErr),
[INFO] [stdout]    |     ----------------------- ^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BPlusTreeErr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 15 |     InvalidChunkComposition(()),
[INFO] [stdout]    |                             ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/hbam2/bplustree.rs:16:15
[INFO] [stdout]    |
[INFO] [stdout] 16 |     PageCycle(PageIndex)
[INFO] [stdout]    |     --------- ^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BPlusTreeErr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 16 |     PageCycle(())
[INFO] [stdout]    |               ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `PageNotFound` is never constructed
[INFO] [stdout]   --> src/hbam2/bplustree.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub(crate) enum BPlusTreeErr {
[INFO] [stdout]    |                 ------------ variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 13 |     PageNotFound(usize),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BPlusTreeErr` 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 `key` is never read
[INFO] [stdout]   --> src/hbam2/bplustree.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct Cursor {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] 20 |     key: Key,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_tree` is never used
[INFO] [stdout]    --> src/hbam2/bplustree.rs:283:8
[INFO] [stdout]     |
[INFO] [stdout] 283 | pub fn print_tree(cache: &mut PageStore, file: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Data` is never used
[INFO] [stdout]  --> src/hbam2/keyvalue.rs:2:6
[INFO] [stdout]   |
[INFO] [stdout] 2 | type Data = Vec<u8>;
[INFO] [stdout]   |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Value` is never used
[INFO] [stdout]  --> src/hbam2/keyvalue.rs:4:6
[INFO] [stdout]   |
[INFO] [stdout] 4 | enum Value<'a> {
[INFO] [stdout]   |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KeyValue` is never constructed
[INFO] [stdout]   --> src/hbam2/keyvalue.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct KeyValue<'a> {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `inspect` is never used
[INFO] [stdout]   --> src/hbam2/keyvalue.rs:15:4
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn inspect(keyvalue: &KeyValue) {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Root` is never constructed
[INFO] [stdout]  --> src/hbam2/page.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub enum PageType {
[INFO] [stdout]   |          -------- variant in this enum
[INFO] [stdout] 6 |     Root,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `PageType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `index`, `deleted`, `level`, and `previous` are never read
[INFO] [stdout]   --> src/hbam2/page.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct PageHeader {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 13 |     pub index: u32,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 14 |     pub deleted: bool,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 15 |     pub level: u32,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 16 |     pub previous: u32,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PageHeader` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `InvalidPageType` is never constructed
[INFO] [stdout]   --> src/hbam2/page.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub enum PageHeaderErr {
[INFO] [stdout]    |          ------------- variant in this enum
[INFO] [stdout] 23 |     InvalidPageType(u32, u32)
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PageHeaderErr` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_root` is never used
[INFO] [stdout]   --> src/hbam2/page_store.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl PageStore {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn get_root(&self, file: String) -> Option<Arc<Page>> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/hbam2/chunk.rs:33:24
[INFO] [stdout]    |
[INFO] [stdout] 33 |     UnrecognizedOpcode(u8),
[INFO] [stdout]    |     ------------------ ^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ParseErr` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 33 |     UnrecognizedOpcode(()),
[INFO] [stdout]    |                        ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `UnexpectedEndOfPage` and `MalformedChunk` are never constructed
[INFO] [stdout]   --> src/hbam2/chunk.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub enum ParseErr {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout] 31 |     EndChunk,
[INFO] [stdout] 32 |     UnexpectedEndOfPage,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 33 |     UnrecognizedOpcode(u8),
[INFO] [stdout] 34 |     MalformedChunk,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ParseErr` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `offset`, `opcode`, and `delayed` are never read
[INFO] [stdout]   --> src/hbam2/chunk.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct LocalChunk {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 40 |     pub offset: u16,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 41 |     pub opcode: u16,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 42 |     pub contents: LocalChunkContents,
[INFO] [stdout] 43 |     pub delayed: bool,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LocalChunk` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_keyvalue` is never used
[INFO] [stdout]  --> src/hbam2/parser.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn parse_keyvalue(data: &[u8], cursor: &mut Cursor) -> Option<KeyValue> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `KeyType` is never used
[INFO] [stdout]   --> src/hbam2/view.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub enum KeyType {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_simple` and `get_dir` are never used
[INFO] [stdout]    --> src/hbam2/view.rs:216:12
[INFO] [stdout]     |
[INFO] [stdout] 171 | impl<'a> View {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 216 |     pub fn get_simple(&self, search: u16) -> Option<Vec<&[u8]>> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 231 |     pub fn get_dir<'b>(&'a self, search: HBAMPath) -> Option<SubView<'b>> where 'a:'b {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `datatype`, `repetitions`, `autoentry`, and `validation` are never used
[INFO] [stdout]    --> src/schema.rs:159:12
[INFO] [stdout]     |
[INFO] [stdout] 135 | impl Field {
[INFO] [stdout]     | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 159 |     pub fn datatype(mut self, dtype_: DataType) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 164 |     pub fn repetitions(mut self, repetitions_: usize) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 179 |     pub fn autoentry(mut self, definition_: AutoEntryType, nomodify_: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 187 |     pub fn validation(mut self, validation_: Validation) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `criteria` is never used
[INFO] [stdout]    --> src/schema.rs:237:12
[INFO] [stdout]     |
[INFO] [stdout] 227 | impl Relation {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 237 |     pub fn criteria(mut self, criteria: RelationCriteria) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Script` is never constructed
[INFO] [stdout]    --> src/fm_script_engine/fm_script_engine_instructions.rs:492:12
[INFO] [stdout]     |
[INFO] [stdout] 492 | pub struct Script {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `global` are never read
[INFO] [stdout]   --> src/emulator/test.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct Variable {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 21 |     pub name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 22 |     pub value: String,
[INFO] [stdout] 23 |     pub global: bool,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Variable` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `operand_left` and `operand_right` are never read
[INFO] [stdout]   --> src/emulator/test.rs:38:20
[INFO] [stdout]    |
[INFO] [stdout] 38 |     DivideByZero { operand_left: String, operand_right: String },
[INFO] [stdout]    |     ------------   ^^^^^^^^^^^^          ^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EvaluateError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `function` and `argument` are never read
[INFO] [stdout]   --> src/emulator/test.rs:40:23
[INFO] [stdout]    |
[INFO] [stdout] 40 |     InvalidArgument { function: String, argument: String },
[INFO] [stdout]    |     ---------------   ^^^^^^^^          ^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EvaluateError` 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 `function` is never read
[INFO] [stdout]   --> src/emulator/test.rs:41:29
[INFO] [stdout]    |
[INFO] [stdout] 41 |     UnimplementedFunction { function: String },
[INFO] [stdout]    |     ---------------------   ^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EvaluateError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `InvalidOperation` is never constructed
[INFO] [stdout]   --> src/emulator/test.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | enum EvaluateError {
[INFO] [stdout]    |      ------------- variant in this enum
[INFO] [stdout] 38 |     DivideByZero { operand_left: String, operand_right: String },
[INFO] [stdout] 39 |     InvalidOperation { operand_left: String, operator: String, operand_right: String },
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EvaluateError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VMTable` is never constructed
[INFO] [stdout]   --> src/emulator/test.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct VMTable {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FieldName` is never constructed
[INFO] [stdout]   --> src/emulator/test.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 56 | enum OperandType {
[INFO] [stdout]    |      ----------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 59 |     FieldName,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OperandType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Record` is never used
[INFO] [stdout]   --> src/emulator/test.rs:68:6
[INFO] [stdout]    |
[INFO] [stdout] 68 | type Record = usize;
[INFO] [stdout]    |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `run_tests_with_cleanup` and `get_variable_by_name` are never used
[INFO] [stdout]    --> src/emulator/test.rs:153:12
[INFO] [stdout]     |
[INFO] [stdout] 102 | impl<'a> TestEnvironment<'a> {
[INFO] [stdout]     | ---------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 153 |     pub fn run_tests_with_cleanup(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 465 |     pub fn get_variable_by_name(&self, scope: usize, var: &str) -> Option<&Variable> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `delete_record` is never used
[INFO] [stdout]   --> src/emulator/database.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl TableObject {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn delete_record(&mut self, record_id: u16) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `records` is never read
[INFO] [stdout]   --> src/emulator/database.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub struct RelatedRecordSet {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 59 |     records: Vec<usize>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RelatedRecordSet` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/emulator/database.rs:110:12
[INFO] [stdout]     |
[INFO] [stdout] 99  | impl Database {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub fn clear_records(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 249 |     pub fn get_occurrence_mut(&mut self, occurrence_handle: usize) -> &mut TableOccurrence {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 257 |     pub fn get_occurrence_by_name_mut(&mut self, occurrence_handle: &str) -> &mut TableOccurrence {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 293 |     pub fn get_table_mut(&mut self, name: &str) -> Option<&mut TableObject> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 297 |     pub fn get_records_for_current_table(&self) -> &Vec<Field> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 362 |     pub fn get_current_record_by_field_mut(&mut self, field: &str) -> Result<&mut str, &str> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 380 |     pub fn get_current_record_by_table_field(&self, occurrence: &str, field: &str) -> Result<&str, &str> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 568 |     pub fn get_related_record_field_mut(&mut self, occurrence: &str, field: &str) -> &mut str {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 590 |     pub fn get_nth_related_record_field(&mut self, occurrence: &str, field: &str, n: usize) -> &str {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 617 |     pub fn get_nth_related_record_field_mut(&mut self, occurrence: &str, field: &str, n: usize) -> &mut str {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `UnexpectedEOF` is never constructed
[INFO] [stdout]   --> src/emulator/calc_engine/calc_lexer.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 7  | pub enum LexerError {
[INFO] [stdout]    |          ---------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 10 |     UnexpectedEOF,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LexerError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `InvalidOperation`, `InvalidArgument`, and `UnimplementedFunction` are never constructed
[INFO] [stdout]   --> src/emulator/calc_engine/calc_eval.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 9  | pub enum EvaluateError {
[INFO] [stdout]    |          ------------- variants in this enum
[INFO] [stdout] 10 |     DivideByZero { operand_left: String, operand_right: String },
[INFO] [stdout] 11 |     InvalidOperation { operand_left: String, operator: String, operand_right: String },
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     InvalidArgument { function: String, argument: String },
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     UnimplementedFunction { function: String },
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EvaluateError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_calculation` is never used
[INFO] [stdout]   --> src/emulator/calc_engine/calc_eval.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn eval_calculation(calculation: &str, emulator: &Emulator) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_operand_val` is never used
[INFO] [stdout]   --> src/emulator/calc_engine/calc_eval.rs:22:4
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn get_operand_val<'a, 'b>(val: String, emulator: &'a Emulator) -> Result<Operand, String> 
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `evaluate` is never used
[INFO] [stdout]   --> src/emulator/calc_engine/calc_eval.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub fn evaluate(ast: Node, emulator: &Emulator) -> Result<String, EvaluateError> {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `SemiColon`, `OpenSquare`, and `CloseSquare` are never constructed
[INFO] [stdout]   --> src/emulator/calc_engine/calc_tokens.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout] 3  | pub enum TokenType {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 9  |     SemiColon,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 10 |     Comma,
[INFO] [stdout] 11 |     OpenSquare,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 12 |     CloseSquare,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TokenType` 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: enum `Precedence` is never used
[INFO] [stdout]  --> src/emulator/calc_engine/calc_parser.rs:7:6
[INFO] [stdout]   |
[INFO] [stdout] 7 | enum Precedence {
[INFO] [stdout]   |      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `from_int` and `to_int` are never used
[INFO] [stdout]   --> src/emulator/calc_engine/calc_parser.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl Precedence {
[INFO] [stdout]    | --------------- associated functions in this implementation
[INFO] [stdout] 18 |     pub fn from_int(num: usize) -> Result<Self, String> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn to_int(num: Self) -> usize {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Unary` is never constructed
[INFO] [stdout]   --> src/emulator/calc_engine/calc_parser.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub enum Node {
[INFO] [stdout]    |          ---- variant in this enum
[INFO] [stdout] 48 |     Unary { value: String, child: Option<Box<Node>> },
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Node` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `previous` is never used
[INFO] [stdout]    --> src/emulator/calc_engine/calc_parser.rs:108:8
[INFO] [stdout]     |
[INFO] [stdout] 86  | impl TokenList {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 108 |     fn previous(&self) -> Option<&Token> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `MissingToken` is never constructed
[INFO] [stdout]    --> src/emulator/calc_engine/calc_parser.rs:124:5
[INFO] [stdout]     |
[INFO] [stdout] 122 | pub enum ParserError {
[INFO] [stdout]     |          ----------- variant in this enum
[INFO] [stdout] 123 |     UnexpectedToken { token: Token, expected: Vec<TokenType> },
[INFO] [stdout] 124 |     MissingToken { expected: TokenType, position: usize },
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ParserError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `parse_func_call`, `parse_identifier`, `parse_numeric`, and `parse_string` are never used
[INFO] [stdout]    --> src/emulator/calc_engine/calc_parser.rs:167:12
[INFO] [stdout]     |
[INFO] [stdout] 145 | impl Parser {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 167 |     pub fn parse_func_call(&mut self, _name: String) -> Result<Box<Node>, &str>{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 171 |     pub fn parse_identifier(&mut self, tok: Token) -> Result<Box<Node>, &str> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 227 |     pub fn parse_numeric(&mut self, tok: Token) -> Result<Box<Node>, &str> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 284 |     fn parse_string(&mut self, tok: Token) -> Result<Box<Node>, &str> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ParseErr` is never used
[INFO] [stdout]  --> src/emulator/calc_engine/operand.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub enum ParseErr {
[INFO] [stdout]   |          ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `ParseErr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FieldName` is never constructed
[INFO] [stdout]   --> src/emulator/calc_engine/operand.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub enum Operand {
[INFO] [stdout]    |          ------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 15 |     FieldName(String),
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Operand` 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 `concat` is never used
[INFO] [stdout]   --> src/emulator/calc_engine/operand.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl Operand {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn concat(self, rhs: Operand) -> Self {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `tblocc_id_t` is never used
[INFO] [stdout]  --> src/emulator/layout.rs:2:6
[INFO] [stdout]   |
[INFO] [stdout] 2 | type tblocc_id_t = u32;
[INFO] [stdout]   |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Layout` is never constructed
[INFO] [stdout]  --> src/emulator/layout.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Layout {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Window` is never constructed
[INFO] [stdout]  --> src/emulator/window.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct Window {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `window_id_t` is never used
[INFO] [stdout]   --> src/emulator/emulator.rs:14:6
[INFO] [stdout]    |
[INFO] [stdout] 14 | type window_id_t = u32;
[INFO] [stdout]    |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `db_id_t` is never used
[INFO] [stdout]   --> src/emulator/emulator.rs:15:6
[INFO] [stdout]    |
[INFO] [stdout] 15 | type db_id_t = u32;
[INFO] [stdout]    |      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `tblocc_id_t` is never used
[INFO] [stdout]   --> src/emulator/emulator.rs:16:6
[INFO] [stdout]    |
[INFO] [stdout] 16 | type tblocc_id_t = u32;
[INFO] [stdout]    |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `layout_id_t` is never used
[INFO] [stdout]   --> src/emulator/emulator.rs:17:6
[INFO] [stdout]    |
[INFO] [stdout] 17 | type layout_id_t = u32;
[INFO] [stdout]    |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IDCache` is never constructed
[INFO] [stdout]   --> src/emulator/emulator.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct IDCache {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/emulator/emulator.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl IDCache {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 52 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `value`, and `global` are never read
[INFO] [stdout]   --> src/emulator/emulator.rs:65:9
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub struct Variable {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 65 |     pub name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 66 |     pub value: String,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 67 |     pub global: bool,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Variable` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/emulator/emulator.rs:71:12
[INFO] [stdout]    |
[INFO] [stdout] 70 | impl Variable {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 71 |     pub fn new(n: String, val: String, g: bool) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Fail` is never constructed
[INFO] [stdout]   --> src/emulator/emulator.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub enum TestState {
[INFO] [stdout]    |          --------- variant in this enum
[INFO] [stdout] 82 |     Pass,
[INFO] [stdout] 83 |     Fail
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TestState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Find` is never constructed
[INFO] [stdout]   --> src/emulator/emulator.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 86 | enum Mode {
[INFO] [stdout]    |      ---- variant in this enum
[INFO] [stdout] 87 |     Browse,
[INFO] [stdout] 88 |     Find,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/emulator/emulator.rs:92:9
[INFO] [stdout]     |
[INFO] [stdout] 91  | pub struct ScriptEngineState<'a> {
[INFO] [stdout]     |            ----------------- fields in this struct
[INFO] [stdout] 92  |     pub instruction_ptr: Vec<(String, usize)>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 93  |     pub call_stack: Vec<&'a Script>,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 94  |     pub variables: Vec<HashMap<String, Variable>>,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 95  |     pub active_script: Option<String>, 
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 96  |     pub loop_scopes: Vec<usize>,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 97  |     pub test_state: TestState,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 98  |     pub punc_stack: Vec<Instruction>,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 99  |     pub branch_taken: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 100 |     mode: Mode,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/emulator/emulator.rs:104:12
[INFO] [stdout]     |
[INFO] [stdout] 103 | impl<'a> ScriptEngineState<'a> {
[INFO] [stdout]     | ------------------------------ associated function in this implementation
[INFO] [stdout] 104 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Emulator` is never constructed
[INFO] [stdout]    --> src/emulator/emulator.rs:136:12
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub struct Emulator<'a> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `load_schema`, `get_active_database`, `get_active_database_mut`, and `step` are never used
[INFO] [stdout]    --> src/emulator/emulator.rs:156:12
[INFO] [stdout]     |
[INFO] [stdout] 155 | impl<'a> Emulator<'a> {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] 156 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 169 |     pub fn load_schema(schema: &Schema) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub fn get_active_database(&self) -> &Database {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 176 |     pub fn get_active_database_mut(&mut self) -> Option<&mut Database> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 180 |     pub fn step(&mut self) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `external_sources` is never read
[INFO] [stdout]   --> src/emulator2/database.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct Database {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub external_sources: Vec<DataSource>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DatabaseMgr` is never constructed
[INFO] [stdout]  --> src/emulator2/database_mgr.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct DatabaseMgr {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ODBC` is never constructed
[INFO] [stdout]  --> src/emulator2/data_source.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub enum DataSourceType {
[INFO] [stdout]   |          -------------- variant in this enum
[INFO] [stdout] 3 |     FileMaker,
[INFO] [stdout] 4 |     ODBC,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id`, `name`, `dstype`, and `filename` are never read
[INFO] [stdout]   --> src/emulator2/data_source.rs:8:9
[INFO] [stdout]    |
[INFO] [stdout] 7  | pub struct DataSource {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 8  |     pub id: usize,
[INFO] [stdout]    |         ^^
[INFO] [stdout] 9  |     pub name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 10 |     pub dstype: DataSourceType,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 11 |     pub filename: String,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Emulator` is never constructed
[INFO] [stdout]   --> src/emulator2/emulator.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct Emulator {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `start` and `step` are never used
[INFO] [stdout]   --> src/emulator2/emulator.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl Emulator {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] 19 |     fn start(&mut self, schema: &Schema) {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     fn step(&mut self) {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FindRequest` is never constructed
[INFO] [stdout]  --> src/emulator2/find.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct FindRequest {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FoundSet` is never constructed
[INFO] [stdout]   --> src/emulator2/find.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct FoundSet {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `current_record` is never used
[INFO] [stdout]   --> src/emulator2/find.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl FoundSet {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] 19 |     pub fn current_record(&self) -> Option<&Record> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Layout` is never constructed
[INFO] [stdout]  --> src/emulator2/layout.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct Layout {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id` and `fields` are never read
[INFO] [stdout]  --> src/emulator2/record.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Record {
[INFO] [stdout]   |            ------ fields in this struct
[INFO] [stdout] 7 |     id: usize,
[INFO] [stdout]   |     ^^
[INFO] [stdout] 8 |     fields: RefCell<HashMap<String, String>>
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Record` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `set_field`, and `get_field` are never used
[INFO] [stdout]   --> src/emulator2/record.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl Record {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 12 |     pub fn new(id_: usize, fields_: &Vec<String>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn set_field(&self, fieldname: &str, value: &str) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn get_field(&self, fieldname: &str) -> Option<String> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `StepResult` is never used
[INFO] [stdout]   --> src/emulator2/script_engine.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub enum StepResult {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ScriptEngine` is never constructed
[INFO] [stdout]   --> src/emulator2/script_engine.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct ScriptEngine {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `step`, `cur_script`, and `next_instruction` are never used
[INFO] [stdout]   --> src/emulator2/script_engine.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl ScriptEngine {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] 23 |     pub fn step(&mut self, dbs: &mut DatabaseMgr, window_mgr: &mut WindowMgr) -> Result<(), StepResult>  {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     fn cur_script(&self) -> Option<Rc<Script>> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     fn next_instruction(&self) -> Option<ScriptStep> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `records` is never read
[INFO] [stdout]  --> src/emulator2/table.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Table {
[INFO] [stdout]   |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 8 |     pub records: Vec<Record>,
[INFO] [stdout]   |         ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Table` 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 `new_record` is never used
[INFO] [stdout]   --> src/emulator2/table.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Table {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn new_record(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id`, `data_source`, and `table` are never read
[INFO] [stdout]  --> src/emulator2/table_occurrence.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct TableOccurrence {
[INFO] [stdout]   |            --------------- fields in this struct
[INFO] [stdout] 6 |     id: usize,
[INFO] [stdout]   |     ^^
[INFO] [stdout] 7 |     pub name: String,
[INFO] [stdout] 8 |     data_source: String,
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 9 |     table: Rc<Table>
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_records` is never used
[INFO] [stdout]   --> src/emulator2/table_occurrence.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl TableOccurrence {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn get_records(&self) -> &Vec<Record> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `WindowStyle` is never used
[INFO] [stdout]  --> src/emulator2/window.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub enum WindowStyle {
[INFO] [stdout]   |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Window` is never constructed
[INFO] [stdout]   --> src/emulator2/window.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct Window {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_current_record_ref` is never used
[INFO] [stdout]   --> src/emulator2/window.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl Window {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] 22 |     pub fn get_current_record_ref(&self) -> Option<&Record> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WindowMgr` is never constructed
[INFO] [stdout]  --> src/emulator2/window_mgr.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct WindowMgr {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `select_window_by_name`, `current_window`, and `add_window` are never used
[INFO] [stdout]   --> src/emulator2/window_mgr.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 9  | impl WindowMgr {
[INFO] [stdout]    | -------------- methods in this implementation
[INFO] [stdout] 10 |     pub fn select_window_by_name(&mut self, name: &str) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn current_window(&self) -> &Window {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn add_window(&mut self, window: Window) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `DBObjectID` is never used
[INFO] [stdout]  --> src/diff.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub type DBObjectID = usize;
[INFO] [stdout]   |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `DiffCollection` is never used
[INFO] [stdout]  --> src/diff.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub type DiffCollection = HashMap<DBObjectID, DBObjectStatus>;
[INFO] [stdout]   |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SchemaDiff` is never constructed
[INFO] [stdout]  --> src/diff.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct SchemaDiff {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/diff.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl SchemaDiff {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 19 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_table_diffs` is never used
[INFO] [stdout]   --> src/diff.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub fn get_table_diffs(original: &Schema, updated: &Schema) -> DiffCollection {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_table_occurrence_diffs` is never used
[INFO] [stdout]   --> src/diff.rs:54:8
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub fn get_table_occurrence_diffs(original: &Schema, updated: &Schema) -> DiffCollection {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_relations_diffs` is never used
[INFO] [stdout]   --> src/diff.rs:76:8
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub fn get_relations_diffs(original: &Schema, updated: &Schema) -> DiffCollection {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_diffs` is never used
[INFO] [stdout]   --> src/diff.rs:98:8
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub fn get_diffs(original: &Schema, updated: &Schema) -> SchemaDiff {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 5.62s
[INFO] running `Command { std: "docker" "inspect" "7b933376c1c1a45b7464cd68b6b3674afb316c3151ff4b839156073f2c731f5f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7b933376c1c1a45b7464cd68b6b3674afb316c3151ff4b839156073f2c731f5f", kill_on_drop: false }`
[INFO] [stdout] 7b933376c1c1a45b7464cd68b6b3674afb316c3151ff4b839156073f2c731f5f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Zrandomize-layout" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:819108c5571ea2e421544af4d832f968d213c87fbe3707a016657f43d2f853bc" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2025-01-18" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] f060346b70c071f7b43d988743c548089cb345ef1993912575a8aee1973917f7
[INFO] running `Command { std: "docker" "start" "-a" "f060346b70c071f7b43d988743c548089cb345ef1993912575a8aee1973917f7", kill_on_drop: false }`
[INFO] [stderr] warning: unused imports: `BufWriter` and `OpenOptions`
[INFO] [stderr]  --> src/main.rs:1:38
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::{fs::{read_to_string, File, OpenOptions}, io::{BufReader, BufWriter}, path::Path};
[INFO] [stderr]   |                                      ^^^^^^^^^^^                   ^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `diff::get_diffs`
[INFO] [stderr]  --> src/main.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use diff::get_diffs;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `hbam::fs::HBAMInterface`
[INFO] [stderr]  --> src/main.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use hbam::fs::HBAMInterface;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `AutoEntryType`, `AutoEntry`, `DataType`, `ValidationTrigger`, and `Validation`
[INFO] [stderr]  --> src/hbam2/api.rs:1:59
[INFO] [stderr]   |
[INFO] [stderr] 1 | ...::{AutoEntry, AutoEntryType, DBObjectReference, DataSource, DataSourceType, DataType, Field, LayoutFM, Relation, RelationComparison, RelationCriteria, Script, Table, TableOccurrence, Validation, ValidationTrigger}, ...
[INFO] [stderr]   |       ^^^^^^^^^  ^^^^^^^^^^^^^                                                 ^^^^^^^^                                                                                                   ^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::str::FromStr`
[INFO] [stderr]  --> src/emulator/calc_engine/operand.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::str::FromStr;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `tblocc_id_t` should have an upper camel case name
[INFO] [stderr]  --> src/emulator/layout.rs:2:6
[INFO] [stderr]   |
[INFO] [stderr] 2 | type tblocc_id_t = u32;
[INFO] [stderr]   |      ^^^^^^^^^^^ help: convert the identifier to upper camel case: `TbloccIdT`
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `HashSet`
[INFO] [stderr]  --> src/emulator/emulator.rs:2:33
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::collections::{HashMap, HashSet};
[INFO] [stderr]   |                                 ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `color_print::cprintln`
[INFO] [stderr]  --> src/emulator/emulator.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use color_print::cprintln;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::cell::RefCell`
[INFO] [stderr]   --> src/emulator/emulator.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use std::cell::RefCell;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::rc::Rc`
[INFO] [stderr]   --> src/emulator/emulator.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 | use std::rc::Rc;
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `window_id_t` should have an upper camel case name
[INFO] [stderr]   --> src/emulator/emulator.rs:14:6
[INFO] [stderr]    |
[INFO] [stderr] 14 | type window_id_t = u32;
[INFO] [stderr]    |      ^^^^^^^^^^^ help: convert the identifier to upper camel case: `WindowIdT`
[INFO] [stderr] 
[INFO] [stderr] warning: type `db_id_t` should have an upper camel case name
[INFO] [stderr]   --> src/emulator/emulator.rs:15:6
[INFO] [stderr]    |
[INFO] [stderr] 15 | type db_id_t = u32;
[INFO] [stderr]    |      ^^^^^^^ help: convert the identifier to upper camel case: `DbIdT`
[INFO] [stderr] 
[INFO] [stderr] warning: type `tblocc_id_t` should have an upper camel case name
[INFO] [stderr]   --> src/emulator/emulator.rs:16:6
[INFO] [stderr]    |
[INFO] [stderr] 16 | type tblocc_id_t = u32;
[INFO] [stderr]    |      ^^^^^^^^^^^ help: convert the identifier to upper camel case: `TbloccIdT`
[INFO] [stderr] 
[INFO] [stderr] warning: type `layout_id_t` should have an upper camel case name
[INFO] [stderr]   --> src/emulator/emulator.rs:17:6
[INFO] [stderr]    |
[INFO] [stderr] 17 | type layout_id_t = u32;
[INFO] [stderr]    |      ^^^^^^^^^^^ help: convert the identifier to upper camel case: `LayoutIdT`
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `database::Database` and `table::Table`
[INFO] [stderr]  --> src/emulator2/emulator.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 |     database::Database,
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 6 |     table::Table,
[INFO] [stderr]   |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `database::Database`
[INFO] [stderr]  --> src/emulator2/script_engine.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 |     database::Database,
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `database::Database`
[INFO] [stderr]  --> src/emulator2/window.rs:3:13
[INFO] [stderr]   |
[INFO] [stderr] 3 | use super::{database::Database, record::Record, layout::Layout, find::FoundSet};
[INFO] [stderr]   |             ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ops::RangeBounds`
[INFO] [stderr]  --> src/hbam/chunk.rs:3:27
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::{fmt::Formatter, ops::RangeBounds};
[INFO] [stderr]   |                           ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `clap::Parser`
[INFO] [stderr]  --> src/emulator/test.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use clap::Parser;
[INFO] [stderr]   |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `result`
[INFO] [stderr]    --> src/cadlang/parser.rs:310:9
[INFO] [stderr]     |
[INFO] [stderr] 310 |     let result = TableOccurrence {
[INFO] [stderr]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/cadlang/parser.rs:324:9
[INFO] [stderr]     |
[INFO] [stderr] 324 |     let mut table_or_source = expect(tokens, &vec![TokenType::Identifier], info)?;
[INFO] [stderr]     |         ----^^^^^^^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `second_table`
[INFO] [stderr]    --> src/cadlang/parser.rs:468:25
[INFO] [stderr]     |
[INFO] [stderr] 468 |                     let second_table = expect(tokens, &vec![TokenType::Identifier], info)?;
[INFO] [stderr]     |                         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_second_table`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `schema`
[INFO] [stderr]     --> src/cadlang/parser.rs:1336:13
[INFO] [stderr]      |
[INFO] [stderr] 1336 |         let schema = parse(&tokens).expect("Parsing failed.");
[INFO] [stderr]      |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_schema`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `to_field`
[INFO] [stderr]    --> src/cadlang/staging.rs:210:29
[INFO] [stderr]     |
[INFO] [stderr] 210 |                         let to_field = to_parts[1];
[INFO] [stderr]     |                             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_to_field`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `occ_id`
[INFO] [stderr]    --> src/cadlang/staging.rs:212:30
[INFO] [stderr]     |
[INFO] [stderr] 212 |                         let (occ_id, occ_base_table) = match self.table_occurrences.iter()
[INFO] [stderr]     |                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_occ_id`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `table_actual`
[INFO] [stderr]    --> src/cadlang/staging.rs:225:29
[INFO] [stderr]     |
[INFO] [stderr] 225 |                         let table_actual = match self.tables.iter()
[INFO] [stderr]     |                             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_table_actual`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `comparison`
[INFO] [stderr]    --> src/cadlang/staging.rs:316:21
[INFO] [stderr]     |
[INFO] [stderr] 316 |                 let comparison = RelationComparison::Equal;
[INFO] [stderr]     |                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_comparison`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `occ1_id` is assigned to, but never used
[INFO] [stderr]    --> src/cadlang/staging.rs:321:25
[INFO] [stderr]     |
[INFO] [stderr] 321 |                 let mut occ1_id = 0;
[INFO] [stderr]     |                         ^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: consider using `_occ1_id` instead
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `occ1_id` is never read
[INFO] [stderr]    --> src/cadlang/staging.rs:326:25
[INFO] [stderr]     |
[INFO] [stderr] 326 |                         occ1_id = (*inner.0) as usize;
[INFO] [stderr]     |                         ^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable `occ2_id` is assigned to, but never used
[INFO] [stderr]    --> src/cadlang/staging.rs:363:25
[INFO] [stderr]     |
[INFO] [stderr] 363 |                 let mut occ2_id = 0;
[INFO] [stderr]     |                         ^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: consider using `_occ2_id` instead
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `occ2_id` is never read
[INFO] [stderr]    --> src/cadlang/staging.rs:368:25
[INFO] [stderr]     |
[INFO] [stderr] 368 |                         occ2_id = (*inner.0) as usize;
[INFO] [stderr]     |                         ^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `schema`
[INFO] [stderr]    --> src/cadlang/staging.rs:458:13
[INFO] [stderr]     |
[INFO] [stderr] 458 |         let schema = parse(&tokens).expect("Parsing failed.").to_schema();
[INFO] [stderr]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_schema`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `scope` is assigned to, but never used
[INFO] [stderr]   --> src/burn_script/lexer.rs:18:17
[INFO] [stderr]    |
[INFO] [stderr] 18 |         let mut scope = 0;
[INFO] [stderr]    |                 ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: consider using `_scope` instead
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `b`
[INFO] [stderr]   --> src/burn_script/lexer.rs:42:17
[INFO] [stderr]    |
[INFO] [stderr] 42 |             let b = buffer.as_str();
[INFO] [stderr]    |                 ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `block_start`
[INFO] [stderr]    --> src/hbam/fs.rs:250:13
[INFO] [stderr]     |
[INFO] [stderr] 250 |         let block_start = self.inner.cursor.block_index;
[INFO] [stderr]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_block_start`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `data`
[INFO] [stderr]    --> src/hbam/fs.rs:329:54
[INFO] [stderr]     |
[INFO] [stderr] 329 |     fn set_long_kv_by_data(&mut self, key: &Vec<u8>, data: &[u8]) -> Result<(), String> {
[INFO] [stderr]     |                                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]    --> src/hbam/fs.rs:375:27
[INFO] [stderr]     |
[INFO] [stderr] 375 |                 if let Ok(key) = chunk.ref_data.unwrap().lookup_from_buffer(storage) {
[INFO] [stderr]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `data`
[INFO] [stderr]    --> src/hbam/fs.rs:549:13
[INFO] [stderr]     |
[INFO] [stderr] 549 |         let data = file.get_kv_value(8).expect("Unable to get keyvalue");
[INFO] [stderr]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `size_` is assigned to, but never used
[INFO] [stderr]   --> src/hbam/block.rs:49:17
[INFO] [stderr]    |
[INFO] [stderr] 49 |         let mut size_ = 0;
[INFO] [stderr]    |                 ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: consider using `_size_` instead
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `source_type`
[INFO] [stderr]    --> src/hbam2/api.rs:175:13
[INFO] [stderr]     |
[INFO] [stderr] 175 |         let source_type = &definition[0..=3];
[INFO] [stderr]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_source_type`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `typename`
[INFO] [stderr]    --> src/hbam2/api.rs:179:13
[INFO] [stderr]     |
[INFO] [stderr] 179 |         let typename = &definition[start..=end];
[INFO] [stderr]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_typename`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]    --> src/hbam2/api.rs:300:21
[INFO] [stderr]     |
[INFO] [stderr] 300 | pub fn get_data<'a>(key: Key) -> Result<KeyValue, BPlusTreeErr> {
[INFO] [stderr]     |                     ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]    --> src/hbam2/api.rs:304:25
[INFO] [stderr]     |
[INFO] [stderr] 304 | pub fn set_keyvalue<'a>(key: Key, val: Value) -> Result<(), BPlusTreeErr> {
[INFO] [stderr]     |                         ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `val`
[INFO] [stderr]    --> src/hbam2/api.rs:304:35
[INFO] [stderr]     |
[INFO] [stderr] 304 | pub fn set_keyvalue<'a>(key: Key, val: Value) -> Result<(), BPlusTreeErr> {
[INFO] [stderr]     |                                   ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `in_range`
[INFO] [stderr]    --> src/hbam2/bplustree.rs:181:9
[INFO] [stderr]     |
[INFO] [stderr] 181 |     let in_range = false;
[INFO] [stderr]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_in_range`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `data`
[INFO] [stderr]  --> src/hbam2/parser.rs:4:23
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub fn parse_keyvalue(data: &[u8], cursor: &mut Cursor) -> Option<KeyValue> {
[INFO] [stderr]   |                       ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `cursor`
[INFO] [stderr]  --> src/hbam2/parser.rs:4:36
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub fn parse_keyvalue(data: &[u8], cursor: &mut Cursor) -> Option<KeyValue> {
[INFO] [stderr]   |                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cursor`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `search`
[INFO] [stderr]    --> src/hbam2/view.rs:216:30
[INFO] [stderr]     |
[INFO] [stderr] 216 |     pub fn get_simple(&self, search: u16) -> Option<Vec<&[u8]>> {
[INFO] [stderr]     |                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_search`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `field`
[INFO] [stderr]    --> src/emulator/test.rs:605:37
[INFO] [stderr]     |
[INFO] [stderr] 605 |                         let (table, field) = match &args[0] {
[INFO] [stderr]     |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_field`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `name`
[INFO] [stderr]    --> src/emulator/database.rs:203:13
[INFO] [stderr]     |
[INFO] [stderr] 203 |         let name = self.tables[t.table_ptr as usize].name.clone();
[INFO] [stderr]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `related_record_idx`
[INFO] [stderr]    --> src/emulator/database.rs:573:13
[INFO] [stderr]     |
[INFO] [stderr] 573 |         let related_record_idx = current_occurrence.related_records
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_related_record_idx`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `related_record_idx`
[INFO] [stderr]    --> src/emulator/database.rs:595:13
[INFO] [stderr]     |
[INFO] [stderr] 595 |         let related_record_idx = current_occurrence.related_records
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_related_record_idx`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `related_record_idx`
[INFO] [stderr]    --> src/emulator/database.rs:622:13
[INFO] [stderr]     |
[INFO] [stderr] 622 |         let related_record_idx = current_occurrence.related_records
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_related_record_idx`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `field`
[INFO] [stderr]    --> src/emulator/calc_engine/calc_eval.rs:139:33
[INFO] [stderr]     |
[INFO] [stderr] 139 |                     let (table, field) = match &args[0] {
[INFO] [stderr]     |                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_field`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/emulator/calc_engine/calc_eval.rs:69:17
[INFO] [stderr]    |
[INFO] [stderr] 69 |             let mut lhs = match *left {
[INFO] [stderr]    |                 ----^^^
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/emulator/calc_engine/calc_eval.rs:73:17
[INFO] [stderr]    |
[INFO] [stderr] 73 |             let mut rhs = get_operand_val(rhs_wrap, emulator).unwrap();
[INFO] [stderr]    |                 ----^^^
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/emulator/calc_engine/calc_eval.rs:160:17
[INFO] [stderr]     |
[INFO] [stderr] 160 |             let mut lhs = get_operand_val(lhs_wrap.to_string(), emulator).unwrap();
[INFO] [stderr]     |                 ----^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/emulator/calc_engine/calc_eval.rs:161:17
[INFO] [stderr]     |
[INFO] [stderr] 161 |             let mut rhs = get_operand_val(rhs_wrap.to_string(), emulator).unwrap();
[INFO] [stderr]     |                 ----^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]   --> src/emulator/calc_engine/calc_parser.rs:35:13
[INFO] [stderr]    |
[INFO] [stderr] 33 |             Precedence::Add => 1,
[INFO] [stderr]    |             --------------- matches all the relevant values
[INFO] [stderr] 34 |             Precedence::Subtract => 2,
[INFO] [stderr] 35 |             Precedence::Add => 3,
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]   --> src/emulator/calc_engine/calc_parser.rs:36:13
[INFO] [stderr]    |
[INFO] [stderr] 34 |             Precedence::Subtract => 2,
[INFO] [stderr]    |             -------------------- matches all the relevant values
[INFO] [stderr] 35 |             Precedence::Add => 3,
[INFO] [stderr] 36 |             Precedence::Subtract => 4,
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `index`
[INFO] [stderr]    --> src/emulator/calc_engine/calc_parser.rs:172:13
[INFO] [stderr]     |
[INFO] [stderr] 172 |         let index = &self.tokens.index.get_val();
[INFO] [stderr]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `schema`
[INFO] [stderr]    --> src/emulator/emulator.rs:169:24
[INFO] [stderr]     |
[INFO] [stderr] 169 |     pub fn load_schema(schema: &Schema) {
[INFO] [stderr]     |                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_schema`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `s_name`
[INFO] [stderr]    --> src/emulator/emulator.rs:184:13
[INFO] [stderr]     |
[INFO] [stderr] 184 |         let s_name = self.scr_state.instruction_ptr[n_stack].0.clone();
[INFO] [stderr]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_s_name`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `val`
[INFO] [stderr]    --> src/emulator/emulator.rs:222:21
[INFO] [stderr]     |
[INFO] [stderr] 222 |                 let val = eval_calculation(&cur_instruction.switches[0], self);
[INFO] [stderr]     |                     ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `exit` is assigned to, but never used
[INFO] [stderr]    --> src/emulator/emulator.rs:223:25
[INFO] [stderr]     |
[INFO] [stderr] 223 |                 let mut exit = false;
[INFO] [stderr]     |                         ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: consider using `_exit` instead
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `exit` is never read
[INFO] [stderr]    --> src/emulator/emulator.rs:227:25
[INFO] [stderr]     |
[INFO] [stderr] 227 |                         exit = true;
[INFO] [stderr]     |                         ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `val`
[INFO] [stderr]    --> src/emulator/emulator.rs:312:21
[INFO] [stderr]     |
[INFO] [stderr] 312 |                 let val : &str = &mut eval_calculation(&cur_instruction.switches[1], self);
[INFO] [stderr]     |                     ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `parts`
[INFO] [stderr]    --> src/emulator/emulator.rs:313:21
[INFO] [stderr]     |
[INFO] [stderr] 313 |                 let parts : Vec<&str> = name.split("::").collect();
[INFO] [stderr]     |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_parts`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/emulator/emulator.rs:181:13
[INFO] [stderr]     |
[INFO] [stderr] 181 |         let mut ip_handle: (String, usize);
[INFO] [stderr]     |             ----^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]   --> src/emulator2/database.rs:39:14
[INFO] [stderr]    |
[INFO] [stderr] 39 |         for (i, source) in &schema.data_sources {
[INFO] [stderr]    |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `tmp`
[INFO] [stderr]   --> src/emulator2/database.rs:40:17
[INFO] [stderr]    |
[INFO] [stderr] 40 |             let tmp = DataSource {
[INFO] [stderr]    |                 ^^^ help: if this is intentional, prefix it with an underscore: `_tmp`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]   --> src/emulator2/database.rs:48:14
[INFO] [stderr]    |
[INFO] [stderr] 48 |         for (i, occurrence) in &schema.table_occurrences {
[INFO] [stderr]    |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `schema`
[INFO] [stderr]   --> src/emulator2/emulator.rs:19:25
[INFO] [stderr]    |
[INFO] [stderr] 19 |     fn start(&mut self, schema: &Schema) {
[INFO] [stderr]    |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_schema`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `dbs`
[INFO] [stderr]   --> src/emulator2/script_engine.rs:23:28
[INFO] [stderr]    |
[INFO] [stderr] 23 |     pub fn step(&mut self, dbs: &mut DatabaseMgr, window_mgr: &mut WindowMgr) -> Result<(), StepResult>  {
[INFO] [stderr]    |                            ^^^ help: if this is intentional, prefix it with an underscore: `_dbs`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `tmp`
[INFO] [stderr]   --> src/emulator2/table.rs:28:13
[INFO] [stderr]    |
[INFO] [stderr] 28 |         let tmp = Record::new(self.records.len(), &self.field_names);
[INFO] [stderr]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_tmp`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `window`
[INFO] [stderr]   --> src/emulator2/window_mgr.rs:21:34
[INFO] [stderr]    |
[INFO] [stderr] 21 |     pub fn add_window(&mut self, window: Window) {
[INFO] [stderr]    |                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_window`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `cadmus_file`
[INFO] [stderr]   --> src/main.rs:73:30
[INFO] [stderr]    |
[INFO] [stderr] 73 |         cli::Command::Sync { cadmus_file, fmp_file } => todo!(),
[INFO] [stderr]    |                              ^^^^^^^^^^^ help: try ignoring the field: `cadmus_file: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `fmp_file`
[INFO] [stderr]   --> src/main.rs:73:43
[INFO] [stderr]    |
[INFO] [stderr] 73 |         cli::Command::Sync { cadmus_file, fmp_file } => todo!(),
[INFO] [stderr]    |                                           ^^^^^^^^ help: try ignoring the field: `fmp_file: _`
[INFO] [stderr] 
[INFO] [stderr] warning: type `emulator::test::EvaluateError` is more private than the item `TestEnvironment::<'a>::evaluate`
[INFO] [stderr]    --> src/emulator/test.rs:509:5
[INFO] [stderr]     |
[INFO] [stderr] 509 |     pub fn evaluate(&self, ast: Node) -> Result<String, EvaluateError> {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `TestEnvironment::<'a>::evaluate` is reachable at visibility `pub(crate)`
[INFO] [stderr]     |
[INFO] [stderr] note: but type `emulator::test::EvaluateError` is only usable at visibility `pub(self)`
[INFO] [stderr]    --> src/emulator/test.rs:37:1
[INFO] [stderr]     |
[INFO] [stderr] 37  | enum EvaluateError {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `cad` is never read
[INFO] [stderr]   --> src/main.rs:25:5
[INFO] [stderr]    |
[INFO] [stderr] 24 | struct InputContext {
[INFO] [stderr]    |        ------------ field in this struct
[INFO] [stderr] 25 |     cad: Schema,
[INFO] [stderr]    |     ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Cursor` is never constructed
[INFO] [stderr]  --> src/cadlang/lexer.rs:9:8
[INFO] [stderr]   |
[INFO] [stderr] 9 | struct Cursor {
[INFO] [stderr]   |        ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `ValueList` is never constructed
[INFO] [stderr]   --> src/cadlang/parser.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub enum FMObjType {
[INFO] [stderr]    |          --------- variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 15 |     ValueList,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `FMObjType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: multiple variants are never constructed
[INFO] [stderr]   --> src/cadlang/token.rs:18:5
[INFO] [stderr]    |
[INFO] [stderr] 5  | pub enum TokenType {
[INFO] [stderr]    |          --------- variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 18 |     AutoIncrement,
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 19 |     AutoEntry,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 30 |     Creation,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 31 |     Modification,
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 38 |     LastVisited,
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] 39 |     Data,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 42 |     Lookup,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 45 |     StartTable,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 46 |     RelatedTable,
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 49 |     Validate,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 50 |     Always,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 51 |     OnEntry,
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 52 |     AllowOverride,
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 55 |     StrictDataType,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 56 |     NotEmpty,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 59 |     MemberOf,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 60 |     Range,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 61 |     ValidationCalc,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 62 |     MaxChars,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 66 |     Global,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 67 |     Repetitions,
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 94 |     OpenParen,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 95 |     CloseParen,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 96 |     OpenSquare,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 97 |     CloseSquare,
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `TokenType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variants `RelationCriteria`, `UnknownTable`, `UnknownTableOccurrence`, `UnknownField`, and `InvalidAssert` are never constructed
[INFO] [stderr]   --> src/cadlang/error.rs:7:5
[INFO] [stderr]    |
[INFO] [stderr] 5  | pub enum CompileErr {
[INFO] [stderr]    |          ---------- variants in this enum
[INFO] [stderr] 6  |     UnexpectedToken { token: Token, expected: Vec<TokenType>},
[INFO] [stderr] 7  |     RelationCriteria { token: Token }, // criteria must have uniform tables.
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 8  |     UnknownTable { token: Token },
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] 9  |     UnknownTableOccurrence { token: Token },
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 10 |     UnknownField { token: Token },
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] 11 |     InvalidAssert { token: Token }, // Asserts can only be used in tests
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `CompileErr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variants `MemberOf`, `Range`, `Calculation`, and `MaxChars` are never constructed
[INFO] [stderr]   --> src/cadlang/staging.rs:25:5
[INFO] [stderr]    |
[INFO] [stderr] 21 | pub enum StagedValidationType {
[INFO] [stderr]    |          -------------------- variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 25 |     MemberOf(Token),
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 26 |     Range{start: usize, end: usize},
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 27 |     Calculation(String),
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] 28 |     MaxChars(usize),
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `StagedValidationType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Lookup`, `Creation`, `Modification`, `LastVisited`, and `Data` are never constructed
[INFO] [stderr]   --> src/cadlang/staging.rs:43:5
[INFO] [stderr]    |
[INFO] [stderr] 40 | pub enum StagedAutoEntryType {
[INFO] [stderr]    |          ------------------- variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 43 |     Lookup { from: Token, to: Token },
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 44 |     Creation(AutoEntryDataPresets),
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 45 |     Modification(AutoEntryDataPresets),
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] 46 |     LastVisited,
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] 47 |     Data(String),
[INFO] [stderr]    |     ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `StagedAutoEntryType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: function `decode_bytes` is never used
[INFO] [stderr]   --> src/util/dbcharconv.rs:24:8
[INFO] [stderr]    |
[INFO] [stderr] 24 | pub fn decode_bytes(bytes: &[u8]) -> String {
[INFO] [stderr]    |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `fm_string_encrypt` is never used
[INFO] [stderr]   --> src/util/encoding_util.rs:45:8
[INFO] [stderr]    |
[INFO] [stderr] 45 | pub fn fm_string_encrypt(text: &str) -> Vec<u8> {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `load` is never used
[INFO] [stderr]   --> src/staging_buffer.rs:26:12
[INFO] [stderr]    |
[INFO] [stderr] 9  | impl DataStaging {
[INFO] [stderr]    | ---------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 26 |     pub fn load(&self, location: BlockStorage) -> Vec<u8> {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `OpenParen`, `CloseParen`, and `String` are never constructed
[INFO] [stderr]   --> src/burn_script/tokens.rs:6:5
[INFO] [stderr]    |
[INFO] [stderr] 3  | pub enum TokenType {
[INFO] [stderr]    |          --------- variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 6  |     OpenParen,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 7  |     CloseParen,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 30 |     String,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `TokenType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `writer`, `block_buffer`, and `staging_buffer` are never read
[INFO] [stderr]   --> src/hbam/btree.rs:28:5
[INFO] [stderr]    |
[INFO] [stderr] 26 | pub struct HBAMFile {
[INFO] [stderr]    |            -------- fields in this struct
[INFO] [stderr] 27 |     reader: BufReader<File>,
[INFO] [stderr] 28 |     writer: BufWriter<File>,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 32 |     pub block_buffer: DataStaging,
[INFO] [stderr]    |         ^^^^^^^^^^^^
[INFO] [stderr] 33 |     pub staging_buffer: DataStaging,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple methods are never used
[INFO] [stderr]    --> src/hbam/btree.rs:53:12
[INFO] [stderr]     |
[INFO] [stderr] 36  | impl HBAMFile {
[INFO] [stderr]     | ------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 53  |     pub fn get_current_path(&self) -> HBAMPath {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 74  |     pub fn emit_binary_chunk(&self, chunk: &Chunk, data_store: &DataStaging) -> Result<Vec<u8>, &str> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 80  |     pub fn emit_binary_block_header(&self, block: &Block) -> Result<Vec<u8>, &str> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 84  |     pub fn emit_binary_block(&mut self, block: &Block, data_store: &DataStaging) -> Result<Vec<u8>, &str> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 107 |     pub fn write_node(&mut self, block: &Block, data_store: &DataStaging) -> Result<(), &str> {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 119 |     pub fn write_nodes(&mut self, data_store: &DataStaging) -> Result<(), &str> {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 127 |     pub fn get_leaf_with_buffer(&mut self, hbam_path: &HBAMPath) -> (Block, Vec<u8>) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 161 |     pub fn get_node(&mut self, hbam_path: &HBAMPath) -> &Block {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 198 |     pub fn write_dir_chunks_json(&mut self, path: &HBAMPath) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 204 |     pub fn write_all_chunks_json(&mut self) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 230 |     pub fn get_block_chunks(&self) -> &Vec<ChunkType> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 234 |     pub fn print_root_block(&mut self) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 247 |     pub fn print_all_chunks(&mut self) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 271 |     pub fn get_root(&mut self) -> Block {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 346 |     fn load_leaf_from_io(&mut self) -> Block {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 350 |     pub fn goto_next_leaf(&mut self) -> Result<&Block, String> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `block_buffer` is never read
[INFO] [stderr]   --> src/hbam/fs.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 8  | pub struct HBAMInterface {
[INFO] [stderr]    |            ------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 11 |     block_buffer: Vec<u8>,
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `update_consistency_counter`, `modify_table`, `modify_table_occurrence`, `commit_table_changes`, `commit_table_occurrence_changes`, and `commit_changes` are never used
[INFO] [stderr]    --> src/hbam/fs.rs:388:8
[INFO] [stderr]     |
[INFO] [stderr] 14  | impl HBAMInterface {
[INFO] [stderr]     | ------------------ methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 388 |     fn update_consistency_counter(&mut self) -> Result<(), String> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 421 |     pub fn modify_table(&mut self, table: &Table) {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 456 |     pub fn modify_table_occurrence(&mut self, table_occurrence: &TableOccurrence) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 462 |     pub fn commit_table_changes(&mut self, schema: &Schema, diffs: &DiffCollection) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 477 |     pub fn commit_table_occurrence_changes(&mut self, schema: &Schema, diffs: &DiffCollection) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 492 |     pub fn commit_changes(&mut self, schema: &Schema, diffs: &SchemaDiff) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `MalformedInstruction` is never constructed
[INFO] [stderr]   --> src/hbam/chunk.rs:25:5
[INFO] [stderr]    |
[INFO] [stderr] 21 | pub enum BlockErr {
[INFO] [stderr]    |          -------- variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 25 |     MalformedInstruction,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `BlockErr` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `get_simple_data`, `to_bytes`, `from_bytes_new`, and `chunk_to_string` are never used
[INFO] [stderr]    --> src/hbam/chunk.rs:116:12
[INFO] [stderr]     |
[INFO] [stderr] 76  | impl Chunk {
[INFO] [stderr]     | ---------- associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 116 |     pub fn get_simple_data(&self, bytes: &[u8]) -> Result<Vec<u8>, BlockErr> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 122 |     pub fn to_bytes(&self, chunk_bytes: &DataStaging) -> Result<Vec<u8>, BlockErr> {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 217 |     pub fn from_bytes_new(code: &[u8], offset: &mut usize, path: &mut Vec<String>) -> Result<(Chunk, bool), BlockErr> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 768 |     pub fn chunk_to_string(&self, buffer: &[u8]) -> String {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `offset`, `deleted`, `level`, `previous`, and `size` are never read
[INFO] [stderr]   --> src/hbam/block.rs:6:9
[INFO] [stderr]    |
[INFO] [stderr] 5  | pub struct Block {
[INFO] [stderr]    |            ----- fields in this struct
[INFO] [stderr] 6  |     pub offset: usize,
[INFO] [stderr]    |         ^^^^^^
[INFO] [stderr] 7  |     pub index: u32,
[INFO] [stderr] 8  |     pub deleted: bool,
[INFO] [stderr]    |         ^^^^^^^
[INFO] [stderr] 9  |     pub level: u32,
[INFO] [stderr]    |         ^^^^^
[INFO] [stderr] 10 |     pub previous: u32,
[INFO] [stderr]    |         ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 14 |     pub size: u16,
[INFO] [stderr]    |         ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Block` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `from_bytes` and `to_bytes` are never used
[INFO] [stderr]    --> src/hbam/block.rs:76:12
[INFO] [stderr]     |
[INFO] [stderr] 17  | impl Block {
[INFO] [stderr]     | ---------- associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 76  |     pub fn from_bytes(offset_: usize, index_: Option<u32>, buffer: &[u8]) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 115 |     pub fn to_bytes(&self) -> Vec<u8> {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]  --> src/hbam/block_location.rs:9:12
[INFO] [stderr]   |
[INFO] [stderr] 8 | impl BlockLocation {
[INFO] [stderr]   | ------------------ associated function in this implementation
[INFO] [stderr] 9 |     pub fn new(chunk_index_: u32, local_index_: u32) -> Self {
[INFO] [stderr]   |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `comparison_test` is never used
[INFO] [stderr]   --> src/hbam/block_location.rs:21:12
[INFO] [stderr]    |
[INFO] [stderr] 21 |     pub fn comparison_test() {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `Value` is never used
[INFO] [stderr]  --> src/hbam2/api.rs:8:10
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub type Value = String;
[INFO] [stderr]   |          ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `emit_file` is never used
[INFO] [stderr]   --> src/hbam2/api.rs:16:8
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub fn emit_file(file: &str) {
[INFO] [stderr]    |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_data` is never used
[INFO] [stderr]    --> src/hbam2/api.rs:300:8
[INFO] [stderr]     |
[INFO] [stderr] 300 | pub fn get_data<'a>(key: Key) -> Result<KeyValue, BPlusTreeErr> {
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `set_keyvalue` is never used
[INFO] [stderr]    --> src/hbam2/api.rs:304:8
[INFO] [stderr]     |
[INFO] [stderr] 304 | pub fn set_keyvalue<'a>(key: Key, val: Value) -> Result<(), BPlusTreeErr> {
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `CachedKeyLocation` is never constructed
[INFO] [stderr]  --> src/hbam2/kv_cache.rs:3:12
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub struct CachedKeyLocation {
[INFO] [stderr]   |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `KeyValCache` is never constructed
[INFO] [stderr]   --> src/hbam2/kv_cache.rs:10:12
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub struct KeyValCache {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]   --> src/hbam2/bplustree.rs:11:17
[INFO] [stderr]    |
[INFO] [stderr] 11 |     KeyNotFound(Vec<Vec<u8>>),
[INFO] [stderr]    |     ----------- ^^^^^^^^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     field in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `BPlusTreeErr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]    |
[INFO] [stderr] 11 |     KeyNotFound(()),
[INFO] [stderr]    |                 ~~
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]   --> src/hbam2/bplustree.rs:15:29
[INFO] [stderr]    |
[INFO] [stderr] 15 |     InvalidChunkComposition(ParseErr),
[INFO] [stderr]    |     ----------------------- ^^^^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     field in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `BPlusTreeErr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]    |
[INFO] [stderr] 15 |     InvalidChunkComposition(()),
[INFO] [stderr]    |                             ~~
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]   --> src/hbam2/bplustree.rs:16:15
[INFO] [stderr]    |
[INFO] [stderr] 16 |     PageCycle(PageIndex)
[INFO] [stderr]    |     --------- ^^^^^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     field in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `BPlusTreeErr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]    |
[INFO] [stderr] 16 |     PageCycle(())
[INFO] [stderr]    |               ~~
[INFO] [stderr] 
[INFO] [stderr] warning: variant `PageNotFound` is never constructed
[INFO] [stderr]   --> src/hbam2/bplustree.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub(crate) enum BPlusTreeErr {
[INFO] [stderr]    |                 ------------ variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 13 |     PageNotFound(usize),
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `BPlusTreeErr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `key` is never read
[INFO] [stderr]   --> src/hbam2/bplustree.rs:20:5
[INFO] [stderr]    |
[INFO] [stderr] 19 | pub struct Cursor {
[INFO] [stderr]    |            ------ field in this struct
[INFO] [stderr] 20 |     key: Key,
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `print_tree` is never used
[INFO] [stderr]    --> src/hbam2/bplustree.rs:283:8
[INFO] [stderr]     |
[INFO] [stderr] 283 | pub fn print_tree(cache: &mut PageStore, file: &str) {
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `Data` is never used
[INFO] [stderr]  --> src/hbam2/keyvalue.rs:2:6
[INFO] [stderr]   |
[INFO] [stderr] 2 | type Data = Vec<u8>;
[INFO] [stderr]   |      ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `Value` is never used
[INFO] [stderr]  --> src/hbam2/keyvalue.rs:4:6
[INFO] [stderr]   |
[INFO] [stderr] 4 | enum Value<'a> {
[INFO] [stderr]   |      ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `KeyValue` is never constructed
[INFO] [stderr]   --> src/hbam2/keyvalue.rs:10:8
[INFO] [stderr]    |
[INFO] [stderr] 10 | struct KeyValue<'a> {
[INFO] [stderr]    |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `inspect` is never used
[INFO] [stderr]   --> src/hbam2/keyvalue.rs:15:4
[INFO] [stderr]    |
[INFO] [stderr] 15 | fn inspect(keyvalue: &KeyValue) {
[INFO] [stderr]    |    ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Root` is never constructed
[INFO] [stderr]  --> src/hbam2/page.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub enum PageType {
[INFO] [stderr]   |          -------- variant in this enum
[INFO] [stderr] 6 |     Root,
[INFO] [stderr]   |     ^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `PageType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `index`, `deleted`, `level`, and `previous` are never read
[INFO] [stderr]   --> src/hbam2/page.rs:13:9
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub struct PageHeader {
[INFO] [stderr]    |            ---------- fields in this struct
[INFO] [stderr] 13 |     pub index: u32,
[INFO] [stderr]    |         ^^^^^
[INFO] [stderr] 14 |     pub deleted: bool,
[INFO] [stderr]    |         ^^^^^^^
[INFO] [stderr] 15 |     pub level: u32,
[INFO] [stderr]    |         ^^^^^
[INFO] [stderr] 16 |     pub previous: u32,
[INFO] [stderr]    |         ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `PageHeader` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variant `InvalidPageType` is never constructed
[INFO] [stderr]   --> src/hbam2/page.rs:23:5
[INFO] [stderr]    |
[INFO] [stderr] 22 | pub enum PageHeaderErr {
[INFO] [stderr]    |          ------------- variant in this enum
[INFO] [stderr] 23 |     InvalidPageType(u32, u32)
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `PageHeaderErr` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: method `get_root` is never used
[INFO] [stderr]   --> src/hbam2/page_store.rs:28:12
[INFO] [stderr]    |
[INFO] [stderr] 13 | impl PageStore {
[INFO] [stderr]    | -------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 28 |     pub fn get_root(&self, file: String) -> Option<Arc<Page>> {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]   --> src/hbam2/chunk.rs:33:24
[INFO] [stderr]    |
[INFO] [stderr] 33 |     UnrecognizedOpcode(u8),
[INFO] [stderr]    |     ------------------ ^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     field in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ParseErr` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]    |
[INFO] [stderr] 33 |     UnrecognizedOpcode(()),
[INFO] [stderr]    |                        ~~
[INFO] [stderr] 
[INFO] [stderr] warning: variants `UnexpectedEndOfPage` and `MalformedChunk` are never constructed
[INFO] [stderr]   --> src/hbam2/chunk.rs:32:5
[INFO] [stderr]    |
[INFO] [stderr] 30 | pub enum ParseErr {
[INFO] [stderr]    |          -------- variants in this enum
[INFO] [stderr] 31 |     EndChunk,
[INFO] [stderr] 32 |     UnexpectedEndOfPage,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 33 |     UnrecognizedOpcode(u8),
[INFO] [stderr] 34 |     MalformedChunk,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ParseErr` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `offset`, `opcode`, and `delayed` are never read
[INFO] [stderr]   --> src/hbam2/chunk.rs:40:9
[INFO] [stderr]    |
[INFO] [stderr] 39 | pub struct LocalChunk {
[INFO] [stderr]    |            ---------- fields in this struct
[INFO] [stderr] 40 |     pub offset: u16,
[INFO] [stderr]    |         ^^^^^^
[INFO] [stderr] 41 |     pub opcode: u16,
[INFO] [stderr]    |         ^^^^^^
[INFO] [stderr] 42 |     pub contents: LocalChunkContents,
[INFO] [stderr] 43 |     pub delayed: bool,
[INFO] [stderr]    |         ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `LocalChunk` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: function `parse_keyvalue` is never used
[INFO] [stderr]  --> src/hbam2/parser.rs:4:8
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub fn parse_keyvalue(data: &[u8], cursor: &mut Cursor) -> Option<KeyValue> {
[INFO] [stderr]   |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `KeyType` is never used
[INFO] [stderr]   --> src/hbam2/view.rs:15:10
[INFO] [stderr]    |
[INFO] [stderr] 15 | pub enum KeyType {
[INFO] [stderr]    |          ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `get_simple` and `get_dir` are never used
[INFO] [stderr]    --> src/hbam2/view.rs:216:12
[INFO] [stderr]     |
[INFO] [stderr] 171 | impl<'a> View {
[INFO] [stderr]     | ------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 216 |     pub fn get_simple(&self, search: u16) -> Option<Vec<&[u8]>> {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 231 |     pub fn get_dir<'b>(&'a self, search: HBAMPath) -> Option<SubView<'b>> where 'a:'b {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `datatype`, `repetitions`, `autoentry`, and `validation` are never used
[INFO] [stderr]    --> src/schema.rs:159:12
[INFO] [stderr]     |
[INFO] [stderr] 135 | impl Field {
[INFO] [stderr]     | ---------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 159 |     pub fn datatype(mut self, dtype_: DataType) -> Self {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 164 |     pub fn repetitions(mut self, repetitions_: usize) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 179 |     pub fn autoentry(mut self, definition_: AutoEntryType, nomodify_: bool) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 187 |     pub fn validation(mut self, validation_: Validation) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `criteria` is never used
[INFO] [stderr]    --> src/schema.rs:237:12
[INFO] [stderr]     |
[INFO] [stderr] 227 | impl Relation {
[INFO] [stderr]     | ------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 237 |     pub fn criteria(mut self, criteria: RelationCriteria) -> Self {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Script` is never constructed
[INFO] [stderr]    --> src/fm_script_engine/fm_script_engine_instructions.rs:492:12
[INFO] [stderr]     |
[INFO] [stderr] 492 | pub struct Script {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `name` and `global` are never read
[INFO] [stderr]   --> src/emulator/test.rs:21:9
[INFO] [stderr]    |
[INFO] [stderr] 20 | pub struct Variable {
[INFO] [stderr]    |            -------- fields in this struct
[INFO] [stderr] 21 |     pub name: String,
[INFO] [stderr]    |         ^^^^
[INFO] [stderr] 22 |     pub value: String,
[INFO] [stderr] 23 |     pub global: bool,
[INFO] [stderr]    |         ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Variable` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `operand_left` and `operand_right` are never read
[INFO] [stderr]   --> src/emulator/test.rs:38:20
[INFO] [stderr]    |
[INFO] [stderr] 38 |     DivideByZero { operand_left: String, operand_right: String },
[INFO] [stderr]    |     ------------   ^^^^^^^^^^^^          ^^^^^^^^^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     fields in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `EvaluateError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `function` and `argument` are never read
[INFO] [stderr]   --> src/emulator/test.rs:40:23
[INFO] [stderr]    |
[INFO] [stderr] 40 |     InvalidArgument { function: String, argument: String },
[INFO] [stderr]    |     ---------------   ^^^^^^^^          ^^^^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     fields in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `EvaluateError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `function` is never read
[INFO] [stderr]   --> src/emulator/test.rs:41:29
[INFO] [stderr]    |
[INFO] [stderr] 41 |     UnimplementedFunction { function: String },
[INFO] [stderr]    |     ---------------------   ^^^^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     field in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `EvaluateError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variant `InvalidOperation` is never constructed
[INFO] [stderr]   --> src/emulator/test.rs:39:5
[INFO] [stderr]    |
[INFO] [stderr] 37 | enum EvaluateError {
[INFO] [stderr]    |      ------------- variant in this enum
[INFO] [stderr] 38 |     DivideByZero { operand_left: String, operand_right: String },
[INFO] [stderr] 39 |     InvalidOperation { operand_left: String, operator: String, operand_right: String },
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `EvaluateError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: struct `VMTable` is never constructed
[INFO] [stderr]   --> src/emulator/test.rs:44:12
[INFO] [stderr]    |
[INFO] [stderr] 44 | pub struct VMTable {
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `FieldName` is never constructed
[INFO] [stderr]   --> src/emulator/test.rs:59:5
[INFO] [stderr]    |
[INFO] [stderr] 56 | enum OperandType {
[INFO] [stderr]    |      ----------- variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 59 |     FieldName,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `OperandType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `Record` is never used
[INFO] [stderr]   --> src/emulator/test.rs:68:6
[INFO] [stderr]    |
[INFO] [stderr] 68 | type Record = usize;
[INFO] [stderr]    |      ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `run_tests_with_cleanup` and `get_variable_by_name` are never used
[INFO] [stderr]    --> src/emulator/test.rs:153:12
[INFO] [stderr]     |
[INFO] [stderr] 102 | impl<'a> TestEnvironment<'a> {
[INFO] [stderr]     | ---------------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 153 |     pub fn run_tests_with_cleanup(&mut self) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 465 |     pub fn get_variable_by_name(&self, scope: usize, var: &str) -> Option<&Variable> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `delete_record` is never used
[INFO] [stderr]   --> src/emulator/database.rs:50:12
[INFO] [stderr]    |
[INFO] [stderr] 32 | impl TableObject {
[INFO] [stderr]    | ---------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 50 |     pub fn delete_record(&mut self, record_id: u16) {
[INFO] [stderr]    |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `records` is never read
[INFO] [stderr]   --> src/emulator/database.rs:59:5
[INFO] [stderr]    |
[INFO] [stderr] 56 | pub struct RelatedRecordSet {
[INFO] [stderr]    |            ---------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 59 |     records: Vec<usize>,
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `RelatedRecordSet` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: multiple methods are never used
[INFO] [stdout] 
[INFO] [stderr]    --> src/emulator/database.rs:110:12
[INFO] [stdout] running 56 tests
[INFO] [stderr]     |
[INFO] [stderr] 99  | impl Database {
[INFO] [stderr]     | ------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 110 |     pub fn clear_records(&mut self) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 249 |     pub fn get_occurrence_mut(&mut self, occurrence_handle: usize) -> &mut TableOccurrence {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 257 |     pub fn get_occurrence_by_name_mut(&mut self, occurrence_handle: &str) -> &mut TableOccurrence {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 293 |     pub fn get_table_mut(&mut self, name: &str) -> Option<&mut TableObject> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 297 |     pub fn get_records_for_current_table(&self) -> &Vec<Field> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 362 |     pub fn get_current_record_by_field_mut(&mut self, field: &str) -> Result<&mut str, &str> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 380 |     pub fn get_current_record_by_table_field(&self, occurrence: &str, field: &str) -> Result<&str, &str> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 568 |     pub fn get_related_record_field_mut(&mut self, occurrence: &str, field: &str) -> &mut str {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 590 |     pub fn get_nth_related_record_field(&mut self, occurrence: &str, field: &str, n: usize) -> &str {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 617 |     pub fn get_nth_related_record_field_mut(&mut self, occurrence: &str, field: &str, n: usize) -> &mut str {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `UnexpectedEOF` is never constructed
[INFO] [stderr]   --> src/emulator/calc_engine/calc_lexer.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 7  | pub enum LexerError {
[INFO] [stderr]    |          ---------- variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 10 |     UnexpectedEOF,
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `LexerError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variants `InvalidOperation`, `InvalidArgument`, and `UnimplementedFunction` are never constructed
[INFO] [stderr]   --> src/emulator/calc_engine/calc_eval.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 9  | pub enum EvaluateError {
[INFO] [stderr]    |          ------------- variants in this enum
[INFO] [stderr] 10 |     DivideByZero { operand_left: String, operand_right: String },
[INFO] [stderr] 11 |     InvalidOperation { operand_left: String, operator: String, operand_right: String },
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 12 |     InvalidArgument { function: String, argument: String },
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 13 |     UnimplementedFunction { function: String },
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `EvaluateError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: function `eval_calculation` is never used
[INFO] [stderr]   --> src/emulator/calc_engine/calc_eval.rs:16:8
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub fn eval_calculation(calculation: &str, emulator: &Emulator) -> String {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_operand_val` is never used
[INFO] [stderr]   --> src/emulator/calc_engine/calc_eval.rs:22:4
[INFO] [stderr]    |
[INFO] [stderr] 22 | fn get_operand_val<'a, 'b>(val: String, emulator: &'a Emulator) -> Result<Operand, String> 
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `evaluate` is never used
[INFO] [stderr]   --> src/emulator/calc_engine/calc_eval.rs:55:8
[INFO] [stderr]    |
[INFO] [stderr] 55 | pub fn evaluate(ast: Node, emulator: &Emulator) -> Result<String, EvaluateError> {
[INFO] [stderr]    |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `SemiColon`, `OpenSquare`, and `CloseSquare` are never constructed
[INFO] [stderr]   --> src/emulator/calc_engine/calc_tokens.rs:9:5
[INFO] [stderr]    |
[INFO] [stderr] 3  | pub enum TokenType {
[INFO] [stderr]    |          --------- variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 9  |     SemiColon,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 10 |     Comma,
[INFO] [stderr] 11 |     OpenSquare,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 12 |     CloseSquare,
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `TokenType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: enum `Precedence` is never used
[INFO] [stderr]  --> src/emulator/calc_engine/calc_parser.rs:7:6
[INFO] [stderr]   |
[INFO] [stderr] 7 | enum Precedence {
[INFO] [stderr]   |      ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated functions `from_int` and `to_int` are never used
[INFO] [stderr]   --> src/emulator/calc_engine/calc_parser.rs:18:12
[INFO] [stderr]    |
[INFO] [stderr] 17 | impl Precedence {
[INFO] [stderr]    | --------------- associated functions in this implementation
[INFO] [stderr] 18 |     pub fn from_int(num: usize) -> Result<Self, String> {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 30 |     pub fn to_int(num: Self) -> usize {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Unary` is never constructed
[INFO] [stderr]   --> src/emulator/calc_engine/calc_parser.rs:48:5
[INFO] [stderr]    |
[INFO] [stderr] 47 | pub enum Node {
[INFO] [stderr]    |          ---- variant in this enum
[INFO] [stderr] 48 |     Unary { value: String, child: Option<Box<Node>> },
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Node` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: method `previous` is never used
[INFO] [stderr]    --> src/emulator/calc_engine/calc_parser.rs:108:8
[INFO] [stderr]     |
[INFO] [stderr] 86  | impl TokenList {
[INFO] [stderr]     | -------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 108 |     fn previous(&self) -> Option<&Token> {
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `MissingToken` is never constructed
[INFO] [stderr]    --> src/emulator/calc_engine/calc_parser.rs:124:5
[INFO] [stderr]     |
[INFO] [stderr] 122 | pub enum ParserError {
[INFO] [stderr]     |          ----------- variant in this enum
[INFO] [stderr] 123 |     UnexpectedToken { token: Token, expected: Vec<TokenType> },
[INFO] [stderr] 124 |     MissingToken { expected: TokenType, position: usize },
[INFO] [stderr]     |     ^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `ParserError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `parse_func_call`, `parse_identifier`, `parse_numeric`, and `parse_string` are never used
[INFO] [stderr]    --> src/emulator/calc_engine/calc_parser.rs:167:12
[INFO] [stderr]     |
[INFO] [stderr] 145 | impl Parser {
[INFO] [stderr]     | ----------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 167 |     pub fn parse_func_call(&mut self, _name: String) -> Result<Box<Node>, &str>{
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 171 |     pub fn parse_identifier(&mut self, tok: Token) -> Result<Box<Node>, &str> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 227 |     pub fn parse_numeric(&mut self, tok: Token) -> Result<Box<Node>, &str> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 284 |     fn parse_string(&mut self, tok: Token) -> Result<Box<Node>, &str> {
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `ParseErr` is never used
[INFO] [stderr]  --> src/emulator/calc_engine/operand.rs:7:10
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub enum ParseErr {
[INFO] [stderr]   |          ^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `ParseErr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variant `FieldName` is never constructed
[INFO] [stderr]   --> src/emulator/calc_engine/operand.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub enum Operand {
[INFO] [stderr]    |          ------- variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 15 |     FieldName(String),
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Operand` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: method `concat` is never used
[INFO] [stderr]   --> src/emulator/calc_engine/operand.rs:50:12
[INFO] [stderr]    |
[INFO] [stderr] 18 | impl Operand {
[INFO] [stderr]    | ------------ method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 50 |     pub fn concat(self, rhs: Operand) -> Self {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `tblocc_id_t` is never used
[INFO] [stderr]  --> src/emulator/layout.rs:2:6
[INFO] [stderr]   |
[INFO] [stderr] 2 | type tblocc_id_t = u32;
[INFO] [stderr]   |      ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Layout` is never constructed
[INFO] [stderr]  --> src/emulator/layout.rs:4:12
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub struct Layout {
[INFO] [stderr]   |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Window` is never constructed
[INFO] [stderr]  --> src/emulator/window.rs:2:12
[INFO] [stderr]   |
[INFO] [stderr] 2 | pub struct Window {
[INFO] [stderr]   |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `window_id_t` is never used
[INFO] [stderr]   --> src/emulator/emulator.rs:14:6
[INFO] [stderr]    |
[INFO] [stderr] 14 | type window_id_t = u32;
[INFO] [stderr]    |      ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `db_id_t` is never used
[INFO] [stderr]   --> src/emulator/emulator.rs:15:6
[INFO] [stderr]    |
[INFO] [stderr] 15 | type db_id_t = u32;
[INFO] [stderr]    |      ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `tblocc_id_t` is never used
[INFO] [stderr]   --> src/emulator/emulator.rs:16:6
[INFO] [stderr]    |
[INFO] [stderr] 16 | type tblocc_id_t = u32;
[INFO] [stderr]    |      ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `layout_id_t` is never used
[INFO] [stderr]   --> src/emulator/emulator.rs:17:6
[INFO] [stderr]    |
[INFO] [stderr] 17 | type layout_id_t = u32;
[INFO] [stderr]    |      ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `IDCache` is never constructed
[INFO] [stderr]   --> src/emulator/emulator.rs:43:12
[INFO] [stderr]    |
[INFO] [stderr] 43 | pub struct IDCache {
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/emulator/emulator.rs:52:12
[INFO] [stderr]    |
[INFO] [stderr] 51 | impl IDCache {
[INFO] [stderr]    | ------------ associated function in this implementation
[INFO] [stderr] 52 |     pub fn new() -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `name`, `value`, and `global` are never read
[INFO] [stderr]   --> src/emulator/emulator.rs:65:9
[INFO] [stderr]    |
[INFO] [stderr] 64 | pub struct Variable {
[INFO] [stderr]    |            -------- fields in this struct
[INFO] [stderr] 65 |     pub name: String,
[INFO] [stderr]    |         ^^^^
[INFO] [stderr] 66 |     pub value: String,
[INFO] [stderr]    |         ^^^^^
[INFO] [stderr] 67 |     pub global: bool,
[INFO] [stderr]    |         ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Variable` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/emulator/emulator.rs:71:12
[INFO] [stderr]    |
[INFO] [stderr] 70 | impl Variable {
[INFO] [stderr]    | ------------- associated function in this implementation
[INFO] [stderr] 71 |     pub fn new(n: String, val: String, g: bool) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Fail` is never constructed
[INFO] [stderr]   --> src/emulator/emulator.rs:83:5
[INFO] [stderr]    |
[INFO] [stderr] 81 | pub enum TestState {
[INFO] [stderr]    |          --------- variant in this enum
[INFO] [stderr] 82 |     Pass,
[INFO] [stderr] 83 |     Fail
[INFO] [stderr]    |     ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `TestState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Find` is never constructed
[INFO] [stderr]   --> src/emulator/emulator.rs:88:5
[INFO] [stderr]    |
[INFO] [stderr] 86 | enum Mode {
[INFO] [stderr]    |      ---- variant in this enum
[INFO] [stderr] 87 |     Browse,
[INFO] [stderr] 88 |     Find,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple fields are never read
[INFO] [stderr]    --> src/emulator/emulator.rs:92:9
[INFO] [stderr]     |
[INFO] [stderr] 91  | pub struct ScriptEngineState<'a> {
[INFO] [stderr]     |            ----------------- fields in this struct
[INFO] [stderr] 92  |     pub instruction_ptr: Vec<(String, usize)>,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^
[INFO] [stderr] 93  |     pub call_stack: Vec<&'a Script>,
[INFO] [stderr]     |         ^^^^^^^^^^
[INFO] [stderr] 94  |     pub variables: Vec<HashMap<String, Variable>>,
[INFO] [stderr]     |         ^^^^^^^^^
[INFO] [stderr] 95  |     pub active_script: Option<String>, 
[INFO] [stderr]     |         ^^^^^^^^^^^^^
[INFO] [stderr] 96  |     pub loop_scopes: Vec<usize>,
[INFO] [stderr]     |         ^^^^^^^^^^^
[INFO] [stderr] 97  |     pub test_state: TestState,
[INFO] [stderr]     |         ^^^^^^^^^^
[INFO] [stderr] 98  |     pub punc_stack: Vec<Instruction>,
[INFO] [stderr]     |         ^^^^^^^^^^
[INFO] [stderr] 99  |     pub branch_taken: bool,
[INFO] [stderr]     |         ^^^^^^^^^^^^
[INFO] [stderr] 100 |     mode: Mode,
[INFO] [stderr]     |     ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/emulator/emulator.rs:104:12
[INFO] [stderr]     |
[INFO] [stderr] 103 | impl<'a> ScriptEngineState<'a> {
[INFO] [stderr]     | ------------------------------ associated function in this implementation
[INFO] [stderr] 104 |     pub fn new() -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Emulator` is never constructed
[INFO] [stderr]    --> src/emulator/emulator.rs:136:12
[INFO] [stderr]     |
[INFO] [stderr] 136 | pub struct Emulator<'a> {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `load_schema`, `get_active_database`, `get_active_database_mut`, and `step` are never used
[INFO] [stderr]    --> src/emulator/emulator.rs:156:12
[INFO] [stderr]     |
[INFO] [stderr] 155 | impl<'a> Emulator<'a> {
[INFO] [stderr]     | --------------------- associated items in this implementation
[INFO] [stderr] 156 |     pub fn new() -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 169 |     pub fn load_schema(schema: &Schema) {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 172 |     pub fn get_active_database(&self) -> &Database {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 176 |     pub fn get_active_database_mut(&mut self) -> Option<&mut Database> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 180 |     pub fn step(&mut self) {
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `external_sources` is never read
[INFO] [stderr]   --> src/emulator2/database.rs:15:9
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub struct Database {
[INFO] [stderr]    |            -------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 15 |     pub external_sources: Vec<DataSource>,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `DatabaseMgr` is never constructed
[INFO] [stderr]  --> src/emulator2/database_mgr.rs:5:12
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub struct DatabaseMgr {
[INFO] [stderr]   |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `ODBC` is never constructed
[INFO] [stderr]  --> src/emulator2/data_source.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | pub enum DataSourceType {
[INFO] [stderr]   |          -------------- variant in this enum
[INFO] [stderr] 3 |     FileMaker,
[INFO] [stderr] 4 |     ODBC,
[INFO] [stderr]   |     ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `id`, `name`, `dstype`, and `filename` are never read
[INFO] [stderr]   --> src/emulator2/data_source.rs:8:9
[INFO] [stderr]    |
[INFO] [stderr] 7  | pub struct DataSource {
[INFO] [stderr]    |            ---------- fields in this struct
[INFO] [stderr] 8  |     pub id: usize,
[INFO] [stderr]    |         ^^
[INFO] [stderr] 9  |     pub name: String,
[INFO] [stderr]    |         ^^^^
[INFO] [stderr] 10 |     pub dstype: DataSourceType,
[INFO] [stderr]    |         ^^^^^^
[INFO] [stderr] 11 |     pub filename: String,
[INFO] [stderr]    |         ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Emulator` is never constructed
[INFO] [stderr]   --> src/emulator2/emulator.rs:12:12
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub struct Emulator {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `start` and `step` are never used
[INFO] [stderr]   --> src/emulator2/emulator.rs:19:8
[INFO] [stderr]    |
[INFO] [stderr] 18 | impl Emulator {
[INFO] [stderr]    | ------------- methods in this implementation
[INFO] [stderr] 19 |     fn start(&mut self, schema: &Schema) {
[INFO] [stderr]    |        ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 22 |     fn step(&mut self) {
[INFO] [stderr]    |        ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `FindRequest` is never constructed
[INFO] [stderr]  --> src/emulator2/find.rs:5:12
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub struct FindRequest {
[INFO] [stderr]   |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `FoundSet` is never constructed
[INFO] [stderr]   --> src/emulator2/find.rs:11:12
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub struct FoundSet {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `current_record` is never used
[INFO] [stderr]   --> src/emulator2/find.rs:19:12
[INFO] [stderr]    |
[INFO] [stderr] 18 | impl FoundSet {
[INFO] [stderr]    | ------------- method in this implementation
[INFO] [stderr] 19 |     pub fn current_record(&self) -> Option<&Record> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Layout` is never constructed
[INFO] [stderr]  --> src/emulator2/layout.rs:2:12
[INFO] [stderr]   |
[INFO] [stderr] 2 | pub struct Layout {
[INFO] [stderr]   |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `id` and `fields` are never read
[INFO] [stderr]  --> src/emulator2/record.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub struct Record {
[INFO] [stderr]   |            ------ fields in this struct
[INFO] [stderr] 7 |     id: usize,
[INFO] [stderr]   |     ^^
[INFO] [stderr] 8 |     fields: RefCell<HashMap<String, String>>
[INFO] [stderr]   |     ^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `Record` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `set_field`, and `get_field` are never used
[INFO] [stderr]   --> src/emulator2/record.rs:12:12
[INFO] [stderr]    |
[INFO] [stderr] 11 | impl Record {
[INFO] [stderr]    | ----------- associated items in this implementation
[INFO] [stderr] 12 |     pub fn new(id_: usize, fields_: &Vec<String>) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 23 |     pub fn set_field(&self, fieldname: &str, value: &str) {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 32 |     pub fn get_field(&self, fieldname: &str) -> Option<String> {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `StepResult` is never used
[INFO] [stderr]   --> src/emulator2/script_engine.rs:12:10
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub enum StepResult {
[INFO] [stderr]    |          ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ScriptEngine` is never constructed
[INFO] [stderr]   --> src/emulator2/script_engine.rs:16:12
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub struct ScriptEngine {
[INFO] [stderr]    |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `step`, `cur_script`, and `next_instruction` are never used
[INFO] [stderr]   --> src/emulator2/script_engine.rs:23:12
[INFO] [stderr]    |
[INFO] [stderr] 22 | impl ScriptEngine {
[INFO] [stderr]    | ----------------- methods in this implementation
[INFO] [stderr] 23 |     pub fn step(&mut self, dbs: &mut DatabaseMgr, window_mgr: &mut WindowMgr) -> Result<(), StepResult>  {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 59 |     fn cur_script(&self) -> Option<Rc<Script>> {
[INFO] [stderr]    |        ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 63 |     fn next_instruction(&self) -> Option<ScriptStep> {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `records` is never read
[INFO] [stderr]  --> src/emulator2/table.rs:8:9
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub struct Table {
[INFO] [stderr]   |            ----- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 8 |     pub records: Vec<Record>,
[INFO] [stderr]   |         ^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `Table` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: method `new_record` is never used
[INFO] [stderr]   --> src/emulator2/table.rs:27:12
[INFO] [stderr]    |
[INFO] [stderr] 12 | impl Table {
[INFO] [stderr]    | ---------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 27 |     pub fn new_record(&mut self) {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `id`, `data_source`, and `table` are never read
[INFO] [stderr]  --> src/emulator2/table_occurrence.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub struct TableOccurrence {
[INFO] [stderr]   |            --------------- fields in this struct
[INFO] [stderr] 6 |     id: usize,
[INFO] [stderr]   |     ^^
[INFO] [stderr] 7 |     pub name: String,
[INFO] [stderr] 8 |     data_source: String,
[INFO] [stderr]   |     ^^^^^^^^^^^
[INFO] [stderr] 9 |     table: Rc<Table>
[INFO] [stderr]   |     ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `get_records` is never used
[INFO] [stderr]   --> src/emulator2/table_occurrence.rs:21:12
[INFO] [stderr]    |
[INFO] [stderr] 12 | impl TableOccurrence {
[INFO] [stderr]    | -------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 21 |     pub fn get_records(&self) -> &Vec<Record> {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `WindowStyle` is never used
[INFO] [stderr]  --> src/emulator2/window.rs:6:10
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub enum WindowStyle {
[INFO] [stderr]   |          ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Window` is never constructed
[INFO] [stderr]   --> src/emulator2/window.rs:13:12
[INFO] [stderr]    |
[INFO] [stderr] 13 | pub struct Window {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `get_current_record_ref` is never used
[INFO] [stderr]   --> src/emulator2/window.rs:22:12
[INFO] [stderr]    |
[INFO] [stderr] 21 | impl Window {
[INFO] [stderr]    | ----------- method in this implementation
[INFO] [stderr] 22 |     pub fn get_current_record_ref(&self) -> Option<&Record> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `WindowMgr` is never constructed
[INFO] [stderr]  --> src/emulator2/window_mgr.rs:4:12
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub struct WindowMgr {
[INFO] [stderr]   |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `select_window_by_name`, `current_window`, and `add_window` are never used
[INFO] [stderr]   --> src/emulator2/window_mgr.rs:10:12
[INFO] [stderr]    |
[INFO] [stderr] 9  | impl WindowMgr {
[INFO] [stderr]    | -------------- methods in this implementation
[INFO] [stderr] 10 |     pub fn select_window_by_name(&mut self, name: &str) {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 17 |     pub fn current_window(&self) -> &Window {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 21 |     pub fn add_window(&mut self, window: Window) {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `DBObjectID` is never used
[INFO] [stderr]  --> src/diff.rs:5:10
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub type DBObjectID = usize;
[INFO] [stderr]   |          ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `DiffCollection` is never used
[INFO] [stderr]  --> src/diff.rs:6:10
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub type DiffCollection = HashMap<DBObjectID, DBObjectStatus>;
[INFO] [stderr]   |          ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `SchemaDiff` is never constructed
[INFO] [stderr]  --> src/diff.rs:8:12
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub struct SchemaDiff {
[INFO] [stderr]   |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/diff.rs:19:12
[INFO] [stderr]    |
[INFO] [stderr] 18 | impl SchemaDiff {
[INFO] [stderr]    | --------------- associated function in this implementation
[INFO] [stderr] 19 |     pub fn new() -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_table_diffs` is never used
[INFO] [stderr]   --> src/diff.rs:32:8
[INFO] [stderr]    |
[INFO] [stderr] 32 | pub fn get_table_diffs(original: &Schema, updated: &Schema) -> DiffCollection {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_table_occurrence_diffs` is never used
[INFO] [stderr]   --> src/diff.rs:54:8
[INFO] [stderr]    |
[INFO] [stderr] 54 | pub fn get_table_occurrence_diffs(original: &Schema, updated: &Schema) -> DiffCollection {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_relations_diffs` is never used
[INFO] [stderr]   --> src/diff.rs:76:8
[INFO] [stderr]    |
[INFO] [stderr] 76 | pub fn get_relations_diffs(original: &Schema, updated: &Schema) -> DiffCollection {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_diffs` is never used
[INFO] [stderr]   --> src/diff.rs:98:8
[INFO] [stderr]    |
[INFO] [stderr] 98 | pub fn get_diffs(original: &Schema, updated: &Schema) -> SchemaDiff {
[INFO] [stderr]    |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `fmc` (bin "fmc" test) generated 205 warnings (run `cargo fix --bin "fmc" --tests` to apply 18 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.16s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/fmc-0f8f4187aa9145dc)
[INFO] [stdout] test burn_script::lexer::tests::lex_test_basic ... ok
[INFO] [stdout] test burn_script::parser::tests::parse_test_basic ... ok
[INFO] [stdout] test cadlang::parser::tests::basic_table_occurrence_parse_test ... ok
[INFO] [stdout] test cadlang::parser::tests::field_value_list ... ok
[INFO] [stdout] test cadlang::parser::tests::custom_value_list ... ok
[INFO] [stdout] test cadlang::parser::tests::field_value_list_double_with_from_option ... ok
[INFO] [stdout] test cadlang::parser::tests::extern_basic ... ok
[INFO] [stdout] test cadlang::parser::tests::field_value_list_double_with_options ... ok
[INFO] [stdout] test cadlang::lexer::tests::lex_test ... ok
[INFO] [stdout] test cadlang::parser::tests::field_value_list_double_with_sort_option ... ok
[INFO] [stdout] test cadlang::parser::tests::compile_initial_cad ... ok
[INFO] [stdout] test cadlang::parser::tests::field_value_list_single_with_options ... ok
[INFO] [stdout] test cadlang::parser::tests::field_value_list_single ... ok
[INFO] [stdout] test cadlang::parser::tests::relation_single_criteria_test ... ok
[INFO] [stdout] test cadlang::parser::tests::value_list_single_followed_by_object ... ok
[INFO] [stdout] test emulator::calc_engine::calc_parser::tests::basic_addition ... ok
[INFO] [stdout] test emulator::calc_engine::calc_parser::tests::group_arithmetic ... ok
[INFO] [stdout] test emulator::calc_engine::operand::tests::num_parse ... ok
[INFO] [stdout] test emulator::relation_mgr::tests::graph_test ... ok
[INFO] [stdout] test cadlang::staging::tests::multi_crit_relation_to_real ... ok
[INFO] [stdout] test cadlang::parser::tests::basic_table_parse_test ... ok
[INFO] [stdout] test emulator::test::tests::prec_test ... ok
[INFO] [stdout] test emulator::calc_engine::calc_parser::tests::string_concat ... ok
[INFO] [stdout] test hbam2::api::tests::get_keyval_test ... ok
[INFO] [stdout] test hbam2::api::tests::get_table_catalog_test ... ok
[INFO] [stdout] test hbam2::api::tests::get_data_source_catalog_test ... ok
[INFO] [stdout] test hbam2::api::tests::get_table_catalog_split_page_test ... ok
[INFO] [stdout] test cadlang::parser::tests::relation_compound_criteria_test ... ok
[INFO] [stdout] test emulator::database::tests::multi_criteria_test ... ok
[INFO] [stdout] test hbam2::bplustree::tests::get_keyvalue_test ... ok
[INFO] [stdout] test emulator::test::tests::basic_loop_test ... ok
[INFO] [stdout] test hbam2::bplustree::tests::index_page_parse_large_segment_list_middle ... ok
[INFO] [stdout] test hbam::btree::tests::directory_traversal_test ... ok
[INFO] [stdout] test hbam2::bplustree::tests::index_page_parse_large_segment_list_start ... ok
[INFO] [stdout] test hbam::btree::tests::emit_block_test ... ok
[INFO] [stdout] test hbam2::path::tests::path_cmp ... ok
[INFO] [stdout] test emulator::test::tests::calc_test ... ok
[INFO] [stdout] test hbam2::bplustree::tests::index_page_parse_layered_repeating_key_components_after ... ok
[INFO] [stdout] test hbam2::bplustree::tests::index_page_parse_layered_repeating_key_components_exact ... ok
[INFO] [stdout] test hbam2::view::tests::dirs_test ... ok
[INFO] [stdout] test hbam2::view::tests::subdirs_test ... ok
[INFO] [stdout] test hbam2::api::tests::get_script_catalog_test ... ok
[INFO] [stdout] test util::dbcharconv::tests::encode_test ... ok
[INFO] [stdout] test hbam2::bplustree::tests::index_page_parse_basic ... ok
[INFO] [stdout] test util::encoding_util::tests::int_testing ... ok
[INFO] [stdout] test hbam::path::tests::path_cmp ... ok
[INFO] [stdout] test hbam::btree::tests::changes_test ... ok
[INFO] [stdout] test util::encoding_util::tests::path_int_testing ... ok
[INFO] [stdout] test util::encoding_util::tests::string_testing ... ok
[INFO] [stdout] test hbam2::api::tests::get_table_occurrence_catalog_test ... ok
[INFO] [stdout] test emulator2::database::tests::from_cad_file ... ok
[INFO] [stdout] test emulator2::database::tests::from_multi_cad_file ... FAILED
[INFO] [stdout] test hbam::fs::tests::dir_traversal_test ... FAILED
[INFO] [stdout] test hbam::fs::tests::kv_set_test ... FAILED
[INFO] [stdout] test hbam::fs::tests::long_kv_set_test ... FAILED
[INFO] [stdout] test hbam::fs::tests::kv_retrieval_test ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- emulator2::database::tests::from_multi_cad_file stdout ----
[INFO] [stdout] CUR_TOKEN: Token { ttype: Assignment, value: "", location: Location { line: 29, column: 13 } }
[INFO] [stdout] error: UndefinedReference { construct: Table, token: Token { ttype: Identifier, value: "Customers", location: Location { line: 24, column: 45 } } }
[INFO] [stdout] 
[INFO] [stdout] thread 'emulator2::database::tests::from_multi_cad_file' panicked at src/emulator2/database.rs:99:9:
[INFO] [stdout] assertion `left == right` failed
[INFO] [stdout]   left: 0
[INFO] [stdout]  right: 3
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x6469f2036a0a - std::backtrace_rs::backtrace::libunwind::trace::hb059275cfc8d6126
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/../../backtrace/src/backtrace/libunwind.rs:116:5
[INFO] [stdout]    1:     0x6469f2036a0a - std::backtrace_rs::backtrace::trace_unsynchronized::h2da071e4327ce3ee
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x6469f2036a0a - std::sys::backtrace::_print_fmt::h842a1474e6f8d23f
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x6469f2036a0a - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h71a62eb3b9696b12
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x6469f2060683 - core::fmt::rt::Argument::fmt::hdb6b616786b41dc1
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/fmt/rt.rs:177:76
[INFO] [stdout]    5:     0x6469f2060683 - core::fmt::write::h2cc1698af7e2d686
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/fmt/mod.rs:1440:21
[INFO] [stdout]    6:     0x6469f20332e3 - std::io::Write::write_fmt::hab1b4cd059a79022
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/io/mod.rs:1887:15
[INFO] [stdout]    7:     0x6469f2036852 - std::sys::backtrace::BacktraceLock::print::h147fe35b4ea13b08
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    8:     0x6469f2037e2f - std::panicking::default_hook::{{closure}}::hbd44223dbdc0d208
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:298:22
[INFO] [stdout]    9:     0x6469f2037c48 - std::panicking::default_hook::h20f81eb0576efcec
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:322:9
[INFO] [stdout]   10:     0x6469f1fc3fe3 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hdb53814c496a4d34
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/alloc/src/boxed.rs:2027:9
[INFO] [stdout]   11:     0x6469f1fc3fe3 - test::test_main::{{closure}}::hc0a4963c59427c24
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:134:21
[INFO] [stdout]   12:     0x6469f2038923 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h591b2225413a77e9
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/alloc/src/boxed.rs:2027:9
[INFO] [stdout]   13:     0x6469f2038923 - std::panicking::rust_panic_with_hook::h625eea43051b2edc
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:839:13
[INFO] [stdout]   14:     0x6469f20385da - std::panicking::begin_panic_handler::{{closure}}::h4f9159cfbc3f6bd3
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:704:13
[INFO] [stdout]   15:     0x6469f2036f09 - std::sys::backtrace::__rust_end_short_backtrace::h0390abce48353151
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:168:18
[INFO] [stdout]   16:     0x6469f203826d - rust_begin_unwind
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:695:5
[INFO] [stdout]   17:     0x6469f205e280 - core::panicking::panic_fmt::h9e7c637e9e5f29c9
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/panicking.rs:75:14
[INFO] [stdout]   18:     0x6469f205e6d3 - core::panicking::assert_failed_inner::h538bec7c1374cd9c
[INFO] [stdout]   19:     0x6469f205e58a - core::panicking::assert_failed::h7fe8c93d80615b71
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/panicking.rs:364:5
[INFO] [stdout]   20:     0x6469f1efb016 - fmc::emulator2::database::tests::from_multi_cad_file::hdfe10d240b758141
[INFO] [stdout]                                at /opt/rustwide/workdir/src/emulator2/database.rs:99:9
[INFO] [stdout]   21:     0x6469f1eface7 - fmc::emulator2::database::tests::from_multi_cad_file::{{closure}}::h0c304a94bfd9026a
[INFO] [stdout]                                at /opt/rustwide/workdir/src/emulator2/database.rs:92:29
[INFO] [stdout]   22:     0x6469f1f66f76 - core::ops::function::FnOnce::call_once::heba83387b07aa2fe
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x6469f1fc973b - core::ops::function::FnOnce::call_once::he27718dfdd183f43
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x6469f1fc973b - test::__rust_begin_short_backtrace::h4e84902998457a5d
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:632:18
[INFO] [stdout]   25:     0x6469f1fc8673 - test::run_test_in_process::{{closure}}::h7176fd18fc1feca0
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:655:60
[INFO] [stdout]   26:     0x6469f1fc8673 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hf79cff2a624d8cf7
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   27:     0x6469f1fc8673 - std::panicking::try::do_call::h3da0561d9ab99c25
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:587:40
[INFO] [stdout]   28:     0x6469f1fc8673 - std::panicking::try::h41c9fa508bc61df6
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:550:19
[INFO] [stdout]   29:     0x6469f1fc8673 - std::panic::catch_unwind::h6b3ff07bb5afad93
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panic.rs:358:14
[INFO] [stdout]   30:     0x6469f1fc8673 - test::run_test_in_process::hc7253dd11b39b9f4
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:655:27
[INFO] [stdout]   31:     0x6469f1fc8673 - test::run_test::{{closure}}::hfb2007f8649c30bb
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:576:43
[INFO] [stdout]   32:     0x6469f1f8b755 - test::run_test::{{closure}}::h56a17aa7a282a9f4
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:606:41
[INFO] [stdout]   33:     0x6469f1f8b755 - std::sys::backtrace::__rust_begin_short_backtrace::hd2d2d2fb8e8c6aac
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:152:18
[INFO] [stdout]   34:     0x6469f1f8f03a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h4faa3f9db6133423
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/thread/mod.rs:559:17
[INFO] [stdout]   35:     0x6469f1f8f03a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hf2e855a36a4ea846
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   36:     0x6469f1f8f03a - std::panicking::try::do_call::h2f73af3616c35465
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:587:40
[INFO] [stdout]   37:     0x6469f1f8f03a - std::panicking::try::hd1660ce9efadef5a
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:550:19
[INFO] [stdout]   38:     0x6469f1f8f03a - std::panic::catch_unwind::h5ee8d7823b8ca744
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panic.rs:358:14
[INFO] [stdout]   39:     0x6469f1f8f03a - std::thread::Builder::spawn_unchecked_::{{closure}}::h53c3a1894dce8407
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/thread/mod.rs:557:30
[INFO] [stdout]   40:     0x6469f1f8f03a - core::ops::function::FnOnce::call_once{{vtable.shim}}::h048ce291ad4f62bf
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x6469f203cbfb - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::ha52bedf99a3b4981
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/alloc/src/boxed.rs:2013:9
[INFO] [stdout]   42:     0x6469f203cbfb - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h567748934d80ccf8
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/alloc/src/boxed.rs:2013:9
[INFO] [stdout]   43:     0x6469f203cbfb - std::sys::pal::unix::thread::Thread::new::thread_start::h2d970728ae887adc
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/pal/unix/thread.rs:106:17
[INFO] [stdout]   44:     0x753a424adac3 - <unknown>
[INFO] [stdout]   45:     0x753a4253ea04 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- hbam::fs::tests::dir_traversal_test stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'hbam::fs::tests::dir_traversal_test' panicked at src/hbam/btree.rs:43:18:
[INFO] [stdout] Unable to open file.: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x6469f2036a0a - std::backtrace_rs::backtrace::libunwind::trace::hb059275cfc8d6126
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/../../backtrace/src/backtrace/libunwind.rs:116:5
[INFO] [stdout]    1:     0x6469f2036a0a - std::backtrace_rs::backtrace::trace_unsynchronized::h2da071e4327ce3ee
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x6469f2036a0a - std::sys::backtrace::_print_fmt::h842a1474e6f8d23f
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x6469f2036a0a - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h71a62eb3b9696b12
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x6469f2060683 - core::fmt::rt::Argument::fmt::hdb6b616786b41dc1
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/fmt/rt.rs:177:76
[INFO] [stdout]    5:     0x6469f2060683 - core::fmt::write::h2cc1698af7e2d686
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/fmt/mod.rs:1440:21
[INFO] [stdout]    6:     0x6469f20332e3 - std::io::Write::write_fmt::hab1b4cd059a79022
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/io/mod.rs:1887:15
[INFO] [stdout]    7:     0x6469f2036852 - std::sys::backtrace::BacktraceLock::print::h147fe35b4ea13b08
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    8:     0x6469f2037e2f - std::panicking::default_hook::{{closure}}::hbd44223dbdc0d208
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:298:22
[INFO] [stdout]    9:     0x6469f2037c48 - std::panicking::default_hook::h20f81eb0576efcec
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:322:9
[INFO] [stdout]   10:     0x6469f1fc3fe3 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hdb53814c496a4d34
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/alloc/src/boxed.rs:2027:9
[INFO] [stdout]   11:     0x6469f1fc3fe3 - test::test_main::{{closure}}::hc0a4963c59427c24
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:134:21
[INFO] [stdout]   12:     0x6469f2038923 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h591b2225413a77e9
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/alloc/src/boxed.rs:2027:9
[INFO] [stdout]   13:     0x6469f2038923 - std::panicking::rust_panic_with_hook::h625eea43051b2edc
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:839:13
[INFO] [stdout]   14:     0x6469f20385da - std::panicking::begin_panic_handler::{{closure}}::h4f9159cfbc3f6bd3
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:704:13
[INFO] [stdout]   15:     0x6469f2036f09 - std::sys::backtrace::__rust_end_short_backtrace::h0390abce48353151
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:168:18
[INFO] [stdout]   16:     0x6469f203826d - rust_begin_unwind
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:695:5
[INFO] [stdout]   17:     0x6469f205e280 - core::panicking::panic_fmt::h9e7c637e9e5f29c9
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/panicking.rs:75:14
[INFO] [stdout]   18:     0x6469f205e756 - core::result::unwrap_failed::h7979f09313fe1849
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/result.rs:1704:5
[INFO] [stdout]   19:     0x6469f1f77aad - core::result::Result<T,E>::expect::hcbdeaf44c72716dc
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/result.rs:1061:23
[INFO] [stdout]   20:     0x6469f1f0a836 - fmc::hbam::btree::HBAMFile::new::h58024346feffe65c
[INFO] [stdout]                                at /opt/rustwide/workdir/src/hbam/btree.rs:40:17
[INFO] [stdout]   21:     0x6469f1f0c51b - fmc::hbam::fs::HBAMInterface::new::h327b55171f23456d
[INFO] [stdout]                                at /opt/rustwide/workdir/src/hbam/fs.rs:18:20
[INFO] [stdout]   22:     0x6469f1f14835 - fmc::hbam::fs::tests::dir_traversal_test::hbf04f1c813404114
[INFO] [stdout]                                at /opt/rustwide/workdir/src/hbam/fs.rs:508:24
[INFO] [stdout]   23:     0x6469f1f147f7 - fmc::hbam::fs::tests::dir_traversal_test::{{closure}}::he6d12fc828626929
[INFO] [stdout]                                at /opt/rustwide/workdir/src/hbam/fs.rs:507:28
[INFO] [stdout]   24:     0x6469f1f665f6 - core::ops::function::FnOnce::call_once::had5afba472aa8e2a
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x6469f1fc973b - core::ops::function::FnOnce::call_once::he27718dfdd183f43
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x6469f1fc973b - test::__rust_begin_short_backtrace::h4e84902998457a5d
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:632:18
[INFO] [stdout]   27:     0x6469f1fc8673 - test::run_test_in_process::{{closure}}::h7176fd18fc1feca0
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:655:60
[INFO] [stdout]   28:     0x6469f1fc8673 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hf79cff2a624d8cf7
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   29:     0x6469f1fc8673 - std::panicking::try::do_call::h3da0561d9ab99c25
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:587:40
[INFO] [stdout]   30:     0x6469f1fc8673 - std::panicking::try::h41c9fa508bc61df6
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:550:19
[INFO] [stdout]   31:     0x6469f1fc8673 - std::panic::catch_unwind::h6b3ff07bb5afad93
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panic.rs:358:14
[INFO] [stdout]   32:     0x6469f1fc8673 - test::run_test_in_process::hc7253dd11b39b9f4
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:655:27
[INFO] [stdout]   33:     0x6469f1fc8673 - test::run_test::{{closure}}::hfb2007f8649c30bb
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:576:43
[INFO] [stdout]   34:     0x6469f1f8b755 - test::run_test::{{closure}}::h56a17aa7a282a9f4
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:606:41
[INFO] [stdout]   35:     0x6469f1f8b755 - std::sys::backtrace::__rust_begin_short_backtrace::hd2d2d2fb8e8c6aac
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:152:18
[INFO] [stdout]   36:     0x6469f1f8f03a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h4faa3f9db6133423
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/thread/mod.rs:559:17
[INFO] [stdout]   37:     0x6469f1f8f03a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hf2e855a36a4ea846
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   38:     0x6469f1f8f03a - std::panicking::try::do_call::h2f73af3616c35465
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:587:40
[INFO] [stdout]   39:     0x6469f1f8f03a - std::panicking::try::hd1660ce9efadef5a
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:550:19
[INFO] [stdout]   40:     0x6469f1f8f03a - std::panic::catch_unwind::h5ee8d7823b8ca744
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panic.rs:358:14
[INFO] [stdout]   41:     0x6469f1f8f03a - std::thread::Builder::spawn_unchecked_::{{closure}}::h53c3a1894dce8407
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/thread/mod.rs:557:30
[INFO] [stdout]   42:     0x6469f1f8f03a - core::ops::function::FnOnce::call_once{{vtable.shim}}::h048ce291ad4f62bf
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x6469f203cbfb - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::ha52bedf99a3b4981
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/alloc/src/boxed.rs:2013:9
[INFO] [stdout]   44:     0x6469f203cbfb - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h567748934d80ccf8
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/alloc/src/boxed.rs:2013:9
[INFO] [stdout]   45:     0x6469f203cbfb - std::sys::pal::unix::thread::Thread::new::thread_start::h2d970728ae887adc
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/pal/unix/thread.rs:106:17
[INFO] [stdout]   46:     0x753a424adac3 - <unknown>
[INFO] [stdout]   47:     0x753a4253ea04 - clone
[INFO] [stdout]   48:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- hbam::fs::tests::kv_set_test stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'hbam::fs::tests::kv_set_test' panicked at src/hbam/btree.rs:43:18:
[INFO] [stdout] Unable to open file.: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x6469f2036a0a - std::backtrace_rs::backtrace::libunwind::trace::hb059275cfc8d6126
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/../../backtrace/src/backtrace/libunwind.rs:116:5
[INFO] [stdout]    1:     0x6469f2036a0a - std::backtrace_rs::backtrace::trace_unsynchronized::h2da071e4327ce3ee
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x6469f2036a0a - std::sys::backtrace::_print_fmt::h842a1474e6f8d23f
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x6469f2036a0a - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h71a62eb3b9696b12
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x6469f2060683 - core::fmt::rt::Argument::fmt::hdb6b616786b41dc1
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/fmt/rt.rs:177:76
[INFO] [stdout]    5:     0x6469f2060683 - core::fmt::write::h2cc1698af7e2d686
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/fmt/mod.rs:1440:21
[INFO] [stdout]    6:     0x6469f20332e3 - std::io::Write::write_fmt::hab1b4cd059a79022
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/io/mod.rs:1887:15
[INFO] [stdout]    7:     0x6469f2036852 - std::sys::backtrace::BacktraceLock::print::h147fe35b4ea13b08
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    8:     0x6469f2037e2f - std::panicking::default_hook::{{closure}}::hbd44223dbdc0d208
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:298:22
[INFO] [stdout]    9:     0x6469f2037c48 - std::panicking::default_hook::h20f81eb0576efcec
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:322:9
[INFO] [stdout]   10:     0x6469f1fc3fe3 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hdb53814c496a4d34
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/alloc/src/boxed.rs:2027:9
[INFO] [stdout]   11:     0x6469f1fc3fe3 - test::test_main::{{closure}}::hc0a4963c59427c24
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:134:21
[INFO] [stdout]   12:     0x6469f2038923 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h591b2225413a77e9
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/alloc/src/boxed.rs:2027:9
[INFO] [stdout]   13:     0x6469f2038923 - std::panicking::rust_panic_with_hook::h625eea43051b2edc
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:839:13
[INFO] [stdout]   14:     0x6469f20385da - std::panicking::begin_panic_handler::{{closure}}::h4f9159cfbc3f6bd3
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:704:13
[INFO] [stdout]   15:     0x6469f2036f09 - std::sys::backtrace::__rust_end_short_backtrace::h0390abce48353151
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:168:18
[INFO] [stdout]   16:     0x6469f203826d - rust_begin_unwind
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:695:5
[INFO] [stdout]   17:     0x6469f205e280 - core::panicking::panic_fmt::h9e7c637e9e5f29c9
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/panicking.rs:75:14
[INFO] [stdout]   18:     0x6469f205e756 - core::result::unwrap_failed::h7979f09313fe1849
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/result.rs:1704:5
[INFO] [stdout]   19:     0x6469f1f77aad - core::result::Result<T,E>::expect::hcbdeaf44c72716dc
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/result.rs:1061:23
[INFO] [stdout]   20:     0x6469f1f0a836 - fmc::hbam::btree::HBAMFile::new::h58024346feffe65c
[INFO] [stdout]                                at /opt/rustwide/workdir/src/hbam/btree.rs:40:17
[INFO] [stdout]   21:     0x6469f1f0c51b - fmc::hbam::fs::HBAMInterface::new::h327b55171f23456d
[INFO] [stdout]                                at /opt/rustwide/workdir/src/hbam/fs.rs:18:20
[INFO] [stdout]   22:     0x6469f1f15ee8 - fmc::hbam::fs::tests::kv_set_test::h25a0fcd88dc7644b
[INFO] [stdout]                                at /opt/rustwide/workdir/src/hbam/fs.rs:564:24
[INFO] [stdout]   23:     0x6469f1f15ea7 - fmc::hbam::fs::tests::kv_set_test::{{closure}}::h699d94ca5de17877
[INFO] [stdout]                                at /opt/rustwide/workdir/src/hbam/fs.rs:563:21
[INFO] [stdout]   24:     0x6469f1f65406 - core::ops::function::FnOnce::call_once::h53927fbf7e8246a3
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x6469f1fc973b - core::ops::function::FnOnce::call_once::he27718dfdd183f43
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x6469f1fc973b - test::__rust_begin_short_backtrace::h4e84902998457a5d
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:632:18
[INFO] [stdout]   27:     0x6469f1fc8673 - test::run_test_in_process::{{closure}}::h7176fd18fc1feca0
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:655:60
[INFO] [stdout]   28:     0x6469f1fc8673 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hf79cff2a624d8cf7
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   29:     0x6469f1fc8673 - std::panicking::try::do_call::h3da0561d9ab99c25
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:587:40
[INFO] [stdout]   30:     0x6469f1fc8673 - std::panicking::try::h41c9fa508bc61df6
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:550:19
[INFO] [stdout]   31:     0x6469f1fc8673 - std::panic::catch_unwind::h6b3ff07bb5afad93
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panic.rs:358:14
[INFO] [stdout]   32:     0x6469f1fc8673 - test::run_test_in_process::hc7253dd11b39b9f4
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:655:27
[INFO] [stdout]   33:     0x6469f1fc8673 - test::run_test::{{closure}}::hfb2007f8649c30bb
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:576:43
[INFO] [stdout]   34:     0x6469f1f8b755 - test::run_test::{{closure}}::h56a17aa7a282a9f4
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:606:41
[INFO] [stdout]   35:     0x6469f1f8b755 - std::sys::backtrace::__rust_begin_short_backtrace::hd2d2d2fb8e8c6aac
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:152:18
[INFO] [stdout]   36:     0x6469f1f8f03a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h4faa3f9db6133423
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/thread/mod.rs:559:17
[INFO] [stdout]   37:     0x6469f1f8f03a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hf2e855a36a4ea846
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   38:     0x6469f1f8f03a - std::panicking::try::do_call::h2f73af3616c35465
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:587:40
[INFO] [stdout]   39:     0x6469f1f8f03a - std::panicking::try::hd1660ce9efadef5a
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:550:19
[INFO] [stdout]   40:     0x6469f1f8f03a - std::panic::catch_unwind::h5ee8d7823b8ca744
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panic.rs:358:14
[INFO] [stdout]   41:     0x6469f1f8f03a - std::thread::Builder::spawn_unchecked_::{{closure}}::h53c3a1894dce8407
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/thread/mod.rs:557:30
[INFO] [stdout]   42:     0x6469f1f8f03a - core::ops::function::FnOnce::call_once{{vtable.shim}}::h048ce291ad4f62bf
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x6469f203cbfb - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::ha52bedf99a3b4981
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/alloc/src/boxed.rs:2013:9
[INFO] [stdout]   44:     0x6469f203cbfb - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h567748934d80ccf8
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/alloc/src/boxed.rs:2013:9
[INFO] [stdout]   45:     0x6469f203cbfb - std::sys::pal::unix::thread::Thread::new::thread_start::h2d970728ae887adc
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/pal/unix/thread.rs:106:17
[INFO] [stdout]   46:     0x753a424adac3 - <unknown>
[INFO] [stdout]   47:     0x753a4253ea04 - clone
[INFO] [stdout]   48:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- hbam::fs::tests::long_kv_set_test stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'hbam::fs::tests::long_kv_set_test' panicked at src/hbam/btree.rs:43:18:
[INFO] [stdout] Unable to open file.: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x6469f2036a0a - std::backtrace_rs::backtrace::libunwind::trace::hb059275cfc8d6126
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/../../backtrace/src/backtrace/libunwind.rs:116:5
[INFO] [stdout]    1:     0x6469f2036a0a - std::backtrace_rs::backtrace::trace_unsynchronized::h2da071e4327ce3ee
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x6469f2036a0a - std::sys::backtrace::_print_fmt::h842a1474e6f8d23f
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x6469f2036a0a - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h71a62eb3b9696b12
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x6469f2060683 - core::fmt::rt::Argument::fmt::hdb6b616786b41dc1
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/fmt/rt.rs:177:76
[INFO] [stdout]    5:     0x6469f2060683 - core::fmt::write::h2cc1698af7e2d686
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/fmt/mod.rs:1440:21
[INFO] [stdout]    6:     0x6469f20332e3 - std::io::Write::write_fmt::hab1b4cd059a79022
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/io/mod.rs:1887:15
[INFO] [stdout]    7:     0x6469f2036852 - std::sys::backtrace::BacktraceLock::print::h147fe35b4ea13b08
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    8:     0x6469f2037e2f - std::panicking::default_hook::{{closure}}::hbd44223dbdc0d208
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:298:22
[INFO] [stdout]    9:     0x6469f2037c48 - std::panicking::default_hook::h20f81eb0576efcec
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:322:9
[INFO] [stdout]   10:     0x6469f1fc3fe3 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hdb53814c496a4d34
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/alloc/src/boxed.rs:2027:9
[INFO] [stdout]   11:     0x6469f1fc3fe3 - test::test_main::{{closure}}::hc0a4963c59427c24
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:134:21
[INFO] [stdout]   12:     0x6469f2038923 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h591b2225413a77e9
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/alloc/src/boxed.rs:2027:9
[INFO] [stdout]   13:     0x6469f2038923 - std::panicking::rust_panic_with_hook::h625eea43051b2edc
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:839:13
[INFO] [stdout]   14:     0x6469f20385da - std::panicking::begin_panic_handler::{{closure}}::h4f9159cfbc3f6bd3
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:704:13
[INFO] [stdout]   15:     0x6469f2036f09 - std::sys::backtrace::__rust_end_short_backtrace::h0390abce48353151
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:168:18
[INFO] [stdout]   16:     0x6469f203826d - rust_begin_unwind
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:695:5
[INFO] [stdout]   17:     0x6469f205e280 - core::panicking::panic_fmt::h9e7c637e9e5f29c9
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/panicking.rs:75:14
[INFO] [stdout]   18:     0x6469f205e756 - core::result::unwrap_failed::h7979f09313fe1849
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/result.rs:1704:5
[INFO] [stdout]   19:     0x6469f1f77aad - core::result::Result<T,E>::expect::hcbdeaf44c72716dc
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/result.rs:1061:23
[INFO] [stdout]   20:     0x6469f1f0a836 - fmc::hbam::btree::HBAMFile::new::h58024346feffe65c
[INFO] [stdout]                                at /opt/rustwide/workdir/src/hbam/btree.rs:40:17
[INFO] [stdout]   21:     0x6469f1f0c51b - fmc::hbam::fs::HBAMInterface::new::h327b55171f23456d
[INFO] [stdout]                                at /opt/rustwide/workdir/src/hbam/fs.rs:18:20
[INFO] [stdout]   22:     0x6469f1f16ac8 - fmc::hbam::fs::tests::long_kv_set_test::heb38ccf9a90f029f
[INFO] [stdout]                                at /opt/rustwide/workdir/src/hbam/fs.rs:579:24
[INFO] [stdout]   23:     0x6469f1f16a87 - fmc::hbam::fs::tests::long_kv_set_test::{{closure}}::hb1b3821049eb8ee0
[INFO] [stdout]                                at /opt/rustwide/workdir/src/hbam/fs.rs:578:26
[INFO] [stdout]   24:     0x6469f1f64a46 - core::ops::function::FnOnce::call_once::h18d7c42bfd3fa753
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x6469f1fc973b - core::ops::function::FnOnce::call_once::he27718dfdd183f43
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x6469f1fc973b - test::__rust_begin_short_backtrace::h4e84902998457a5d
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:632:18
[INFO] [stdout]   27:     0x6469f1fc8673 - test::run_test_in_process::{{closure}}::h7176fd18fc1feca0
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:655:60
[INFO] [stdout]   28:     0x6469f1fc8673 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hf79cff2a624d8cf7
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   29:     0x6469f1fc8673 - std::panicking::try::do_call::h3da0561d9ab99c25
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:587:40
[INFO] [stdout]   30:     0x6469f1fc8673 - std::panicking::try::h41c9fa508bc61df6
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:550:19
[INFO] [stdout]   31:     0x6469f1fc8673 - std::panic::catch_unwind::h6b3ff07bb5afad93
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panic.rs:358:14
[INFO] [stdout]   32:     0x6469f1fc8673 - test::run_test_in_process::hc7253dd11b39b9f4
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:655:27
[INFO] [stdout]   33:     0x6469f1fc8673 - test::run_test::{{closure}}::hfb2007f8649c30bb
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:576:43
[INFO] [stdout]   34:     0x6469f1f8b755 - test::run_test::{{closure}}::h56a17aa7a282a9f4
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:606:41
[INFO] [stdout]   35:     0x6469f1f8b755 - std::sys::backtrace::__rust_begin_short_backtrace::hd2d2d2fb8e8c6aac
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:152:18
[INFO] [stdout]   36:     0x6469f1f8f03a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h4faa3f9db6133423
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/thread/mod.rs:559:17
[INFO] [stdout]   37:     0x6469f1f8f03a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hf2e855a36a4ea846
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   38:     0x6469f1f8f03a - std::panicking::try::do_call::h2f73af3616c35465
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:587:40
[INFO] [stdout]   39:     0x6469f1f8f03a - std::panicking::try::hd1660ce9efadef5a
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:550:19
[INFO] [stdout]   40:     0x6469f1f8f03a - std::panic::catch_unwind::h5ee8d7823b8ca744
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panic.rs:358:14
[INFO] [stdout]   41:     0x6469f1f8f03a - std::thread::Builder::spawn_unchecked_::{{closure}}::h53c3a1894dce8407
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/thread/mod.rs:557:30
[INFO] [stdout]   42:     0x6469f1f8f03a - core::ops::function::FnOnce::call_once{{vtable.shim}}::h048ce291ad4f62bf
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x6469f203cbfb - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::ha52bedf99a3b4981
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/alloc/src/boxed.rs:2013:9
[INFO] [stdout]   44:     0x6469f203cbfb - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h567748934d80ccf8
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/alloc/src/boxed.rs:2013:9
[INFO] [stdout]   45:     0x6469f203cbfb - std::sys::pal::unix::thread::Thread::new::thread_start::h2d970728ae887adc
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/pal/unix/thread.rs:106:17
[INFO] [stdout]   46:     0x753a424adac3 - <unknown>
[INFO] [stdout]   47:     0x753a4253ea04 - clone
[INFO] [stdout]   48:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- hbam::fs::tests::kv_retrieval_test stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'hbam::fs::tests::kv_retrieval_test' panicked at src/hbam/btree.rs:43:18:
[INFO] [stdout] Unable to open file.: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x6469f2036a0a - std::backtrace_rs::backtrace::libunwind::trace::hb059275cfc8d6126
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/../../backtrace/src/backtrace/libunwind.rs:116:5
[INFO] [stdout]    1:     0x6469f2036a0a - std::backtrace_rs::backtrace::trace_unsynchronized::h2da071e4327ce3ee
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x6469f2036a0a - std::sys::backtrace::_print_fmt::h842a1474e6f8d23f
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x6469f2036a0a - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h71a62eb3b9696b12
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x6469f2060683 - core::fmt::rt::Argument::fmt::hdb6b616786b41dc1
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/fmt/rt.rs:177:76
[INFO] [stdout]    5:     0x6469f2060683 - core::fmt::write::h2cc1698af7e2d686
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/fmt/mod.rs:1440:21
[INFO] [stdout]    6:     0x6469f20332e3 - std::io::Write::write_fmt::hab1b4cd059a79022
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/io/mod.rs:1887:15
[INFO] [stdout]    7:     0x6469f2036852 - std::sys::backtrace::BacktraceLock::print::h147fe35b4ea13b08
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    8:     0x6469f2037e2f - std::panicking::default_hook::{{closure}}::hbd44223dbdc0d208
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:298:22
[INFO] [stdout]    9:     0x6469f2037c48 - std::panicking::default_hook::h20f81eb0576efcec
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:322:9
[INFO] [stdout]   10:     0x6469f1fc3fe3 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hdb53814c496a4d34
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/alloc/src/boxed.rs:2027:9
[INFO] [stdout]   11:     0x6469f1fc3fe3 - test::test_main::{{closure}}::hc0a4963c59427c24
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:134:21
[INFO] [stdout]   12:     0x6469f2038923 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h591b2225413a77e9
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/alloc/src/boxed.rs:2027:9
[INFO] [stdout]   13:     0x6469f2038923 - std::panicking::rust_panic_with_hook::h625eea43051b2edc
[INFO] [stderr] error: test failed, to rerun pass `--bin fmc`
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:839:13
[INFO] [stdout]   14:     0x6469f20385da - std::panicking::begin_panic_handler::{{closure}}::h4f9159cfbc3f6bd3
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:704:13
[INFO] [stdout]   15:     0x6469f2036f09 - std::sys::backtrace::__rust_end_short_backtrace::h0390abce48353151
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:168:18
[INFO] [stdout]   16:     0x6469f203826d - rust_begin_unwind
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:695:5
[INFO] [stdout]   17:     0x6469f205e280 - core::panicking::panic_fmt::h9e7c637e9e5f29c9
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/panicking.rs:75:14
[INFO] [stdout]   18:     0x6469f205e756 - core::result::unwrap_failed::h7979f09313fe1849
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/result.rs:1704:5
[INFO] [stdout]   19:     0x6469f1f77aad - core::result::Result<T,E>::expect::hcbdeaf44c72716dc
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/result.rs:1061:23
[INFO] [stdout]   20:     0x6469f1f0a836 - fmc::hbam::btree::HBAMFile::new::h58024346feffe65c
[INFO] [stdout]                                at /opt/rustwide/workdir/src/hbam/btree.rs:40:17
[INFO] [stdout]   21:     0x6469f1f0c51b - fmc::hbam::fs::HBAMInterface::new::h327b55171f23456d
[INFO] [stdout]                                at /opt/rustwide/workdir/src/hbam/fs.rs:18:20
[INFO] [stdout]   22:     0x6469f1f14f48 - fmc::hbam::fs::tests::kv_retrieval_test::h0dcf2627133a944b
[INFO] [stdout]                                at /opt/rustwide/workdir/src/hbam/fs.rs:529:24
[INFO] [stdout]   23:     0x6469f1f14f07 - fmc::hbam::fs::tests::kv_retrieval_test::{{closure}}::he6eae3cffdefb4c3
[INFO] [stdout]                                at /opt/rustwide/workdir/src/hbam/fs.rs:528:27
[INFO] [stdout]   24:     0x6469f1f652b6 - core::ops::function::FnOnce::call_once::h4c7c5f1f1601e0bf
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x6469f1fc973b - core::ops::function::FnOnce::call_once::he27718dfdd183f43
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x6469f1fc973b - test::__rust_begin_short_backtrace::h4e84902998457a5d
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:632:18
[INFO] [stdout]   27:     0x6469f1fc8673 - test::run_test_in_process::{{closure}}::h7176fd18fc1feca0
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:655:60
[INFO] [stdout]   28:     0x6469f1fc8673 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hf79cff2a624d8cf7
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   29:     0x6469f1fc8673 - std::panicking::try::do_call::h3da0561d9ab99c25
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:587:40
[INFO] [stdout]   30:     0x6469f1fc8673 - std::panicking::try::h41c9fa508bc61df6
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:550:19
[INFO] [stdout]   31:     0x6469f1fc8673 - std::panic::catch_unwind::h6b3ff07bb5afad93
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panic.rs:358:14
[INFO] [stdout]   32:     0x6469f1fc8673 - test::run_test_in_process::hc7253dd11b39b9f4
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:655:27
[INFO] [stdout]   33:     0x6469f1fc8673 - test::run_test::{{closure}}::hfb2007f8649c30bb
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:576:43
[INFO] [stdout]   34:     0x6469f1f8b755 - test::run_test::{{closure}}::h56a17aa7a282a9f4
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:606:41
[INFO] [stdout]   35:     0x6469f1f8b755 - std::sys::backtrace::__rust_begin_short_backtrace::hd2d2d2fb8e8c6aac
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:152:18
[INFO] [stdout]   36:     0x6469f1f8f03a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h4faa3f9db6133423
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/thread/mod.rs:559:17
[INFO] [stdout]   37:     0x6469f1f8f03a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hf2e855a36a4ea846
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   38:     0x6469f1f8f03a - std::panicking::try::do_call::h2f73af3616c35465
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:587:40
[INFO] [stdout]   39:     0x6469f1f8f03a - std::panicking::try::hd1660ce9efadef5a
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:550:19
[INFO] [stdout]   40:     0x6469f1f8f03a - std::panic::catch_unwind::h5ee8d7823b8ca744
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panic.rs:358:14
[INFO] [stdout]   41:     0x6469f1f8f03a - std::thread::Builder::spawn_unchecked_::{{closure}}::h53c3a1894dce8407
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/thread/mod.rs:557:30
[INFO] [stdout]   42:     0x6469f1f8f03a - core::ops::function::FnOnce::call_once{{vtable.shim}}::h048ce291ad4f62bf
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x6469f203cbfb - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::ha52bedf99a3b4981
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/alloc/src/boxed.rs:2013:9
[INFO] [stdout]   44:     0x6469f203cbfb - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h567748934d80ccf8
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/alloc/src/boxed.rs:2013:9
[INFO] [stdout]   45:     0x6469f203cbfb - std::sys::pal::unix::thread::Thread::new::thread_start::h2d970728ae887adc
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/pal/unix/thread.rs:106:17
[INFO] [stdout]   46:     0x753a424adac3 - <unknown>
[INFO] [stdout]   47:     0x753a4253ea04 - clone
[INFO] [stdout]   48:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     emulator2::database::tests::from_multi_cad_file
[INFO] [stdout]     hbam::fs::tests::dir_traversal_test
[INFO] [stdout]     hbam::fs::tests::kv_retrieval_test
[INFO] [stdout]     hbam::fs::tests::kv_set_test
[INFO] [stdout]     hbam::fs::tests::long_kv_set_test
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 51 passed; 5 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "f060346b70c071f7b43d988743c548089cb345ef1993912575a8aee1973917f7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f060346b70c071f7b43d988743c548089cb345ef1993912575a8aee1973917f7", kill_on_drop: false }`
[INFO] [stdout] f060346b70c071f7b43d988743c548089cb345ef1993912575a8aee1973917f7
