[INFO] cloning repository https://github.com/MrBTTF/jc-compiler
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/MrBTTF/jc-compiler" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMrBTTF%2Fjc-compiler", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMrBTTF%2Fjc-compiler'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 35c0932ed11a5f8be2f54b6d47f48016dba4c665
[INFO] testing MrBTTF/jc-compiler against nightly-2025-01-18 for randomize-layout-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMrBTTF%2Fjc-compiler" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/MrBTTF/jc-compiler 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/MrBTTF/jc-compiler
[INFO] finished tweaking git repo https://github.com/MrBTTF/jc-compiler
[INFO] tweaked toml for git repo https://github.com/MrBTTF/jc-compiler written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/MrBTTF/jc-compiler 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] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded ar v0.9.0
[INFO] [stderr]   Downloaded rstest v0.19.0
[INFO] [stderr]   Downloaded elf v0.7.4
[INFO] [stderr]   Downloaded rstest_macros v0.19.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/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] e7f8560f5b710693f95756d300595cbc49451f8aa42712ab89db5a28ab9fa8aa
[INFO] running `Command { std: "docker" "start" "-a" "e7f8560f5b710693f95756d300595cbc49451f8aa42712ab89db5a28ab9fa8aa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e7f8560f5b710693f95756d300595cbc49451f8aa42712ab89db5a28ab9fa8aa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e7f8560f5b710693f95756d300595cbc49451f8aa42712ab89db5a28ab9fa8aa", kill_on_drop: false }`
[INFO] [stdout] e7f8560f5b710693f95756d300595cbc49451f8aa42712ab89db5a28ab9fa8aa
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:819108c5571ea2e421544af4d832f968d213c87fbe3707a016657f43d2f853bc" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2025-01-18" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d95b4edddc0b3b75347e0e1f06983c102f69ab64cd97dd232dd75c6c98f7f2af
[INFO] running `Command { std: "docker" "start" "-a" "d95b4edddc0b3b75347e0e1f06983c102f69ab64cd97dd232dd75c6c98f7f2af", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.79
[INFO] [stderr]    Compiling futures-sink v0.3.30
[INFO] [stderr]    Compiling futures-core v0.3.30
[INFO] [stderr]    Compiling memchr v2.7.1
[INFO] [stderr]    Compiling regex-syntax v0.8.3
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]    Compiling futures-io v0.3.30
[INFO] [stderr]    Compiling pin-project-lite v0.2.13
[INFO] [stderr]    Compiling futures-task v0.3.30
[INFO] [stderr]    Compiling futures-channel v0.3.30
[INFO] [stderr]    Compiling rstest_macros v0.19.0
[INFO] [stderr]    Compiling rustix v0.38.34
[INFO] [stderr]    Compiling linux-raw-sys v0.4.14
[INFO] [stderr]    Compiling glob v0.3.1
[INFO] [stderr]    Compiling relative-path v1.9.2
[INFO] [stderr]    Compiling bitflags v2.5.0
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling futures-timer v3.0.3
[INFO] [stderr]    Compiling fastrand v2.1.0
[INFO] [stderr]    Compiling quote v1.0.35
[INFO] [stderr]    Compiling elf v0.7.4
[INFO] [stderr]    Compiling ar v0.9.0
[INFO] [stderr]    Compiling syn v2.0.55
[INFO] [stderr]    Compiling regex-automata v0.4.6
[INFO] [stderr]    Compiling tempfile v3.10.1
[INFO] [stderr]    Compiling regex v1.10.4
[INFO] [stderr]    Compiling futures-macro v0.3.30
[INFO] [stderr]    Compiling futures-util v0.3.30
[INFO] [stderr]    Compiling futures-executor v0.3.30
[INFO] [stderr]    Compiling futures v0.3.30
[INFO] [stderr]    Compiling rstest v0.19.0
[INFO] [stderr]    Compiling compiler v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `text::TextBuilder`
[INFO] [stdout]   --> src/emitter.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use text::TextBuilder;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AtomicUsize` and `Ordering`
[INFO] [stdout]  --> src/emitter/ast.rs:5:20
[INFO] [stdout]   |
[INFO] [stdout] 5 |     sync::atomic::{AtomicUsize, Ordering},
[INFO] [stdout]   |                    ^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Ident`
[INFO] [stdout]  --> src/emitter/data.rs:1:27
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::emitter::ast::{Ident, Literal, Loop};
[INFO] [stdout]   |                           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `borrow::BorrowMut`, `hash::Hash`, and `rc::Rc`
[INFO] [stdout]  --> src/emitter/data.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     borrow::BorrowMut,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 4 |     collections::{hash_map::Entry, HashMap},
[INFO] [stdout] 5 |     hash::Hash,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 6 |     mem,
[INFO] [stdout] 7 |     rc::Rc,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BTreeMap` and `hash_map::Entry`
[INFO] [stdout]  --> src/emitter/elf/sections.rs:2:19
[INFO] [stdout]   |
[INFO] [stdout] 2 |     collections::{hash_map::Entry, BTreeMap, HashMap},
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `elf::section`
[INFO] [stdout]  --> src/emitter/elf/sections.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use elf::section;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DataSymbol` and `SymbolType`
[INFO] [stdout]   --> src/emitter/elf/sections.rs:10:15
[INFO] [stdout]    |
[INFO] [stdout] 10 |     symbols::{DataSymbol, SymbolType},
[INFO] [stdout]    |               ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DataRef`
[INFO] [stdout]   --> src/emitter/elf/sections.rs:14:25
[INFO] [stdout]    |
[INFO] [stdout] 14 | use super::{defs, Data, DataRef};
[INFO] [stdout]    |                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `fmt::Result` and `hash_map::Entry`
[INFO] [stdout]  --> src/emitter/elf.rs:5:19
[INFO] [stdout]   |
[INFO] [stdout] 5 |     collections::{hash_map::Entry, HashMap},
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 6 |     fmt::Result,
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `elf::relocation`
[INFO] [stdout]   --> src/emitter/elf.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use elf::relocation;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ast`
[INFO] [stdout]   --> src/emitter/elf.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |     super::{ast, data::*},
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Ident`
[INFO] [stdout]  --> src/emitter/symbols.rs:3:42
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::{data::Data, DeclarationType, Ident};
[INFO] [stdout]   |                                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]  --> src/emitter/text/abi/linux.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::mem;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::emitter::elf::sections::DATA_SECTION_ADDRESS_START`
[INFO] [stdout]  --> src/emitter/text/abi/linux.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::emitter::elf::sections::DATA_SECTION_ADDRESS_START;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::code_context::Call`
[INFO] [stdout]  --> src/emitter/text/mnemonics.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use super::code_context::Call;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BTreeMap` and `mem`
[INFO] [stdout]  --> src/emitter/text.rs:5:19
[INFO] [stdout]   |
[INFO] [stdout] 5 |     collections::{BTreeMap, HashMap},
[INFO] [stdout]   |                   ^^^^^^^^
[INFO] [stdout] 6 |     mem,
[INFO] [stdout]   |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `btree_map`
[INFO] [stdout]  --> src/emitter/text/code_context.rs:2:19
[INFO] [stdout]   |
[INFO] [stdout] 2 |     collections::{btree_map, BTreeMap, HashMap},
[INFO] [stdout]   |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Section` and `SymbolType`
[INFO] [stdout]  --> src/emitter/text/code_context.rs:6:43
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::emitter::symbols::{Relocation, Section, Symbol, SymbolType};
[INFO] [stdout]   |                                           ^^^^^^^          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::emitter::text::mnemonics::Operand::Offset32`
[INFO] [stdout]    --> src/emitter/text/code_context.rs:197:9
[INFO] [stdout]     |
[INFO] [stdout] 197 |     use crate::emitter::text::mnemonics::Operand::Offset32;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CodeContext` and `mnemonics::*`
[INFO] [stdout]    --> src/emitter/text/code_context.rs:198:32
[INFO] [stdout]     |
[INFO] [stdout] 198 |     use crate::emitter::text::{mnemonics::*, CodeContext};
[INFO] [stdout]     |                                ^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::ident`
[INFO] [stdout]  --> src/parser/ast_printer.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::ident;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `iter`
[INFO] [stdout]  --> src/parser.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     iter,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lit_size`
[INFO] [stdout]   --> src/emitter/data.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let lit_size = lit.len(); //TODO
[INFO] [stdout]    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lit_size`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sections_size`
[INFO] [stdout]    --> src/emitter/elf/sections.rs:141:9
[INFO] [stdout]     |
[INFO] [stdout] 141 |     let sections_size: u64 = sections.iter().map(|s| s.sh_size).sum();
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sections_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/emitter/text/stdlib/windows.rs:33:46
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub fn print(code_context: &mut CodeContext, data: Data) {
[INFO] [stdout]    |                                              ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stmts`
[INFO] [stdout]   --> src/emitter/text.rs:86:30
[INFO] [stdout]    |
[INFO] [stdout] 86 |             Statement::Scope(stmts) => (),
[INFO] [stdout]    |                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_stmts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `return_type`
[INFO] [stdout]   --> src/emitter/text.rs:92:45
[INFO] [stdout]    |
[INFO] [stdout] 92 |         let ast::FuncDefinition(name, args, return_type, stmt_list) = func_def;
[INFO] [stdout]    |                                             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_return_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/emitter/text.rs:157:65
[INFO] [stdout]     |
[INFO] [stdout] 157 |                         .fold(vec![], |mut acc: Vec<Mnemonic>, (i, v)| {
[INFO] [stdout]     |                                                                 ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> src/emitter/text.rs:202:38
[INFO] [stdout]     |
[INFO] [stdout] 202 |                 ast::Literal::Number(n) => {
[INFO] [stdout]     |                                      ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/emitter/text.rs:185:17
[INFO] [stdout]     |
[INFO] [stdout] 185 |             let mut data = match exprs.first() {
[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: variant `Scope` is never constructed
[INFO] [stdout]   --> src/emitter/ast.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub enum Statement {
[INFO] [stdout]    |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 26 |     Scope(StatementList),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Statement` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_vec` is never used
[INFO] [stdout]    --> src/emitter/ast.rs:139:12
[INFO] [stdout]     |
[INFO] [stdout] 132 | impl Literal {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 139 |     pub fn as_vec(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `symbol`, `offset`, and `data` are never read
[INFO] [stdout]   --> src/emitter/data.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct DataRef {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 17 |     pub symbol: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 18 |     pub offset: usize,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 19 |     pub data: Vec<u8>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DataRef` 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 `align` is never used
[INFO] [stdout]    --> src/emitter/elf.rs:263:4
[INFO] [stdout]     |
[INFO] [stdout] 263 | fn align(mut v: Vec<u8>, alignment: usize) -> Vec<u8> {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_CLASS_NONE` is never used
[INFO] [stdout]  --> src/emitter/elf/defs.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub const ELF_CLASS_NONE: u8 = 0x0;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_CLASS_32_BIT` is never used
[INFO] [stdout]  --> src/emitter/elf/defs.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const ELF_CLASS_32_BIT: u8 = 0x1;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_DATA_NONE` is never used
[INFO] [stdout]  --> src/emitter/elf/defs.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const ELF_DATA_NONE: u8 = 0x0;
[INFO] [stdout]   |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_DATA_BIG_ENDIAN` is never used
[INFO] [stdout]  --> src/emitter/elf/defs.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const ELF_DATA_BIG_ENDIAN: u8 = 0x2;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_VERSION_NONE` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const ELF_VERSION_NONE: u8 = 0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_VERSION_NUM` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const ELF_VERSION_NUM: u8 = 2;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_OSABI_LINUX` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const ELF_OSABI_LINUX: u8 = 3;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_TYPE_NONE` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub const ELF_TYPE_NONE: u16 = 0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_TYPE_EXEC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:22:11
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub const ELF_TYPE_EXEC: u16 = 2;
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_TYPE_DYN` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:23:11
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub const ELF_TYPE_DYN: u16 = 3;
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_TYPE_CORE` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:24:11
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub const ELF_TYPE_CORE: u16 = 4;
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_TYPE_LOPROC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:25:11
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub const ELF_TYPE_LOPROC: u16 = 0xff00;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_TYPE_HIPROC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub const ELF_TYPE_HIPROC: u16 = 0xffff;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_NONE` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:28:11
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub const ELF_MACHINE_NONE: u16 = 0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_M32` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:29:11
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub const ELF_MACHINE_M32: u16 = 1;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_SPARC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:30:11
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub const ELF_MACHINE_SPARC: u16 = 2;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_386` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub const ELF_MACHINE_386: u16 = 3;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_68K` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:32:11
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub const ELF_MACHINE_68K: u16 = 4;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_88K` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:33:11
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub const ELF_MACHINE_88K: u16 = 5;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_486` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:34:11
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub const ELF_MACHINE_486: u16 = 6; /* Not used in Linux at least */
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_860` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:35:11
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub const ELF_MACHINE_860: u16 = 7;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_MIPS` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:36:11
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub const ELF_MACHINE_MIPS: u16 = 8; /* R3k, bigendian(?) */
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_MIPS_RS4_BE` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:37:11
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub const ELF_MACHINE_MIPS_RS4_BE: u16 = 10; /* R4k BE */
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_PARISC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:38:11
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub const ELF_MACHINE_PARISC: u16 = 15;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_SPARC32PLUS` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:39:11
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub const ELF_MACHINE_SPARC32PLUS: u16 = 18;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_PPC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:40:11
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub const ELF_MACHINE_PPC: u16 = 20;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_PPC64` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:41:11
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub const ELF_MACHINE_PPC64: u16 = 21;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_S390` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:42:11
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub const ELF_MACHINE_S390: u16 = 22;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_SH` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:43:11
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub const ELF_MACHINE_SH: u16 = 42;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_SPARCV9` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:44:11
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub const ELF_MACHINE_SPARCV9: u16 = 43; /* v9 = SPARC64 */
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_H8_300H` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:45:11
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub const ELF_MACHINE_H8_300H: u16 = 47;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_H8S` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:46:11
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub const ELF_MACHINE_H8S: u16 = 48;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_IA_64` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:47:11
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub const ELF_MACHINE_IA_64: u16 = 50;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_CRIS` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:49:11
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub const ELF_MACHINE_CRIS: u16 = 76;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_V850` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:50:11
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub const ELF_MACHINE_V850: u16 = 87;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_ALPHA` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:51:11
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub const ELF_MACHINE_ALPHA: u16 = 0x9026; /* Interim Alpha that stuck around */
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_CYGNUS_V850` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:52:11
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub const ELF_MACHINE_CYGNUS_V850: u16 = 0x9080; /* Old v850 ID used by Cygnus */
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_S390_OLD` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:53:11
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub const ELF_MACHINE_S390_OLD: u16 = 0xA390; /* Obsolete interim value for S/390 */
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_NULL` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:55:11
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub const PROGRAM_TYPE_NULL: u32 = 0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_LOAD` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:56:11
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub const PROGRAM_TYPE_LOAD: u32 = 1;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_DYNAMIC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:57:11
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub const PROGRAM_TYPE_DYNAMIC: u32 = 2;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_INTERP` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:58:11
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub const PROGRAM_TYPE_INTERP: u32 = 3;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_NOTE` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:59:11
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub const PROGRAM_TYPE_NOTE: u32 = 4;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_SHLIB` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:60:11
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub const PROGRAM_TYPE_SHLIB: u32 = 5;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_PHDR` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:61:11
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub const PROGRAM_TYPE_PHDR: u32 = 6;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_LOOS` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:62:11
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub const PROGRAM_TYPE_LOOS: u32 = 0x60000000;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_HIOS` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:63:11
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub const PROGRAM_TYPE_HIOS: u32 = 0x6fffffff;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_LOPROC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:64:11
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub const PROGRAM_TYPE_LOPROC: u32 = 0x70000000;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_HIPROC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:65:11
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub const PROGRAM_TYPE_HIPROC: u32 = 0x7fffffff;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_GNU_EH_FRAME` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:66:11
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub const PROGRAM_TYPE_GNU_EH_FRAME: u32 = 0x6474e550; /* Extension, eh? */
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_HEADER_EXEC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:68:11
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub const PROGRAM_HEADER_EXEC: u32 = 0x1;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_HEADER_WRITE` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:69:11
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub const PROGRAM_HEADER_WRITE: u32 = 0x2;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_HEADER_READ` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:70:11
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub const PROGRAM_HEADER_READ: u32 = 0x4;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_NULL` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:72:11
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub const SEGMENT_TYPE_NULL: u32 = 0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_HASH` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:77:11
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub const SEGMENT_TYPE_HASH: u32 = 5;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_DYNAMIC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:78:11
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub const SEGMENT_TYPE_DYNAMIC: u32 = 6;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_NOTE` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:79:11
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub const SEGMENT_TYPE_NOTE: u32 = 7;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_NOBITS` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:80:11
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub const SEGMENT_TYPE_NOBITS: u32 = 8;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_REL` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:81:11
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub const SEGMENT_TYPE_REL: u32 = 9;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_SHLIB` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:82:11
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub const SEGMENT_TYPE_SHLIB: u32 = 10;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_DYNSYM` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:83:11
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub const SEGMENT_TYPE_DYNSYM: u32 = 11;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_INIT_ARRAY` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:84:11
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub const SEGMENT_TYPE_INIT_ARRAY: u32 = 14;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_FINI_ARRAY` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:85:11
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub const SEGMENT_TYPE_FINI_ARRAY: u32 = 15;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_PREINIT_ARRAY` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:86:11
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub const SEGMENT_TYPE_PREINIT_ARRAY: u32 = 16;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_GROUP` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:87:11
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub const SEGMENT_TYPE_GROUP: u32 = 17;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_SYMTAB_SHNDX` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:88:11
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub const SEGMENT_TYPE_SYMTAB_SHNDX: u32 = 18;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_LOPROC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:89:11
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub const SEGMENT_TYPE_LOPROC: u32 = 0x70000000;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_HIPROC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:90:11
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub const SEGMENT_TYPE_HIPROC: u32 = 0x7fffffff;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_LOUSER` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:91:11
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub const SEGMENT_TYPE_LOUSER: u32 = 0x80000000;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_HIUSER` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:92:11
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub const SEGMENT_TYPE_HIUSER: u32 = 0xffffffff;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_FLAGS_MERGE` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:98:11
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub const SEGMENT_FLAGS_MERGE: u64 = 1 << 4; /* Might be merged */
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_FLAGS_STRINGS` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:99:11
[INFO] [stdout]    |
[INFO] [stdout] 99 | pub const SEGMENT_FLAGS_STRINGS: u64 = 1 << 5; /* Contains nul-terminated strings */
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_FLAGS_INFO_LINK` is never used
[INFO] [stdout]    --> src/emitter/elf/defs.rs:100:11
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub const SEGMENT_FLAGS_INFO_LINK: u64 = 1 << 6; /* `sh_info' contains SHT index */
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_FLAGS_LINK_ORDER` is never used
[INFO] [stdout]    --> src/emitter/elf/defs.rs:101:11
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub const SEGMENT_FLAGS_LINK_ORDER: u64 = 1 << 7; /* Preserve order after combining */
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_FLAGS_OS_NONCONFORMING` is never used
[INFO] [stdout]    --> src/emitter/elf/defs.rs:102:11
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub const SEGMENT_FLAGS_OS_NONCONFORMING: u64 = 1 << 8; /* Non-standard OS specific handling required */
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_FLAGS_GROUP` is never used
[INFO] [stdout]    --> src/emitter/elf/defs.rs:103:11
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub const SEGMENT_FLAGS_GROUP: u64 = 1 << 9; /* Section is member of a group */
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_FLAGS_TLS` is never used
[INFO] [stdout]    --> src/emitter/elf/defs.rs:104:11
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub const SEGMENT_FLAGS_TLS: u64 = 1 << 10; /* Section hold thread-local data */
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DATA_SECTION_OFFSET` is never used
[INFO] [stdout]   --> src/emitter/elf/sections.rs:19:7
[INFO] [stdout]    |
[INFO] [stdout] 19 | const DATA_SECTION_OFFSET: DWord =
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DATA_SECTION_ADDRESS_START` is never used
[INFO] [stdout]   --> src/emitter/elf/sections.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub const DATA_SECTION_ADDRESS_START: DWord = VIRTUAL_ADDRESS_START + DATA_SECTION_OFFSET;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_symtab_section_header` is never used
[INFO] [stdout]    --> src/emitter/elf/sections.rs:195:8
[INFO] [stdout]     |
[INFO] [stdout] 195 | pub fn build_symtab_section_header() -> SectionHeader {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_strtab_section_header` is never used
[INFO] [stdout]    --> src/emitter/elf/sections.rs:210:8
[INFO] [stdout]     |
[INFO] [stdout] 210 | pub fn build_strtab_section_header() -> SectionHeader {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_rel_text_section_header` is never used
[INFO] [stdout]    --> src/emitter/elf/sections.rs:225:8
[INFO] [stdout]     |
[INFO] [stdout] 225 | pub fn build_rel_text_section_header() -> SectionHeader {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Runtime` is never constructed
[INFO] [stdout]   --> src/emitter/symbols.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub enum DataSymbol {
[INFO] [stdout]    |          ---------- variant in this enum
[INFO] [stdout] 13 |     Comptime,
[INFO] [stdout] 14 |     Runtime,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DataSymbol` 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 `Undefined` and `Absolute` are never constructed
[INFO] [stdout]   --> src/emitter/symbols.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub enum Section {
[INFO] [stdout]    |          ------- variants in this enum
[INFO] [stdout] 19 |     Undefined,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     Absolute,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Section` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Global` is never constructed
[INFO] [stdout]   --> src/emitter/symbols.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub enum SymbolScope {
[INFO] [stdout]    |          ----------- variant in this enum
[INFO] [stdout] 27 |     Local,
[INFO] [stdout] 28 |     Global,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SymbolScope` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/emitter/text/abi/linux.rs:18:10
[INFO] [stdout]    |
[INFO] [stdout] 18 |     Data(i64),
[INFO] [stdout]    |     ---- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Arg` 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] 18 |     Data(()),
[INFO] [stdout]    |          ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/emitter/text/abi/linux.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 |     Stack(i64),
[INFO] [stdout]    |     ----- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Arg` 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] 19 |     Stack(()),
[INFO] [stdout]    |           ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/emitter/text/abi/windows.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 |     Data(i64),
[INFO] [stdout]    |     ---- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Arg` 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] 10 |     Data(()),
[INFO] [stdout]    |          ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/emitter/text/abi/windows.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 |     Stack(i64),
[INFO] [stdout]    |     ----- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Arg` 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 |     Stack(()),
[INFO] [stdout]    |           ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ARG_REGISTERS` is never used
[INFO] [stdout]   --> src/emitter/text/abi/windows.rs:22:11
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub const ARG_REGISTERS: &[register::Register] =
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `push_args` is never used
[INFO] [stdout]   --> src/emitter/text/abi/windows.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub fn push_args(code_context: &mut CodeContext, args: &[Data]) {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pop_args` is never used
[INFO] [stdout]   --> src/emitter/text/abi/windows.rs:45:8
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub fn pop_args(code_context: &mut CodeContext, args_count: usize) {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REGISTER_EXT_INDEX` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const REGISTER_EXT_INDEX: u8 = 0x30;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REX_X` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | const REX_X: u8 = 0b01000010;
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MOD_ADDRESS` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:20:7
[INFO] [stdout]    |
[INFO] [stdout] 20 | const MOD_ADDRESS: u8 = 0b00;
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Offset8` is never constructed
[INFO] [stdout]    --> src/emitter/text/mnemonics.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub enum Operand {
[INFO] [stdout]     |          ------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 120 |     Offset8(u8),
[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: methods `get_name`, `set_op1`, and `set_op2` are never used
[INFO] [stdout]    --> src/emitter/text/mnemonics.rs:272:12
[INFO] [stdout]     |
[INFO] [stdout] 254 | impl Mnemonic {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 272 |     pub fn get_name(&self) -> MnemonicName {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 276 |     pub fn set_op1(&mut self, op: impl Into<Operand>) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 280 |     pub fn set_op2(&mut self, op: impl Into<Operand>) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Jg`, `Jge`, `Je`, and `Jz` are never constructed
[INFO] [stdout]    --> src/emitter/text/mnemonics.rs:561:5
[INFO] [stdout]     |
[INFO] [stdout] 543 | pub enum MnemonicName {
[INFO] [stdout]     |          ------------ variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 561 |     Jg,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 562 |     Jge,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 563 |     Je,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 564 |     Jz,
[INFO] [stdout]     |     ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MnemonicName` 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 `AX` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:76:9
[INFO] [stdout]    |
[INFO] [stdout] 76 |         AX = (0x0),
[INFO] [stdout]    |         ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EAX` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:57:35
[INFO] [stdout]    |
[INFO] [stdout] 57 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 | /     registers!(
[INFO] [stdout] 76 | |         AX = (0x0),
[INFO] [stdout] 77 | |         CX = (0x1),
[INFO] [stdout] 78 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |         R10 = (0x2, ext)
[INFO] [stdout] 87 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CX` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:77:9
[INFO] [stdout]    |
[INFO] [stdout] 77 |         CX = (0x1),
[INFO] [stdout]    |         ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ECX` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:57:35
[INFO] [stdout]    |
[INFO] [stdout] 57 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 | /     registers!(
[INFO] [stdout] 76 | |         AX = (0x0),
[INFO] [stdout] 77 | |         CX = (0x1),
[INFO] [stdout] 78 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |         R10 = (0x2, ext)
[INFO] [stdout] 87 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DX` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:78:9
[INFO] [stdout]    |
[INFO] [stdout] 78 |         DX = (0x2),
[INFO] [stdout]    |         ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EDX` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:57:35
[INFO] [stdout]    |
[INFO] [stdout] 57 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 | /     registers!(
[INFO] [stdout] 76 | |         AX = (0x0),
[INFO] [stdout] 77 | |         CX = (0x1),
[INFO] [stdout] 78 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |         R10 = (0x2, ext)
[INFO] [stdout] 87 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BX` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:79:9
[INFO] [stdout]    |
[INFO] [stdout] 79 |         BX = (0x3),
[INFO] [stdout]    |         ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EBX` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:57:35
[INFO] [stdout]    |
[INFO] [stdout] 57 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 | /     registers!(
[INFO] [stdout] 76 | |         AX = (0x0),
[INFO] [stdout] 77 | |         CX = (0x1),
[INFO] [stdout] 78 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |         R10 = (0x2, ext)
[INFO] [stdout] 87 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SP` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |         SP = (0x4),
[INFO] [stdout]    |         ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ESP` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:57:35
[INFO] [stdout]    |
[INFO] [stdout] 57 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 | /     registers!(
[INFO] [stdout] 76 | |         AX = (0x0),
[INFO] [stdout] 77 | |         CX = (0x1),
[INFO] [stdout] 78 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |         R10 = (0x2, ext)
[INFO] [stdout] 87 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BP` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:81:9
[INFO] [stdout]    |
[INFO] [stdout] 81 |         BP = (0x5),
[INFO] [stdout]    |         ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EBP` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:57:35
[INFO] [stdout]    |
[INFO] [stdout] 57 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 | /     registers!(
[INFO] [stdout] 76 | |         AX = (0x0),
[INFO] [stdout] 77 | |         CX = (0x1),
[INFO] [stdout] 78 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |         R10 = (0x2, ext)
[INFO] [stdout] 87 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SI` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |         SI = (0x6),
[INFO] [stdout]    |         ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ESI` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:57:35
[INFO] [stdout]    |
[INFO] [stdout] 57 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 | /     registers!(
[INFO] [stdout] 76 | |         AX = (0x0),
[INFO] [stdout] 77 | |         CX = (0x1),
[INFO] [stdout] 78 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |         R10 = (0x2, ext)
[INFO] [stdout] 87 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DI` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:83:9
[INFO] [stdout]    |
[INFO] [stdout] 83 |         DI = (0x7),
[INFO] [stdout]    |         ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EDI` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:57:35
[INFO] [stdout]    |
[INFO] [stdout] 57 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 | /     registers!(
[INFO] [stdout] 76 | |         AX = (0x0),
[INFO] [stdout] 77 | |         CX = (0x1),
[INFO] [stdout] 78 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |         R10 = (0x2, ext)
[INFO] [stdout] 87 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `R8D` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:64:35
[INFO] [stdout]    |
[INFO] [stdout] 64 |                           pub const [<$name D>]: Register = Register::new($attr, RegisterSize::D, true );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 | /     registers!(
[INFO] [stdout] 76 | |         AX = (0x0),
[INFO] [stdout] 77 | |         CX = (0x1),
[INFO] [stdout] 78 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |         R10 = (0x2, ext)
[INFO] [stdout] 87 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `R8W` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:65:35
[INFO] [stdout]    |
[INFO] [stdout] 65 |                           pub const [<$name W>]: Register = Register::new($attr, RegisterSize::W, true);
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 | /     registers!(
[INFO] [stdout] 76 | |         AX = (0x0),
[INFO] [stdout] 77 | |         CX = (0x1),
[INFO] [stdout] 78 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |         R10 = (0x2, ext)
[INFO] [stdout] 87 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `R9D` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:64:35
[INFO] [stdout]    |
[INFO] [stdout] 64 |                           pub const [<$name D>]: Register = Register::new($attr, RegisterSize::D, true );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 | /     registers!(
[INFO] [stdout] 76 | |         AX = (0x0),
[INFO] [stdout] 77 | |         CX = (0x1),
[INFO] [stdout] 78 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |         R10 = (0x2, ext)
[INFO] [stdout] 87 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `R9W` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:65:35
[INFO] [stdout]    |
[INFO] [stdout] 65 |                           pub const [<$name W>]: Register = Register::new($attr, RegisterSize::W, true);
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 | /     registers!(
[INFO] [stdout] 76 | |         AX = (0x0),
[INFO] [stdout] 77 | |         CX = (0x1),
[INFO] [stdout] 78 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |         R10 = (0x2, ext)
[INFO] [stdout] 87 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `R10` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:86:9
[INFO] [stdout]    |
[INFO] [stdout] 86 |         R10 = (0x2, ext)
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `R10D` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:64:35
[INFO] [stdout]    |
[INFO] [stdout] 64 |                           pub const [<$name D>]: Register = Register::new($attr, RegisterSize::D, true );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 | /     registers!(
[INFO] [stdout] 76 | |         AX = (0x0),
[INFO] [stdout] 77 | |         CX = (0x1),
[INFO] [stdout] 78 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |         R10 = (0x2, ext)
[INFO] [stdout] 87 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `R10W` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:65:35
[INFO] [stdout]    |
[INFO] [stdout] 65 |                           pub const [<$name W>]: Register = Register::new($attr, RegisterSize::W, true);
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 | /     registers!(
[INFO] [stdout] 76 | |         AX = (0x0),
[INFO] [stdout] 77 | |         CX = (0x1),
[INFO] [stdout] 78 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |         R10 = (0x2, ext)
[INFO] [stdout] 87 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `symbol` and `offsets` are never read
[INFO] [stdout]   --> src/emitter/text/code_context.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct Call {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] 15 |     pub symbol: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 16 |     pub offsets: Vec<usize>,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Call` 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 `calls`, `const_data`, `symbols`, and `image_base` are never read
[INFO] [stdout]   --> src/emitter/text/code_context.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct CodeContext {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 24 |     calls: BTreeMap<String, Call>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 25 |     const_data: BTreeMap<usize, DataRef>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 26 |     labels: BTreeMap<String, usize>,
[INFO] [stdout] 27 |     symbols: BTreeMap<String, Symbol>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 28 |     relocations: Vec<Relocation>,
[INFO] [stdout] 29 |     image_base: u64,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CodeContext` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/emitter/text/code_context.rs:64:12
[INFO] [stdout]     |
[INFO] [stdout] 32  | impl CodeContext {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 64  |     pub fn with_const_data(&mut self, symbol: &str, data: Vec<u8>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 85  |     pub fn get_pc(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 89  |     pub fn get(&self, i: usize) -> Mnemonic {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 93  |     pub fn get_mut(&mut self, i: usize) -> &mut Mnemonic {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 97  |     pub fn get_offset(&self, i: usize) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 |     pub fn get_code_size_with_calls(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub fn get_calls(&self) -> BTreeMap<String, Call> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub fn get_const_data(&self) -> BTreeMap<usize, DataRef> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn get_label_offset(&self, label: &str) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 133 |     pub fn compute_calls(
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 160 |     pub fn compute_data(&mut self, data_section_start: u32, const_data: BTreeMap<usize, DataRef>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compile_asm` is never used
[INFO] [stdout]    --> src/emitter/text/code_context.rs:202:8
[INFO] [stdout]     |
[INFO] [stdout] 202 |     fn compile_asm(code: &str) -> Vec<u8> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_eq_hex` is never used
[INFO] [stdout]    --> src/emitter/text/code_context.rs:234:8
[INFO] [stdout]     |
[INFO] [stdout] 234 |     fn assert_eq_hex(actual: Vec<u8>, expected: Vec<u8>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Io` is never used
[INFO] [stdout]  --> src/emitter/text/stdlib/windows.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub enum Io {
[INFO] [stdout]   |          ^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Io` 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 `print` is never used
[INFO] [stdout]   --> src/emitter/text/stdlib/windows.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub fn print(code_context: &mut CodeContext, data: Data) {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `printd` is never used
[INFO] [stdout]   --> src/emitter/text/stdlib/windows.rs:54:8
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub fn printd(code_context: &mut CodeContext) {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `exit` is never used
[INFO] [stdout]   --> src/emitter/text/stdlib/windows.rs:60:8
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub fn exit(code_context: &mut CodeContext, exit_code: u64) {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 32.70s
[INFO] running `Command { std: "docker" "inspect" "d95b4edddc0b3b75347e0e1f06983c102f69ab64cd97dd232dd75c6c98f7f2af", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d95b4edddc0b3b75347e0e1f06983c102f69ab64cd97dd232dd75c6c98f7f2af", kill_on_drop: false }`
[INFO] [stdout] d95b4edddc0b3b75347e0e1f06983c102f69ab64cd97dd232dd75c6c98f7f2af
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:819108c5571ea2e421544af4d832f968d213c87fbe3707a016657f43d2f853bc" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2025-01-18" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3fba1bed2ab202398e4626e716d0f35d0a7abde229f70bd2dcef1c8c4bbb5fe4
[INFO] running `Command { std: "docker" "start" "-a" "3fba1bed2ab202398e4626e716d0f35d0a7abde229f70bd2dcef1c8c4bbb5fe4", kill_on_drop: false }`
[INFO] [stderr]    Compiling compiler v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `text::TextBuilder`
[INFO] [stdout]   --> src/emitter.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use text::TextBuilder;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AtomicUsize` and `Ordering`
[INFO] [stdout]  --> src/emitter/ast.rs:5:20
[INFO] [stdout]   |
[INFO] [stdout] 5 |     sync::atomic::{AtomicUsize, Ordering},
[INFO] [stdout]   |                    ^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Ident`
[INFO] [stdout]  --> src/emitter/data.rs:1:27
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::emitter::ast::{Ident, Literal, Loop};
[INFO] [stdout]   |                           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `borrow::BorrowMut`, `hash::Hash`, and `rc::Rc`
[INFO] [stdout]  --> src/emitter/data.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     borrow::BorrowMut,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 4 |     collections::{hash_map::Entry, HashMap},
[INFO] [stdout] 5 |     hash::Hash,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 6 |     mem,
[INFO] [stdout] 7 |     rc::Rc,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BTreeMap` and `hash_map::Entry`
[INFO] [stdout]  --> src/emitter/elf/sections.rs:2:19
[INFO] [stdout]   |
[INFO] [stdout] 2 |     collections::{hash_map::Entry, BTreeMap, HashMap},
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `elf::section`
[INFO] [stdout]  --> src/emitter/elf/sections.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use elf::section;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DataSymbol` and `SymbolType`
[INFO] [stdout]   --> src/emitter/elf/sections.rs:10:15
[INFO] [stdout]    |
[INFO] [stdout] 10 |     symbols::{DataSymbol, SymbolType},
[INFO] [stdout]    |               ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DataRef`
[INFO] [stdout]   --> src/emitter/elf/sections.rs:14:25
[INFO] [stdout]    |
[INFO] [stdout] 14 | use super::{defs, Data, DataRef};
[INFO] [stdout]    |                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `fmt::Result` and `hash_map::Entry`
[INFO] [stdout]  --> src/emitter/elf.rs:5:19
[INFO] [stdout]   |
[INFO] [stdout] 5 |     collections::{hash_map::Entry, HashMap},
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 6 |     fmt::Result,
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `elf::relocation`
[INFO] [stdout]   --> src/emitter/elf.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use elf::relocation;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ast`
[INFO] [stdout]   --> src/emitter/elf.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |     super::{ast, data::*},
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Ident`
[INFO] [stdout]  --> src/emitter/symbols.rs:3:42
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::{data::Data, DeclarationType, Ident};
[INFO] [stdout]   |                                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]  --> src/emitter/text/abi/linux.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::mem;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::emitter::elf::sections::DATA_SECTION_ADDRESS_START`
[INFO] [stdout]  --> src/emitter/text/abi/linux.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::emitter::elf::sections::DATA_SECTION_ADDRESS_START;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::code_context::Call`
[INFO] [stdout]  --> src/emitter/text/mnemonics.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use super::code_context::Call;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BTreeMap` and `mem`
[INFO] [stdout]  --> src/emitter/text.rs:5:19
[INFO] [stdout]   |
[INFO] [stdout] 5 |     collections::{BTreeMap, HashMap},
[INFO] [stdout]   |                   ^^^^^^^^
[INFO] [stdout] 6 |     mem,
[INFO] [stdout]   |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `btree_map`
[INFO] [stdout]  --> src/emitter/text/code_context.rs:2:19
[INFO] [stdout]   |
[INFO] [stdout] 2 |     collections::{btree_map, BTreeMap, HashMap},
[INFO] [stdout]   |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Section` and `SymbolType`
[INFO] [stdout]  --> src/emitter/text/code_context.rs:6:43
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::emitter::symbols::{Relocation, Section, Symbol, SymbolType};
[INFO] [stdout]   |                                           ^^^^^^^          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::emitter::text::mnemonics::Operand::Offset32`
[INFO] [stdout]    --> src/emitter/text/code_context.rs:197:9
[INFO] [stdout]     |
[INFO] [stdout] 197 |     use crate::emitter::text::mnemonics::Operand::Offset32;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CodeContext` and `mnemonics::*`
[INFO] [stdout]    --> src/emitter/text/code_context.rs:198:32
[INFO] [stdout]     |
[INFO] [stdout] 198 |     use crate::emitter::text::{mnemonics::*, CodeContext};
[INFO] [stdout]     |                                ^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::ident`
[INFO] [stdout]  --> src/parser/ast_printer.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::ident;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `iter`
[INFO] [stdout]  --> src/parser.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     iter,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lit_size`
[INFO] [stdout]   --> src/emitter/data.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let lit_size = lit.len(); //TODO
[INFO] [stdout]    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lit_size`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sections_size`
[INFO] [stdout]    --> src/emitter/elf/sections.rs:141:9
[INFO] [stdout]     |
[INFO] [stdout] 141 |     let sections_size: u64 = sections.iter().map(|s| s.sh_size).sum();
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sections_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/emitter/text/stdlib/windows.rs:33:46
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub fn print(code_context: &mut CodeContext, data: Data) {
[INFO] [stdout]    |                                              ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stmts`
[INFO] [stdout]   --> src/emitter/text.rs:86:30
[INFO] [stdout]    |
[INFO] [stdout] 86 |             Statement::Scope(stmts) => (),
[INFO] [stdout]    |                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_stmts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `return_type`
[INFO] [stdout]   --> src/emitter/text.rs:92:45
[INFO] [stdout]    |
[INFO] [stdout] 92 |         let ast::FuncDefinition(name, args, return_type, stmt_list) = func_def;
[INFO] [stdout]    |                                             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_return_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/emitter/text.rs:157:65
[INFO] [stdout]     |
[INFO] [stdout] 157 |                         .fold(vec![], |mut acc: Vec<Mnemonic>, (i, v)| {
[INFO] [stdout]     |                                                                 ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> src/emitter/text.rs:202:38
[INFO] [stdout]     |
[INFO] [stdout] 202 |                 ast::Literal::Number(n) => {
[INFO] [stdout]     |                                      ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/emitter/text.rs:185:17
[INFO] [stdout]     |
[INFO] [stdout] 185 |             let mut data = match exprs.first() {
[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: variant `Scope` is never constructed
[INFO] [stdout]   --> src/emitter/ast.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub enum Statement {
[INFO] [stdout]    |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 26 |     Scope(StatementList),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Statement` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_vec` is never used
[INFO] [stdout]    --> src/emitter/ast.rs:139:12
[INFO] [stdout]     |
[INFO] [stdout] 132 | impl Literal {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 139 |     pub fn as_vec(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `symbol`, `offset`, and `data` are never read
[INFO] [stdout]   --> src/emitter/data.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct DataRef {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 17 |     pub symbol: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 18 |     pub offset: usize,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 19 |     pub data: Vec<u8>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DataRef` 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 `align` is never used
[INFO] [stdout]    --> src/emitter/elf.rs:263:4
[INFO] [stdout]     |
[INFO] [stdout] 263 | fn align(mut v: Vec<u8>, alignment: usize) -> Vec<u8> {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_CLASS_NONE` is never used
[INFO] [stdout]  --> src/emitter/elf/defs.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub const ELF_CLASS_NONE: u8 = 0x0;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_CLASS_32_BIT` is never used
[INFO] [stdout]  --> src/emitter/elf/defs.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const ELF_CLASS_32_BIT: u8 = 0x1;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_DATA_NONE` is never used
[INFO] [stdout]  --> src/emitter/elf/defs.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const ELF_DATA_NONE: u8 = 0x0;
[INFO] [stdout]   |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_DATA_BIG_ENDIAN` is never used
[INFO] [stdout]  --> src/emitter/elf/defs.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const ELF_DATA_BIG_ENDIAN: u8 = 0x2;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_VERSION_NONE` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const ELF_VERSION_NONE: u8 = 0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_VERSION_NUM` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const ELF_VERSION_NUM: u8 = 2;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_OSABI_LINUX` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const ELF_OSABI_LINUX: u8 = 3;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_TYPE_NONE` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub const ELF_TYPE_NONE: u16 = 0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_TYPE_EXEC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:22:11
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub const ELF_TYPE_EXEC: u16 = 2;
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_TYPE_DYN` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:23:11
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub const ELF_TYPE_DYN: u16 = 3;
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_TYPE_CORE` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:24:11
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub const ELF_TYPE_CORE: u16 = 4;
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_TYPE_LOPROC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:25:11
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub const ELF_TYPE_LOPROC: u16 = 0xff00;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_TYPE_HIPROC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub const ELF_TYPE_HIPROC: u16 = 0xffff;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_NONE` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:28:11
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub const ELF_MACHINE_NONE: u16 = 0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_M32` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:29:11
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub const ELF_MACHINE_M32: u16 = 1;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_SPARC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:30:11
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub const ELF_MACHINE_SPARC: u16 = 2;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_386` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub const ELF_MACHINE_386: u16 = 3;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_68K` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:32:11
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub const ELF_MACHINE_68K: u16 = 4;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_88K` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:33:11
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub const ELF_MACHINE_88K: u16 = 5;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_486` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:34:11
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub const ELF_MACHINE_486: u16 = 6; /* Not used in Linux at least */
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_860` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:35:11
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub const ELF_MACHINE_860: u16 = 7;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_MIPS` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:36:11
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub const ELF_MACHINE_MIPS: u16 = 8; /* R3k, bigendian(?) */
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_MIPS_RS4_BE` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:37:11
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub const ELF_MACHINE_MIPS_RS4_BE: u16 = 10; /* R4k BE */
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_PARISC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:38:11
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub const ELF_MACHINE_PARISC: u16 = 15;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_SPARC32PLUS` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:39:11
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub const ELF_MACHINE_SPARC32PLUS: u16 = 18;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_PPC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:40:11
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub const ELF_MACHINE_PPC: u16 = 20;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_PPC64` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:41:11
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub const ELF_MACHINE_PPC64: u16 = 21;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_S390` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:42:11
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub const ELF_MACHINE_S390: u16 = 22;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_SH` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:43:11
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub const ELF_MACHINE_SH: u16 = 42;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_SPARCV9` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:44:11
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub const ELF_MACHINE_SPARCV9: u16 = 43; /* v9 = SPARC64 */
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_H8_300H` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:45:11
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub const ELF_MACHINE_H8_300H: u16 = 47;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_H8S` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:46:11
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub const ELF_MACHINE_H8S: u16 = 48;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_IA_64` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:47:11
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub const ELF_MACHINE_IA_64: u16 = 50;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_CRIS` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:49:11
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub const ELF_MACHINE_CRIS: u16 = 76;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_V850` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:50:11
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub const ELF_MACHINE_V850: u16 = 87;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_ALPHA` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:51:11
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub const ELF_MACHINE_ALPHA: u16 = 0x9026; /* Interim Alpha that stuck around */
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_CYGNUS_V850` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:52:11
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub const ELF_MACHINE_CYGNUS_V850: u16 = 0x9080; /* Old v850 ID used by Cygnus */
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_S390_OLD` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:53:11
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub const ELF_MACHINE_S390_OLD: u16 = 0xA390; /* Obsolete interim value for S/390 */
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_NULL` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:55:11
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub const PROGRAM_TYPE_NULL: u32 = 0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_LOAD` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:56:11
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub const PROGRAM_TYPE_LOAD: u32 = 1;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_DYNAMIC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:57:11
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub const PROGRAM_TYPE_DYNAMIC: u32 = 2;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_INTERP` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:58:11
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub const PROGRAM_TYPE_INTERP: u32 = 3;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_NOTE` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:59:11
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub const PROGRAM_TYPE_NOTE: u32 = 4;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_SHLIB` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:60:11
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub const PROGRAM_TYPE_SHLIB: u32 = 5;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_PHDR` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:61:11
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub const PROGRAM_TYPE_PHDR: u32 = 6;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_LOOS` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:62:11
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub const PROGRAM_TYPE_LOOS: u32 = 0x60000000;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_HIOS` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:63:11
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub const PROGRAM_TYPE_HIOS: u32 = 0x6fffffff;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_LOPROC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:64:11
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub const PROGRAM_TYPE_LOPROC: u32 = 0x70000000;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_HIPROC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:65:11
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub const PROGRAM_TYPE_HIPROC: u32 = 0x7fffffff;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_GNU_EH_FRAME` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:66:11
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub const PROGRAM_TYPE_GNU_EH_FRAME: u32 = 0x6474e550; /* Extension, eh? */
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_HEADER_EXEC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:68:11
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub const PROGRAM_HEADER_EXEC: u32 = 0x1;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_HEADER_WRITE` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:69:11
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub const PROGRAM_HEADER_WRITE: u32 = 0x2;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_HEADER_READ` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:70:11
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub const PROGRAM_HEADER_READ: u32 = 0x4;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_NULL` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:72:11
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub const SEGMENT_TYPE_NULL: u32 = 0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_HASH` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:77:11
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub const SEGMENT_TYPE_HASH: u32 = 5;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_DYNAMIC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:78:11
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub const SEGMENT_TYPE_DYNAMIC: u32 = 6;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_NOTE` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:79:11
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub const SEGMENT_TYPE_NOTE: u32 = 7;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_NOBITS` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:80:11
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub const SEGMENT_TYPE_NOBITS: u32 = 8;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_REL` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:81:11
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub const SEGMENT_TYPE_REL: u32 = 9;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_SHLIB` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:82:11
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub const SEGMENT_TYPE_SHLIB: u32 = 10;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_DYNSYM` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:83:11
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub const SEGMENT_TYPE_DYNSYM: u32 = 11;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_INIT_ARRAY` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:84:11
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub const SEGMENT_TYPE_INIT_ARRAY: u32 = 14;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_FINI_ARRAY` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:85:11
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub const SEGMENT_TYPE_FINI_ARRAY: u32 = 15;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_PREINIT_ARRAY` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:86:11
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub const SEGMENT_TYPE_PREINIT_ARRAY: u32 = 16;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_GROUP` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:87:11
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub const SEGMENT_TYPE_GROUP: u32 = 17;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_SYMTAB_SHNDX` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:88:11
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub const SEGMENT_TYPE_SYMTAB_SHNDX: u32 = 18;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_LOPROC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:89:11
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub const SEGMENT_TYPE_LOPROC: u32 = 0x70000000;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_HIPROC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:90:11
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub const SEGMENT_TYPE_HIPROC: u32 = 0x7fffffff;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_LOUSER` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:91:11
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub const SEGMENT_TYPE_LOUSER: u32 = 0x80000000;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_HIUSER` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:92:11
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub const SEGMENT_TYPE_HIUSER: u32 = 0xffffffff;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_FLAGS_MERGE` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:98:11
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub const SEGMENT_FLAGS_MERGE: u64 = 1 << 4; /* Might be merged */
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_FLAGS_STRINGS` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:99:11
[INFO] [stdout]    |
[INFO] [stdout] 99 | pub const SEGMENT_FLAGS_STRINGS: u64 = 1 << 5; /* Contains nul-terminated strings */
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_FLAGS_INFO_LINK` is never used
[INFO] [stdout]    --> src/emitter/elf/defs.rs:100:11
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub const SEGMENT_FLAGS_INFO_LINK: u64 = 1 << 6; /* `sh_info' contains SHT index */
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_FLAGS_LINK_ORDER` is never used
[INFO] [stdout]    --> src/emitter/elf/defs.rs:101:11
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub const SEGMENT_FLAGS_LINK_ORDER: u64 = 1 << 7; /* Preserve order after combining */
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_FLAGS_OS_NONCONFORMING` is never used
[INFO] [stdout]    --> src/emitter/elf/defs.rs:102:11
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub const SEGMENT_FLAGS_OS_NONCONFORMING: u64 = 1 << 8; /* Non-standard OS specific handling required */
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_FLAGS_GROUP` is never used
[INFO] [stdout]    --> src/emitter/elf/defs.rs:103:11
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub const SEGMENT_FLAGS_GROUP: u64 = 1 << 9; /* Section is member of a group */
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_FLAGS_TLS` is never used
[INFO] [stdout]    --> src/emitter/elf/defs.rs:104:11
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub const SEGMENT_FLAGS_TLS: u64 = 1 << 10; /* Section hold thread-local data */
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DATA_SECTION_OFFSET` is never used
[INFO] [stdout]   --> src/emitter/elf/sections.rs:19:7
[INFO] [stdout]    |
[INFO] [stdout] 19 | const DATA_SECTION_OFFSET: DWord =
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DATA_SECTION_ADDRESS_START` is never used
[INFO] [stdout]   --> src/emitter/elf/sections.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub const DATA_SECTION_ADDRESS_START: DWord = VIRTUAL_ADDRESS_START + DATA_SECTION_OFFSET;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_symtab_section_header` is never used
[INFO] [stdout]    --> src/emitter/elf/sections.rs:195:8
[INFO] [stdout]     |
[INFO] [stdout] 195 | pub fn build_symtab_section_header() -> SectionHeader {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_strtab_section_header` is never used
[INFO] [stdout]    --> src/emitter/elf/sections.rs:210:8
[INFO] [stdout]     |
[INFO] [stdout] 210 | pub fn build_strtab_section_header() -> SectionHeader {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_rel_text_section_header` is never used
[INFO] [stdout]    --> src/emitter/elf/sections.rs:225:8
[INFO] [stdout]     |
[INFO] [stdout] 225 | pub fn build_rel_text_section_header() -> SectionHeader {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Runtime` is never constructed
[INFO] [stdout]   --> src/emitter/symbols.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub enum DataSymbol {
[INFO] [stdout]    |          ---------- variant in this enum
[INFO] [stdout] 13 |     Comptime,
[INFO] [stdout] 14 |     Runtime,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DataSymbol` 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 `Undefined` and `Absolute` are never constructed
[INFO] [stdout]   --> src/emitter/symbols.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub enum Section {
[INFO] [stdout]    |          ------- variants in this enum
[INFO] [stdout] 19 |     Undefined,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     Absolute,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Section` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Global` is never constructed
[INFO] [stdout]   --> src/emitter/symbols.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub enum SymbolScope {
[INFO] [stdout]    |          ----------- variant in this enum
[INFO] [stdout] 27 |     Local,
[INFO] [stdout] 28 |     Global,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SymbolScope` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/emitter/text/abi/linux.rs:18:10
[INFO] [stdout]    |
[INFO] [stdout] 18 |     Data(i64),
[INFO] [stdout]    |     ---- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Arg` 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] 18 |     Data(()),
[INFO] [stdout]    |          ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/emitter/text/abi/linux.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 |     Stack(i64),
[INFO] [stdout]    |     ----- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Arg` 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] 19 |     Stack(()),
[INFO] [stdout]    |           ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/emitter/text/abi/windows.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 |     Data(i64),
[INFO] [stdout]    |     ---- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Arg` 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] 10 |     Data(()),
[INFO] [stdout]    |          ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/emitter/text/abi/windows.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 |     Stack(i64),
[INFO] [stdout]    |     ----- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Arg` 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 |     Stack(()),
[INFO] [stdout]    |           ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ARG_REGISTERS` is never used
[INFO] [stdout]   --> src/emitter/text/abi/windows.rs:22:11
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub const ARG_REGISTERS: &[register::Register] =
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `push_args` is never used
[INFO] [stdout]   --> src/emitter/text/abi/windows.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub fn push_args(code_context: &mut CodeContext, args: &[Data]) {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pop_args` is never used
[INFO] [stdout]   --> src/emitter/text/abi/windows.rs:45:8
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub fn pop_args(code_context: &mut CodeContext, args_count: usize) {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REGISTER_EXT_INDEX` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const REGISTER_EXT_INDEX: u8 = 0x30;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REX_X` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | const REX_X: u8 = 0b01000010;
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MOD_ADDRESS` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:20:7
[INFO] [stdout]    |
[INFO] [stdout] 20 | const MOD_ADDRESS: u8 = 0b00;
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Offset8` is never constructed
[INFO] [stdout]    --> src/emitter/text/mnemonics.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub enum Operand {
[INFO] [stdout]     |          ------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 120 |     Offset8(u8),
[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: methods `get_name`, `set_op1`, and `set_op2` are never used
[INFO] [stdout]    --> src/emitter/text/mnemonics.rs:272:12
[INFO] [stdout]     |
[INFO] [stdout] 254 | impl Mnemonic {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 272 |     pub fn get_name(&self) -> MnemonicName {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 276 |     pub fn set_op1(&mut self, op: impl Into<Operand>) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 280 |     pub fn set_op2(&mut self, op: impl Into<Operand>) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Jg`, `Jge`, `Je`, and `Jz` are never constructed
[INFO] [stdout]    --> src/emitter/text/mnemonics.rs:561:5
[INFO] [stdout]     |
[INFO] [stdout] 543 | pub enum MnemonicName {
[INFO] [stdout]     |          ------------ variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 561 |     Jg,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 562 |     Jge,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 563 |     Je,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 564 |     Jz,
[INFO] [stdout]     |     ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MnemonicName` 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 `AX` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:76:9
[INFO] [stdout]    |
[INFO] [stdout] 76 |         AX = (0x0),
[INFO] [stdout]    |         ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EAX` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:57:35
[INFO] [stdout]    |
[INFO] [stdout] 57 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 | /     registers!(
[INFO] [stdout] 76 | |         AX = (0x0),
[INFO] [stdout] 77 | |         CX = (0x1),
[INFO] [stdout] 78 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |         R10 = (0x2, ext)
[INFO] [stdout] 87 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CX` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:77:9
[INFO] [stdout]    |
[INFO] [stdout] 77 |         CX = (0x1),
[INFO] [stdout]    |         ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ECX` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:57:35
[INFO] [stdout]    |
[INFO] [stdout] 57 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 | /     registers!(
[INFO] [stdout] 76 | |         AX = (0x0),
[INFO] [stdout] 77 | |         CX = (0x1),
[INFO] [stdout] 78 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |         R10 = (0x2, ext)
[INFO] [stdout] 87 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DX` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:78:9
[INFO] [stdout]    |
[INFO] [stdout] 78 |         DX = (0x2),
[INFO] [stdout]    |         ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EDX` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:57:35
[INFO] [stdout]    |
[INFO] [stdout] 57 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 | /     registers!(
[INFO] [stdout] 76 | |         AX = (0x0),
[INFO] [stdout] 77 | |         CX = (0x1),
[INFO] [stdout] 78 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |         R10 = (0x2, ext)
[INFO] [stdout] 87 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BX` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:79:9
[INFO] [stdout]    |
[INFO] [stdout] 79 |         BX = (0x3),
[INFO] [stdout]    |         ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EBX` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:57:35
[INFO] [stdout]    |
[INFO] [stdout] 57 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 | /     registers!(
[INFO] [stdout] 76 | |         AX = (0x0),
[INFO] [stdout] 77 | |         CX = (0x1),
[INFO] [stdout] 78 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |         R10 = (0x2, ext)
[INFO] [stdout] 87 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SP` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |         SP = (0x4),
[INFO] [stdout]    |         ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ESP` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:57:35
[INFO] [stdout]    |
[INFO] [stdout] 57 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 | /     registers!(
[INFO] [stdout] 76 | |         AX = (0x0),
[INFO] [stdout] 77 | |         CX = (0x1),
[INFO] [stdout] 78 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |         R10 = (0x2, ext)
[INFO] [stdout] 87 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BP` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:81:9
[INFO] [stdout]    |
[INFO] [stdout] 81 |         BP = (0x5),
[INFO] [stdout]    |         ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EBP` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:57:35
[INFO] [stdout]    |
[INFO] [stdout] 57 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 | /     registers!(
[INFO] [stdout] 76 | |         AX = (0x0),
[INFO] [stdout] 77 | |         CX = (0x1),
[INFO] [stdout] 78 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |         R10 = (0x2, ext)
[INFO] [stdout] 87 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SI` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |         SI = (0x6),
[INFO] [stdout]    |         ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ESI` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:57:35
[INFO] [stdout]    |
[INFO] [stdout] 57 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 | /     registers!(
[INFO] [stdout] 76 | |         AX = (0x0),
[INFO] [stdout] 77 | |         CX = (0x1),
[INFO] [stdout] 78 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |         R10 = (0x2, ext)
[INFO] [stdout] 87 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DI` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:83:9
[INFO] [stdout]    |
[INFO] [stdout] 83 |         DI = (0x7),
[INFO] [stdout]    |         ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EDI` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:57:35
[INFO] [stdout]    |
[INFO] [stdout] 57 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 | /     registers!(
[INFO] [stdout] 76 | |         AX = (0x0),
[INFO] [stdout] 77 | |         CX = (0x1),
[INFO] [stdout] 78 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |         R10 = (0x2, ext)
[INFO] [stdout] 87 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `R8D` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:64:35
[INFO] [stdout]    |
[INFO] [stdout] 64 |                           pub const [<$name D>]: Register = Register::new($attr, RegisterSize::D, true );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 | /     registers!(
[INFO] [stdout] 76 | |         AX = (0x0),
[INFO] [stdout] 77 | |         CX = (0x1),
[INFO] [stdout] 78 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |         R10 = (0x2, ext)
[INFO] [stdout] 87 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `R8W` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:65:35
[INFO] [stdout]    |
[INFO] [stdout] 65 |                           pub const [<$name W>]: Register = Register::new($attr, RegisterSize::W, true);
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 | /     registers!(
[INFO] [stdout] 76 | |         AX = (0x0),
[INFO] [stdout] 77 | |         CX = (0x1),
[INFO] [stdout] 78 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |         R10 = (0x2, ext)
[INFO] [stdout] 87 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `R9D` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:64:35
[INFO] [stdout]    |
[INFO] [stdout] 64 |                           pub const [<$name D>]: Register = Register::new($attr, RegisterSize::D, true );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 | /     registers!(
[INFO] [stdout] 76 | |         AX = (0x0),
[INFO] [stdout] 77 | |         CX = (0x1),
[INFO] [stdout] 78 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |         R10 = (0x2, ext)
[INFO] [stdout] 87 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `R9W` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:65:35
[INFO] [stdout]    |
[INFO] [stdout] 65 |                           pub const [<$name W>]: Register = Register::new($attr, RegisterSize::W, true);
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 | /     registers!(
[INFO] [stdout] 76 | |         AX = (0x0),
[INFO] [stdout] 77 | |         CX = (0x1),
[INFO] [stdout] 78 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |         R10 = (0x2, ext)
[INFO] [stdout] 87 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `R10` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:86:9
[INFO] [stdout]    |
[INFO] [stdout] 86 |         R10 = (0x2, ext)
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `R10D` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:64:35
[INFO] [stdout]    |
[INFO] [stdout] 64 |                           pub const [<$name D>]: Register = Register::new($attr, RegisterSize::D, true );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 | /     registers!(
[INFO] [stdout] 76 | |         AX = (0x0),
[INFO] [stdout] 77 | |         CX = (0x1),
[INFO] [stdout] 78 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |         R10 = (0x2, ext)
[INFO] [stdout] 87 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `R10W` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:65:35
[INFO] [stdout]    |
[INFO] [stdout] 65 |                           pub const [<$name W>]: Register = Register::new($attr, RegisterSize::W, true);
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 | /     registers!(
[INFO] [stdout] 76 | |         AX = (0x0),
[INFO] [stdout] 77 | |         CX = (0x1),
[INFO] [stdout] 78 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |         R10 = (0x2, ext)
[INFO] [stdout] 87 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `symbol` and `offsets` are never read
[INFO] [stdout]   --> src/emitter/text/code_context.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct Call {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] 15 |     pub symbol: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 16 |     pub offsets: Vec<usize>,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Call` 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 `calls`, `const_data`, `symbols`, and `image_base` are never read
[INFO] [stdout]   --> src/emitter/text/code_context.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct CodeContext {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 24 |     calls: BTreeMap<String, Call>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 25 |     const_data: BTreeMap<usize, DataRef>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 26 |     labels: BTreeMap<String, usize>,
[INFO] [stdout] 27 |     symbols: BTreeMap<String, Symbol>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 28 |     relocations: Vec<Relocation>,
[INFO] [stdout] 29 |     image_base: u64,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CodeContext` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/emitter/text/code_context.rs:64:12
[INFO] [stdout]     |
[INFO] [stdout] 32  | impl CodeContext {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 64  |     pub fn with_const_data(&mut self, symbol: &str, data: Vec<u8>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 85  |     pub fn get_pc(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 89  |     pub fn get(&self, i: usize) -> Mnemonic {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 93  |     pub fn get_mut(&mut self, i: usize) -> &mut Mnemonic {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 97  |     pub fn get_offset(&self, i: usize) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 |     pub fn get_code_size_with_calls(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub fn get_calls(&self) -> BTreeMap<String, Call> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub fn get_const_data(&self) -> BTreeMap<usize, DataRef> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn get_label_offset(&self, label: &str) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 133 |     pub fn compute_calls(
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 160 |     pub fn compute_data(&mut self, data_section_start: u32, const_data: BTreeMap<usize, DataRef>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compile_asm` is never used
[INFO] [stdout]    --> src/emitter/text/code_context.rs:202:8
[INFO] [stdout]     |
[INFO] [stdout] 202 |     fn compile_asm(code: &str) -> Vec<u8> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_eq_hex` is never used
[INFO] [stdout]    --> src/emitter/text/code_context.rs:234:8
[INFO] [stdout]     |
[INFO] [stdout] 234 |     fn assert_eq_hex(actual: Vec<u8>, expected: Vec<u8>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Io` is never used
[INFO] [stdout]  --> src/emitter/text/stdlib/windows.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub enum Io {
[INFO] [stdout]   |          ^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Io` 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 `print` is never used
[INFO] [stdout]   --> src/emitter/text/stdlib/windows.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub fn print(code_context: &mut CodeContext, data: Data) {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `printd` is never used
[INFO] [stdout]   --> src/emitter/text/stdlib/windows.rs:54:8
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub fn printd(code_context: &mut CodeContext) {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `exit` is never used
[INFO] [stdout]   --> src/emitter/text/stdlib/windows.rs:60:8
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub fn exit(code_context: &mut CodeContext, exit_code: u64) {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `text::TextBuilder`
[INFO] [stdout]   --> src/emitter.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use text::TextBuilder;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AtomicUsize` and `Ordering`
[INFO] [stdout]  --> src/emitter/ast.rs:5:20
[INFO] [stdout]   |
[INFO] [stdout] 5 |     sync::atomic::{AtomicUsize, Ordering},
[INFO] [stdout]   |                    ^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Ident`
[INFO] [stdout]  --> src/emitter/data.rs:1:27
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::emitter::ast::{Ident, Literal, Loop};
[INFO] [stdout]   |                           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `borrow::BorrowMut`, `hash::Hash`, and `rc::Rc`
[INFO] [stdout]  --> src/emitter/data.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     borrow::BorrowMut,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 4 |     collections::{hash_map::Entry, HashMap},
[INFO] [stdout] 5 |     hash::Hash,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 6 |     mem,
[INFO] [stdout] 7 |     rc::Rc,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BTreeMap` and `hash_map::Entry`
[INFO] [stdout]  --> src/emitter/elf/sections.rs:2:19
[INFO] [stdout]   |
[INFO] [stdout] 2 |     collections::{hash_map::Entry, BTreeMap, HashMap},
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `elf::section`
[INFO] [stdout]  --> src/emitter/elf/sections.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use elf::section;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DataSymbol` and `SymbolType`
[INFO] [stdout]   --> src/emitter/elf/sections.rs:10:15
[INFO] [stdout]    |
[INFO] [stdout] 10 |     symbols::{DataSymbol, SymbolType},
[INFO] [stdout]    |               ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DataRef`
[INFO] [stdout]   --> src/emitter/elf/sections.rs:14:25
[INFO] [stdout]    |
[INFO] [stdout] 14 | use super::{defs, Data, DataRef};
[INFO] [stdout]    |                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `fmt::Result` and `hash_map::Entry`
[INFO] [stdout]  --> src/emitter/elf.rs:5:19
[INFO] [stdout]   |
[INFO] [stdout] 5 |     collections::{hash_map::Entry, HashMap},
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 6 |     fmt::Result,
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `elf::relocation`
[INFO] [stdout]   --> src/emitter/elf.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use elf::relocation;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ast`
[INFO] [stdout]   --> src/emitter/elf.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |     super::{ast, data::*},
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Ident`
[INFO] [stdout]  --> src/emitter/symbols.rs:3:42
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::{data::Data, DeclarationType, Ident};
[INFO] [stdout]   |                                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]  --> src/emitter/text/abi/linux.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::mem;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::emitter::elf::sections::DATA_SECTION_ADDRESS_START`
[INFO] [stdout]  --> src/emitter/text/abi/linux.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::emitter::elf::sections::DATA_SECTION_ADDRESS_START;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::code_context::Call`
[INFO] [stdout]  --> src/emitter/text/mnemonics.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use super::code_context::Call;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BTreeMap` and `mem`
[INFO] [stdout]  --> src/emitter/text.rs:5:19
[INFO] [stdout]   |
[INFO] [stdout] 5 |     collections::{BTreeMap, HashMap},
[INFO] [stdout]   |                   ^^^^^^^^
[INFO] [stdout] 6 |     mem,
[INFO] [stdout]   |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `btree_map`
[INFO] [stdout]  --> src/emitter/text/code_context.rs:2:19
[INFO] [stdout]   |
[INFO] [stdout] 2 |     collections::{btree_map, BTreeMap, HashMap},
[INFO] [stdout]   |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Section` and `SymbolType`
[INFO] [stdout]  --> src/emitter/text/code_context.rs:6:43
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::emitter::symbols::{Relocation, Section, Symbol, SymbolType};
[INFO] [stdout]   |                                           ^^^^^^^          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::ident`
[INFO] [stdout]  --> src/parser/ast_printer.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::ident;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `iter`
[INFO] [stdout]  --> src/parser.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     iter,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lit_size`
[INFO] [stdout]   --> src/emitter/data.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let lit_size = lit.len(); //TODO
[INFO] [stdout]    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lit_size`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sections_size`
[INFO] [stdout]    --> src/emitter/elf/sections.rs:141:9
[INFO] [stdout]     |
[INFO] [stdout] 141 |     let sections_size: u64 = sections.iter().map(|s| s.sh_size).sum();
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sections_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/emitter/text/stdlib/windows.rs:33:46
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub fn print(code_context: &mut CodeContext, data: Data) {
[INFO] [stdout]    |                                              ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stmts`
[INFO] [stdout]   --> src/emitter/text.rs:86:30
[INFO] [stdout]    |
[INFO] [stdout] 86 |             Statement::Scope(stmts) => (),
[INFO] [stdout]    |                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_stmts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `return_type`
[INFO] [stdout]   --> src/emitter/text.rs:92:45
[INFO] [stdout]    |
[INFO] [stdout] 92 |         let ast::FuncDefinition(name, args, return_type, stmt_list) = func_def;
[INFO] [stdout]    |                                             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_return_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/emitter/text.rs:157:65
[INFO] [stdout]     |
[INFO] [stdout] 157 |                         .fold(vec![], |mut acc: Vec<Mnemonic>, (i, v)| {
[INFO] [stdout]     |                                                                 ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> src/emitter/text.rs:202:38
[INFO] [stdout]     |
[INFO] [stdout] 202 |                 ast::Literal::Number(n) => {
[INFO] [stdout]     |                                      ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/emitter/text.rs:185:17
[INFO] [stdout]     |
[INFO] [stdout] 185 |             let mut data = match exprs.first() {
[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: variant `Scope` is never constructed
[INFO] [stdout]   --> src/emitter/ast.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub enum Statement {
[INFO] [stdout]    |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 26 |     Scope(StatementList),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Statement` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_vec` is never used
[INFO] [stdout]    --> src/emitter/ast.rs:139:12
[INFO] [stdout]     |
[INFO] [stdout] 132 | impl Literal {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 139 |     pub fn as_vec(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `symbol`, `offset`, and `data` are never read
[INFO] [stdout]   --> src/emitter/data.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct DataRef {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 17 |     pub symbol: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 18 |     pub offset: usize,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 19 |     pub data: Vec<u8>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DataRef` 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 `align` is never used
[INFO] [stdout]    --> src/emitter/elf.rs:263:4
[INFO] [stdout]     |
[INFO] [stdout] 263 | fn align(mut v: Vec<u8>, alignment: usize) -> Vec<u8> {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_CLASS_NONE` is never used
[INFO] [stdout]  --> src/emitter/elf/defs.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub const ELF_CLASS_NONE: u8 = 0x0;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_CLASS_32_BIT` is never used
[INFO] [stdout]  --> src/emitter/elf/defs.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const ELF_CLASS_32_BIT: u8 = 0x1;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_DATA_NONE` is never used
[INFO] [stdout]  --> src/emitter/elf/defs.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const ELF_DATA_NONE: u8 = 0x0;
[INFO] [stdout]   |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_DATA_BIG_ENDIAN` is never used
[INFO] [stdout]  --> src/emitter/elf/defs.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const ELF_DATA_BIG_ENDIAN: u8 = 0x2;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_VERSION_NONE` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const ELF_VERSION_NONE: u8 = 0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_VERSION_NUM` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const ELF_VERSION_NUM: u8 = 2;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_OSABI_LINUX` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const ELF_OSABI_LINUX: u8 = 3;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_TYPE_NONE` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub const ELF_TYPE_NONE: u16 = 0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_TYPE_EXEC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:22:11
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub const ELF_TYPE_EXEC: u16 = 2;
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_TYPE_DYN` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:23:11
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub const ELF_TYPE_DYN: u16 = 3;
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_TYPE_CORE` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:24:11
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub const ELF_TYPE_CORE: u16 = 4;
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_TYPE_LOPROC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:25:11
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub const ELF_TYPE_LOPROC: u16 = 0xff00;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_TYPE_HIPROC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub const ELF_TYPE_HIPROC: u16 = 0xffff;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_NONE` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:28:11
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub const ELF_MACHINE_NONE: u16 = 0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_M32` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:29:11
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub const ELF_MACHINE_M32: u16 = 1;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_SPARC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:30:11
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub const ELF_MACHINE_SPARC: u16 = 2;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_386` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub const ELF_MACHINE_386: u16 = 3;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_68K` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:32:11
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub const ELF_MACHINE_68K: u16 = 4;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_88K` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:33:11
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub const ELF_MACHINE_88K: u16 = 5;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_486` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:34:11
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub const ELF_MACHINE_486: u16 = 6; /* Not used in Linux at least */
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_860` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:35:11
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub const ELF_MACHINE_860: u16 = 7;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_MIPS` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:36:11
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub const ELF_MACHINE_MIPS: u16 = 8; /* R3k, bigendian(?) */
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_MIPS_RS4_BE` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:37:11
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub const ELF_MACHINE_MIPS_RS4_BE: u16 = 10; /* R4k BE */
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_PARISC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:38:11
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub const ELF_MACHINE_PARISC: u16 = 15;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_SPARC32PLUS` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:39:11
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub const ELF_MACHINE_SPARC32PLUS: u16 = 18;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_PPC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:40:11
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub const ELF_MACHINE_PPC: u16 = 20;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_PPC64` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:41:11
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub const ELF_MACHINE_PPC64: u16 = 21;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_S390` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:42:11
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub const ELF_MACHINE_S390: u16 = 22;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_SH` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:43:11
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub const ELF_MACHINE_SH: u16 = 42;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_SPARCV9` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:44:11
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub const ELF_MACHINE_SPARCV9: u16 = 43; /* v9 = SPARC64 */
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_H8_300H` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:45:11
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub const ELF_MACHINE_H8_300H: u16 = 47;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_H8S` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:46:11
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub const ELF_MACHINE_H8S: u16 = 48;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_IA_64` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:47:11
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub const ELF_MACHINE_IA_64: u16 = 50;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_CRIS` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:49:11
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub const ELF_MACHINE_CRIS: u16 = 76;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_V850` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:50:11
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub const ELF_MACHINE_V850: u16 = 87;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_ALPHA` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:51:11
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub const ELF_MACHINE_ALPHA: u16 = 0x9026; /* Interim Alpha that stuck around */
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_CYGNUS_V850` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:52:11
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub const ELF_MACHINE_CYGNUS_V850: u16 = 0x9080; /* Old v850 ID used by Cygnus */
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_S390_OLD` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:53:11
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub const ELF_MACHINE_S390_OLD: u16 = 0xA390; /* Obsolete interim value for S/390 */
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_NULL` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:55:11
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub const PROGRAM_TYPE_NULL: u32 = 0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_LOAD` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:56:11
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub const PROGRAM_TYPE_LOAD: u32 = 1;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_DYNAMIC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:57:11
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub const PROGRAM_TYPE_DYNAMIC: u32 = 2;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_INTERP` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:58:11
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub const PROGRAM_TYPE_INTERP: u32 = 3;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_NOTE` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:59:11
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub const PROGRAM_TYPE_NOTE: u32 = 4;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_SHLIB` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:60:11
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub const PROGRAM_TYPE_SHLIB: u32 = 5;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_PHDR` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:61:11
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub const PROGRAM_TYPE_PHDR: u32 = 6;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_LOOS` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:62:11
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub const PROGRAM_TYPE_LOOS: u32 = 0x60000000;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_HIOS` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:63:11
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub const PROGRAM_TYPE_HIOS: u32 = 0x6fffffff;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_LOPROC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:64:11
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub const PROGRAM_TYPE_LOPROC: u32 = 0x70000000;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_HIPROC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:65:11
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub const PROGRAM_TYPE_HIPROC: u32 = 0x7fffffff;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_GNU_EH_FRAME` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:66:11
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub const PROGRAM_TYPE_GNU_EH_FRAME: u32 = 0x6474e550; /* Extension, eh? */
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_HEADER_EXEC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:68:11
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub const PROGRAM_HEADER_EXEC: u32 = 0x1;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_HEADER_WRITE` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:69:11
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub const PROGRAM_HEADER_WRITE: u32 = 0x2;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_HEADER_READ` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:70:11
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub const PROGRAM_HEADER_READ: u32 = 0x4;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_NULL` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:72:11
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub const SEGMENT_TYPE_NULL: u32 = 0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_HASH` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:77:11
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub const SEGMENT_TYPE_HASH: u32 = 5;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_DYNAMIC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:78:11
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub const SEGMENT_TYPE_DYNAMIC: u32 = 6;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_NOTE` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:79:11
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub const SEGMENT_TYPE_NOTE: u32 = 7;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_NOBITS` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:80:11
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub const SEGMENT_TYPE_NOBITS: u32 = 8;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_REL` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:81:11
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub const SEGMENT_TYPE_REL: u32 = 9;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_SHLIB` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:82:11
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub const SEGMENT_TYPE_SHLIB: u32 = 10;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_DYNSYM` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:83:11
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub const SEGMENT_TYPE_DYNSYM: u32 = 11;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_INIT_ARRAY` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:84:11
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub const SEGMENT_TYPE_INIT_ARRAY: u32 = 14;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_FINI_ARRAY` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:85:11
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub const SEGMENT_TYPE_FINI_ARRAY: u32 = 15;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_PREINIT_ARRAY` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:86:11
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub const SEGMENT_TYPE_PREINIT_ARRAY: u32 = 16;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_GROUP` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:87:11
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub const SEGMENT_TYPE_GROUP: u32 = 17;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_SYMTAB_SHNDX` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:88:11
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub const SEGMENT_TYPE_SYMTAB_SHNDX: u32 = 18;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_LOPROC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:89:11
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub const SEGMENT_TYPE_LOPROC: u32 = 0x70000000;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_HIPROC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:90:11
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub const SEGMENT_TYPE_HIPROC: u32 = 0x7fffffff;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_LOUSER` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:91:11
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub const SEGMENT_TYPE_LOUSER: u32 = 0x80000000;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_HIUSER` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:92:11
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub const SEGMENT_TYPE_HIUSER: u32 = 0xffffffff;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_FLAGS_MERGE` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:98:11
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub const SEGMENT_FLAGS_MERGE: u64 = 1 << 4; /* Might be merged */
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_FLAGS_STRINGS` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:99:11
[INFO] [stdout]    |
[INFO] [stdout] 99 | pub const SEGMENT_FLAGS_STRINGS: u64 = 1 << 5; /* Contains nul-terminated strings */
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_FLAGS_INFO_LINK` is never used
[INFO] [stdout]    --> src/emitter/elf/defs.rs:100:11
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub const SEGMENT_FLAGS_INFO_LINK: u64 = 1 << 6; /* `sh_info' contains SHT index */
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_FLAGS_LINK_ORDER` is never used
[INFO] [stdout]    --> src/emitter/elf/defs.rs:101:11
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub const SEGMENT_FLAGS_LINK_ORDER: u64 = 1 << 7; /* Preserve order after combining */
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_FLAGS_OS_NONCONFORMING` is never used
[INFO] [stdout]    --> src/emitter/elf/defs.rs:102:11
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub const SEGMENT_FLAGS_OS_NONCONFORMING: u64 = 1 << 8; /* Non-standard OS specific handling required */
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_FLAGS_GROUP` is never used
[INFO] [stdout]    --> src/emitter/elf/defs.rs:103:11
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub const SEGMENT_FLAGS_GROUP: u64 = 1 << 9; /* Section is member of a group */
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_FLAGS_TLS` is never used
[INFO] [stdout]    --> src/emitter/elf/defs.rs:104:11
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub const SEGMENT_FLAGS_TLS: u64 = 1 << 10; /* Section hold thread-local data */
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DATA_SECTION_OFFSET` is never used
[INFO] [stdout]   --> src/emitter/elf/sections.rs:19:7
[INFO] [stdout]    |
[INFO] [stdout] 19 | const DATA_SECTION_OFFSET: DWord =
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DATA_SECTION_ADDRESS_START` is never used
[INFO] [stdout]   --> src/emitter/elf/sections.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub const DATA_SECTION_ADDRESS_START: DWord = VIRTUAL_ADDRESS_START + DATA_SECTION_OFFSET;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_symtab_section_header` is never used
[INFO] [stdout]    --> src/emitter/elf/sections.rs:195:8
[INFO] [stdout]     |
[INFO] [stdout] 195 | pub fn build_symtab_section_header() -> SectionHeader {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_strtab_section_header` is never used
[INFO] [stdout]    --> src/emitter/elf/sections.rs:210:8
[INFO] [stdout]     |
[INFO] [stdout] 210 | pub fn build_strtab_section_header() -> SectionHeader {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_rel_text_section_header` is never used
[INFO] [stdout]    --> src/emitter/elf/sections.rs:225:8
[INFO] [stdout]     |
[INFO] [stdout] 225 | pub fn build_rel_text_section_header() -> SectionHeader {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Runtime` is never constructed
[INFO] [stdout]   --> src/emitter/symbols.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub enum DataSymbol {
[INFO] [stdout]    |          ---------- variant in this enum
[INFO] [stdout] 13 |     Comptime,
[INFO] [stdout] 14 |     Runtime,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DataSymbol` 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 `Undefined` and `Absolute` are never constructed
[INFO] [stdout]   --> src/emitter/symbols.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub enum Section {
[INFO] [stdout]    |          ------- variants in this enum
[INFO] [stdout] 19 |     Undefined,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     Absolute,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Section` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Global` is never constructed
[INFO] [stdout]   --> src/emitter/symbols.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub enum SymbolScope {
[INFO] [stdout]    |          ----------- variant in this enum
[INFO] [stdout] 27 |     Local,
[INFO] [stdout] 28 |     Global,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SymbolScope` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/emitter/text/abi/linux.rs:18:10
[INFO] [stdout]    |
[INFO] [stdout] 18 |     Data(i64),
[INFO] [stdout]    |     ---- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Arg` 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] 18 |     Data(()),
[INFO] [stdout]    |          ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/emitter/text/abi/linux.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 |     Stack(i64),
[INFO] [stdout]    |     ----- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Arg` 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] 19 |     Stack(()),
[INFO] [stdout]    |           ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/emitter/text/abi/windows.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 |     Data(i64),
[INFO] [stdout]    |     ---- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Arg` 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] 10 |     Data(()),
[INFO] [stdout]    |          ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/emitter/text/abi/windows.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 |     Stack(i64),
[INFO] [stdout]    |     ----- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Arg` 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 |     Stack(()),
[INFO] [stdout]    |           ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ARG_REGISTERS` is never used
[INFO] [stdout]   --> src/emitter/text/abi/windows.rs:22:11
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub const ARG_REGISTERS: &[register::Register] =
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `push_args` is never used
[INFO] [stdout]   --> src/emitter/text/abi/windows.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub fn push_args(code_context: &mut CodeContext, args: &[Data]) {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pop_args` is never used
[INFO] [stdout]   --> src/emitter/text/abi/windows.rs:45:8
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub fn pop_args(code_context: &mut CodeContext, args_count: usize) {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REGISTER_EXT_INDEX` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const REGISTER_EXT_INDEX: u8 = 0x30;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REX_X` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | const REX_X: u8 = 0b01000010;
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MOD_ADDRESS` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:20:7
[INFO] [stdout]    |
[INFO] [stdout] 20 | const MOD_ADDRESS: u8 = 0b00;
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_name`, `set_op1`, and `set_op2` are never used
[INFO] [stdout]    --> src/emitter/text/mnemonics.rs:272:12
[INFO] [stdout]     |
[INFO] [stdout] 254 | impl Mnemonic {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 272 |     pub fn get_name(&self) -> MnemonicName {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 276 |     pub fn set_op1(&mut self, op: impl Into<Operand>) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 280 |     pub fn set_op2(&mut self, op: impl Into<Operand>) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Jg`, `Jge`, `Je`, and `Jz` are never constructed
[INFO] [stdout]    --> src/emitter/text/mnemonics.rs:561:5
[INFO] [stdout]     |
[INFO] [stdout] 543 | pub enum MnemonicName {
[INFO] [stdout]     |          ------------ variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 561 |     Jg,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 562 |     Jge,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 563 |     Je,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 564 |     Jz,
[INFO] [stdout]     |     ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MnemonicName` 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 `DX` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:78:9
[INFO] [stdout]    |
[INFO] [stdout] 78 |         DX = (0x2),
[INFO] [stdout]    |         ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EDX` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:57:35
[INFO] [stdout]    |
[INFO] [stdout] 57 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 | /     registers!(
[INFO] [stdout] 76 | |         AX = (0x0),
[INFO] [stdout] 77 | |         CX = (0x1),
[INFO] [stdout] 78 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |         R10 = (0x2, ext)
[INFO] [stdout] 87 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BX` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:79:9
[INFO] [stdout]    |
[INFO] [stdout] 79 |         BX = (0x3),
[INFO] [stdout]    |         ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EBX` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:57:35
[INFO] [stdout]    |
[INFO] [stdout] 57 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 | /     registers!(
[INFO] [stdout] 76 | |         AX = (0x0),
[INFO] [stdout] 77 | |         CX = (0x1),
[INFO] [stdout] 78 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |         R10 = (0x2, ext)
[INFO] [stdout] 87 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SP` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |         SP = (0x4),
[INFO] [stdout]    |         ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ESP` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:57:35
[INFO] [stdout]    |
[INFO] [stdout] 57 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 | /     registers!(
[INFO] [stdout] 76 | |         AX = (0x0),
[INFO] [stdout] 77 | |         CX = (0x1),
[INFO] [stdout] 78 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |         R10 = (0x2, ext)
[INFO] [stdout] 87 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BP` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:81:9
[INFO] [stdout]    |
[INFO] [stdout] 81 |         BP = (0x5),
[INFO] [stdout]    |         ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EBP` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:57:35
[INFO] [stdout]    |
[INFO] [stdout] 57 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 | /     registers!(
[INFO] [stdout] 76 | |         AX = (0x0),
[INFO] [stdout] 77 | |         CX = (0x1),
[INFO] [stdout] 78 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |         R10 = (0x2, ext)
[INFO] [stdout] 87 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SI` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |         SI = (0x6),
[INFO] [stdout]    |         ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ESI` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:57:35
[INFO] [stdout]    |
[INFO] [stdout] 57 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 | /     registers!(
[INFO] [stdout] 76 | |         AX = (0x0),
[INFO] [stdout] 77 | |         CX = (0x1),
[INFO] [stdout] 78 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |         R10 = (0x2, ext)
[INFO] [stdout] 87 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DI` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:83:9
[INFO] [stdout]    |
[INFO] [stdout] 83 |         DI = (0x7),
[INFO] [stdout]    |         ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EDI` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:57:35
[INFO] [stdout]    |
[INFO] [stdout] 57 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 | /     registers!(
[INFO] [stdout] 76 | |         AX = (0x0),
[INFO] [stdout] 77 | |         CX = (0x1),
[INFO] [stdout] 78 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |         R10 = (0x2, ext)
[INFO] [stdout] 87 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `R8W` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:65:35
[INFO] [stdout]    |
[INFO] [stdout] 65 |                           pub const [<$name W>]: Register = Register::new($attr, RegisterSize::W, true);
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 | /     registers!(
[INFO] [stdout] 76 | |         AX = (0x0),
[INFO] [stdout] 77 | |         CX = (0x1),
[INFO] [stdout] 78 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |         R10 = (0x2, ext)
[INFO] [stdout] 87 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `R9D` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:64:35
[INFO] [stdout]    |
[INFO] [stdout] 64 |                           pub const [<$name D>]: Register = Register::new($attr, RegisterSize::D, true );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 | /     registers!(
[INFO] [stdout] 76 | |         AX = (0x0),
[INFO] [stdout] 77 | |         CX = (0x1),
[INFO] [stdout] 78 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |         R10 = (0x2, ext)
[INFO] [stdout] 87 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `R9W` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:65:35
[INFO] [stdout]    |
[INFO] [stdout] 65 |                           pub const [<$name W>]: Register = Register::new($attr, RegisterSize::W, true);
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 | /     registers!(
[INFO] [stdout] 76 | |         AX = (0x0),
[INFO] [stdout] 77 | |         CX = (0x1),
[INFO] [stdout] 78 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |         R10 = (0x2, ext)
[INFO] [stdout] 87 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `R10` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:86:9
[INFO] [stdout]    |
[INFO] [stdout] 86 |         R10 = (0x2, ext)
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `R10D` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:64:35
[INFO] [stdout]    |
[INFO] [stdout] 64 |                           pub const [<$name D>]: Register = Register::new($attr, RegisterSize::D, true );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 | /     registers!(
[INFO] [stdout] 76 | |         AX = (0x0),
[INFO] [stdout] 77 | |         CX = (0x1),
[INFO] [stdout] 78 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |         R10 = (0x2, ext)
[INFO] [stdout] 87 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `R10W` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:65:35
[INFO] [stdout]    |
[INFO] [stdout] 65 |                           pub const [<$name W>]: Register = Register::new($attr, RegisterSize::W, true);
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 | /     registers!(
[INFO] [stdout] 76 | |         AX = (0x0),
[INFO] [stdout] 77 | |         CX = (0x1),
[INFO] [stdout] 78 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |         R10 = (0x2, ext)
[INFO] [stdout] 87 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `symbol` and `offsets` are never read
[INFO] [stdout]   --> src/emitter/text/code_context.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct Call {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] 15 |     pub symbol: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 16 |     pub offsets: Vec<usize>,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Call` 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 `calls`, `const_data`, `symbols`, and `image_base` are never read
[INFO] [stdout]   --> src/emitter/text/code_context.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct CodeContext {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 24 |     calls: BTreeMap<String, Call>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 25 |     const_data: BTreeMap<usize, DataRef>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 26 |     labels: BTreeMap<String, usize>,
[INFO] [stdout] 27 |     symbols: BTreeMap<String, Symbol>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 28 |     relocations: Vec<Relocation>,
[INFO] [stdout] 29 |     image_base: u64,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CodeContext` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/emitter/text/code_context.rs:64:12
[INFO] [stdout]     |
[INFO] [stdout] 32  | impl CodeContext {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 64  |     pub fn with_const_data(&mut self, symbol: &str, data: Vec<u8>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 85  |     pub fn get_pc(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 89  |     pub fn get(&self, i: usize) -> Mnemonic {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 93  |     pub fn get_mut(&mut self, i: usize) -> &mut Mnemonic {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 97  |     pub fn get_offset(&self, i: usize) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 |     pub fn get_code_size_with_calls(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub fn get_calls(&self) -> BTreeMap<String, Call> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub fn get_const_data(&self) -> BTreeMap<usize, DataRef> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn get_label_offset(&self, label: &str) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 133 |     pub fn compute_calls(
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 160 |     pub fn compute_data(&mut self, data_section_start: u32, const_data: BTreeMap<usize, DataRef>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Io` is never used
[INFO] [stdout]  --> src/emitter/text/stdlib/windows.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub enum Io {
[INFO] [stdout]   |          ^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Io` 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 `print` is never used
[INFO] [stdout]   --> src/emitter/text/stdlib/windows.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub fn print(code_context: &mut CodeContext, data: Data) {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `printd` is never used
[INFO] [stdout]   --> src/emitter/text/stdlib/windows.rs:54:8
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub fn printd(code_context: &mut CodeContext) {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `exit` is never used
[INFO] [stdout]   --> src/emitter/text/stdlib/windows.rs:60:8
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub fn exit(code_context: &mut CodeContext, exit_code: u64) {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `case_4_CxAx` should have a snake case name
[INFO] [stdout]    --> src/emitter/text/mnemonics.rs:654:8
[INFO] [stdout]     |
[INFO] [stdout] 654 |     fn test_mov(
[INFO] [stdout]     |        ^^^^^^^^ help: convert the identifier to snake case: `case_4_cx_ax`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `case_5_EcxEax` should have a snake case name
[INFO] [stdout]    --> src/emitter/text/mnemonics.rs:654:8
[INFO] [stdout]     |
[INFO] [stdout] 654 |     fn test_mov(
[INFO] [stdout]     |        ^^^^^^^^ help: convert the identifier to snake case: `case_5_ecx_eax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `case_6_RcxRax` should have a snake case name
[INFO] [stdout]    --> src/emitter/text/mnemonics.rs:654:8
[INFO] [stdout]     |
[INFO] [stdout] 654 |     fn test_mov(
[INFO] [stdout]     |        ^^^^^^^^ help: convert the identifier to snake case: `case_6_rcx_rax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `case_2_R8Rax` should have a snake case name
[INFO] [stdout]    --> src/emitter/text/mnemonics.rs:667:8
[INFO] [stdout]     |
[INFO] [stdout] 667 |     fn test_mov_ext(
[INFO] [stdout]     |        ^^^^^^^^^^^^ help: convert the identifier to snake case: `case_2_r8_rax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `case_3_R8R9` should have a snake case name
[INFO] [stdout]    --> src/emitter/text/mnemonics.rs:667:8
[INFO] [stdout]     |
[INFO] [stdout] 667 |     fn test_mov_ext(
[INFO] [stdout]     |        ^^^^^^^^^^^^ help: convert the identifier to snake case: `case_3_r8_r9`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `case_1_RcxRax8` should have a snake case name
[INFO] [stdout]    --> src/emitter/text/mnemonics.rs:683:8
[INFO] [stdout]     |
[INFO] [stdout] 683 |     fn test_mov_offset(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `case_1_rcx_rax8`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `case_2_RcxRax32` should have a snake case name
[INFO] [stdout]    --> src/emitter/text/mnemonics.rs:683:8
[INFO] [stdout]     |
[INFO] [stdout] 683 |     fn test_mov_offset(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `case_2_rcx_rax32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `case_3_Rcx` should have a snake case name
[INFO] [stdout]    --> src/emitter/text/mnemonics.rs:697:8
[INFO] [stdout]     |
[INFO] [stdout] 697 |     fn test_push(#[case] op1: impl Into<Operand>, #[case] expected: Vec<u8>) {
[INFO] [stdout]     |        ^^^^^^^^^ help: convert the identifier to snake case: `case_3_rcx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `case_1_Rcx` should have a snake case name
[INFO] [stdout]    --> src/emitter/text/mnemonics.rs:705:8
[INFO] [stdout]     |
[INFO] [stdout] 705 |     fn test_pop(#[case] op1: impl Into<Operand>, #[case] expected: Vec<u8>) {
[INFO] [stdout]     |        ^^^^^^^^ help: convert the identifier to snake case: `case_1_rcx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `case_2_R9` should have a snake case name
[INFO] [stdout]    --> src/emitter/text/mnemonics.rs:705:8
[INFO] [stdout]     |
[INFO] [stdout] 705 |     fn test_pop(#[case] op1: impl Into<Operand>, #[case] expected: Vec<u8>) {
[INFO] [stdout]     |        ^^^^^^^^ help: convert the identifier to snake case: `case_2_r9`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `case_2_Rimm32` should have a snake case name
[INFO] [stdout]    --> src/emitter/text/mnemonics.rs:714:8
[INFO] [stdout]     |
[INFO] [stdout] 714 |     fn test_add(
[INFO] [stdout]     |        ^^^^^^^^ help: convert the identifier to snake case: `case_2_rimm32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `case_3_RcxRax` should have a snake case name
[INFO] [stdout]    --> src/emitter/text/mnemonics.rs:714:8
[INFO] [stdout]     |
[INFO] [stdout] 714 |     fn test_add(
[INFO] [stdout]     |        ^^^^^^^^ help: convert the identifier to snake case: `case_3_rcx_rax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `case_2_Rimm32` should have a snake case name
[INFO] [stdout]    --> src/emitter/text/mnemonics.rs:727:8
[INFO] [stdout]     |
[INFO] [stdout] 727 |     fn test_sub(
[INFO] [stdout]     |        ^^^^^^^^ help: convert the identifier to snake case: `case_2_rimm32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `case_3_RcxRax` should have a snake case name
[INFO] [stdout]    --> src/emitter/text/mnemonics.rs:727:8
[INFO] [stdout]     |
[INFO] [stdout] 727 |     fn test_sub(
[INFO] [stdout]     |        ^^^^^^^^ help: convert the identifier to snake case: `case_3_rcx_rax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `case_1_Eax` should have a snake case name
[INFO] [stdout]    --> src/emitter/text/mnemonics.rs:739:8
[INFO] [stdout]     |
[INFO] [stdout] 739 |     fn test_div(#[case] op1: impl Into<Operand>, #[case] expected: Vec<u8>) {
[INFO] [stdout]     |        ^^^^^^^^ help: convert the identifier to snake case: `case_1_eax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `case_2_Rcx` should have a snake case name
[INFO] [stdout]    --> src/emitter/text/mnemonics.rs:739:8
[INFO] [stdout]     |
[INFO] [stdout] 739 |     fn test_div(#[case] op1: impl Into<Operand>, #[case] expected: Vec<u8>) {
[INFO] [stdout]     |        ^^^^^^^^ help: convert the identifier to snake case: `case_2_rcx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `case_1_Rcx` should have a snake case name
[INFO] [stdout]    --> src/emitter/text/mnemonics.rs:746:8
[INFO] [stdout]     |
[INFO] [stdout] 746 |     fn test_inc(#[case] op1: impl Into<Operand>, #[case] expected: Vec<u8>) {
[INFO] [stdout]     |        ^^^^^^^^ help: convert the identifier to snake case: `case_1_rcx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `case_1_Rcx` should have a snake case name
[INFO] [stdout]    --> src/emitter/text/mnemonics.rs:753:8
[INFO] [stdout]     |
[INFO] [stdout] 753 |     fn test_inc_offset(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `case_1_rcx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `case_1_Offset32` should have a snake case name
[INFO] [stdout]    --> src/emitter/text/mnemonics.rs:764:8
[INFO] [stdout]     |
[INFO] [stdout] 764 |     fn test_call(#[case] op1: impl Into<Operand>, #[case] expected: Vec<u8>) {
[INFO] [stdout]     |        ^^^^^^^^^ help: convert the identifier to snake case: `case_1_offset32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `case_1_NoOp` should have a snake case name
[INFO] [stdout]    --> src/emitter/text/mnemonics.rs:771:8
[INFO] [stdout]     |
[INFO] [stdout] 771 |     fn test_ret(#[case] expected: Vec<u8>) {
[INFO] [stdout]     |        ^^^^^^^^ help: convert the identifier to snake case: `case_1_no_op`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `case_1_Imm64` should have a snake case name
[INFO] [stdout]    --> src/emitter/text/mnemonics.rs:793:8
[INFO] [stdout]     |
[INFO] [stdout] 793 |     fn test_jmp(#[case] op1: impl Into<Operand>, #[case] expected: Vec<u8>) {
[INFO] [stdout]     |        ^^^^^^^^ help: convert the identifier to snake case: `case_1_imm64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `case_1_Offset32` should have a snake case name
[INFO] [stdout]    --> src/emitter/text/mnemonics.rs:801:8
[INFO] [stdout]     |
[INFO] [stdout] 801 |     fn test_jle(#[case] op1: impl Into<Operand>, #[case] expected: Vec<u8>) {
[INFO] [stdout]     |        ^^^^^^^^ help: convert the identifier to snake case: `case_1_offset32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `case_2_Offset32` should have a snake case name
[INFO] [stdout]    --> src/emitter/text/mnemonics.rs:801:8
[INFO] [stdout]     |
[INFO] [stdout] 801 |     fn test_jle(#[case] op1: impl Into<Operand>, #[case] expected: Vec<u8>) {
[INFO] [stdout]     |        ^^^^^^^^ help: convert the identifier to snake case: `case_2_offset32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.81s
[INFO] running `Command { std: "docker" "inspect" "3fba1bed2ab202398e4626e716d0f35d0a7abde229f70bd2dcef1c8c4bbb5fe4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3fba1bed2ab202398e4626e716d0f35d0a7abde229f70bd2dcef1c8c4bbb5fe4", kill_on_drop: false }`
[INFO] [stdout] 3fba1bed2ab202398e4626e716d0f35d0a7abde229f70bd2dcef1c8c4bbb5fe4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:819108c5571ea2e421544af4d832f968d213c87fbe3707a016657f43d2f853bc" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2025-01-18" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 85460997bd6c6658e4a2e9865aff79306018c44848129eade60a6a5245dfcbdc
[INFO] running `Command { std: "docker" "start" "-a" "85460997bd6c6658e4a2e9865aff79306018c44848129eade60a6a5245dfcbdc", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `text::TextBuilder`
[INFO] [stderr]   --> src/emitter.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use text::TextBuilder;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `AtomicUsize` and `Ordering`
[INFO] [stderr]  --> src/emitter/ast.rs:5:20
[INFO] [stderr]   |
[INFO] [stderr] 5 |     sync::atomic::{AtomicUsize, Ordering},
[INFO] [stderr]   |                    ^^^^^^^^^^^  ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Ident`
[INFO] [stderr]  --> src/emitter/data.rs:1:27
[INFO] [stderr]   |
[INFO] [stderr] 1 | use crate::emitter::ast::{Ident, Literal, Loop};
[INFO] [stderr]   |                           ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `borrow::BorrowMut`, `hash::Hash`, and `rc::Rc`
[INFO] [stderr]  --> src/emitter/data.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 |     borrow::BorrowMut,
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 4 |     collections::{hash_map::Entry, HashMap},
[INFO] [stderr] 5 |     hash::Hash,
[INFO] [stderr]   |     ^^^^^^^^^^
[INFO] [stderr] 6 |     mem,
[INFO] [stderr] 7 |     rc::Rc,
[INFO] [stderr]   |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `BTreeMap` and `hash_map::Entry`
[INFO] [stderr]  --> src/emitter/elf/sections.rs:2:19
[INFO] [stderr]   |
[INFO] [stderr] 2 |     collections::{hash_map::Entry, BTreeMap, HashMap},
[INFO] [stderr]   |                   ^^^^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `elf::section`
[INFO] [stderr]  --> src/emitter/elf/sections.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use elf::section;
[INFO] [stderr]   |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `DataSymbol` and `SymbolType`
[INFO] [stderr]   --> src/emitter/elf/sections.rs:10:15
[INFO] [stderr]    |
[INFO] [stderr] 10 |     symbols::{DataSymbol, SymbolType},
[INFO] [stderr]    |               ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `DataRef`
[INFO] [stderr]   --> src/emitter/elf/sections.rs:14:25
[INFO] [stderr]    |
[INFO] [stderr] 14 | use super::{defs, Data, DataRef};
[INFO] [stderr]    |                         ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `fmt::Result` and `hash_map::Entry`
[INFO] [stderr]  --> src/emitter/elf.rs:5:19
[INFO] [stderr]   |
[INFO] [stderr] 5 |     collections::{hash_map::Entry, HashMap},
[INFO] [stderr]   |                   ^^^^^^^^^^^^^^^
[INFO] [stderr] 6 |     fmt::Result,
[INFO] [stderr]   |     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `elf::relocation`
[INFO] [stderr]   --> src/emitter/elf.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 15 | use elf::relocation;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ast`
[INFO] [stderr]   --> src/emitter/elf.rs:20:13
[INFO] [stderr]    |
[INFO] [stderr] 20 |     super::{ast, data::*},
[INFO] [stderr]    |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Ident`
[INFO] [stderr]  --> src/emitter/symbols.rs:3:42
[INFO] [stderr]   |
[INFO] [stderr] 3 | use super::{data::Data, DeclarationType, Ident};
[INFO] [stderr]   |                                          ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::mem`
[INFO] [stderr]  --> src/emitter/text/abi/linux.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::mem;
[INFO] [stderr]   |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::emitter::elf::sections::DATA_SECTION_ADDRESS_START`
[INFO] [stderr]  --> src/emitter/text/abi/linux.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use crate::emitter::elf::sections::DATA_SECTION_ADDRESS_START;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::code_context::Call`
[INFO] [stderr]  --> src/emitter/text/mnemonics.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use super::code_context::Call;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `BTreeMap` and `mem`
[INFO] [stderr]  --> src/emitter/text.rs:5:19
[INFO] [stderr]   |
[INFO] [stderr] 5 |     collections::{BTreeMap, HashMap},
[INFO] [stderr]   |                   ^^^^^^^^
[INFO] [stderr] 6 |     mem,
[INFO] [stderr]   |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `btree_map`
[INFO] [stderr]  --> src/emitter/text/code_context.rs:2:19
[INFO] [stderr]   |
[INFO] [stderr] 2 |     collections::{btree_map, BTreeMap, HashMap},
[INFO] [stderr]   |                   ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Section` and `SymbolType`
[INFO] [stderr]  --> src/emitter/text/code_context.rs:6:43
[INFO] [stderr]   |
[INFO] [stderr] 6 | use crate::emitter::symbols::{Relocation, Section, Symbol, SymbolType};
[INFO] [stderr]   |                                           ^^^^^^^          ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stdout] 
[INFO] [stdout] running 38 tests
[INFO] [stderr] warning: unused import: `crate::emitter::text::mnemonics::Operand::Offset32`
[INFO] [stdout] test emitter::text::mnemonics::tests::test_add::case_2_Rimm32 ... ok
[INFO] [stderr]    --> src/emitter/text/code_context.rs:197:9
[INFO] [stdout] test emitter::text::mnemonics::tests::test_add::case_3_RcxRax ... ok
[INFO] [stderr]     |
[INFO] [stdout] test emitter::text::mnemonics::tests::test_call::case_1_Offset32 ... ok
[INFO] [stderr] 197 |     use crate::emitter::text::mnemonics::Operand::Offset32;
[INFO] [stdout] test emitter::text::mnemonics::tests::test_cmp::case_1_imm16 ... ok
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] test emitter::text::mnemonics::tests::test_cmp::case_3_imm64 ... ok
[INFO] [stderr] 
[INFO] [stdout] test emitter::text::mnemonics::tests::test_div::case_1_Eax ... ok
[INFO] [stderr] warning: unused imports: `CodeContext` and `mnemonics::*`
[INFO] [stdout] test emitter::text::mnemonics::tests::test_div::case_2_Rcx ... ok
[INFO] [stderr]    --> src/emitter/text/code_context.rs:198:32
[INFO] [stdout] test emitter::text::mnemonics::tests::test_inc::case_1_Rcx ... ok
[INFO] [stderr]     |
[INFO] [stdout] test emitter::text::mnemonics::tests::test_inc_offset::case_1_Rcx ... ok
[INFO] [stderr] 198 |     use crate::emitter::text::{mnemonics::*, CodeContext};
[INFO] [stdout] test emitter::text::mnemonics::tests::test_add::case_1_imm32 ... ok
[INFO] [stderr]     |                                ^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] test emitter::text::mnemonics::tests::test_jle::case_1_Offset32 ... ok
[INFO] [stderr] 
[INFO] [stdout] test emitter::text::mnemonics::tests::test_jle::case_2_Offset32 ... ok
[INFO] [stderr] warning: unused import: `super::ident`
[INFO] [stdout] test emitter::text::mnemonics::tests::test_jmp::case_1_Imm64 ... ok
[INFO] [stderr]  --> src/parser/ast_printer.rs:3:5
[INFO] [stdout] test emitter::text::mnemonics::tests::test_mov::case_1_imm16 ... ok
[INFO] [stderr]   |
[INFO] [stdout] test emitter::text::mnemonics::tests::test_mov::case_2_imm32 ... ok
[INFO] [stderr] 3 | use super::ident;
[INFO] [stdout] test emitter::text::mnemonics::tests::test_mov::case_3_imm64 ... ok
[INFO] [stderr]   |     ^^^^^^^^^^^^
[INFO] [stdout] test emitter::text::mnemonics::tests::test_mov::case_4_CxAx ... ok
[INFO] [stderr] 
[INFO] [stdout] test emitter::text::mnemonics::tests::test_mov::case_5_EcxEax ... ok
[INFO] [stderr] warning: unused import: `iter`
[INFO] [stdout] test emitter::text::mnemonics::tests::test_mov_ext::case_2_R8Rax ... ok
[INFO] [stderr]  --> src/parser.rs:4:5
[INFO] [stdout] test emitter::text::mnemonics::tests::test_mov_ext::case_3_R8R9 ... ok
[INFO] [stderr]   |
[INFO] [stdout] test emitter::text::mnemonics::tests::test_mov_offset::case_1_RcxRax8 ... ok
[INFO] [stderr] 4 |     iter,
[INFO] [stdout] test emitter::text::mnemonics::tests::test_mov_offset::case_2_RcxRax32 ... ok
[INFO] [stderr]   |     ^^^^
[INFO] [stdout] test emitter::text::mnemonics::tests::test_pop::case_1_Rcx ... ok
[INFO] [stderr] 
[INFO] [stdout] test emitter::text::mnemonics::tests::test_pop::case_2_R9 ... ok
[INFO] [stderr] warning: unused variable: `lit_size`
[INFO] [stderr]   --> src/emitter/data.rs:60:13
[INFO] [stderr]    |
[INFO] [stderr] 60 |         let lit_size = lit.len(); //TODO
[INFO] [stderr]    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lit_size`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `sections_size`
[INFO] [stderr]    --> src/emitter/elf/sections.rs:141:9
[INFO] [stderr]     |
[INFO] [stderr] 141 |     let sections_size: u64 = sections.iter().map(|s| s.sh_size).sum();
[INFO] [stderr]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sections_size`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `data`
[INFO] [stderr]   --> src/emitter/text/stdlib/windows.rs:33:46
[INFO] [stderr]    |
[INFO] [stderr] 33 | pub fn print(code_context: &mut CodeContext, data: Data) {
[INFO] [stderr]    |                                              ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `stmts`
[INFO] [stderr]   --> src/emitter/text.rs:86:30
[INFO] [stderr]    |
[INFO] [stderr] 86 |             Statement::Scope(stmts) => (),
[INFO] [stderr]    |                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_stmts`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `return_type`
[INFO] [stderr]   --> src/emitter/text.rs:92:45
[INFO] [stderr]    |
[INFO] [stderr] 92 |         let ast::FuncDefinition(name, args, return_type, stmt_list) = func_def;
[INFO] [stderr]    |                                             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_return_type`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/emitter/text.rs:157:65
[INFO] [stderr]     |
[INFO] [stderr] 157 |                         .fold(vec![], |mut acc: Vec<Mnemonic>, (i, v)| {
[INFO] [stderr]     |                                                                 ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `n`
[INFO] [stderr]    --> src/emitter/text.rs:202:38
[INFO] [stderr]     |
[INFO] [stderr] 202 |                 ast::Literal::Number(n) => {
[INFO] [stderr]     |                                      ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/emitter/text.rs:185:17
[INFO] [stderr]     |
[INFO] [stderr] 185 |             let mut data = match exprs.first() {
[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: variant `Scope` is never constructed
[INFO] [stderr]   --> src/emitter/ast.rs:26:5
[INFO] [stderr]    |
[INFO] [stderr] 21 | pub enum Statement {
[INFO] [stderr]    |          --------- variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 26 |     Scope(StatementList),
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Statement` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: method `as_vec` is never used
[INFO] [stderr]    --> src/emitter/ast.rs:139:12
[INFO] [stderr]     |
[INFO] [stderr] 132 | impl Literal {
[INFO] [stderr]     | ------------ method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 139 |     pub fn as_vec(&self) -> Vec<u8> {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `symbol`, `offset`, and `data` are never read
[INFO] [stderr]   --> src/emitter/data.rs:17:9
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub struct DataRef {
[INFO] [stderr]    |            ------- fields in this struct
[INFO] [stderr] 17 |     pub symbol: String,
[INFO] [stderr]    |         ^^^^^^
[INFO] [stderr] 18 |     pub offset: usize,
[INFO] [stderr]    |         ^^^^^^
[INFO] [stderr] 19 |     pub data: Vec<u8>,
[INFO] [stderr]    |         ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `DataRef` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: function `align` is never used
[INFO] [stderr]    --> src/emitter/elf.rs:263:4
[INFO] [stderr]     |
[INFO] [stderr] 263 | fn align(mut v: Vec<u8>, alignment: usize) -> Vec<u8> {
[INFO] [stderr]     |    ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_CLASS_NONE` is never used
[INFO] [stderr]  --> src/emitter/elf/defs.rs:3:11
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub const ELF_CLASS_NONE: u8 = 0x0;
[INFO] [stderr]   |           ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_CLASS_32_BIT` is never used
[INFO] [stderr]  --> src/emitter/elf/defs.rs:4:11
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub const ELF_CLASS_32_BIT: u8 = 0x1;
[INFO] [stderr]   |           ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_DATA_NONE` is never used
[INFO] [stderr]  --> src/emitter/elf/defs.rs:7:11
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub const ELF_DATA_NONE: u8 = 0x0;
[INFO] [stderr]   |           ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_DATA_BIG_ENDIAN` is never used
[INFO] [stderr]  --> src/emitter/elf/defs.rs:9:11
[INFO] [stderr]   |
[INFO] [stderr] 9 | pub const ELF_DATA_BIG_ENDIAN: u8 = 0x2;
[INFO] [stderr]   |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_VERSION_NONE` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:11:11
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub const ELF_VERSION_NONE: u8 = 0;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_VERSION_NUM` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:13:11
[INFO] [stderr]    |
[INFO] [stderr] 13 | pub const ELF_VERSION_NUM: u8 = 2;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_OSABI_LINUX` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:16:11
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub const ELF_OSABI_LINUX: u8 = 3;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_TYPE_NONE` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:20:11
[INFO] [stderr]    |
[INFO] [stderr] 20 | pub const ELF_TYPE_NONE: u16 = 0;
[INFO] [stderr]    |           ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_TYPE_EXEC` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:22:11
[INFO] [stderr]    |
[INFO] [stderr] 22 | pub const ELF_TYPE_EXEC: u16 = 2;
[INFO] [stderr]    |           ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_TYPE_DYN` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:23:11
[INFO] [stderr]    |
[INFO] [stderr] 23 | pub const ELF_TYPE_DYN: u16 = 3;
[INFO] [stderr]    |           ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_TYPE_CORE` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:24:11
[INFO] [stderr]    |
[INFO] [stderr] 24 | pub const ELF_TYPE_CORE: u16 = 4;
[INFO] [stderr]    |           ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stdout] test emitter::text::mnemonics::tests::test_push::case_1_imm16 ... ok
[INFO] [stderr] warning: constant `ELF_TYPE_LOPROC` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:25:11
[INFO] [stderr]    |
[INFO] [stderr] 25 | pub const ELF_TYPE_LOPROC: u16 = 0xff00;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_TYPE_HIPROC` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:26:11
[INFO] [stderr]    |
[INFO] [stderr] 26 | pub const ELF_TYPE_HIPROC: u16 = 0xffff;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_MACHINE_NONE` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:28:11
[INFO] [stderr]    |
[INFO] [stderr] 28 | pub const ELF_MACHINE_NONE: u16 = 0;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_MACHINE_M32` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:29:11
[INFO] [stderr]    |
[INFO] [stderr] 29 | pub const ELF_MACHINE_M32: u16 = 1;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_MACHINE_SPARC` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:30:11
[INFO] [stderr]    |
[INFO] [stderr] 30 | pub const ELF_MACHINE_SPARC: u16 = 2;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_MACHINE_386` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:31:11
[INFO] [stderr]    |
[INFO] [stderr] 31 | pub const ELF_MACHINE_386: u16 = 3;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_MACHINE_68K` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:32:11
[INFO] [stderr]    |
[INFO] [stderr] 32 | pub const ELF_MACHINE_68K: u16 = 4;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_MACHINE_88K` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:33:11
[INFO] [stderr]    |
[INFO] [stderr] 33 | pub const ELF_MACHINE_88K: u16 = 5;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_MACHINE_486` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:34:11
[INFO] [stderr]    |
[INFO] [stderr] 34 | pub const ELF_MACHINE_486: u16 = 6; /* Not used in Linux at least */
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_MACHINE_860` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:35:11
[INFO] [stderr]    |
[INFO] [stderr] 35 | pub const ELF_MACHINE_860: u16 = 7;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_MACHINE_MIPS` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:36:11
[INFO] [stderr]    |
[INFO] [stderr] 36 | pub const ELF_MACHINE_MIPS: u16 = 8; /* R3k, bigendian(?) */
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_MACHINE_MIPS_RS4_BE` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:37:11
[INFO] [stderr]    |
[INFO] [stderr] 37 | pub const ELF_MACHINE_MIPS_RS4_BE: u16 = 10; /* R4k BE */
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_MACHINE_PARISC` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:38:11
[INFO] [stderr]    |
[INFO] [stderr] 38 | pub const ELF_MACHINE_PARISC: u16 = 15;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_MACHINE_SPARC32PLUS` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:39:11
[INFO] [stderr]    |
[INFO] [stderr] 39 | pub const ELF_MACHINE_SPARC32PLUS: u16 = 18;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_MACHINE_PPC` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:40:11
[INFO] [stderr]    |
[INFO] [stderr] 40 | pub const ELF_MACHINE_PPC: u16 = 20;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_MACHINE_PPC64` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:41:11
[INFO] [stderr]    |
[INFO] [stderr] 41 | pub const ELF_MACHINE_PPC64: u16 = 21;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_MACHINE_S390` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:42:11
[INFO] [stderr]    |
[INFO] [stderr] 42 | pub const ELF_MACHINE_S390: u16 = 22;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_MACHINE_SH` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:43:11
[INFO] [stderr]    |
[INFO] [stderr] 43 | pub const ELF_MACHINE_SH: u16 = 42;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_MACHINE_SPARCV9` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:44:11
[INFO] [stderr]    |
[INFO] [stderr] 44 | pub const ELF_MACHINE_SPARCV9: u16 = 43; /* v9 = SPARC64 */
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_MACHINE_H8_300H` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:45:11
[INFO] [stderr]    |
[INFO] [stderr] 45 | pub const ELF_MACHINE_H8_300H: u16 = 47;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_MACHINE_H8S` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:46:11
[INFO] [stderr]    |
[INFO] [stderr] 46 | pub const ELF_MACHINE_H8S: u16 = 48;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_MACHINE_IA_64` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:47:11
[INFO] [stderr]    |
[INFO] [stderr] 47 | pub const ELF_MACHINE_IA_64: u16 = 50;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_MACHINE_CRIS` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:49:11
[INFO] [stderr]    |
[INFO] [stderr] 49 | pub const ELF_MACHINE_CRIS: u16 = 76;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_MACHINE_V850` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:50:11
[INFO] [stderr]    |
[INFO] [stderr] 50 | pub const ELF_MACHINE_V850: u16 = 87;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_MACHINE_ALPHA` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:51:11
[INFO] [stderr]    |
[INFO] [stderr] 51 | pub const ELF_MACHINE_ALPHA: u16 = 0x9026; /* Interim Alpha that stuck around */
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_MACHINE_CYGNUS_V850` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:52:11
[INFO] [stderr]    |
[INFO] [stderr] 52 | pub const ELF_MACHINE_CYGNUS_V850: u16 = 0x9080; /* Old v850 ID used by Cygnus */
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_MACHINE_S390_OLD` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:53:11
[INFO] [stderr]    |
[INFO] [stderr] 53 | pub const ELF_MACHINE_S390_OLD: u16 = 0xA390; /* Obsolete interim value for S/390 */
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `PROGRAM_TYPE_NULL` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:55:11
[INFO] [stderr]    |
[INFO] [stderr] 55 | pub const PROGRAM_TYPE_NULL: u32 = 0;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `PROGRAM_TYPE_LOAD` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:56:11
[INFO] [stderr]    |
[INFO] [stderr] 56 | pub const PROGRAM_TYPE_LOAD: u32 = 1;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `PROGRAM_TYPE_DYNAMIC` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:57:11
[INFO] [stderr]    |
[INFO] [stderr] 57 | pub const PROGRAM_TYPE_DYNAMIC: u32 = 2;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `PROGRAM_TYPE_INTERP` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:58:11
[INFO] [stderr]    |
[INFO] [stderr] 58 | pub const PROGRAM_TYPE_INTERP: u32 = 3;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `PROGRAM_TYPE_NOTE` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:59:11
[INFO] [stderr]    |
[INFO] [stderr] 59 | pub const PROGRAM_TYPE_NOTE: u32 = 4;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `PROGRAM_TYPE_SHLIB` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:60:11
[INFO] [stderr]    |
[INFO] [stderr] 60 | pub const PROGRAM_TYPE_SHLIB: u32 = 5;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `PROGRAM_TYPE_PHDR` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:61:11
[INFO] [stderr]    |
[INFO] [stderr] 61 | pub const PROGRAM_TYPE_PHDR: u32 = 6;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `PROGRAM_TYPE_LOOS` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:62:11
[INFO] [stderr]    |
[INFO] [stderr] 62 | pub const PROGRAM_TYPE_LOOS: u32 = 0x60000000;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `PROGRAM_TYPE_HIOS` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:63:11
[INFO] [stderr]    |
[INFO] [stderr] 63 | pub const PROGRAM_TYPE_HIOS: u32 = 0x6fffffff;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `PROGRAM_TYPE_LOPROC` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:64:11
[INFO] [stderr]    |
[INFO] [stderr] 64 | pub const PROGRAM_TYPE_LOPROC: u32 = 0x70000000;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `PROGRAM_TYPE_HIPROC` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:65:11
[INFO] [stderr]    |
[INFO] [stderr] 65 | pub const PROGRAM_TYPE_HIPROC: u32 = 0x7fffffff;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `PROGRAM_TYPE_GNU_EH_FRAME` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:66:11
[INFO] [stderr]    |
[INFO] [stderr] 66 | pub const PROGRAM_TYPE_GNU_EH_FRAME: u32 = 0x6474e550; /* Extension, eh? */
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `PROGRAM_HEADER_EXEC` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:68:11
[INFO] [stderr]    |
[INFO] [stderr] 68 | pub const PROGRAM_HEADER_EXEC: u32 = 0x1;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `PROGRAM_HEADER_WRITE` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:69:11
[INFO] [stderr]    |
[INFO] [stderr] 69 | pub const PROGRAM_HEADER_WRITE: u32 = 0x2;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `PROGRAM_HEADER_READ` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:70:11
[INFO] [stderr]    |
[INFO] [stderr] 70 | pub const PROGRAM_HEADER_READ: u32 = 0x4;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SEGMENT_TYPE_NULL` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:72:11
[INFO] [stderr]    |
[INFO] [stderr] 72 | pub const SEGMENT_TYPE_NULL: u32 = 0;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SEGMENT_TYPE_HASH` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:77:11
[INFO] [stderr]    |
[INFO] [stderr] 77 | pub const SEGMENT_TYPE_HASH: u32 = 5;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SEGMENT_TYPE_DYNAMIC` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:78:11
[INFO] [stderr]    |
[INFO] [stderr] 78 | pub const SEGMENT_TYPE_DYNAMIC: u32 = 6;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SEGMENT_TYPE_NOTE` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:79:11
[INFO] [stderr]    |
[INFO] [stderr] 79 | pub const SEGMENT_TYPE_NOTE: u32 = 7;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SEGMENT_TYPE_NOBITS` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:80:11
[INFO] [stderr]    |
[INFO] [stderr] 80 | pub const SEGMENT_TYPE_NOBITS: u32 = 8;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SEGMENT_TYPE_REL` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:81:11
[INFO] [stderr]    |
[INFO] [stderr] 81 | pub const SEGMENT_TYPE_REL: u32 = 9;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SEGMENT_TYPE_SHLIB` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:82:11
[INFO] [stderr]    |
[INFO] [stderr] 82 | pub const SEGMENT_TYPE_SHLIB: u32 = 10;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SEGMENT_TYPE_DYNSYM` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:83:11
[INFO] [stderr]    |
[INFO] [stderr] 83 | pub const SEGMENT_TYPE_DYNSYM: u32 = 11;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SEGMENT_TYPE_INIT_ARRAY` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:84:11
[INFO] [stderr]    |
[INFO] [stderr] 84 | pub const SEGMENT_TYPE_INIT_ARRAY: u32 = 14;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SEGMENT_TYPE_FINI_ARRAY` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:85:11
[INFO] [stderr]    |
[INFO] [stderr] 85 | pub const SEGMENT_TYPE_FINI_ARRAY: u32 = 15;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SEGMENT_TYPE_PREINIT_ARRAY` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:86:11
[INFO] [stderr]    |
[INFO] [stderr] 86 | pub const SEGMENT_TYPE_PREINIT_ARRAY: u32 = 16;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SEGMENT_TYPE_GROUP` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:87:11
[INFO] [stderr]    |
[INFO] [stderr] 87 | pub const SEGMENT_TYPE_GROUP: u32 = 17;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SEGMENT_TYPE_SYMTAB_SHNDX` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:88:11
[INFO] [stderr]    |
[INFO] [stderr] 88 | pub const SEGMENT_TYPE_SYMTAB_SHNDX: u32 = 18;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SEGMENT_TYPE_LOPROC` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:89:11
[INFO] [stderr]    |
[INFO] [stderr] 89 | pub const SEGMENT_TYPE_LOPROC: u32 = 0x70000000;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SEGMENT_TYPE_HIPROC` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:90:11
[INFO] [stderr]    |
[INFO] [stderr] 90 | pub const SEGMENT_TYPE_HIPROC: u32 = 0x7fffffff;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SEGMENT_TYPE_LOUSER` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:91:11
[INFO] [stderr]    |
[INFO] [stderr] 91 | pub const SEGMENT_TYPE_LOUSER: u32 = 0x80000000;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SEGMENT_TYPE_HIUSER` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:92:11
[INFO] [stderr]    |
[INFO] [stderr] 92 | pub const SEGMENT_TYPE_HIUSER: u32 = 0xffffffff;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SEGMENT_FLAGS_MERGE` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:98:11
[INFO] [stderr]    |
[INFO] [stderr] 98 | pub const SEGMENT_FLAGS_MERGE: u64 = 1 << 4; /* Might be merged */
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SEGMENT_FLAGS_STRINGS` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:99:11
[INFO] [stderr]    |
[INFO] [stderr] 99 | pub const SEGMENT_FLAGS_STRINGS: u64 = 1 << 5; /* Contains nul-terminated strings */
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SEGMENT_FLAGS_INFO_LINK` is never used
[INFO] [stderr]    --> src/emitter/elf/defs.rs:100:11
[INFO] [stderr]     |
[INFO] [stderr] 100 | pub const SEGMENT_FLAGS_INFO_LINK: u64 = 1 << 6; /* `sh_info' contains SHT index */
[INFO] [stderr]     |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SEGMENT_FLAGS_LINK_ORDER` is never used
[INFO] [stderr]    --> src/emitter/elf/defs.rs:101:11
[INFO] [stderr]     |
[INFO] [stderr] 101 | pub const SEGMENT_FLAGS_LINK_ORDER: u64 = 1 << 7; /* Preserve order after combining */
[INFO] [stderr]     |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SEGMENT_FLAGS_OS_NONCONFORMING` is never used
[INFO] [stderr]    --> src/emitter/elf/defs.rs:102:11
[INFO] [stderr]     |
[INFO] [stderr] 102 | pub const SEGMENT_FLAGS_OS_NONCONFORMING: u64 = 1 << 8; /* Non-standard OS specific handling required */
[INFO] [stderr]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SEGMENT_FLAGS_GROUP` is never used
[INFO] [stderr]    --> src/emitter/elf/defs.rs:103:11
[INFO] [stderr]     |
[INFO] [stderr] 103 | pub const SEGMENT_FLAGS_GROUP: u64 = 1 << 9; /* Section is member of a group */
[INFO] [stderr]     |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SEGMENT_FLAGS_TLS` is never used
[INFO] [stderr]    --> src/emitter/elf/defs.rs:104:11
[INFO] [stderr]     |
[INFO] [stderr] 104 | pub const SEGMENT_FLAGS_TLS: u64 = 1 << 10; /* Section hold thread-local data */
[INFO] [stderr]     |           ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `DATA_SECTION_OFFSET` is never used
[INFO] [stderr]   --> src/emitter/elf/sections.rs:19:7
[INFO] [stderr]    |
[INFO] [stderr] 19 | const DATA_SECTION_OFFSET: DWord =
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `DATA_SECTION_ADDRESS_START` is never used
[INFO] [stderr]   --> src/emitter/elf/sections.rs:21:11
[INFO] [stderr]    |
[INFO] [stderr] 21 | pub const DATA_SECTION_ADDRESS_START: DWord = VIRTUAL_ADDRESS_START + DATA_SECTION_OFFSET;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `build_symtab_section_header` is never used
[INFO] [stderr]    --> src/emitter/elf/sections.rs:195:8
[INFO] [stderr]     |
[INFO] [stderr] 195 | pub fn build_symtab_section_header() -> SectionHeader {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `build_strtab_section_header` is never used
[INFO] [stderr]    --> src/emitter/elf/sections.rs:210:8
[INFO] [stderr]     |
[INFO] [stderr] 210 | pub fn build_strtab_section_header() -> SectionHeader {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `build_rel_text_section_header` is never used
[INFO] [stderr]    --> src/emitter/elf/sections.rs:225:8
[INFO] [stderr]     |
[INFO] [stderr] 225 | pub fn build_rel_text_section_header() -> SectionHeader {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Runtime` is never constructed
[INFO] [stderr]   --> src/emitter/symbols.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub enum DataSymbol {
[INFO] [stderr]    |          ---------- variant in this enum
[INFO] [stderr] 13 |     Comptime,
[INFO] [stderr] 14 |     Runtime,
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `DataSymbol` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Undefined` and `Absolute` are never constructed
[INFO] [stderr]   --> src/emitter/symbols.rs:19:5
[INFO] [stderr]    |
[INFO] [stderr] 18 | pub enum Section {
[INFO] [stderr]    |          ------- variants in this enum
[INFO] [stderr] 19 |     Undefined,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 22 |     Absolute,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Section` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Global` is never constructed
[INFO] [stderr]   --> src/emitter/symbols.rs:28:5
[INFO] [stderr]    |
[INFO] [stderr] 26 | pub enum SymbolScope {
[INFO] [stderr]    |          ----------- variant in this enum
[INFO] [stderr] 27 |     Local,
[INFO] [stderr] 28 |     Global,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `SymbolScope` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]   --> src/emitter/text/abi/linux.rs:18:10
[INFO] [stderr]    |
[INFO] [stderr] 18 |     Data(i64),
[INFO] [stderr]    |     ---- ^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     field in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Arg` 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] 18 |     Data(()),
[INFO] [stderr]    |          ~~
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]   --> src/emitter/text/abi/linux.rs:19:11
[INFO] [stderr]    |
[INFO] [stderr] 19 |     Stack(i64),
[INFO] [stderr]    |     ----- ^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     field in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Arg` 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] 19 |     Stack(()),
[INFO] [stderr]    |           ~~
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]   --> src/emitter/text/abi/windows.rs:10:10
[INFO] [stderr]    |
[INFO] [stderr] 10 |     Data(i64),
[INFO] [stderr]    |     ---- ^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     field in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Arg` 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] 10 |     Data(()),
[INFO] [stderr]    |          ~~
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]   --> src/emitter/text/abi/windows.rs:11:11
[INFO] [stderr]    |
[INFO] [stderr] 11 |     Stack(i64),
[INFO] [stderr]    |     ----- ^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     field in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Arg` 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 |     Stack(()),
[INFO] [stderr]    |           ~~
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ARG_REGISTERS` is never used
[INFO] [stderr]   --> src/emitter/text/abi/windows.rs:22:11
[INFO] [stderr]    |
[INFO] [stderr] 22 | pub const ARG_REGISTERS: &[register::Register] =
[INFO] [stderr]    |           ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `push_args` is never used
[INFO] [stderr]   --> src/emitter/text/abi/windows.rs:25:8
[INFO] [stderr]    |
[INFO] [stderr] 25 | pub fn push_args(code_context: &mut CodeContext, args: &[Data]) {
[INFO] [stderr]    |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `pop_args` is never used
[INFO] [stderr]   --> src/emitter/text/abi/windows.rs:45:8
[INFO] [stderr]    |
[INFO] [stderr] 45 | pub fn pop_args(code_context: &mut CodeContext, args_count: usize) {
[INFO] [stderr]    |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `REGISTER_EXT_INDEX` is never used
[INFO] [stderr]   --> src/emitter/text/mnemonics.rs:10:7
[INFO] [stderr]    |
[INFO] [stderr] 10 | const REGISTER_EXT_INDEX: u8 = 0x30;
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `REX_X` is never used
[INFO] [stderr]   --> src/emitter/text/mnemonics.rs:15:7
[INFO] [stderr]    |
[INFO] [stderr] 15 | const REX_X: u8 = 0b01000010;
[INFO] [stderr]    |       ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `MOD_ADDRESS` is never used
[INFO] [stderr]   --> src/emitter/text/mnemonics.rs:20:7
[INFO] [stderr]    |
[INFO] [stderr] 20 | const MOD_ADDRESS: u8 = 0b00;
[INFO] [stderr]    |       ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Offset8` is never constructed
[INFO] [stderr]    --> src/emitter/text/mnemonics.rs:120:5
[INFO] [stderr]     |
[INFO] [stderr] 113 | pub enum Operand {
[INFO] [stderr]     |          ------- variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 120 |     Offset8(u8),
[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: methods `get_name`, `set_op1`, and `set_op2` are never used
[INFO] [stderr]    --> src/emitter/text/mnemonics.rs:272:12
[INFO] [stderr]     |
[INFO] [stderr] 254 | impl Mnemonic {
[INFO] [stderr]     | ------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 272 |     pub fn get_name(&self) -> MnemonicName {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 276 |     pub fn set_op1(&mut self, op: impl Into<Operand>) {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 280 |     pub fn set_op2(&mut self, op: impl Into<Operand>) {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Jg`, `Jge`, `Je`, and `Jz` are never constructed
[INFO] [stderr]    --> src/emitter/text/mnemonics.rs:561:5
[INFO] [stderr]     |
[INFO] [stderr] 543 | pub enum MnemonicName {
[INFO] [stderr]     |          ------------ variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 561 |     Jg,
[INFO] [stderr]     |     ^^
[INFO] [stderr] 562 |     Jge,
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 563 |     Je,
[INFO] [stderr]     |     ^^
[INFO] [stderr] 564 |     Jz,
[INFO] [stderr]     |     ^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `MnemonicName` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: constant `AX` is never used
[INFO] [stderr]   --> src/emitter/text/mnemonics.rs:76:9
[INFO] [stderr]    |
[INFO] [stderr] 76 |         AX = (0x0),
[INFO] [stderr]    |         ^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: constant `EAX` is never used
[INFO] [stderr]   --> src/emitter/text/mnemonics.rs:57:35
[INFO] [stderr]    |
[INFO] [stderr] 57 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stderr]    |                                     ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 75 | /     registers!(
[INFO] [stderr] 76 | |         AX = (0x0),
[INFO] [stderr] 77 | |         CX = (0x1),
[INFO] [stderr] 78 | |         DX = (0x2),
[INFO] [stderr] ...  |
[INFO] [stderr] 86 | |         R10 = (0x2, ext)
[INFO] [stderr] 87 | |     );
[INFO] [stderr]    | |_____- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: constant `CX` is never used
[INFO] [stderr]   --> src/emitter/text/mnemonics.rs:77:9
[INFO] [stderr]    |
[INFO] [stderr] 77 |         CX = (0x1),
[INFO] [stderr]    |         ^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ECX` is never used
[INFO] [stderr]   --> src/emitter/text/mnemonics.rs:57:35
[INFO] [stderr]    |
[INFO] [stderr] 57 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stderr]    |                                     ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 75 | /     registers!(
[INFO] [stderr] 76 | |         AX = (0x0),
[INFO] [stderr] 77 | |         CX = (0x1),
[INFO] [stderr] 78 | |         DX = (0x2),
[INFO] [stderr] ...  |
[INFO] [stderr] 86 | |         R10 = (0x2, ext)
[INFO] [stderr] 87 | |     );
[INFO] [stderr]    | |_____- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: constant `DX` is never used
[INFO] [stderr]   --> src/emitter/text/mnemonics.rs:78:9
[INFO] [stderr]    |
[INFO] [stderr] 78 |         DX = (0x2),
[INFO] [stderr]    |         ^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: constant `EDX` is never used
[INFO] [stderr]   --> src/emitter/text/mnemonics.rs:57:35
[INFO] [stderr]    |
[INFO] [stderr] 57 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stderr]    |                                     ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 75 | /     registers!(
[INFO] [stderr] 76 | |         AX = (0x0),
[INFO] [stderr] 77 | |         CX = (0x1),
[INFO] [stderr] 78 | |         DX = (0x2),
[INFO] [stderr] ...  |
[INFO] [stderr] 86 | |         R10 = (0x2, ext)
[INFO] [stderr] 87 | |     );
[INFO] [stderr]    | |_____- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: constant `BX` is never used
[INFO] [stderr]   --> src/emitter/text/mnemonics.rs:79:9
[INFO] [stderr]    |
[INFO] [stderr] 79 |         BX = (0x3),
[INFO] [stderr]    |         ^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: constant `EBX` is never used
[INFO] [stderr]   --> src/emitter/text/mnemonics.rs:57:35
[INFO] [stderr]    |
[INFO] [stderr] 57 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stderr]    |                                     ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 75 | /     registers!(
[INFO] [stderr] 76 | |         AX = (0x0),
[INFO] [stderr] 77 | |         CX = (0x1),
[INFO] [stderr] 78 | |         DX = (0x2),
[INFO] [stderr] ...  |
[INFO] [stderr] 86 | |         R10 = (0x2, ext)
[INFO] [stderr] 87 | |     );
[INFO] [stderr]    | |_____- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SP` is never used
[INFO] [stderr]   --> src/emitter/text/mnemonics.rs:80:9
[INFO] [stderr]    |
[INFO] [stderr] 80 |         SP = (0x4),
[INFO] [stderr]    |         ^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ESP` is never used
[INFO] [stderr]   --> src/emitter/text/mnemonics.rs:57:35
[INFO] [stderr]    |
[INFO] [stderr] 57 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stderr]    |                                     ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 75 | /     registers!(
[INFO] [stderr] 76 | |         AX = (0x0),
[INFO] [stderr] 77 | |         CX = (0x1),
[INFO] [stderr] 78 | |         DX = (0x2),
[INFO] [stderr] ...  |
[INFO] [stderr] 86 | |         R10 = (0x2, ext)
[INFO] [stderr] 87 | |     );
[INFO] [stderr]    | |_____- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: constant `BP` is never used
[INFO] [stderr]   --> src/emitter/text/mnemonics.rs:81:9
[INFO] [stderr]    |
[INFO] [stderr] 81 |         BP = (0x5),
[INFO] [stderr]    |         ^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: constant `EBP` is never used
[INFO] [stderr]   --> src/emitter/text/mnemonics.rs:57:35
[INFO] [stderr]    |
[INFO] [stderr] 57 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stderr]    |                                     ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 75 | /     registers!(
[INFO] [stderr] 76 | |         AX = (0x0),
[INFO] [stderr] 77 | |         CX = (0x1),
[INFO] [stderr] 78 | |         DX = (0x2),
[INFO] [stderr] ...  |
[INFO] [stderr] 86 | |         R10 = (0x2, ext)
[INFO] [stderr] 87 | |     );
[INFO] [stderr]    | |_____- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SI` is never used
[INFO] [stderr]   --> src/emitter/text/mnemonics.rs:82:9
[INFO] [stderr]    |
[INFO] [stderr] 82 |         SI = (0x6),
[INFO] [stderr]    |         ^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ESI` is never used
[INFO] [stderr]   --> src/emitter/text/mnemonics.rs:57:35
[INFO] [stderr]    |
[INFO] [stderr] 57 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stderr]    |                                     ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 75 | /     registers!(
[INFO] [stderr] 76 | |         AX = (0x0),
[INFO] [stderr] 77 | |         CX = (0x1),
[INFO] [stderr] 78 | |         DX = (0x2),
[INFO] [stderr] ...  |
[INFO] [stderr] 86 | |         R10 = (0x2, ext)
[INFO] [stderr] 87 | |     );
[INFO] [stderr]    | |_____- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: constant `DI` is never used
[INFO] [stderr]   --> src/emitter/text/mnemonics.rs:83:9
[INFO] [stderr]    |
[INFO] [stderr] 83 |         DI = (0x7),
[INFO] [stderr]    |         ^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: constant `EDI` is never used
[INFO] [stderr]   --> src/emitter/text/mnemonics.rs:57:35
[INFO] [stderr]    |
[INFO] [stderr] 57 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stderr]    |                                     ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 75 | /     registers!(
[INFO] [stderr] 76 | |         AX = (0x0),
[INFO] [stderr] 77 | |         CX = (0x1),
[INFO] [stderr] 78 | |         DX = (0x2),
[INFO] [stderr] ...  |
[INFO] [stderr] 86 | |         R10 = (0x2, ext)
[INFO] [stderr] 87 | |     );
[INFO] [stderr]    | |_____- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: constant `R8D` is never used
[INFO] [stderr]   --> src/emitter/text/mnemonics.rs:64:35
[INFO] [stderr]    |
[INFO] [stderr] 64 |                           pub const [<$name D>]: Register = Register::new($attr, RegisterSize::D, true );
[INFO] [stderr]    |                                     ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 75 | /     registers!(
[INFO] [stderr] 76 | |         AX = (0x0),
[INFO] [stderr] 77 | |         CX = (0x1),
[INFO] [stderr] 78 | |         DX = (0x2),
[INFO] [stderr] ...  |
[INFO] [stderr] 86 | |         R10 = (0x2, ext)
[INFO] [stderr] 87 | |     );
[INFO] [stderr]    | |_____- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: constant `R8W` is never used
[INFO] [stderr]   --> src/emitter/text/mnemonics.rs:65:35
[INFO] [stderr]    |
[INFO] [stderr] 65 |                           pub const [<$name W>]: Register = Register::new($attr, RegisterSize::W, true);
[INFO] [stderr]    |                                     ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 75 | /     registers!(
[INFO] [stderr] 76 | |         AX = (0x0),
[INFO] [stderr] 77 | |         CX = (0x1),
[INFO] [stderr] 78 | |         DX = (0x2),
[INFO] [stderr] ...  |
[INFO] [stderr] 86 | |         R10 = (0x2, ext)
[INFO] [stderr] 87 | |     );
[INFO] [stderr]    | |_____- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: constant `R9D` is never used
[INFO] [stderr]   --> src/emitter/text/mnemonics.rs:64:35
[INFO] [stderr]    |
[INFO] [stderr] 64 |                           pub const [<$name D>]: Register = Register::new($attr, RegisterSize::D, true );
[INFO] [stderr]    |                                     ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 75 | /     registers!(
[INFO] [stderr] 76 | |         AX = (0x0),
[INFO] [stderr] 77 | |         CX = (0x1),
[INFO] [stderr] 78 | |         DX = (0x2),
[INFO] [stderr] ...  |
[INFO] [stderr] 86 | |         R10 = (0x2, ext)
[INFO] [stderr] 87 | |     );
[INFO] [stderr]    | |_____- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: constant `R9W` is never used
[INFO] [stderr]   --> src/emitter/text/mnemonics.rs:65:35
[INFO] [stderr]    |
[INFO] [stderr] 65 |                           pub const [<$name W>]: Register = Register::new($attr, RegisterSize::W, true);
[INFO] [stderr]    |                                     ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 75 | /     registers!(
[INFO] [stderr] 76 | |         AX = (0x0),
[INFO] [stderr] 77 | |         CX = (0x1),
[INFO] [stderr] 78 | |         DX = (0x2),
[INFO] [stderr] ...  |
[INFO] [stderr] 86 | |         R10 = (0x2, ext)
[INFO] [stderr] 87 | |     );
[INFO] [stderr]    | |_____- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: constant `R10` is never used
[INFO] [stderr]   --> src/emitter/text/mnemonics.rs:86:9
[INFO] [stderr]    |
[INFO] [stderr] 86 |         R10 = (0x2, ext)
[INFO] [stderr]    |         ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: constant `R10D` is never used
[INFO] [stderr]   --> src/emitter/text/mnemonics.rs:64:35
[INFO] [stderr]    |
[INFO] [stderr] 64 |                           pub const [<$name D>]: Register = Register::new($attr, RegisterSize::D, true );
[INFO] [stderr]    |                                     ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 75 | /     registers!(
[INFO] [stderr] 76 | |         AX = (0x0),
[INFO] [stderr] 77 | |         CX = (0x1),
[INFO] [stderr] 78 | |         DX = (0x2),
[INFO] [stderr] ...  |
[INFO] [stderr] 86 | |         R10 = (0x2, ext)
[INFO] [stderr] 87 | |     );
[INFO] [stderr]    | |_____- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: constant `R10W` is never used
[INFO] [stderr]   --> src/emitter/text/mnemonics.rs:65:35
[INFO] [stderr]    |
[INFO] [stderr] 65 |                           pub const [<$name W>]: Register = Register::new($attr, RegisterSize::W, true);
[INFO] [stderr]    |                                     ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 75 | /     registers!(
[INFO] [stderr] 76 | |         AX = (0x0),
[INFO] [stderr] 77 | |         CX = (0x1),
[INFO] [stderr] 78 | |         DX = (0x2),
[INFO] [stderr] ...  |
[INFO] [stderr] 86 | |         R10 = (0x2, ext)
[INFO] [stderr] 87 | |     );
[INFO] [stderr]    | |_____- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: fields `symbol` and `offsets` are never read
[INFO] [stderr]   --> src/emitter/text/code_context.rs:15:9
[INFO] [stderr]    |
[INFO] [stderr] 14 | pub struct Call {
[INFO] [stderr]    |            ---- fields in this struct
[INFO] [stderr] 15 |     pub symbol: String,
[INFO] [stderr]    |         ^^^^^^
[INFO] [stderr] 16 |     pub offsets: Vec<usize>,
[INFO] [stderr]    |         ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Call` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `calls`, `const_data`, `symbols`, and `image_base` are never read
[INFO] [stderr]   --> src/emitter/text/code_context.rs:24:5
[INFO] [stderr]    |
[INFO] [stderr] 20 | pub struct CodeContext {
[INFO] [stderr]    |            ----------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 24 |     calls: BTreeMap<String, Call>,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 25 |     const_data: BTreeMap<usize, DataRef>,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 26 |     labels: BTreeMap<String, usize>,
[INFO] [stderr] 27 |     symbols: BTreeMap<String, Symbol>,
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 28 |     relocations: Vec<Relocation>,
[INFO] [stderr] 29 |     image_base: u64,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `CodeContext` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: multiple methods are never used
[INFO] [stderr]    --> src/emitter/text/code_context.rs:64:12
[INFO] [stderr]     |
[INFO] [stderr] 32  | impl CodeContext {
[INFO] [stderr]     | ---------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 64  |     pub fn with_const_data(&mut self, symbol: &str, data: Vec<u8>) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 85  |     pub fn get_pc(&self) -> usize {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 89  |     pub fn get(&self, i: usize) -> Mnemonic {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 93  |     pub fn get_mut(&mut self, i: usize) -> &mut Mnemonic {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 97  |     pub fn get_offset(&self, i: usize) -> usize {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 105 |     pub fn get_code_size_with_calls(&self) -> usize {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 113 |     pub fn get_calls(&self) -> BTreeMap<String, Call> {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 117 |     pub fn get_const_data(&self) -> BTreeMap<usize, DataRef> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 125 |     pub fn get_label_offset(&self, label: &str) -> usize {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 133 |     pub fn compute_calls(
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 160 |     pub fn compute_data(&mut self, data_section_start: u32, const_data: BTreeMap<usize, DataRef>) {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `compile_asm` is never used
[INFO] [stderr]    --> src/emitter/text/code_context.rs:202:8
[INFO] [stderr]     |
[INFO] [stderr] 202 |     fn compile_asm(code: &str) -> Vec<u8> {
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `assert_eq_hex` is never used
[INFO] [stderr]    --> src/emitter/text/code_context.rs:234:8
[INFO] [stderr]     |
[INFO] [stderr] 234 |     fn assert_eq_hex(actual: Vec<u8>, expected: Vec<u8>) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `Io` is never used
[INFO] [stderr]  --> src/emitter/text/stdlib/windows.rs:6:10
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub enum Io {
[INFO] [stderr]   |          ^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `Io` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: function `print` is never used
[INFO] [stderr]   --> src/emitter/text/stdlib/windows.rs:33:8
[INFO] [stderr]    |
[INFO] [stderr] 33 | pub fn print(code_context: &mut CodeContext, data: Data) {
[INFO] [stderr]    |        ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `printd` is never used
[INFO] [stderr]   --> src/emitter/text/stdlib/windows.rs:54:8
[INFO] [stderr]    |
[INFO] [stderr] 54 | pub fn printd(code_context: &mut CodeContext) {
[INFO] [stderr]    |        ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `exit` is never used
[INFO] [stderr]   --> src/emitter/text/stdlib/windows.rs:60:8
[INFO] [stderr]    |
[INFO] [stderr] 60 | pub fn exit(code_context: &mut CodeContext, exit_code: u64) {
[INFO] [stderr]    |        ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `case_4_CxAx` should have a snake case name
[INFO] [stderr]    --> src/emitter/text/mnemonics.rs:654:8
[INFO] [stderr]     |
[INFO] [stderr] 654 |     fn test_mov(
[INFO] [stderr]     |        ^^^^^^^^ help: convert the identifier to snake case: `case_4_cx_ax`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `case_5_EcxEax` should have a snake case name
[INFO] [stderr]    --> src/emitter/text/mnemonics.rs:654:8
[INFO] [stderr]     |
[INFO] [stderr] 654 |     fn test_mov(
[INFO] [stderr]     |        ^^^^^^^^ help: convert the identifier to snake case: `case_5_ecx_eax`
[INFO] [stderr] 
[INFO] [stderr] warning: function `case_6_RcxRax` should have a snake case name
[INFO] [stderr]    --> src/emitter/text/mnemonics.rs:654:8
[INFO] [stderr]     |
[INFO] [stderr] 654 |     fn test_mov(
[INFO] [stderr]     |        ^^^^^^^^ help: convert the identifier to snake case: `case_6_rcx_rax`
[INFO] [stderr] 
[INFO] [stderr] warning: function `case_2_R8Rax` should have a snake case name
[INFO] [stderr]    --> src/emitter/text/mnemonics.rs:667:8
[INFO] [stderr]     |
[INFO] [stderr] 667 |     fn test_mov_ext(
[INFO] [stderr]     |        ^^^^^^^^^^^^ help: convert the identifier to snake case: `case_2_r8_rax`
[INFO] [stderr] 
[INFO] [stderr] warning: function `case_3_R8R9` should have a snake case name
[INFO] [stderr]    --> src/emitter/text/mnemonics.rs:667:8
[INFO] [stderr]     |
[INFO] [stderr] 667 |     fn test_mov_ext(
[INFO] [stderr]     |        ^^^^^^^^^^^^ help: convert the identifier to snake case: `case_3_r8_r9`
[INFO] [stderr] 
[INFO] [stderr] warning: function `case_1_RcxRax8` should have a snake case name
[INFO] [stderr]    --> src/emitter/text/mnemonics.rs:683:8
[INFO] [stderr]     |
[INFO] [stderr] 683 |     fn test_mov_offset(
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `case_1_rcx_rax8`
[INFO] [stderr] 
[INFO] [stderr] warning: function `case_2_RcxRax32` should have a snake case name
[INFO] [stderr]    --> src/emitter/text/mnemonics.rs:683:8
[INFO] [stderr]     |
[INFO] [stderr] 683 |     fn test_mov_offset(
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `case_2_rcx_rax32`
[INFO] [stderr] 
[INFO] [stderr] warning: function `case_3_Rcx` should have a snake case name
[INFO] [stderr]    --> src/emitter/text/mnemonics.rs:697:8
[INFO] [stderr]     |
[INFO] [stderr] 697 |     fn test_push(#[case] op1: impl Into<Operand>, #[case] expected: Vec<u8>) {
[INFO] [stderr]     |        ^^^^^^^^^ help: convert the identifier to snake case: `case_3_rcx`
[INFO] [stderr] 
[INFO] [stderr] warning: function `case_1_Rcx` should have a snake case name
[INFO] [stderr]    --> src/emitter/text/mnemonics.rs:705:8
[INFO] [stderr]     |
[INFO] [stderr] 705 |     fn test_pop(#[case] op1: impl Into<Operand>, #[case] expected: Vec<u8>) {
[INFO] [stderr]     |        ^^^^^^^^ help: convert the identifier to snake case: `case_1_rcx`
[INFO] [stderr] 
[INFO] [stderr] warning: function `case_2_R9` should have a snake case name
[INFO] [stderr]    --> src/emitter/text/mnemonics.rs:705:8
[INFO] [stderr]     |
[INFO] [stderr] 705 |     fn test_pop(#[case] op1: impl Into<Operand>, #[case] expected: Vec<u8>) {
[INFO] [stderr]     |        ^^^^^^^^ help: convert the identifier to snake case: `case_2_r9`
[INFO] [stderr] 
[INFO] [stderr] warning: function `case_2_Rimm32` should have a snake case name
[INFO] [stderr]    --> src/emitter/text/mnemonics.rs:714:8
[INFO] [stderr]     |
[INFO] [stderr] 714 |     fn test_add(
[INFO] [stderr]     |        ^^^^^^^^ help: convert the identifier to snake case: `case_2_rimm32`
[INFO] [stderr] 
[INFO] [stderr] warning: function `case_3_RcxRax` should have a snake case name
[INFO] [stderr]    --> src/emitter/text/mnemonics.rs:714:8
[INFO] [stderr]     |
[INFO] [stderr] 714 |     fn test_add(
[INFO] [stderr]     |        ^^^^^^^^ help: convert the identifier to snake case: `case_3_rcx_rax`
[INFO] [stderr] 
[INFO] [stderr] warning: function `case_2_Rimm32` should have a snake case name
[INFO] [stderr]    --> src/emitter/text/mnemonics.rs:727:8
[INFO] [stderr]     |
[INFO] [stderr] 727 |     fn test_sub(
[INFO] [stderr]     |        ^^^^^^^^ help: convert the identifier to snake case: `case_2_rimm32`
[INFO] [stderr] 
[INFO] [stderr] warning: function `case_3_RcxRax` should have a snake case name
[INFO] [stderr]    --> src/emitter/text/mnemonics.rs:727:8
[INFO] [stderr]     |
[INFO] [stderr] 727 |     fn test_sub(
[INFO] [stderr]     |        ^^^^^^^^ help: convert the identifier to snake case: `case_3_rcx_rax`
[INFO] [stderr] 
[INFO] [stderr] warning: function `case_1_Eax` should have a snake case name
[INFO] [stderr]    --> src/emitter/text/mnemonics.rs:739:8
[INFO] [stderr]     |
[INFO] [stderr] 739 |     fn test_div(#[case] op1: impl Into<Operand>, #[case] expected: Vec<u8>) {
[INFO] [stderr]     |        ^^^^^^^^ help: convert the identifier to snake case: `case_1_eax`
[INFO] [stderr] 
[INFO] [stderr] warning: function `case_2_Rcx` should have a snake case name
[INFO] [stderr]    --> src/emitter/text/mnemonics.rs:739:8
[INFO] [stderr]     |
[INFO] [stderr] 739 |     fn test_div(#[case] op1: impl Into<Operand>, #[case] expected: Vec<u8>) {
[INFO] [stderr]     |        ^^^^^^^^ help: convert the identifier to snake case: `case_2_rcx`
[INFO] [stderr] 
[INFO] [stderr] warning: function `case_1_Rcx` should have a snake case name
[INFO] [stderr]    --> src/emitter/text/mnemonics.rs:746:8
[INFO] [stderr]     |
[INFO] [stderr] 746 |     fn test_inc(#[case] op1: impl Into<Operand>, #[case] expected: Vec<u8>) {
[INFO] [stderr]     |        ^^^^^^^^ help: convert the identifier to snake case: `case_1_rcx`
[INFO] [stderr] 
[INFO] [stderr] warning: function `case_1_Rcx` should have a snake case name
[INFO] [stderr]    --> src/emitter/text/mnemonics.rs:753:8
[INFO] [stderr]     |
[INFO] [stderr] 753 |     fn test_inc_offset(
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `case_1_rcx`
[INFO] [stderr] 
[INFO] [stderr] warning: function `case_1_Offset32` should have a snake case name
[INFO] [stderr]    --> src/emitter/text/mnemonics.rs:764:8
[INFO] [stderr]     |
[INFO] [stderr] 764 |     fn test_call(#[case] op1: impl Into<Operand>, #[case] expected: Vec<u8>) {
[INFO] [stderr]     |        ^^^^^^^^^ help: convert the identifier to snake case: `case_1_offset32`
[INFO] [stderr] 
[INFO] [stderr] warning: function `case_1_NoOp` should have a snake case name
[INFO] [stderr]    --> src/emitter/text/mnemonics.rs:771:8
[INFO] [stderr]     |
[INFO] [stderr] 771 |     fn test_ret(#[case] expected: Vec<u8>) {
[INFO] [stderr]     |        ^^^^^^^^ help: convert the identifier to snake case: `case_1_no_op`
[INFO] [stderr] 
[INFO] [stderr] warning: function `case_1_Imm64` should have a snake case name
[INFO] [stderr]    --> src/emitter/text/mnemonics.rs:793:8
[INFO] [stderr]     |
[INFO] [stderr] 793 |     fn test_jmp(#[case] op1: impl Into<Operand>, #[case] expected: Vec<u8>) {
[INFO] [stderr]     |        ^^^^^^^^ help: convert the identifier to snake case: `case_1_imm64`
[INFO] [stderr] 
[INFO] [stderr] warning: function `case_1_Offset32` should have a snake case name
[INFO] [stderr]    --> src/emitter/text/mnemonics.rs:801:8
[INFO] [stderr]     |
[INFO] [stderr] 801 |     fn test_jle(#[case] op1: impl Into<Operand>, #[case] expected: Vec<u8>) {
[INFO] [stderr]     |        ^^^^^^^^ help: convert the identifier to snake case: `case_1_offset32`
[INFO] [stderr] 
[INFO] [stderr] warning: function `case_2_Offset32` should have a snake case name
[INFO] [stderr]    --> src/emitter/text/mnemonics.rs:801:8
[INFO] [stderr]     |
[INFO] [stderr] 801 |     fn test_jle(#[case] op1: impl Into<Operand>, #[case] expected: Vec<u8>) {
[INFO] [stderr]     |        ^^^^^^^^ help: convert the identifier to snake case: `case_2_offset32`
[INFO] [stderr] 
[INFO] [stderr] warning: `compiler` (bin "compiler") generated 164 warnings (run `cargo fix --bin "compiler"` to apply 23 suggestions)
[INFO] [stderr] warning: `compiler` (bin "compiler" test) generated 177 warnings (154 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.08s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/compiler-982e592768cef9ef)
[INFO] [stdout] test emitter::text::mnemonics::tests::test_cmp::case_2_imm32 ... ok
[INFO] [stdout] test emitter::text::mnemonics::tests::test_push::case_2_imm32 ... ok
[INFO] [stdout] test emitter::text::mnemonics::tests::test_ret::case_1_NoOp ... ok
[INFO] [stdout] test emitter::text::mnemonics::tests::test_mov::case_6_RcxRax ... ok
[INFO] [stdout] test emitter::text::mnemonics::tests::test_mov_ext::case_1_imm64 ... ok
[INFO] [stdout] test emitter::text::mnemonics::tests::test_push::case_3_Rcx ... ok
[INFO] [stdout] test emitter::text::mnemonics::tests::test_sub::case_1_imm32 ... ok
[INFO] [stdout] test emitter::text::mnemonics::tests::test_sub::case_3_RcxRax ... ok
[INFO] [stdout] test emitter::text::mnemonics::tests::test_sub::case_2_Rimm32 ... ok
[INFO] [stdout] test emitter::text::code_context::tests::test_loop_with_stack ... ok
[INFO] [stdout] test emitter::text::code_context::tests::test_loop ... ok
[INFO] [stdout] test emitter::text::code_context::tests::test_mov ... ok
[INFO] [stdout] test emitter::text::mnemonics::tests::test_invalid_encoding - should panic ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 38 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/compiler_test.rs (/opt/rustwide/target/debug/deps/compiler_test-c17a7577c3fdc0eb)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test test_hello ... FAILED
[INFO] [stdout] test test_loop ... FAILED
[INFO] [stdout] test test_assignment ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- test_hello stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_hello' panicked at tests/compiler_test.rs:54:9:
[INFO] [stdout] warning: unused import: `text::TextBuilder`
[INFO] [stdout]   --> src/emitter.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use text::TextBuilder;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AtomicUsize` and `Ordering`
[INFO] [stdout]  --> src/emitter/ast.rs:5:20
[INFO] [stdout]   |
[INFO] [stdout] 5 |     sync::atomic::{AtomicUsize, Ordering},
[INFO] [stdout]   |                    ^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Ident`
[INFO] [stdout]  --> src/emitter/data.rs:1:27
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::emitter::ast::{Ident, Literal, Loop};
[INFO] [stdout]   |                           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `borrow::BorrowMut`, `hash::Hash`, and `rc::Rc`
[INFO] [stdout]  --> src/emitter/data.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     borrow::BorrowMut,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 4 |     collections::{hash_map::Entry, HashMap},
[INFO] [stdout] 5 |     hash::Hash,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 6 |     mem,
[INFO] [stdout] 7 |     rc::Rc,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BTreeMap` and `hash_map::Entry`
[INFO] [stdout]  --> src/emitter/elf/sections.rs:2:19
[INFO] [stdout]   |
[INFO] [stdout] 2 |     collections::{hash_map::Entry, BTreeMap, HashMap},
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `elf::section`
[INFO] [stdout]  --> src/emitter/elf/sections.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use elf::section;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DataSymbol` and `SymbolType`
[INFO] [stdout]   --> src/emitter/elf/sections.rs:10:15
[INFO] [stdout]    |
[INFO] [stdout] 10 |     symbols::{DataSymbol, SymbolType},
[INFO] [stdout]    |               ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DataRef`
[INFO] [stdout]   --> src/emitter/elf/sections.rs:14:25
[INFO] [stdout]    |
[INFO] [stdout] 14 | use super::{defs, Data, DataRef};
[INFO] [stdout]    |                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `fmt::Result` and `hash_map::Entry`
[INFO] [stdout]  --> src/emitter/elf.rs:5:19
[INFO] [stdout]   |
[INFO] [stdout] 5 |     collections::{hash_map::Entry, HashMap},
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 6 |     fmt::Result,
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `elf::relocation`
[INFO] [stdout]   --> src/emitter/elf.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use elf::relocation;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ast`
[INFO] [stdout]   --> src/emitter/elf.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |     super::{ast, data::*},
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Ident`
[INFO] [stdout]  --> src/emitter/symbols.rs:3:42
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::{data::Data, DeclarationType, Ident};
[INFO] [stdout]   |                                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]  --> src/emitter/text/abi/linux.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::mem;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::emitter::elf::sections::DATA_SECTION_ADDRESS_START`
[INFO] [stdout]  --> src/emitter/text/abi/linux.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::emitter::elf::sections::DATA_SECTION_ADDRESS_START;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::code_context::Call`
[INFO] [stdout]  --> src/emitter/text/mnemonics.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use super::code_context::Call;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BTreeMap` and `mem`
[INFO] [stdout]  --> src/emitter/text.rs:5:19
[INFO] [stdout]   |
[INFO] [stdout] 5 |     collections::{BTreeMap, HashMap},
[INFO] [stdout]   |                   ^^^^^^^^
[INFO] [stdout] 6 |     mem,
[INFO] [stdout]   |     ^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `btree_map`
[INFO] [stdout]  --> src/emitter/text/code_context.rs:2:19
[INFO] [stdout]   |
[INFO] [stdout] 2 |     collections::{btree_map, BTreeMap, HashMap},
[INFO] [stdout]   |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Section` and `SymbolType`
[INFO] [stdout]  --> src/emitter/text/code_context.rs:6:43
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::emitter::symbols::{Relocation, Section, Symbol, SymbolType};
[INFO] [stdout]   |                                           ^^^^^^^          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::emitter::text::mnemonics::Operand::Offset32`
[INFO] [stdout]    --> src/emitter/text/code_context.rs:197:9
[INFO] [stdout]     |
[INFO] [stdout] 197 |     use crate::emitter::text::mnemonics::Operand::Offset32;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CodeContext` and `mnemonics::*`
[INFO] [stdout]    --> src/emitter/text/code_context.rs:198:32
[INFO] [stdout]     |
[INFO] [stdout] 198 |     use crate::emitter::text::{mnemonics::*, CodeContext};
[INFO] [stdout]     |                                ^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::ident`
[INFO] [stdout]  --> src/parser/ast_printer.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::ident;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `iter`
[INFO] [stdout]  --> src/parser.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     iter,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lit_size`
[INFO] [stdout]   --> src/emitter/data.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let lit_size = lit.len(); //TODO
[INFO] [stdout]    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lit_size`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sections_size`
[INFO] [stdout]    --> src/emitter/elf/sections.rs:141:9
[INFO] [stdout]     |
[INFO] [stdout] 141 |     let sections_size: u64 = sections.iter().map(|s| s.sh_size).sum();
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sections_size`
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/emitter/text/stdlib/windows.rs:33:46
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub fn print(code_context: &mut CodeContext, data: Data) {
[INFO] [stdout]    |                                              ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stmts`
[INFO] [stdout]   --> src/emitter/text.rs:86:30
[INFO] [stdout]    |
[INFO] [stdout] 86 |             Statement::Scope(stmts) => (),
[INFO] [stdout]    |                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_stmts`
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `return_type`
[INFO] [stdout]   --> src/emitter/text.rs:92:45
[INFO] [stdout]    |
[INFO] [stdout] 92 |         let ast::FuncDefinition(name, args, return_type, stmt_list) = func_def;
[INFO] [stdout]    |                                             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_return_type`
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/emitter/text.rs:157:65
[INFO] [stdout]     |
[INFO] [stdout] 157 |                         .fold(vec![], |mut acc: Vec<Mnemonic>, (i, v)| {
[INFO] [stdout]     |                                                                 ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> src/emitter/text.rs:202:38
[INFO] [stdout]     |
[INFO] [stdout] 202 |                 ast::Literal::Number(n) => {
[INFO] [stdout]     |                                      ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/emitter/text.rs:185:17
[INFO] [stdout]     |
[INFO] [stdout] 185 |             let mut data = match exprs.first() {
[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] warning: variant `Scope` is never constructed
[INFO] [stdout]   --> src/emitter/ast.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub enum Statement {
[INFO] [stdout]    |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 26 |     Scope(StatementList),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Statement` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_vec` is never used
[INFO] [stdout]    --> src/emitter/ast.rs:139:12
[INFO] [stdout]     |
[INFO] [stdout] 132 | impl Literal {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 139 |     pub fn as_vec(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: fields `symbol`, `offset`, and `data` are never read
[INFO] [stdout]   --> src/emitter/data.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct DataRef {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 17 |     pub symbol: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 18 |     pub offset: usize,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 19 |     pub data: Vec<u8>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DataRef` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] warning: function `align` is never used
[INFO] [stdout]    --> src/emitter/elf.rs:263:4
[INFO] [stdout]     |
[INFO] [stdout] 263 | fn align(mut v: Vec<u8>, alignment: usize) -> Vec<u8> {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_CLASS_NONE` is never used
[INFO] [stdout]  --> src/emitter/elf/defs.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub const ELF_CLASS_NONE: u8 = 0x0;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_CLASS_32_BIT` is never used
[INFO] [stdout]  --> src/emitter/elf/defs.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const ELF_CLASS_32_BIT: u8 = 0x1;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_DATA_NONE` is never used
[INFO] [stdout]  --> src/emitter/elf/defs.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const ELF_DATA_NONE: u8 = 0x0;
[INFO] [stdout]   |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_DATA_BIG_ENDIAN` is never used
[INFO] [stdout]  --> src/emitter/elf/defs.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const ELF_DATA_BIG_ENDIAN: u8 = 0x2;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_VERSION_NONE` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const ELF_VERSION_NONE: u8 = 0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_VERSION_NUM` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const ELF_VERSION_NUM: u8 = 2;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_OSABI_LINUX` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const ELF_OSABI_LINUX: u8 = 3;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_TYPE_NONE` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub const ELF_TYPE_NONE: u16 = 0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_TYPE_EXEC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:22:11
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub const ELF_TYPE_EXEC: u16 = 2;
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_TYPE_DYN` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:23:11
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub const ELF_TYPE_DYN: u16 = 3;
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_TYPE_CORE` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:24:11
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub const ELF_TYPE_CORE: u16 = 4;
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_TYPE_LOPROC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:25:11
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub const ELF_TYPE_LOPROC: u16 = 0xff00;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_TYPE_HIPROC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub const ELF_TYPE_HIPROC: u16 = 0xffff;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_NONE` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:28:11
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub const ELF_MACHINE_NONE: u16 = 0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_M32` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:29:11
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub const ELF_MACHINE_M32: u16 = 1;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_SPARC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:30:11
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub const ELF_MACHINE_SPARC: u16 = 2;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_386` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub const ELF_MACHINE_386: u16 = 3;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_68K` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:32:11
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub const ELF_MACHINE_68K: u16 = 4;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_88K` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:33:11
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub const ELF_MACHINE_88K: u16 = 5;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_486` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:34:11
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub const ELF_MACHINE_486: u16 = 6; /* Not used in Linux at least */
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_860` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:35:11
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub const ELF_MACHINE_860: u16 = 7;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_MIPS` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:36:11
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub const ELF_MACHINE_MIPS: u16 = 8; /* R3k, bigendian(?) */
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_MIPS_RS4_BE` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:37:11
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub const ELF_MACHINE_MIPS_RS4_BE: u16 = 10; /* R4k BE */
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_PARISC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:38:11
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub const ELF_MACHINE_PARISC: u16 = 15;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_SPARC32PLUS` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:39:11
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub const ELF_MACHINE_SPARC32PLUS: u16 = 18;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_PPC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:40:11
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub const ELF_MACHINE_PPC: u16 = 20;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_PPC64` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:41:11
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub const ELF_MACHINE_PPC64: u16 = 21;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_S390` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:42:11
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub const ELF_MACHINE_S390: u16 = 22;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_SH` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:43:11
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub const ELF_MACHINE_SH: u16 = 42;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_SPARCV9` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:44:11
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub const ELF_MACHINE_SPARCV9: u16 = 43; /* v9 = SPARC64 */
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_H8_300H` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:45:11
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub const ELF_MACHINE_H8_300H: u16 = 47;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_H8S` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:46:11
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub const ELF_MACHINE_H8S: u16 = 48;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_IA_64` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:47:11
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub const ELF_MACHINE_IA_64: u16 = 50;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_CRIS` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:49:11
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub const ELF_MACHINE_CRIS: u16 = 76;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_V850` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:50:11
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub const ELF_MACHINE_V850: u16 = 87;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_ALPHA` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:51:11
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub const ELF_MACHINE_ALPHA: u16 = 0x9026; /* Interim Alpha that stuck around */
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_CYGNUS_V850` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:52:11
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub const ELF_MACHINE_CYGNUS_V850: u16 = 0x9080; /* Old v850 ID used by Cygnus */
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_S390_OLD` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:53:11
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub const ELF_MACHINE_S390_OLD: u16 = 0xA390; /* Obsolete interim value for S/390 */
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_NULL` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:55:11
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub const PROGRAM_TYPE_NULL: u32 = 0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_LOAD` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:56:11
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub const PROGRAM_TYPE_LOAD: u32 = 1;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_DYNAMIC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:57:11
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub const PROGRAM_TYPE_DYNAMIC: u32 = 2;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_INTERP` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:58:11
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub const PROGRAM_TYPE_INTERP: u32 = 3;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_NOTE` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:59:11
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub const PROGRAM_TYPE_NOTE: u32 = 4;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_SHLIB` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:60:11
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub const PROGRAM_TYPE_SHLIB: u32 = 5;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_PHDR` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:61:11
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub const PROGRAM_TYPE_PHDR: u32 = 6;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_LOOS` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:62:11
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub const PROGRAM_TYPE_LOOS: u32 = 0x60000000;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_HIOS` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:63:11
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub const PROGRAM_TYPE_HIOS: u32 = 0x6fffffff;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_LOPROC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:64:11
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub const PROGRAM_TYPE_LOPROC: u32 = 0x70000000;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_HIPROC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:65:11
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub const PROGRAM_TYPE_HIPROC: u32 = 0x7fffffff;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_GNU_EH_FRAME` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:66:11
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub const PROGRAM_TYPE_GNU_EH_FRAME: u32 = 0x6474e550; /* Extension, eh? */
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_HEADER_EXEC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:68:11
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub const PROGRAM_HEADER_EXEC: u32 = 0x1;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_HEADER_WRITE` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:69:11
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub const PROGRAM_HEADER_WRITE: u32 = 0x2;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_HEADER_READ` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:70:11
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub const PROGRAM_HEADER_READ: u32 = 0x4;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_NULL` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:72:11
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub const SEGMENT_TYPE_NULL: u32 = 0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_HASH` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:77:11
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub const SEGMENT_TYPE_HASH: u32 = 5;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_DYNAMIC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:78:11
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub const SEGMENT_TYPE_DYNAMIC: u32 = 6;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_NOTE` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:79:11
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub const SEGMENT_TYPE_NOTE: u32 = 7;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_NOBITS` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:80:11
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub const SEGMENT_TYPE_NOBITS: u32 = 8;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_REL` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:81:11
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub const SEGMENT_TYPE_REL: u32 = 9;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_SHLIB` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:82:11
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub const SEGMENT_TYPE_SHLIB: u32 = 10;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_DYNSYM` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:83:11
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub const SEGMENT_TYPE_DYNSYM: u32 = 11;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_INIT_ARRAY` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:84:11
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub const SEGMENT_TYPE_INIT_ARRAY: u32 = 14;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_FINI_ARRAY` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:85:11
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub const SEGMENT_TYPE_FINI_ARRAY: u32 = 15;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_PREINIT_ARRAY` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:86:11
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub const SEGMENT_TYPE_PREINIT_ARRAY: u32 = 16;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_GROUP` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:87:11
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub const SEGMENT_TYPE_GROUP: u32 = 17;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_SYMTAB_SHNDX` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:88:11
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub const SEGMENT_TYPE_SYMTAB_SHNDX: u32 = 18;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_LOPROC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:89:11
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub const SEGMENT_TYPE_LOPROC: u32 = 0x70000000;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_HIPROC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:90:11
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub const SEGMENT_TYPE_HIPROC: u32 = 0x7fffffff;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_LOUSER` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:91:11
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub const SEGMENT_TYPE_LOUSER: u32 = 0x80000000;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_HIUSER` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:92:11
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub const SEGMENT_TYPE_HIUSER: u32 = 0xffffffff;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_FLAGS_MERGE` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:98:11
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub const SEGMENT_FLAGS_MERGE: u64 = 1 << 4; /* Might be merged */
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_FLAGS_STRINGS` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:99:11
[INFO] [stdout]    |
[INFO] [stdout] 99 | pub const SEGMENT_FLAGS_STRINGS: u64 = 1 << 5; /* Contains nul-terminated strings */
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_FLAGS_INFO_LINK` is never used
[INFO] [stdout]    --> src/emitter/elf/defs.rs:100:11
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub const SEGMENT_FLAGS_INFO_LINK: u64 = 1 << 6; /* `sh_info' contains SHT index */
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_FLAGS_LINK_ORDER` is never used
[INFO] [stdout]    --> src/emitter/elf/defs.rs:101:11
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub const SEGMENT_FLAGS_LINK_ORDER: u64 = 1 << 7; /* Preserve order after combining */
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_FLAGS_OS_NONCONFORMING` is never used
[INFO] [stdout]    --> src/emitter/elf/defs.rs:102:11
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub const SEGMENT_FLAGS_OS_NONCONFORMING: u64 = 1 << 8; /* Non-standard OS specific handling required */
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_FLAGS_GROUP` is never used
[INFO] [stdout]    --> src/emitter/elf/defs.rs:103:11
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub const SEGMENT_FLAGS_GROUP: u64 = 1 << 9; /* Section is member of a group */
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_FLAGS_TLS` is never used
[INFO] [stdout]    --> src/emitter/elf/defs.rs:104:11
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub const SEGMENT_FLAGS_TLS: u64 = 1 << 10; /* Section hold thread-local data */
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DATA_SECTION_OFFSET` is never used
[INFO] [stdout]   --> src/emitter/elf/sections.rs:19:7
[INFO] [stdout]    |
[INFO] [stdout] 19 | const DATA_SECTION_OFFSET: DWord =
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DATA_SECTION_ADDRESS_START` is never used
[INFO] [stdout]   --> src/emitter/elf/sections.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub const DATA_SECTION_ADDRESS_START: DWord = VIRTUAL_ADDRESS_START + DATA_SECTION_OFFSET;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_symtab_section_header` is never used
[INFO] [stdout]    --> src/emitter/elf/sections.rs:195:8
[INFO] [stdout]     |
[INFO] [stdout] 195 | pub fn build_symtab_section_header() -> SectionHeader {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_strtab_section_header` is never used
[INFO] [stdout]    --> src/emitter/elf/sections.rs:210:8
[INFO] [stdout]     |
[INFO] [stdout] 210 | pub fn build_strtab_section_header() -> SectionHeader {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_rel_text_section_header` is never used
[INFO] [stdout]    --> src/emitter/elf/sections.rs:225:8
[INFO] [stdout]     |
[INFO] [stdout] 225 | pub fn build_rel_text_section_header() -> SectionHeader {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Runtime` is never constructed
[INFO] [stdout]   --> src/emitter/symbols.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub enum DataSymbol {
[INFO] [stdout]    |          ---------- variant in this enum
[INFO] [stdout] 13 |     Comptime,
[INFO] [stdout] 14 |     Runtime,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DataSymbol` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Undefined` and `Absolute` are never constructed
[INFO] [stdout]   --> src/emitter/symbols.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub enum Section {
[INFO] [stdout]    |          ------- variants in this enum
[INFO] [stdout] 19 |     Undefined,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     Absolute,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Section` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Global` is never constructed
[INFO] [stdout]   --> src/emitter/symbols.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub enum SymbolScope {
[INFO] [stdout]    |          ----------- variant in this enum
[INFO] [stdout] 27 |     Local,
[INFO] [stdout] 28 |     Global,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SymbolScope` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/emitter/text/abi/linux.rs:18:10
[INFO] [stdout]    |
[INFO] [stdout] 18 |     Data(i64),
[INFO] [stdout]    |     ---- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Arg` 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] 18 |     Data(()),
[INFO] [stdout]    |          ~~
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/emitter/text/abi/linux.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 |     Stack(i64),
[INFO] [stdout]    |     ----- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Arg` 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] 19 |     Stack(()),
[INFO] [stdout]    |           ~~
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/emitter/text/abi/windows.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 |     Data(i64),
[INFO] [stdout]    |     ---- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Arg` 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] 10 |     Data(()),
[INFO] [stdout]    |          ~~
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/emitter/text/abi/windows.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 |     Stack(i64),
[INFO] [stdout]    |     ----- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Arg` 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 |     Stack(()),
[INFO] [stdout]    |           ~~
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ARG_REGISTERS` is never used
[INFO] [stdout]   --> src/emitter/text/abi/windows.rs:22:11
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub const ARG_REGISTERS: &[register::Register] =
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: function `push_args` is never used
[INFO] [stdout]   --> src/emitter/text/abi/windows.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub fn push_args(code_context: &mut CodeContext, args: &[Data]) {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: function `pop_args` is never used
[INFO] [stdout]   --> src/emitter/text/abi/windows.rs:45:8
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub fn pop_args(code_context: &mut CodeContext, args_count: usize) {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REGISTER_EXT_INDEX` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const REGISTER_EXT_INDEX: u8 = 0x30;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REX_X` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | const REX_X: u8 = 0b01000010;
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MOD_ADDRESS` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:20:7
[INFO] [stdout]    |
[INFO] [stdout] 20 | const MOD_ADDRESS: u8 = 0b00;
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Offset8` is never constructed
[INFO] [stdout]    --> src/emitter/text/mnemonics.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub enum Operand {
[INFO] [stdout]     |          ------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 120 |     Offset8(u8),
[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] warning: methods `get_name`, `set_op1`, and `set_op2` are never used
[INFO] [stdout]    --> src/emitter/text/mnemonics.rs:272:12
[INFO] [stdout]     |
[INFO] [stdout] 254 | impl Mnemonic {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 272 |     pub fn get_name(&self) -> MnemonicName {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 276 |     pub fn set_op1(&mut self, op: impl Into<Operand>) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 280 |     pub fn set_op2(&mut self, op: impl Into<Operand>) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Jg`, `Jge`, `Je`, and `Jz` are never constructed
[INFO] [stdout]    --> src/emitter/text/mnemonics.rs:561:5
[INFO] [stdout]     |
[INFO] [stdout] 543 | pub enum MnemonicName {
[INFO] [stdout]     |          ------------ variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 561 |     Jg,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 562 |     Jge,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 563 |     Je,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 564 |     Jz,
[INFO] [stdout]     |     ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MnemonicName` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AX` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:76:9
[INFO] [stdout]    |
[INFO] [stdout] 76 |         AX = (0x0),
[INFO] [stdout]    |         ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EAX` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:57:35
[INFO] [stdout]    |
[INFO] [stdout] 57 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 | /     registers!(
[INFO] [stdout] 76 | |         AX = (0x0),
[INFO] [stdout] 77 | |         CX = (0x1),
[INFO] [stdout] 78 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |         R10 = (0x2, ext)
[INFO] [stdout] 87 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CX` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:77:9
[INFO] [stdout]    |
[INFO] [stdout] 77 |         CX = (0x1),
[INFO] [stdout]    |         ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ECX` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:57:35
[INFO] [stdout]    |
[INFO] [stdout] 57 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 | /     registers!(
[INFO] [stdout] 76 | |         AX = (0x0),
[INFO] [stdout] 77 | |         CX = (0x1),
[INFO] [stdout] 78 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |         R10 = (0x2, ext)
[INFO] [stdout] 87 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DX` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:78:9
[INFO] [stdout]    |
[INFO] [stdout] 78 |         DX = (0x2),
[INFO] [stdout]    |         ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EDX` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:57:35
[INFO] [stdout]    |
[INFO] [stdout] 57 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 | /     registers!(
[INFO] [stdout] 76 | |         AX = (0x0),
[INFO] [stdout] 77 | |         CX = (0x1),
[INFO] [stdout] 78 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |         R10 = (0x2, ext)
[INFO] [stdout] 87 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BX` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:79:9
[INFO] [stdout]    |
[INFO] [stdout] 79 |         BX = (0x3),
[INFO] [stdout]    |         ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EBX` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:57:35
[INFO] [stdout]    |
[INFO] [stdout] 57 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 | /     registers!(
[INFO] [stdout] 76 | |         AX = (0x0),
[INFO] [stdout] 77 | |         CX = (0x1),
[INFO] [stdout] 78 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |         R10 = (0x2, ext)
[INFO] [stdout] 87 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SP` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |         SP = (0x4),
[INFO] [stdout]    |         ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ESP` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:57:35
[INFO] [stdout]    |
[INFO] [stdout] 57 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 | /     registers!(
[INFO] [stdout] 76 | |         AX = (0x0),
[INFO] [stdout] 77 | |         CX = (0x1),
[INFO] [stdout] 78 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |         R10 = (0x2, ext)
[INFO] [stdout] 87 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BP` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:81:9
[INFO] [stdout]    |
[INFO] [stdout] 81 |         BP = (0x5),
[INFO] [stdout]    |         ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EBP` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:57:35
[INFO] [stdout]    |
[INFO] [stdout] 57 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 | /     registers!(
[INFO] [stdout] 76 | |         AX = (0x0),
[INFO] [stdout] 77 | |         CX = (0x1),
[INFO] [stdout] 78 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |         R10 = (0x2, ext)
[INFO] [stdout] 87 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SI` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |         SI = (0x6),
[INFO] [stdout]    |         ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ESI` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:57:35
[INFO] [stdout]    |
[INFO] [stdout] 57 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 | /     registers!(
[INFO] [stdout] 76 | |         AX = (0x0),
[INFO] [stdout] 77 | |         CX = (0x1),
[INFO] [stdout] 78 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |         R10 = (0x2, ext)
[INFO] [stdout] 87 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DI` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:83:9
[INFO] [stdout]    |
[INFO] [stdout] 83 |         DI = (0x7),
[INFO] [stdout]    |         ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EDI` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:57:35
[INFO] [stdout]    |
[INFO] [stdout] 57 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 | /     registers!(
[INFO] [stdout] 76 | |         AX = (0x0),
[INFO] [stdout] 77 | |         CX = (0x1),
[INFO] [stdout] 78 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |         R10 = (0x2, ext)
[INFO] [stdout] 87 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] warning: constant `R8D` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:64:35
[INFO] [stdout]    |
[INFO] [stdout] 64 |                           pub const [<$name D>]: Register = Register::new($attr, RegisterSize::D, true );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 | /     registers!(
[INFO] [stdout] 76 | |         AX = (0x0),
[INFO] [stdout] 77 | |         CX = (0x1),
[INFO] [stdout] 78 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |         R10 = (0x2, ext)
[INFO] [stdout] 87 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] warning: constant `R8W` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:65:35
[INFO] [stdout]    |
[INFO] [stdout] 65 |                           pub const [<$name W>]: Register = Register::new($attr, RegisterSize::W, true);
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 | /     registers!(
[INFO] [stdout] 76 | |         AX = (0x0),
[INFO] [stdout] 77 | |         CX = (0x1),
[INFO] [stdout] 78 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |         R10 = (0x2, ext)
[INFO] [stdout] 87 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] warning: constant `R9D` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:64:35
[INFO] [stdout]    |
[INFO] [stdout] 64 |                           pub const [<$name D>]: Register = Register::new($attr, RegisterSize::D, true );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 | /     registers!(
[INFO] [stdout] 76 | |         AX = (0x0),
[INFO] [stdout] 77 | |         CX = (0x1),
[INFO] [stdout] 78 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |         R10 = (0x2, ext)
[INFO] [stdout] 87 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] warning: constant `R9W` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:65:35
[INFO] [stdout]    |
[INFO] [stdout] 65 |                           pub const [<$name W>]: Register = Register::new($attr, RegisterSize::W, true);
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 | /     registers!(
[INFO] [stdout] 76 | |         AX = (0x0),
[INFO] [stdout] 77 | |         CX = (0x1),
[INFO] [stdout] 78 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |         R10 = (0x2, ext)
[INFO] [stdout] 87 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] warning: constant `R10` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:86:9
[INFO] [stdout]    |
[INFO] [stdout] 86 |         R10 = (0x2, ext)
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] warning: constant `R10D` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:64:35
[INFO] [stdout]    |
[INFO] [stdout] 64 |                           pub const [<$name D>]: Register = Register::new($attr, RegisterSize::D, true );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 | /     registers!(
[INFO] [stdout] 76 | |         AX = (0x0),
[INFO] [stdout] 77 | |         CX = (0x1),
[INFO] [stdout] 78 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |         R10 = (0x2, ext)
[INFO] [stdout] 87 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] warning: constant `R10W` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:65:35
[INFO] [stdout]    |
[INFO] [stdout] 65 |                           pub const [<$name W>]: Register = Register::new($attr, RegisterSize::W, true);
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 | /     registers!(
[INFO] [stdout] 76 | |         AX = (0x0),
[INFO] [stdout] 77 | |         CX = (0x1),
[INFO] [stdout] 78 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |         R10 = (0x2, ext)
[INFO] [stdout] 87 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] warning: fields `symbol` and `offsets` are never read
[INFO] [stdout]   --> src/emitter/text/code_context.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct Call {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] 15 |     pub symbol: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 16 |     pub offsets: Vec<usize>,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Call` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] warning: fields `calls`, `const_data`, `symbols`, and `image_base` are never read
[INFO] [stdout]   --> src/emitter/text/code_context.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct CodeContext {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 24 |     calls: BTreeMap<String, Call>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 25 |     const_data: BTreeMap<usize, DataRef>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 26 |     labels: BTreeMap<String, usize>,
[INFO] [stdout] 27 |     symbols: BTreeMap<String, Symbol>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 28 |     relocations: Vec<Relocation>,
[INFO] [stdout] 29 |     image_base: u64,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CodeContext` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/emitter/text/code_context.rs:64:12
[INFO] [stdout]     |
[INFO] [stdout] 32  | impl CodeContext {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 64  |     pub fn with_const_data(&mut self, symbol: &str, data: Vec<u8>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 85  |     pub fn get_pc(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 89  |     pub fn get(&self, i: usize) -> Mnemonic {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 93  |     pub fn get_mut(&mut self, i: usize) -> &mut Mnemonic {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 97  |     pub fn get_offset(&self, i: usize) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 |     pub fn get_code_size_with_calls(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub fn get_calls(&self) -> BTreeMap<String, Call> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub fn get_const_data(&self) -> BTreeMap<usize, DataRef> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn get_label_offset(&self, label: &str) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 133 |     pub fn compute_calls(
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 160 |     pub fn compute_data(&mut self, data_section_start: u32, const_data: BTreeMap<usize, DataRef>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: function `compile_asm` is never used
[INFO] [stdout]    --> src/emitter/text/code_context.rs:202:8
[INFO] [stdout]     |
[INFO] [stdout] 202 |     fn compile_asm(code: &str) -> Vec<u8> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_eq_hex` is never used
[INFO] [stdout]    --> src/emitter/text/code_context.rs:234:8
[INFO] [stdout]     |
[INFO] [stdout] 234 |     fn assert_eq_hex(actual: Vec<u8>, expected: Vec<u8>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Io` is never used
[INFO] [stdout]  --> src/emitter/text/stdlib/windows.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub enum Io {
[INFO] [stdout]   |          ^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Io` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] warning: function `print` is never used
[INFO] [stdout]   --> src/emitter/text/stdlib/windows.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub fn print(code_context: &mut CodeContext, data: Data) {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: function `printd` is never used
[INFO] [stdout]   --> src/emitter/text/stdlib/windows.rs:54:8
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub fn printd(code_context: &mut CodeContext) {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: function `exit` is never used
[INFO] [stdout]   --> src/emitter/text/stdlib/windows.rs:60:8
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub fn exit(code_context: &mut CodeContext, exit_code: u64) {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: `compiler` (bin "compiler") generated 164 warnings (run `cargo fix --bin "compiler"` to apply 23 suggestions)
[INFO] [stdout]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.07s
[INFO] [stdout]      Running `/opt/rustwide/target/debug/compiler /opt/rustwide/workdir/tests/fixtures/hello.jc /opt/rustwide/workdir/local/bin/hello`
[INFO] [stdout] [src/parser.rs:115:9] &tokens[1] = Ref
[INFO] [stdout] [src/parser.rs:115:9] &tokens[2] = Ident(
[INFO] [stdout]     "String",
[INFO] [stdout] )
[INFO] [stdout] [src/parser.rs:115:9] &tokens[1] = BlockStart
[INFO] [stdout] [src/parser.rs:115:9] &tokens[2] = StatementEnd
[INFO] [stdout] [src/parser.rs:115:9] &tokens[1] = BlockStart
[INFO] [stdout] [src/parser.rs:115:9] &tokens[2] = StatementEnd
[INFO] [stdout] [src/emitter/data.rs:151:17] &stack = [
[INFO] [stdout]     8,
[INFO] [stdout] ]
[INFO] [stdout] [src/emitter/data.rs:151:17] &stack = [
[INFO] [stdout]     8,
[INFO] [stdout] ]
[INFO] [stdout] [src/emitter.rs:29:5] &data_builder.symbol_data = {
[INFO] [stdout]     "global::__printf_d_arg": Data {
[INFO] [stdout]         symbol: "global::__printf_d_arg",
[INFO] [stdout]         lit: String(
[INFO] [stdout]             "%d\0",
[INFO] [stdout]         ),
[INFO] [stdout]         reference: false,
[INFO] [stdout]         data_loc: 0,
[INFO] [stdout]         decl_type: Const,
[INFO] [stdout]     },
[INFO] [stdout]     "f1::c1": Data {
[INFO] [stdout]         symbol: "f1::c1",
[INFO] [stdout]         lit: Number(
[INFO] [stdout]             Number {
[INFO] [stdout]                 value: 199,
[INFO] [stdout]             },
[INFO] [stdout]         ),
[INFO] [stdout]         reference: false,
[INFO] [stdout]         data_loc: 9,
[INFO] [stdout]         decl_type: Const,
[INFO] [stdout]     },
[INFO] [stdout]     "f1::d": Data {
[INFO] [stdout]         symbol: "f1::d",
[INFO] [stdout]         lit: String(
[INFO] [stdout]             "Qwerty\n",
[INFO] [stdout]         ),
[INFO] [stdout]         reference: false,
[INFO] [stdout]         data_loc: 17,
[INFO] [stdout]         decl_type: Const,
[INFO] [stdout]     },
[INFO] [stdout]     "f1::c": Data {
[INFO] [stdout]         symbol: "f1::c",
[INFO] [stdout]         lit: String(
[INFO] [stdout]             "\nSome test\n",
[INFO] [stdout]         ),
[INFO] [stdout]         reference: false,
[INFO] [stdout]         data_loc: 32,
[INFO] [stdout]         decl_type: Let,
[INFO] [stdout]     },
[INFO] [stdout]     "f1::b1": Data {
[INFO] [stdout]         symbol: "f1::b1",
[INFO] [stdout]         lit: Number(
[INFO] [stdout]             Number {
[INFO] [stdout]                 value: 33,
[INFO] [stdout]             },
[INFO] [stdout]         ),
[INFO] [stdout]         reference: false,
[INFO] [stdout]         data_loc: 8,
[INFO] [stdout]         decl_type: Let,
[INFO] [stdout]     },
[INFO] [stdout]     "f1::a": Data {
[INFO] [stdout]         symbol: "f1::a",
[INFO] [stdout]         lit: String(
[INFO] [stdout]             "",
[INFO] [stdout]         ),
[INFO] [stdout]         reference: true,
[INFO] [stdout]         data_loc: 8,
[INFO] [stdout]         decl_type: Let,
[INFO] [stdout]     },
[INFO] [stdout]     "main::a": Data {
[INFO] [stdout]         symbol: "main::a",
[INFO] [stdout]         lit: String(
[INFO] [stdout]             "Hello World!\n",
[INFO] [stdout]         ),
[INFO] [stdout]         reference: false,
[INFO] [stdout]         data_loc: 24,
[INFO] [stdout]         decl_type: Let,
[INFO] [stdout]     },
[INFO] [stdout]     "f1::b": Data {
[INFO] [stdout]         symbol: "f1::b",
[INFO] [stdout]         lit: String(
[INFO] [stdout]             "Nummer",
[INFO] [stdout]         ),
[INFO] [stdout]         reference: false,
[INFO] [stdout]         data_loc: 3,
[INFO] [stdout]         decl_type: Const,
[INFO] [stdout]     },
[INFO] [stdout] }
[INFO] [stdout] [src/emitter/elf.rs:215:5] last_local_idx = 9
[INFO] [stdout] 
[INFO] [stdout] thread 'main' panicked at src/emitter/elf.rs:121:51:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0: rust_begin_unwind
[INFO] [stdout]              at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:695:5
[INFO] [stdout]    1: core::panicking::panic_fmt
[INFO] [stdout]              at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/panicking.rs:75:14
[INFO] [stdout]    2: core::result::unwrap_failed
[INFO] [stdout]              at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/result.rs:1704:5
[INFO] [stdout]    3: core::result::Result<T,E>::unwrap
[INFO] [stdout]              at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/result.rs:1109:23
[INFO] [stdout]    4: compiler::emitter::elf::build
[INFO] [stdout]              at ./src/emitter/elf.rs:121:20
[INFO] [stdout]    5: compiler::emitter::build_executable
[INFO] [stdout]              at ./src/emitter.rs:36:5
[INFO] [stdout]    6: compiler::main
[INFO] [stdout]              at ./src/main.rs:21:5
[INFO] [stdout]    7: core::ops::function::FnOnce::call_once
[INFO] [stdout]              at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/ops/function.rs:250:5
[INFO] [stdout] note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
[INFO] [stdout] 
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5f017bcd154a - 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:     0x5f017bcd154a - 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:     0x5f017bcd154a - std::sys::backtrace::_print_fmt::h842a1474e6f8d23f
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x5f017bcd154a - <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:     0x5f017bcf8c03 - core::fmt::rt::Argument::fmt::hdb6b616786b41dc1
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/fmt/rt.rs:177:76
[INFO] [stdout]    5:     0x5f017bcf8c03 - core::fmt::write::h2cc1698af7e2d686
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/fmt/mod.rs:1440:21
[INFO] [stdout]    6:     0x5f017bccdf03 - std::io::Write::write_fmt::hab1b4cd059a79022
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/io/mod.rs:1887:15
[INFO] [stdout]    7:     0x5f017bcd1392 - std::sys::backtrace::BacktraceLock::print::h147fe35b4ea13b08
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    8:     0x5f017bcd296f - std::panicking::default_hook::{{closure}}::hbd44223dbdc0d208
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:298:22
[INFO] [stdout]    9:     0x5f017bcd2788 - std::panicking::default_hook::h20f81eb0576efcec
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:322:9
[INFO] [stdout]   10:     0x5f017bc9b403 - <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:     0x5f017bc9b403 - test::test_main::{{closure}}::hc0a4963c59427c24
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:134:21
[INFO] [stdout]   12:     0x5f017bcd3463 - <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:     0x5f017bcd3463 - std::panicking::rust_panic_with_hook::h625eea43051b2edc
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:839:13
[INFO] [stdout]   14:     0x5f017bcd311a - std::panicking::begin_panic_handler::{{closure}}::h4f9159cfbc3f6bd3
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:704:13
[INFO] [stdout]   15:     0x5f017bcd1a49 - std::sys::backtrace::__rust_end_short_backtrace::h0390abce48353151
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:168:18
[INFO] [stdout]   16:     0x5f017bcd2dad - rust_begin_unwind
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:695:5
[INFO] [stdout]   17:     0x5f017bcf76b0 - core::panicking::panic_fmt::h9e7c637e9e5f29c9
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/panicking.rs:75:14
[INFO] [stdout]   18:     0x5f017bc5fac3 - core::panicking::panic_display::hb3d98297ca9d1b07
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/panicking.rs:261:5
[INFO] [stdout]   19:     0x5f017bc5e1ba - compiler_test::compile_src::panic_cold_display::had2e70ae5f215dea
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/panic.rs:100:13
[INFO] [stdout]   20:     0x5f017bc5d9e8 - compiler_test::compile_src::he268a0b8dada9ce9
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/compiler_test.rs:54:9
[INFO] [stdout]   21:     0x5f017bc5deb4 - compiler_test::test_hello::h1cae205d802b37e8
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/compiler_test.rs:7:18
[INFO] [stdout]   22:     0x5f017bc5de67 - compiler_test::test_hello::{{closure}}::hb90b2443012ce062
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/compiler_test.rs:5:16
[INFO] [stdout]   23:     0x5f017bc5eb56 - core::ops::function::FnOnce::call_once::h33d8525ae6287991
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5f017bca0b5b - core::ops::function::FnOnce::call_once::he27718dfdd183f43
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5f017bca0b5b - test::__rust_begin_short_backtrace::h4e84902998457a5d
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:632:18
[INFO] [stdout]   26:     0x5f017bc9fa93 - test::run_test_in_process::{{closure}}::h7176fd18fc1feca0
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:655:60
[INFO] [stdout]   27:     0x5f017bc9fa93 - <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]   28:     0x5f017bc9fa93 - std::panicking::try::do_call::h3da0561d9ab99c25
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:587:40
[INFO] [stdout]   29:     0x5f017bc9fa93 - std::panicking::try::h41c9fa508bc61df6
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:550:19
[INFO] [stdout]   30:     0x5f017bc9fa93 - std::panic::catch_unwind::h6b3ff07bb5afad93
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panic.rs:358:14
[INFO] [stdout]   31:     0x5f017bc9fa93 - test::run_test_in_process::hc7253dd11b39b9f4
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:655:27
[INFO] [stdout]   32:     0x5f017bc9fa93 - test::run_test::{{closure}}::hfb2007f8649c30bb
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:576:43
[INFO] [stdout]   33:     0x5f017bc62b75 - test::run_test::{{closure}}::h56a17aa7a282a9f4
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:606:41
[INFO] [stdout]   34:     0x5f017bc62b75 - std::sys::backtrace::__rust_begin_short_backtrace::hd2d2d2fb8e8c6aac
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:152:18
[INFO] [stdout]   35:     0x5f017bc6645a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h4faa3f9db6133423
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/thread/mod.rs:559:17
[INFO] [stdout]   36:     0x5f017bc6645a - <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]   37:     0x5f017bc6645a - std::panicking::try::do_call::h2f73af3616c35465
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:587:40
[INFO] [stdout]   38:     0x5f017bc6645a - std::panicking::try::hd1660ce9efadef5a
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:550:19
[INFO] [stdout]   39:     0x5f017bc6645a - std::panic::catch_unwind::h5ee8d7823b8ca744
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panic.rs:358:14
[INFO] [stdout]   40:     0x5f017bc6645a - std::thread::Builder::spawn_unchecked_::{{closure}}::h53c3a1894dce8407
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/thread/mod.rs:557:30
[INFO] [stdout]   41:     0x5f017bc6645a - core::ops::function::FnOnce::call_once{{vtable.shim}}::h048ce291ad4f62bf
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x5f017bcd74eb - <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]   43:     0x5f017bcd74eb - <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]   44:     0x5f017bcd74eb - 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]   45:     0x7320c0fc2ac3 - <unknown>
[INFO] [stdout]   46:     0x7320c1053a04 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test_loop stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_loop' panicked at tests/compiler_test.rs:54:9:
[INFO] [stdout] warning: unused import: `text::TextBuilder`
[INFO] [stdout]   --> src/emitter.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use text::TextBuilder;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AtomicUsize` and `Ordering`
[INFO] [stdout]  --> src/emitter/ast.rs:5:20
[INFO] [stdout]   |
[INFO] [stdout] 5 |     sync::atomic::{AtomicUsize, Ordering},
[INFO] [stdout]   |                    ^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Ident`
[INFO] [stdout]  --> src/emitter/data.rs:1:27
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::emitter::ast::{Ident, Literal, Loop};
[INFO] [stdout]   |                           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `borrow::BorrowMut`, `hash::Hash`, and `rc::Rc`
[INFO] [stdout]  --> src/emitter/data.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     borrow::BorrowMut,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 4 |     collections::{hash_map::Entry, HashMap},
[INFO] [stdout] 5 |     hash::Hash,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 6 |     mem,
[INFO] [stdout] 7 |     rc::Rc,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BTreeMap` and `hash_map::Entry`
[INFO] [stdout]  --> src/emitter/elf/sections.rs:2:19
[INFO] [stdout]   |
[INFO] [stdout] 2 |     collections::{hash_map::Entry, BTreeMap, HashMap},
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `elf::section`
[INFO] [stdout]  --> src/emitter/elf/sections.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use elf::section;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DataSymbol` and `SymbolType`
[INFO] [stdout]   --> src/emitter/elf/sections.rs:10:15
[INFO] [stdout]    |
[INFO] [stdout] 10 |     symbols::{DataSymbol, SymbolType},
[INFO] [stdout]    |               ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DataRef`
[INFO] [stdout]   --> src/emitter/elf/sections.rs:14:25
[INFO] [stdout]    |
[INFO] [stdout] 14 | use super::{defs, Data, DataRef};
[INFO] [stdout]    |                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `fmt::Result` and `hash_map::Entry`
[INFO] [stdout]  --> src/emitter/elf.rs:5:19
[INFO] [stdout]   |
[INFO] [stdout] 5 |     collections::{hash_map::Entry, HashMap},
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 6 |     fmt::Result,
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `elf::relocation`
[INFO] [stdout]   --> src/emitter/elf.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use elf::relocation;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ast`
[INFO] [stdout]   --> src/emitter/elf.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |     super::{ast, data::*},
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Ident`
[INFO] [stdout]  --> src/emitter/symbols.rs:3:42
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::{data::Data, DeclarationType, Ident};
[INFO] [stdout]   |                                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]  --> src/emitter/text/abi/linux.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::mem;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::emitter::elf::sections::DATA_SECTION_ADDRESS_START`
[INFO] [stdout]  --> src/emitter/text/abi/linux.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::emitter::elf::sections::DATA_SECTION_ADDRESS_START;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::code_context::Call`
[INFO] [stdout]  --> src/emitter/text/mnemonics.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use super::code_context::Call;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BTreeMap` and `mem`
[INFO] [stdout]  --> src/emitter/text.rs:5:19
[INFO] [stdout]   |
[INFO] [stdout] 5 |     collections::{BTreeMap, HashMap},
[INFO] [stdout]   |                   ^^^^^^^^
[INFO] [stdout] 6 |     mem,
[INFO] [stdout]   |     ^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `btree_map`
[INFO] [stdout]  --> src/emitter/text/code_context.rs:2:19
[INFO] [stdout]   |
[INFO] [stdout] 2 |     collections::{btree_map, BTreeMap, HashMap},
[INFO] [stdout]   |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Section` and `SymbolType`
[INFO] [stdout]  --> src/emitter/text/code_context.rs:6:43
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::emitter::symbols::{Relocation, Section, Symbol, SymbolType};
[INFO] [stdout]   |                                           ^^^^^^^          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::emitter::text::mnemonics::Operand::Offset32`
[INFO] [stdout]    --> src/emitter/text/code_context.rs:197:9
[INFO] [stdout]     |
[INFO] [stdout] 197 |     use crate::emitter::text::mnemonics::Operand::Offset32;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CodeContext` and `mnemonics::*`
[INFO] [stdout]    --> src/emitter/text/code_context.rs:198:32
[INFO] [stdout]     |
[INFO] [stdout] 198 |     use crate::emitter::text::{mnemonics::*, CodeContext};
[INFO] [stdout]     |                                ^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::ident`
[INFO] [stdout]  --> src/parser/ast_printer.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::ident;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `iter`
[INFO] [stdout]  --> src/parser.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     iter,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lit_size`
[INFO] [stdout]   --> src/emitter/data.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let lit_size = lit.len(); //TODO
[INFO] [stdout]    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lit_size`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sections_size`
[INFO] [stdout]    --> src/emitter/elf/sections.rs:141:9
[INFO] [stdout]     |
[INFO] [stdout] 141 |     let sections_size: u64 = sections.iter().map(|s| s.sh_size).sum();
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sections_size`
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/emitter/text/stdlib/windows.rs:33:46
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub fn print(code_context: &mut CodeContext, data: Data) {
[INFO] [stdout]    |                                              ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stmts`
[INFO] [stdout]   --> src/emitter/text.rs:86:30
[INFO] [stdout]    |
[INFO] [stdout] 86 |             Statement::Scope(stmts) => (),
[INFO] [stdout]    |                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_stmts`
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `return_type`
[INFO] [stdout]   --> src/emitter/text.rs:92:45
[INFO] [stdout]    |
[INFO] [stdout] 92 |         let ast::FuncDefinition(name, args, return_type, stmt_list) = func_def;
[INFO] [stdout]    |                                             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_return_type`
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/emitter/text.rs:157:65
[INFO] [stdout]     |
[INFO] [stdout] 157 |                         .fold(vec![], |mut acc: Vec<Mnemonic>, (i, v)| {
[INFO] [stdout]     |                                                                 ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> src/emitter/text.rs:202:38
[INFO] [stdout]     |
[INFO] [stdout] 202 |                 ast::Literal::Number(n) => {
[INFO] [stdout]     |                                      ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/emitter/text.rs:185:17
[INFO] [stdout]     |
[INFO] [stdout] 185 |             let mut data = match exprs.first() {
[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] warning: variant `Scope` is never constructed
[INFO] [stdout]   --> src/emitter/ast.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub enum Statement {
[INFO] [stdout]    |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 26 |     Scope(StatementList),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Statement` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_vec` is never used
[INFO] [stdout]    --> src/emitter/ast.rs:139:12
[INFO] [stdout]     |
[INFO] [stdout] 132 | impl Literal {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 139 |     pub fn as_vec(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: fields `symbol`, `offset`, and `data` are never read
[INFO] [stdout]   --> src/emitter/data.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct DataRef {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 17 |     pub symbol: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 18 |     pub offset: usize,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 19 |     pub data: Vec<u8>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DataRef` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] warning: function `align` is never used
[INFO] [stdout]    --> src/emitter/elf.rs:263:4
[INFO] [stdout]     |
[INFO] [stdout] 263 | fn align(mut v: Vec<u8>, alignment: usize) -> Vec<u8> {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_CLASS_NONE` is never used
[INFO] [stdout]  --> src/emitter/elf/defs.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub const ELF_CLASS_NONE: u8 = 0x0;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_CLASS_32_BIT` is never used
[INFO] [stdout]  --> src/emitter/elf/defs.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const ELF_CLASS_32_BIT: u8 = 0x1;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_DATA_NONE` is never used
[INFO] [stdout]  --> src/emitter/elf/defs.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const ELF_DATA_NONE: u8 = 0x0;
[INFO] [stdout]   |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_DATA_BIG_ENDIAN` is never used
[INFO] [stdout]  --> src/emitter/elf/defs.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const ELF_DATA_BIG_ENDIAN: u8 = 0x2;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_VERSION_NONE` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const ELF_VERSION_NONE: u8 = 0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_VERSION_NUM` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const ELF_VERSION_NUM: u8 = 2;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_OSABI_LINUX` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const ELF_OSABI_LINUX: u8 = 3;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_TYPE_NONE` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub const ELF_TYPE_NONE: u16 = 0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_TYPE_EXEC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:22:11
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub const ELF_TYPE_EXEC: u16 = 2;
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_TYPE_DYN` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:23:11
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub const ELF_TYPE_DYN: u16 = 3;
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_TYPE_CORE` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:24:11
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub const ELF_TYPE_CORE: u16 = 4;
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_TYPE_LOPROC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:25:11
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub const ELF_TYPE_LOPROC: u16 = 0xff00;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_TYPE_HIPROC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub const ELF_TYPE_HIPROC: u16 = 0xffff;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_NONE` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:28:11
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub const ELF_MACHINE_NONE: u16 = 0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_M32` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:29:11
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub const ELF_MACHINE_M32: u16 = 1;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_SPARC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:30:11
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub const ELF_MACHINE_SPARC: u16 = 2;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_386` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub const ELF_MACHINE_386: u16 = 3;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_68K` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:32:11
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub const ELF_MACHINE_68K: u16 = 4;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_88K` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:33:11
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub const ELF_MACHINE_88K: u16 = 5;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_486` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:34:11
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub const ELF_MACHINE_486: u16 = 6; /* Not used in Linux at least */
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_860` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:35:11
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub const ELF_MACHINE_860: u16 = 7;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_MIPS` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:36:11
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub const ELF_MACHINE_MIPS: u16 = 8; /* R3k, bigendian(?) */
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_MIPS_RS4_BE` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:37:11
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub const ELF_MACHINE_MIPS_RS4_BE: u16 = 10; /* R4k BE */
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_PARISC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:38:11
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub const ELF_MACHINE_PARISC: u16 = 15;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_SPARC32PLUS` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:39:11
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub const ELF_MACHINE_SPARC32PLUS: u16 = 18;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_PPC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:40:11
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub const ELF_MACHINE_PPC: u16 = 20;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_PPC64` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:41:11
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub const ELF_MACHINE_PPC64: u16 = 21;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_S390` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:42:11
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub const ELF_MACHINE_S390: u16 = 22;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_SH` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:43:11
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub const ELF_MACHINE_SH: u16 = 42;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_SPARCV9` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:44:11
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub const ELF_MACHINE_SPARCV9: u16 = 43; /* v9 = SPARC64 */
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_H8_300H` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:45:11
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub const ELF_MACHINE_H8_300H: u16 = 47;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_H8S` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:46:11
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub const ELF_MACHINE_H8S: u16 = 48;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_IA_64` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:47:11
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub const ELF_MACHINE_IA_64: u16 = 50;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_CRIS` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:49:11
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub const ELF_MACHINE_CRIS: u16 = 76;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_V850` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:50:11
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub const ELF_MACHINE_V850: u16 = 87;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_ALPHA` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:51:11
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub const ELF_MACHINE_ALPHA: u16 = 0x9026; /* Interim Alpha that stuck around */
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_CYGNUS_V850` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:52:11
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub const ELF_MACHINE_CYGNUS_V850: u16 = 0x9080; /* Old v850 ID used by Cygnus */
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_S390_OLD` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:53:11
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub const ELF_MACHINE_S390_OLD: u16 = 0xA390; /* Obsolete interim value for S/390 */
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_NULL` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:55:11
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub const PROGRAM_TYPE_NULL: u32 = 0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_LOAD` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:56:11
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub const PROGRAM_TYPE_LOAD: u32 = 1;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_DYNAMIC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:57:11
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub const PROGRAM_TYPE_DYNAMIC: u32 = 2;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_INTERP` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:58:11
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub const PROGRAM_TYPE_INTERP: u32 = 3;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_NOTE` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:59:11
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub const PROGRAM_TYPE_NOTE: u32 = 4;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_SHLIB` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:60:11
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub const PROGRAM_TYPE_SHLIB: u32 = 5;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_PHDR` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:61:11
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub const PROGRAM_TYPE_PHDR: u32 = 6;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_LOOS` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:62:11
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub const PROGRAM_TYPE_LOOS: u32 = 0x60000000;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_HIOS` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:63:11
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub const PROGRAM_TYPE_HIOS: u32 = 0x6fffffff;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_LOPROC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:64:11
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub const PROGRAM_TYPE_LOPROC: u32 = 0x70000000;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_HIPROC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:65:11
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub const PROGRAM_TYPE_HIPROC: u32 = 0x7fffffff;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_GNU_EH_FRAME` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:66:11
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub const PROGRAM_TYPE_GNU_EH_FRAME: u32 = 0x6474e550; /* Extension, eh? */
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_HEADER_EXEC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:68:11
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub const PROGRAM_HEADER_EXEC: u32 = 0x1;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_HEADER_WRITE` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:69:11
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub const PROGRAM_HEADER_WRITE: u32 = 0x2;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_HEADER_READ` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:70:11
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub const PROGRAM_HEADER_READ: u32 = 0x4;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_NULL` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:72:11
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub const SEGMENT_TYPE_NULL: u32 = 0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_HASH` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:77:11
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub const SEGMENT_TYPE_HASH: u32 = 5;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_DYNAMIC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:78:11
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub const SEGMENT_TYPE_DYNAMIC: u32 = 6;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_NOTE` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:79:11
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub const SEGMENT_TYPE_NOTE: u32 = 7;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_NOBITS` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:80:11
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub const SEGMENT_TYPE_NOBITS: u32 = 8;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_REL` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:81:11
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub const SEGMENT_TYPE_REL: u32 = 9;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_SHLIB` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:82:11
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub const SEGMENT_TYPE_SHLIB: u32 = 10;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_DYNSYM` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:83:11
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub const SEGMENT_TYPE_DYNSYM: u32 = 11;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_INIT_ARRAY` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:84:11
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub const SEGMENT_TYPE_INIT_ARRAY: u32 = 14;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_FINI_ARRAY` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:85:11
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub const SEGMENT_TYPE_FINI_ARRAY: u32 = 15;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_PREINIT_ARRAY` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:86:11
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub const SEGMENT_TYPE_PREINIT_ARRAY: u32 = 16;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_GROUP` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:87:11
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub const SEGMENT_TYPE_GROUP: u32 = 17;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_SYMTAB_SHNDX` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:88:11
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub const SEGMENT_TYPE_SYMTAB_SHNDX: u32 = 18;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_LOPROC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:89:11
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub const SEGMENT_TYPE_LOPROC: u32 = 0x70000000;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_HIPROC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:90:11
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub const SEGMENT_TYPE_HIPROC: u32 = 0x7fffffff;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_LOUSER` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:91:11
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub const SEGMENT_TYPE_LOUSER: u32 = 0x80000000;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_HIUSER` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:92:11
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub const SEGMENT_TYPE_HIUSER: u32 = 0xffffffff;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_FLAGS_MERGE` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:98:11
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub const SEGMENT_FLAGS_MERGE: u64 = 1 << 4; /* Might be merged */
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_FLAGS_STRINGS` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:99:11
[INFO] [stdout]    |
[INFO] [stdout] 99 | pub const SEGMENT_FLAGS_STRINGS: u64 = 1 << 5; /* Contains nul-terminated strings */
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_FLAGS_INFO_LINK` is never used
[INFO] [stdout]    --> src/emitter/elf/defs.rs:100:11
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub const SEGMENT_FLAGS_INFO_LINK: u64 = 1 << 6; /* `sh_info' contains SHT index */
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_FLAGS_LINK_ORDER` is never used
[INFO] [stdout]    --> src/emitter/elf/defs.rs:101:11
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub const SEGMENT_FLAGS_LINK_ORDER: u64 = 1 << 7; /* Preserve order after combining */
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_FLAGS_OS_NONCONFORMING` is never used
[INFO] [stdout]    --> src/emitter/elf/defs.rs:102:11
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub const SEGMENT_FLAGS_OS_NONCONFORMING: u64 = 1 << 8; /* Non-standard OS specific handling required */
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_FLAGS_GROUP` is never used
[INFO] [stdout]    --> src/emitter/elf/defs.rs:103:11
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub const SEGMENT_FLAGS_GROUP: u64 = 1 << 9; /* Section is member of a group */
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_FLAGS_TLS` is never used
[INFO] [stdout]    --> src/emitter/elf/defs.rs:104:11
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub const SEGMENT_FLAGS_TLS: u64 = 1 << 10; /* Section hold thread-local data */
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DATA_SECTION_OFFSET` is never used
[INFO] [stdout]   --> src/emitter/elf/sections.rs:19:7
[INFO] [stdout]    |
[INFO] [stdout] 19 | const DATA_SECTION_OFFSET: DWord =
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DATA_SECTION_ADDRESS_START` is never used
[INFO] [stdout]   --> src/emitter/elf/sections.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub const DATA_SECTION_ADDRESS_START: DWord = VIRTUAL_ADDRESS_START + DATA_SECTION_OFFSET;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_symtab_section_header` is never used
[INFO] [stdout]    --> src/emitter/elf/sections.rs:195:8
[INFO] [stdout]     |
[INFO] [stdout] 195 | pub fn build_symtab_section_header() -> SectionHeader {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_strtab_section_header` is never used
[INFO] [stdout]    --> src/emitter/elf/sections.rs:210:8
[INFO] [stdout]     |
[INFO] [stdout] 210 | pub fn build_strtab_section_header() -> SectionHeader {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_rel_text_section_header` is never used
[INFO] [stdout]    --> src/emitter/elf/sections.rs:225:8
[INFO] [stdout]     |
[INFO] [stdout] 225 | pub fn build_rel_text_section_header() -> SectionHeader {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Runtime` is never constructed
[INFO] [stdout]   --> src/emitter/symbols.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub enum DataSymbol {
[INFO] [stdout]    |          ---------- variant in this enum
[INFO] [stdout] 13 |     Comptime,
[INFO] [stdout] 14 |     Runtime,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DataSymbol` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Undefined` and `Absolute` are never constructed
[INFO] [stdout]   --> src/emitter/symbols.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub enum Section {
[INFO] [stdout]    |          ------- variants in this enum
[INFO] [stdout] 19 |     Undefined,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     Absolute,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Section` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Global` is never constructed
[INFO] [stdout]   --> src/emitter/symbols.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub enum SymbolScope {
[INFO] [stdout]    |          ----------- variant in this enum
[INFO] [stdout] 27 |     Local,
[INFO] [stdout] 28 |     Global,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SymbolScope` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/emitter/text/abi/linux.rs:18:10
[INFO] [stdout]    |
[INFO] [stdout] 18 |     Data(i64),
[INFO] [stdout]    |     ---- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Arg` 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] 18 |     Data(()),
[INFO] [stdout]    |          ~~
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/emitter/text/abi/linux.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 |     Stack(i64),
[INFO] [stdout]    |     ----- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Arg` 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] 19 |     Stack(()),
[INFO] [stdout]    |           ~~
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/emitter/text/abi/windows.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 |     Data(i64),
[INFO] [stdout]    |     ---- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Arg` 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] 10 |     Data(()),
[INFO] [stdout]    |          ~~
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/emitter/text/abi/windows.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 |     Stack(i64),
[INFO] [stdout]    |     ----- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Arg` 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 |     Stack(()),
[INFO] [stdout]    |           ~~
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ARG_REGISTERS` is never used
[INFO] [stdout]   --> src/emitter/text/abi/windows.rs:22:11
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub const ARG_REGISTERS: &[register::Register] =
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: function `push_args` is never used
[INFO] [stdout]   --> src/emitter/text/abi/windows.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub fn push_args(code_context: &mut CodeContext, args: &[Data]) {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: function `pop_args` is never used
[INFO] [stdout]   --> src/emitter/text/abi/windows.rs:45:8
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub fn pop_args(code_context: &mut CodeContext, args_count: usize) {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REGISTER_EXT_INDEX` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const REGISTER_EXT_INDEX: u8 = 0x30;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REX_X` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | const REX_X: u8 = 0b01000010;
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MOD_ADDRESS` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:20:7
[INFO] [stdout]    |
[INFO] [stdout] 20 | const MOD_ADDRESS: u8 = 0b00;
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Offset8` is never constructed
[INFO] [stdout]    --> src/emitter/text/mnemonics.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub enum Operand {
[INFO] [stdout]     |          ------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 120 |     Offset8(u8),
[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] warning: methods `get_name`, `set_op1`, and `set_op2` are never used
[INFO] [stdout]    --> src/emitter/text/mnemonics.rs:272:12
[INFO] [stdout]     |
[INFO] [stdout] 254 | impl Mnemonic {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 272 |     pub fn get_name(&self) -> MnemonicName {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 276 |     pub fn set_op1(&mut self, op: impl Into<Operand>) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 280 |     pub fn set_op2(&mut self, op: impl Into<Operand>) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Jg`, `Jge`, `Je`, and `Jz` are never constructed
[INFO] [stdout]    --> src/emitter/text/mnemonics.rs:561:5
[INFO] [stdout]     |
[INFO] [stdout] 543 | pub enum MnemonicName {
[INFO] [stdout]     |          ------------ variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 561 |     Jg,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 562 |     Jge,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 563 |     Je,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 564 |     Jz,
[INFO] [stdout]     |     ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MnemonicName` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AX` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:76:9
[INFO] [stdout]    |
[INFO] [stdout] 76 |         AX = (0x0),
[INFO] [stdout]    |         ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EAX` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:57:35
[INFO] [stdout]    |
[INFO] [stdout] 57 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 | /     registers!(
[INFO] [stdout] 76 | |         AX = (0x0),
[INFO] [stdout] 77 | |         CX = (0x1),
[INFO] [stdout] 78 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |         R10 = (0x2, ext)
[INFO] [stdout] 87 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CX` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:77:9
[INFO] [stdout]    |
[INFO] [stdout] 77 |         CX = (0x1),
[INFO] [stdout]    |         ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ECX` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:57:35
[INFO] [stdout]    |
[INFO] [stdout] 57 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 | /     registers!(
[INFO] [stdout] 76 | |         AX = (0x0),
[INFO] [stdout] 77 | |         CX = (0x1),
[INFO] [stdout] 78 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |         R10 = (0x2, ext)
[INFO] [stdout] 87 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DX` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:78:9
[INFO] [stdout]    |
[INFO] [stdout] 78 |         DX = (0x2),
[INFO] [stdout]    |         ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EDX` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:57:35
[INFO] [stdout]    |
[INFO] [stdout] 57 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 | /     registers!(
[INFO] [stdout] 76 | |         AX = (0x0),
[INFO] [stdout] 77 | |         CX = (0x1),
[INFO] [stdout] 78 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |         R10 = (0x2, ext)
[INFO] [stdout] 87 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BX` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:79:9
[INFO] [stdout]    |
[INFO] [stdout] 79 |         BX = (0x3),
[INFO] [stdout]    |         ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EBX` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:57:35
[INFO] [stdout]    |
[INFO] [stdout] 57 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 | /     registers!(
[INFO] [stdout] 76 | |         AX = (0x0),
[INFO] [stdout] 77 | |         CX = (0x1),
[INFO] [stdout] 78 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |         R10 = (0x2, ext)
[INFO] [stdout] 87 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SP` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |         SP = (0x4),
[INFO] [stdout]    |         ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ESP` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:57:35
[INFO] [stdout]    |
[INFO] [stdout] 57 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 | /     registers!(
[INFO] [stdout] 76 | |         AX = (0x0),
[INFO] [stdout] 77 | |         CX = (0x1),
[INFO] [stdout] 78 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |         R10 = (0x2, ext)
[INFO] [stdout] 87 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BP` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:81:9
[INFO] [stdout]    |
[INFO] [stdout] 81 |         BP = (0x5),
[INFO] [stdout]    |         ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EBP` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:57:35
[INFO] [stdout]    |
[INFO] [stdout] 57 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 | /     registers!(
[INFO] [stdout] 76 | |         AX = (0x0),
[INFO] [stdout] 77 | |         CX = (0x1),
[INFO] [stdout] 78 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |         R10 = (0x2, ext)
[INFO] [stdout] 87 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SI` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |         SI = (0x6),
[INFO] [stdout]    |         ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ESI` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:57:35
[INFO] [stdout]    |
[INFO] [stdout] 57 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 | /     registers!(
[INFO] [stdout] 76 | |         AX = (0x0),
[INFO] [stdout] 77 | |         CX = (0x1),
[INFO] [stdout] 78 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |         R10 = (0x2, ext)
[INFO] [stdout] 87 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DI` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:83:9
[INFO] [stdout]    |
[INFO] [stdout] 83 |         DI = (0x7),
[INFO] [stdout]    |         ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EDI` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:57:35
[INFO] [stdout]    |
[INFO] [stdout] 57 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 | /     registers!(
[INFO] [stdout] 76 | |         AX = (0x0),
[INFO] [stdout] 77 | |         CX = (0x1),
[INFO] [stdout] 78 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |         R10 = (0x2, ext)
[INFO] [stdout] 87 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] warning: constant `R8D` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:64:35
[INFO] [stdout]    |
[INFO] [stdout] 64 |                           pub const [<$name D>]: Register = Register::new($attr, RegisterSize::D, true );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 | /     registers!(
[INFO] [stdout] 76 | |         AX = (0x0),
[INFO] [stdout] 77 | |         CX = (0x1),
[INFO] [stdout] 78 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |         R10 = (0x2, ext)
[INFO] [stdout] 87 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] warning: constant `R8W` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:65:35
[INFO] [stdout]    |
[INFO] [stdout] 65 |                           pub const [<$name W>]: Register = Register::new($attr, RegisterSize::W, true);
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 | /     registers!(
[INFO] [stdout] 76 | |         AX = (0x0),
[INFO] [stdout] 77 | |         CX = (0x1),
[INFO] [stdout] 78 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |         R10 = (0x2, ext)
[INFO] [stdout] 87 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] warning: constant `R9D` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:64:35
[INFO] [stdout]    |
[INFO] [stdout] 64 |                           pub const [<$name D>]: Register = Register::new($attr, RegisterSize::D, true );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 | /     registers!(
[INFO] [stdout] 76 | |         AX = (0x0),
[INFO] [stdout] 77 | |         CX = (0x1),
[INFO] [stdout] 78 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |         R10 = (0x2, ext)
[INFO] [stdout] 87 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] warning: constant `R9W` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:65:35
[INFO] [stdout]    |
[INFO] [stdout] 65 |                           pub const [<$name W>]: Register = Register::new($attr, RegisterSize::W, true);
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 | /     registers!(
[INFO] [stdout] 76 | |         AX = (0x0),
[INFO] [stdout] 77 | |         CX = (0x1),
[INFO] [stdout] 78 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |         R10 = (0x2, ext)
[INFO] [stdout] 87 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] warning: constant `R10` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:86:9
[INFO] [stdout]    |
[INFO] [stdout] 86 |         R10 = (0x2, ext)
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] warning: constant `R10D` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:64:35
[INFO] [stdout]    |
[INFO] [stdout] 64 |                           pub const [<$name D>]: Register = Register::new($attr, RegisterSize::D, true );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 | /     registers!(
[INFO] [stdout] 76 | |         AX = (0x0),
[INFO] [stdout] 77 | |         CX = (0x1),
[INFO] [stdout] 78 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |         R10 = (0x2, ext)
[INFO] [stdout] 87 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] warning: constant `R10W` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:65:35
[INFO] [stdout]    |
[INFO] [stdout] 65 |                           pub const [<$name W>]: Register = Register::new($attr, RegisterSize::W, true);
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 | /     registers!(
[INFO] [stdout] 76 | |         AX = (0x0),
[INFO] [stdout] 77 | |         CX = (0x1),
[INFO] [stdout] 78 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |         R10 = (0x2, ext)
[INFO] [stdout] 87 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ext_match` which comes from the expansion of the macro `registers` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] warning: fields `symbol` and `offsets` are never read
[INFO] [stdout]   --> src/emitter/text/code_context.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct Call {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] 15 |     pub symbol: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 16 |     pub offsets: Vec<usize>,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Call` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] warning: fields `calls`, `const_data`, `symbols`, and `image_base` are never read
[INFO] [stdout]   --> src/emitter/text/code_context.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct CodeContext {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 24 |     calls: BTreeMap<String, Call>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 25 |     const_data: BTreeMap<usize, DataRef>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 26 |     labels: BTreeMap<String, usize>,
[INFO] [stdout] 27 |     symbols: BTreeMap<String, Symbol>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 28 |     relocations: Vec<Relocation>,
[INFO] [stdout] 29 |     image_base: u64,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CodeContext` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/emitter/text/code_context.rs:64:12
[INFO] [stdout]     |
[INFO] [stdout] 32  | impl CodeContext {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stderr] error: test failed, to rerun pass `--test compiler_test`
[INFO] [stdout] 64  |     pub fn with_const_data(&mut self, symbol: &str, data: Vec<u8>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 85  |     pub fn get_pc(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 89  |     pub fn get(&self, i: usize) -> Mnemonic {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 93  |     pub fn get_mut(&mut self, i: usize) -> &mut Mnemonic {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 97  |     pub fn get_offset(&self, i: usize) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 |     pub fn get_code_size_with_calls(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub fn get_calls(&self) -> BTreeMap<String, Call> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub fn get_const_data(&self) -> BTreeMap<usize, DataRef> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn get_label_offset(&self, label: &str) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 133 |     pub fn compute_calls(
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 160 |     pub fn compute_data(&mut self, data_section_start: u32, const_data: BTreeMap<usize, DataRef>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: function `compile_asm` is never used
[INFO] [stdout]    --> src/emitter/text/code_context.rs:202:8
[INFO] [stdout]     |
[INFO] [stdout] 202 |     fn compile_asm(code: &str) -> Vec<u8> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_eq_hex` is never used
[INFO] [stdout]    --> src/emitter/text/code_context.rs:234:8
[INFO] [stdout]     |
[INFO] [stdout] 234 |     fn assert_eq_hex(actual: Vec<u8>, expected: Vec<u8>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Io` is never used
[INFO] [stdout]  --> src/emitter/text/stdlib/windows.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub enum Io {
[INFO] [stdout]   |          ^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Io` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] warning: function `print` is never used
[INFO] [stdout]   --> src/emitter/text/stdlib/windows.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub fn print(code_context: &mut CodeContext, data: Data) {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: function `printd` is never used
[INFO] [stdout]   --> src/emitter/text/stdlib/windows.rs:54:8
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub fn printd(code_context: &mut CodeContext) {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: function `exit` is never used
[INFO] [stdout]   --> src/emitter/text/stdlib/windows.rs:60:8
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub fn exit(code_context: &mut CodeContext, exit_code: u64) {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: `compiler` (bin "compiler") generated 164 warnings (run `cargo fix --bin "compiler"` to apply 23 suggestions)
[INFO] [stdout]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.25s
[INFO] [stdout]      Running `/opt/rustwide/target/debug/compiler /opt/rustwide/workdir/tests/fixtures/loop.jc /opt/rustwide/workdir/local/bin/loop`
[INFO] [stdout] [src/parser.rs:115:9] &tokens[1] = BlockStart
[INFO] [stdout] [src/parser.rs:115:9] &tokens[2] = StatementEnd
[INFO] [stdout] [src/emitter/data.rs:151:17] &stack = []
[INFO] [stdout] [src/emitter.rs:29:5] &data_builder.symbol_data = {
[INFO] [stdout]     "main::info": Data {
[INFO] [stdout]         symbol: "main::info",
[INFO] [stdout]         lit: String(
[INFO] [stdout]             "Loop starts\n",
[INFO] [stdout]         ),
[INFO] [stdout]         reference: false,
[INFO] [stdout]         data_loc: 24,
[INFO] [stdout]         decl_type: Let,
[INFO] [stdout]     },
[INFO] [stdout]     "loop_1::i": Data {
[INFO] [stdout]         symbol: "loop_1::i",
[INFO] [stdout]         lit: Number(
[INFO] [stdout]             Number {
[INFO] [stdout]                 value: 0,
[INFO] [stdout]             },
[INFO] [stdout]         ),
[INFO] [stdout]         reference: false,
[INFO] [stdout]         data_loc: 8,
[INFO] [stdout]         decl_type: Let,
[INFO] [stdout]     },
[INFO] [stdout]     "global::__printf_d_arg": Data {
[INFO] [stdout]         symbol: "global::__printf_d_arg",
[INFO] [stdout]         lit: String(
[INFO] [stdout]             "%d\0",
[INFO] [stdout]         ),
[INFO] [stdout]         reference: false,
[INFO] [stdout]         data_loc: 0,
[INFO] [stdout]         decl_type: Const,
[INFO] [stdout]     },
[INFO] [stdout] }
[INFO] [stdout] 
[INFO] [stdout] thread 'main' panicked at src/emitter/text.rs:248:32:
[INFO] [stdout] undefined variable: i
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0: rust_begin_unwind
[INFO] [stdout]              at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:695:5
[INFO] [stdout]    1: core::panicking::panic_fmt
[INFO] [stdout]              at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/panicking.rs:75:14
[INFO] [stdout]    2: compiler::emitter::text::TextBuilder::visit_loop::{{closure}}
[INFO] [stdout]              at ./src/emitter/text.rs:248:32
[INFO] [stdout]    3: core::option::Option<T>::unwrap_or_else
[INFO] [stdout]              at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/option.rs:1023:21
[INFO] [stdout]    4: compiler::emitter::text::TextBuilder::visit_loop
[INFO] [stdout]              at ./src/emitter/text.rs:246:23
[INFO] [stdout]    5: compiler::emitter::text::TextBuilder::visit_expression
[INFO] [stdout]              at ./src/emitter/text.rs:129:41
[INFO] [stdout]    6: compiler::emitter::text::TextBuilder::visit_statement
[INFO] [stdout]              at ./src/emitter/text.rs:80:17
[INFO] [stdout]    7: compiler::emitter::text::TextBuilder::visit_statement_list::{{closure}}
[INFO] [stdout]              at ./src/emitter/text.rs:66:13
[INFO] [stdout]    8: <core::slice::iter::Iter<T> as core::iter::traits::iterator::Iterator>::for_each
[INFO] [stdout]              at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/slice/iter/macros.rs:254:21
[INFO] [stdout]    9: compiler::emitter::text::TextBuilder::visit_statement_list
[INFO] [stdout]              at ./src/emitter/text.rs:65:9
[INFO] [stdout]   10: compiler::emitter::text::TextBuilder::visit_func_definition
[INFO] [stdout]              at ./src/emitter/text.rs:109:9
[INFO] [stdout]   11: compiler::emitter::text::TextBuilder::visit_statement
[INFO] [stdout]              at ./src/emitter/text.rs:77:17
[INFO] [stdout]   12: compiler::emitter::text::TextBuilder::visit_statement_list::{{closure}}
[INFO] [stdout]              at ./src/emitter/text.rs:66:13
[INFO] [stdout]   13: <core::slice::iter::Iter<T> as core::iter::traits::iterator::Iterator>::for_each
[INFO] [stdout]              at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/slice/iter/macros.rs:254:21
[INFO] [stdout]   14: compiler::emitter::text::TextBuilder::visit_statement_list
[INFO] [stdout]              at ./src/emitter/text.rs:65:9
[INFO] [stdout]   15: compiler::emitter::text::TextBuilder::visit_ast
[INFO] [stdout]              at ./src/emitter/text.rs:59:9
[INFO] [stdout]   16: compiler::emitter::text::build_code_context
[INFO] [stdout]              at ./src/emitter/text.rs:26:5
[INFO] [stdout]   17: compiler::emitter::build_executable
[INFO] [stdout]              at ./src/emitter.rs:31:24
[INFO] [stdout]   18: compiler::main
[INFO] [stdout]              at ./src/main.rs:21:5
[INFO] [stdout]   19: core::ops::function::FnOnce::call_once
[INFO] [stdout]              at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/ops/function.rs:250:5
[INFO] [stdout] note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
[INFO] [stdout] 
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5f017bcd154a - 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:     0x5f017bcd154a - 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:     0x5f017bcd154a - std::sys::backtrace::_print_fmt::h842a1474e6f8d23f
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x5f017bcd154a - <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:     0x5f017bcf8c03 - core::fmt::rt::Argument::fmt::hdb6b616786b41dc1
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/fmt/rt.rs:177:76
[INFO] [stdout]    5:     0x5f017bcf8c03 - core::fmt::write::h2cc1698af7e2d686
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/fmt/mod.rs:1440:21
[INFO] [stdout]    6:     0x5f017bccdf03 - std::io::Write::write_fmt::hab1b4cd059a79022
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/io/mod.rs:1887:15
[INFO] [stdout]    7:     0x5f017bcd1392 - std::sys::backtrace::BacktraceLock::print::h147fe35b4ea13b08
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    8:     0x5f017bcd296f - std::panicking::default_hook::{{closure}}::hbd44223dbdc0d208
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:298:22
[INFO] [stdout]    9:     0x5f017bcd2788 - std::panicking::default_hook::h20f81eb0576efcec
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:322:9
[INFO] [stdout]   10:     0x5f017bc9b403 - <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:     0x5f017bc9b403 - test::test_main::{{closure}}::hc0a4963c59427c24
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:134:21
[INFO] [stdout]   12:     0x5f017bcd3463 - <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:     0x5f017bcd3463 - std::panicking::rust_panic_with_hook::h625eea43051b2edc
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:839:13
[INFO] [stdout]   14:     0x5f017bcd311a - std::panicking::begin_panic_handler::{{closure}}::h4f9159cfbc3f6bd3
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:704:13
[INFO] [stdout]   15:     0x5f017bcd1a49 - std::sys::backtrace::__rust_end_short_backtrace::h0390abce48353151
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:168:18
[INFO] [stdout]   16:     0x5f017bcd2dad - rust_begin_unwind
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:695:5
[INFO] [stdout]   17:     0x5f017bcf76b0 - core::panicking::panic_fmt::h9e7c637e9e5f29c9
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/panicking.rs:75:14
[INFO] [stdout]   18:     0x5f017bc5fac3 - core::panicking::panic_display::hb3d98297ca9d1b07
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/panicking.rs:261:5
[INFO] [stdout]   19:     0x5f017bc5e1ba - compiler_test::compile_src::panic_cold_display::had2e70ae5f215dea
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/panic.rs:100:13
[INFO] [stdout]   20:     0x5f017bc5d9e8 - compiler_test::compile_src::he268a0b8dada9ce9
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/compiler_test.rs:54:9
[INFO] [stdout]   21:     0x5f017bc5dfd4 - compiler_test::test_loop::h41d0157bf6c2aa8b
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/compiler_test.rs:14:18
[INFO] [stdout]   22:     0x5f017bc5df87 - compiler_test::test_loop::{{closure}}::hdccbf0fb2d8e8304
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/compiler_test.rs:12:15
[INFO] [stdout]   23:     0x5f017bc5eb96 - core::ops::function::FnOnce::call_once::h69f8e9e87e4ec1d6
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5f017bca0b5b - core::ops::function::FnOnce::call_once::he27718dfdd183f43
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5f017bca0b5b - test::__rust_begin_short_backtrace::h4e84902998457a5d
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:632:18
[INFO] [stdout]   26:     0x5f017bc9fa93 - test::run_test_in_process::{{closure}}::h7176fd18fc1feca0
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:655:60
[INFO] [stdout]   27:     0x5f017bc9fa93 - <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]   28:     0x5f017bc9fa93 - std::panicking::try::do_call::h3da0561d9ab99c25
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:587:40
[INFO] [stdout]   29:     0x5f017bc9fa93 - std::panicking::try::h41c9fa508bc61df6
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:550:19
[INFO] [stdout]   30:     0x5f017bc9fa93 - std::panic::catch_unwind::h6b3ff07bb5afad93
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panic.rs:358:14
[INFO] [stdout]   31:     0x5f017bc9fa93 - test::run_test_in_process::hc7253dd11b39b9f4
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:655:27
[INFO] [stdout]   32:     0x5f017bc9fa93 - test::run_test::{{closure}}::hfb2007f8649c30bb
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:576:43
[INFO] [stdout]   33:     0x5f017bc62b75 - test::run_test::{{closure}}::h56a17aa7a282a9f4
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:606:41
[INFO] [stdout]   34:     0x5f017bc62b75 - std::sys::backtrace::__rust_begin_short_backtrace::hd2d2d2fb8e8c6aac
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:152:18
[INFO] [stdout]   35:     0x5f017bc6645a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h4faa3f9db6133423
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/thread/mod.rs:559:17
[INFO] [stdout]   36:     0x5f017bc6645a - <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]   37:     0x5f017bc6645a - std::panicking::try::do_call::h2f73af3616c35465
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:587:40
[INFO] [stdout]   38:     0x5f017bc6645a - std::panicking::try::hd1660ce9efadef5a
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:550:19
[INFO] [stdout]   39:     0x5f017bc6645a - std::panic::catch_unwind::h5ee8d7823b8ca744
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panic.rs:358:14
[INFO] [stdout]   40:     0x5f017bc6645a - std::thread::Builder::spawn_unchecked_::{{closure}}::h53c3a1894dce8407
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/thread/mod.rs:557:30
[INFO] [stdout]   41:     0x5f017bc6645a - core::ops::function::FnOnce::call_once{{vtable.shim}}::h048ce291ad4f62bf
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x5f017bcd74eb - <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]   43:     0x5f017bcd74eb - <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]   44:     0x5f017bcd74eb - 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]   45:     0x7320c0fc2ac3 - <unknown>
[INFO] [stdout]   46:     0x7320c1053a04 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test_assignment stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_assignment' panicked at tests/compiler_test.rs:54:9:
[INFO] [stdout]     Blocking waiting for file lock on build directory
[INFO] [stdout] warning: unused import: `text::TextBuilder`
[INFO] [stdout]   --> src/emitter.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use text::TextBuilder;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AtomicUsize` and `Ordering`
[INFO] [stdout]  --> src/emitter/ast.rs:5:20
[INFO] [stdout]   |
[INFO] [stdout] 5 |     sync::atomic::{AtomicUsize, Ordering},
[INFO] [stdout]   |                    ^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Ident`
[INFO] [stdout]  --> src/emitter/data.rs:1:27
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::emitter::ast::{Ident, Literal, Loop};
[INFO] [stdout]   |                           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `borrow::BorrowMut`, `hash::Hash`, and `rc::Rc`
[INFO] [stdout]  --> src/emitter/data.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     borrow::BorrowMut,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 4 |     collections::{hash_map::Entry, HashMap},
[INFO] [stdout] 5 |     hash::Hash,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 6 |     mem,
[INFO] [stdout] 7 |     rc::Rc,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BTreeMap` and `hash_map::Entry`
[INFO] [stdout]  --> src/emitter/elf/sections.rs:2:19
[INFO] [stdout]   |
[INFO] [stdout] 2 |     collections::{hash_map::Entry, BTreeMap, HashMap},
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `elf::section`
[INFO] [stdout]  --> src/emitter/elf/sections.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use elf::section;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DataSymbol` and `SymbolType`
[INFO] [stdout]   --> src/emitter/elf/sections.rs:10:15
[INFO] [stdout]    |
[INFO] [stdout] 10 |     symbols::{DataSymbol, SymbolType},
[INFO] [stdout]    |               ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DataRef`
[INFO] [stdout]   --> src/emitter/elf/sections.rs:14:25
[INFO] [stdout]    |
[INFO] [stdout] 14 | use super::{defs, Data, DataRef};
[INFO] [stdout]    |                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `fmt::Result` and `hash_map::Entry`
[INFO] [stdout]  --> src/emitter/elf.rs:5:19
[INFO] [stdout]   |
[INFO] [stdout] 5 |     collections::{hash_map::Entry, HashMap},
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 6 |     fmt::Result,
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `elf::relocation`
[INFO] [stdout]   --> src/emitter/elf.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use elf::relocation;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ast`
[INFO] [stdout]   --> src/emitter/elf.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |     super::{ast, data::*},
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Ident`
[INFO] [stdout]  --> src/emitter/symbols.rs:3:42
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::{data::Data, DeclarationType, Ident};
[INFO] [stdout]   |                                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]  --> src/emitter/text/abi/linux.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::mem;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::emitter::elf::sections::DATA_SECTION_ADDRESS_START`
[INFO] [stdout]  --> src/emitter/text/abi/linux.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::emitter::elf::sections::DATA_SECTION_ADDRESS_START;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::code_context::Call`
[INFO] [stdout]  --> src/emitter/text/mnemonics.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use super::code_context::Call;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BTreeMap` and `mem`
[INFO] [stdout]  --> src/emitter/text.rs:5:19
[INFO] [stdout]   |
[INFO] [stdout] 5 |     collections::{BTreeMap, HashMap},
[INFO] [stdout]   |                   ^^^^^^^^
[INFO] [stdout] 6 |     mem,
[INFO] [stdout]   |     ^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `btree_map`
[INFO] [stdout]  --> src/emitter/text/code_context.rs:2:19
[INFO] [stdout]   |
[INFO] [stdout] 2 |     collections::{btree_map, BTreeMap, HashMap},
[INFO] [stdout]   |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Section` and `SymbolType`
[INFO] [stdout]  --> src/emitter/text/code_context.rs:6:43
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::emitter::symbols::{Relocation, Section, Symbol, SymbolType};
[INFO] [stdout]   |                                           ^^^^^^^          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::emitter::text::mnemonics::Operand::Offset32`
[INFO] [stdout]    --> src/emitter/text/code_context.rs:197:9
[INFO] [stdout]     |
[INFO] [stdout] 197 |     use crate::emitter::text::mnemonics::Operand::Offset32;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CodeContext` and `mnemonics::*`
[INFO] [stdout]    --> src/emitter/text/code_context.rs:198:32
[INFO] [stdout]     |
[INFO] [stdout] 198 |     use crate::emitter::text::{mnemonics::*, CodeContext};
[INFO] [stdout]     |                                ^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::ident`
[INFO] [stdout]  --> src/parser/ast_printer.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::ident;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `iter`
[INFO] [stdout]  --> src/parser.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     iter,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lit_size`
[INFO] [stdout]   --> src/emitter/data.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let lit_size = lit.len(); //TODO
[INFO] [stdout]    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lit_size`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sections_size`
[INFO] [stdout]    --> src/emitter/elf/sections.rs:141:9
[INFO] [stdout]     |
[INFO] [stdout] 141 |     let sections_size: u64 = sections.iter().map(|s| s.sh_size).sum();
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sections_size`
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/emitter/text/stdlib/windows.rs:33:46
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub fn print(code_context: &mut CodeContext, data: Data) {
[INFO] [stdout]    |                                              ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stmts`
[INFO] [stdout]   --> src/emitter/text.rs:86:30
[INFO] [stdout]    |
[INFO] [stdout] 86 |             Statement::Scope(stmts) => (),
[INFO] [stdout]    |                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_stmts`
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `return_type`
[INFO] [stdout]   --> src/emitter/text.rs:92:45
[INFO] [stdout]    |
[INFO] [stdout] 92 |         let ast::FuncDefinition(name, args, return_type, stmt_list) = func_def;
[INFO] [stdout]    |                                             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_return_type`
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/emitter/text.rs:157:65
[INFO] [stdout]     |
[INFO] [stdout] 157 |                         .fold(vec![], |mut acc: Vec<Mnemonic>, (i, v)| {
[INFO] [stdout]     |                                                                 ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> src/emitter/text.rs:202:38
[INFO] [stdout]     |
[INFO] [stdout] 202 |                 ast::Literal::Number(n) => {
[INFO] [stdout]     |                                      ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/emitter/text.rs:185:17
[INFO] [stdout]     |
[INFO] [stdout] 185 |             let mut data = match exprs.first() {
[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] warning: variant `Scope` is never constructed
[INFO] [stdout]   --> src/emitter/ast.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub enum Statement {
[INFO] [stdout]    |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 26 |     Scope(StatementList),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Statement` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_vec` is never used
[INFO] [stdout]    --> src/emitter/ast.rs:139:12
[INFO] [stdout]     |
[INFO] [stdout] 132 | impl Literal {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 139 |     pub fn as_vec(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: fields `symbol`, `offset`, and `data` are never read
[INFO] [stdout]   --> src/emitter/data.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct DataRef {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 17 |     pub symbol: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 18 |     pub offset: usize,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 19 |     pub data: Vec<u8>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DataRef` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] warning: function `align` is never used
[INFO] [stdout]    --> src/emitter/elf.rs:263:4
[INFO] [stdout]     |
[INFO] [stdout] 263 | fn align(mut v: Vec<u8>, alignment: usize) -> Vec<u8> {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_CLASS_NONE` is never used
[INFO] [stdout]  --> src/emitter/elf/defs.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub const ELF_CLASS_NONE: u8 = 0x0;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_CLASS_32_BIT` is never used
[INFO] [stdout]  --> src/emitter/elf/defs.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const ELF_CLASS_32_BIT: u8 = 0x1;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_DATA_NONE` is never used
[INFO] [stdout]  --> src/emitter/elf/defs.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const ELF_DATA_NONE: u8 = 0x0;
[INFO] [stdout]   |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_DATA_BIG_ENDIAN` is never used
[INFO] [stdout]  --> src/emitter/elf/defs.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const ELF_DATA_BIG_ENDIAN: u8 = 0x2;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_VERSION_NONE` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const ELF_VERSION_NONE: u8 = 0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_VERSION_NUM` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const ELF_VERSION_NUM: u8 = 2;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_OSABI_LINUX` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const ELF_OSABI_LINUX: u8 = 3;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_TYPE_NONE` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub const ELF_TYPE_NONE: u16 = 0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_TYPE_EXEC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:22:11
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub const ELF_TYPE_EXEC: u16 = 2;
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_TYPE_DYN` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:23:11
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub const ELF_TYPE_DYN: u16 = 3;
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_TYPE_CORE` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:24:11
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub const ELF_TYPE_CORE: u16 = 4;
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_TYPE_LOPROC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:25:11
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub const ELF_TYPE_LOPROC: u16 = 0xff00;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_TYPE_HIPROC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub const ELF_TYPE_HIPROC: u16 = 0xffff;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_NONE` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:28:11
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub const ELF_MACHINE_NONE: u16 = 0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_M32` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:29:11
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub const ELF_MACHINE_M32: u16 = 1;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_SPARC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:30:11
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub const ELF_MACHINE_SPARC: u16 = 2;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_386` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub const ELF_MACHINE_386: u16 = 3;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_68K` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:32:11
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub const ELF_MACHINE_68K: u16 = 4;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_88K` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:33:11
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub const ELF_MACHINE_88K: u16 = 5;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_486` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:34:11
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub const ELF_MACHINE_486: u16 = 6; /* Not used in Linux at least */
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_860` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:35:11
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub const ELF_MACHINE_860: u16 = 7;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_MIPS` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:36:11
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub const ELF_MACHINE_MIPS: u16 = 8; /* R3k, bigendian(?) */
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_MIPS_RS4_BE` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:37:11
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub const ELF_MACHINE_MIPS_RS4_BE: u16 = 10; /* R4k BE */
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_PARISC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:38:11
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub const ELF_MACHINE_PARISC: u16 = 15;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_SPARC32PLUS` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:39:11
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub const ELF_MACHINE_SPARC32PLUS: u16 = 18;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_PPC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:40:11
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub const ELF_MACHINE_PPC: u16 = 20;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_PPC64` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:41:11
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub const ELF_MACHINE_PPC64: u16 = 21;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_S390` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:42:11
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub const ELF_MACHINE_S390: u16 = 22;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_SH` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:43:11
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub const ELF_MACHINE_SH: u16 = 42;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_SPARCV9` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:44:11
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub const ELF_MACHINE_SPARCV9: u16 = 43; /* v9 = SPARC64 */
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_H8_300H` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:45:11
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub const ELF_MACHINE_H8_300H: u16 = 47;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_H8S` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:46:11
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub const ELF_MACHINE_H8S: u16 = 48;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_IA_64` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:47:11
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub const ELF_MACHINE_IA_64: u16 = 50;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_CRIS` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:49:11
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub const ELF_MACHINE_CRIS: u16 = 76;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_V850` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:50:11
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub const ELF_MACHINE_V850: u16 = 87;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_ALPHA` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:51:11
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub const ELF_MACHINE_ALPHA: u16 = 0x9026; /* Interim Alpha that stuck around */
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_CYGNUS_V850` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:52:11
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub const ELF_MACHINE_CYGNUS_V850: u16 = 0x9080; /* Old v850 ID used by Cygnus */
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELF_MACHINE_S390_OLD` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:53:11
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub const ELF_MACHINE_S390_OLD: u16 = 0xA390; /* Obsolete interim value for S/390 */
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_NULL` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:55:11
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub const PROGRAM_TYPE_NULL: u32 = 0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_LOAD` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:56:11
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub const PROGRAM_TYPE_LOAD: u32 = 1;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_DYNAMIC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:57:11
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub const PROGRAM_TYPE_DYNAMIC: u32 = 2;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_INTERP` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:58:11
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub const PROGRAM_TYPE_INTERP: u32 = 3;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_NOTE` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:59:11
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub const PROGRAM_TYPE_NOTE: u32 = 4;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_SHLIB` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:60:11
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub const PROGRAM_TYPE_SHLIB: u32 = 5;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_PHDR` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:61:11
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub const PROGRAM_TYPE_PHDR: u32 = 6;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_LOOS` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:62:11
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub const PROGRAM_TYPE_LOOS: u32 = 0x60000000;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_HIOS` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:63:11
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub const PROGRAM_TYPE_HIOS: u32 = 0x6fffffff;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_LOPROC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:64:11
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub const PROGRAM_TYPE_LOPROC: u32 = 0x70000000;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_HIPROC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:65:11
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub const PROGRAM_TYPE_HIPROC: u32 = 0x7fffffff;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_TYPE_GNU_EH_FRAME` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:66:11
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub const PROGRAM_TYPE_GNU_EH_FRAME: u32 = 0x6474e550; /* Extension, eh? */
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_HEADER_EXEC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:68:11
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub const PROGRAM_HEADER_EXEC: u32 = 0x1;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_HEADER_WRITE` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:69:11
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub const PROGRAM_HEADER_WRITE: u32 = 0x2;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_HEADER_READ` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:70:11
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub const PROGRAM_HEADER_READ: u32 = 0x4;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_NULL` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:72:11
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub const SEGMENT_TYPE_NULL: u32 = 0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_HASH` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:77:11
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub const SEGMENT_TYPE_HASH: u32 = 5;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_DYNAMIC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:78:11
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub const SEGMENT_TYPE_DYNAMIC: u32 = 6;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_NOTE` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:79:11
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub const SEGMENT_TYPE_NOTE: u32 = 7;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_NOBITS` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:80:11
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub const SEGMENT_TYPE_NOBITS: u32 = 8;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_REL` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:81:11
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub const SEGMENT_TYPE_REL: u32 = 9;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_SHLIB` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:82:11
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub const SEGMENT_TYPE_SHLIB: u32 = 10;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_DYNSYM` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:83:11
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub const SEGMENT_TYPE_DYNSYM: u32 = 11;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_INIT_ARRAY` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:84:11
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub const SEGMENT_TYPE_INIT_ARRAY: u32 = 14;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_FINI_ARRAY` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:85:11
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub const SEGMENT_TYPE_FINI_ARRAY: u32 = 15;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_PREINIT_ARRAY` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:86:11
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub const SEGMENT_TYPE_PREINIT_ARRAY: u32 = 16;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_GROUP` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:87:11
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub const SEGMENT_TYPE_GROUP: u32 = 17;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_SYMTAB_SHNDX` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:88:11
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub const SEGMENT_TYPE_SYMTAB_SHNDX: u32 = 18;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_LOPROC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:89:11
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub const SEGMENT_TYPE_LOPROC: u32 = 0x70000000;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_HIPROC` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:90:11
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub const SEGMENT_TYPE_HIPROC: u32 = 0x7fffffff;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_LOUSER` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:91:11
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub const SEGMENT_TYPE_LOUSER: u32 = 0x80000000;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_TYPE_HIUSER` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:92:11
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub const SEGMENT_TYPE_HIUSER: u32 = 0xffffffff;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_FLAGS_MERGE` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:98:11
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub const SEGMENT_FLAGS_MERGE: u64 = 1 << 4; /* Might be merged */
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_FLAGS_STRINGS` is never used
[INFO] [stdout]   --> src/emitter/elf/defs.rs:99:11
[INFO] [stdout]    |
[INFO] [stdout] 99 | pub const SEGMENT_FLAGS_STRINGS: u64 = 1 << 5; /* Contains nul-terminated strings */
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_FLAGS_INFO_LINK` is never used
[INFO] [stdout]    --> src/emitter/elf/defs.rs:100:11
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub const SEGMENT_FLAGS_INFO_LINK: u64 = 1 << 6; /* `sh_info' contains SHT index */
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_FLAGS_LINK_ORDER` is never used
[INFO] [stdout]    --> src/emitter/elf/defs.rs:101:11
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub const SEGMENT_FLAGS_LINK_ORDER: u64 = 1 << 7; /* Preserve order after combining */
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_FLAGS_OS_NONCONFORMING` is never used
[INFO] [stdout]    --> src/emitter/elf/defs.rs:102:11
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub const SEGMENT_FLAGS_OS_NONCONFORMING: u64 = 1 << 8; /* Non-standard OS specific handling required */
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_FLAGS_GROUP` is never used
[INFO] [stdout]    --> src/emitter/elf/defs.rs:103:11
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub const SEGMENT_FLAGS_GROUP: u64 = 1 << 9; /* Section is member of a group */
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_FLAGS_TLS` is never used
[INFO] [stdout]    --> src/emitter/elf/defs.rs:104:11
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub const SEGMENT_FLAGS_TLS: u64 = 1 << 10; /* Section hold thread-local data */
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DATA_SECTION_OFFSET` is never used
[INFO] [stdout]   --> src/emitter/elf/sections.rs:19:7
[INFO] [stdout]    |
[INFO] [stdout] 19 | const DATA_SECTION_OFFSET: DWord =
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DATA_SECTION_ADDRESS_START` is never used
[INFO] [stdout]   --> src/emitter/elf/sections.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub const DATA_SECTION_ADDRESS_START: DWord = VIRTUAL_ADDRESS_START + DATA_SECTION_OFFSET;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_symtab_section_header` is never used
[INFO] [stdout]    --> src/emitter/elf/sections.rs:195:8
[INFO] [stdout]     |
[INFO] [stdout] 195 | pub fn build_symtab_section_header() -> SectionHeader {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_strtab_section_header` is never used
[INFO] [stdout]    --> src/emitter/elf/sections.rs:210:8
[INFO] [stdout]     |
[INFO] [stdout] 210 | pub fn build_strtab_section_header() -> SectionHeader {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_rel_text_section_header` is never used
[INFO] [stdout]    --> src/emitter/elf/sections.rs:225:8
[INFO] [stdout]     |
[INFO] [stdout] 225 | pub fn build_rel_text_section_header() -> SectionHeader {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Runtime` is never constructed
[INFO] [stdout]   --> src/emitter/symbols.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub enum DataSymbol {
[INFO] [stdout]    |          ---------- variant in this enum
[INFO] [stdout] 13 |     Comptime,
[INFO] [stdout] 14 |     Runtime,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DataSymbol` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Undefined` and `Absolute` are never constructed
[INFO] [stdout]   --> src/emitter/symbols.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub enum Section {
[INFO] [stdout]    |          ------- variants in this enum
[INFO] [stdout] 19 |     Undefined,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     Absolute,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Section` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Global` is never constructed
[INFO] [stdout]   --> src/emitter/symbols.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub enum SymbolScope {
[INFO] [stdout]    |          ----------- variant in this enum
[INFO] [stdout] 27 |     Local,
[INFO] [stdout] 28 |     Global,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SymbolScope` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/emitter/text/abi/linux.rs:18:10
[INFO] [stdout]    |
[INFO] [stdout] 18 |     Data(i64),
[INFO] [stdout]    |     ---- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Arg` 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] 18 |     Data(()),
[INFO] [stdout]    |          ~~
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/emitter/text/abi/linux.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 |     Stack(i64),
[INFO] [stdout]    |     ----- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Arg` 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] 19 |     Stack(()),
[INFO] [stdout]    |           ~~
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/emitter/text/abi/windows.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 |     Data(i64),
[INFO] [stdout]    |     ---- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Arg` 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] 10 |     Data(()),
[INFO] [stdout]    |          ~~
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/emitter/text/abi/windows.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 |     Stack(i64),
[INFO] [stdout]    |     ----- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Arg` 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 |     Stack(()),
[INFO] [stdout]    |           ~~
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ARG_REGISTERS` is never used
[INFO] [stdout]   --> src/emitter/text/abi/windows.rs:22:11
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub const ARG_REGISTERS: &[register::Register] =
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: function `push_args` is never used
[INFO] [stdout]   --> src/emitter/text/abi/windows.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub fn push_args(code_context: &mut CodeContext, args: &[Data]) {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: function `pop_args` is never used
[INFO] [stdout]   --> src/emitter/text/abi/windows.rs:45:8
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub fn pop_args(code_context: &mut CodeContext, args_count: usize) {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REGISTER_EXT_INDEX` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const REGISTER_EXT_INDEX: u8 = 0x30;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REX_X` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | const REX_X: u8 = 0b01000010;
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MOD_ADDRESS` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:20:7
[INFO] [stdout]    |
[INFO] [stdout] 20 | const MOD_ADDRESS: u8 = 0b00;
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Offset8` is never constructed
[INFO] [stdout]    --> src/emitter/text/mnemonics.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub enum Operand {
[INFO] [stdout]     |          ------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 120 |     Offset8(u8),
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[WARN] too many lines in the log, truncating it
