[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 1.83.0 for beta-1.84.0-4-retry
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMrBTTF%2Fjc-compiler" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/MrBTTF/jc-compiler on toolchain 1.83.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.83.0" "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-6-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" "+1.83.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded rstest v0.19.0
[INFO] [stderr]   Downloaded relative-path v1.9.2
[INFO] [stderr]   Downloaded rstest_macros v0.19.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+1.83.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b5e29d982271924d0a41ec9ee350928404facc550e72fc1c9b90d3aa0849d0b0
[INFO] running `Command { std: "docker" "start" "-a" "b5e29d982271924d0a41ec9ee350928404facc550e72fc1c9b90d3aa0849d0b0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b5e29d982271924d0a41ec9ee350928404facc550e72fc1c9b90d3aa0849d0b0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b5e29d982271924d0a41ec9ee350928404facc550e72fc1c9b90d3aa0849d0b0", kill_on_drop: false }`
[INFO] [stdout] b5e29d982271924d0a41ec9ee350928404facc550e72fc1c9b90d3aa0849d0b0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+1.83.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a82ba632c686e900fc19a2b1dc1f8792bd777ab84fe423ee4cdcf266403ee32b
[INFO] running `Command { std: "docker" "start" "-a" "a82ba632c686e900fc19a2b1dc1f8792bd777ab84fe423ee4cdcf266403ee32b", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.79
[INFO] [stderr]    Compiling semver v1.0.22
[INFO] [stderr]    Compiling autocfg v1.2.0
[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 futures-io v0.3.30
[INFO] [stderr]    Compiling futures-task v0.3.30
[INFO] [stderr]    Compiling rustix v0.38.34
[INFO] [stderr]    Compiling glob v0.3.1
[INFO] [stderr]    Compiling relative-path v1.9.2
[INFO] [stderr]    Compiling paste v1.0.14
[INFO] [stderr]    Compiling bitflags v2.5.0
[INFO] [stderr]    Compiling linux-raw-sys v0.4.14
[INFO] [stderr]    Compiling futures-timer v3.0.3
[INFO] [stderr]    Compiling futures-channel v0.3.30
[INFO] [stderr]    Compiling fastrand v2.1.0
[INFO] [stderr]    Compiling elf v0.7.4
[INFO] [stderr]    Compiling ar v0.9.0
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling rustc_version v0.4.0
[INFO] [stderr]    Compiling rstest_macros v0.19.0
[INFO] [stderr]    Compiling quote v1.0.35
[INFO] [stderr]    Compiling syn v2.0.55
[INFO] [stderr]    Compiling tempfile v3.10.1
[INFO] [stderr]    Compiling regex-automata v0.4.6
[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 19.18s
[INFO] running `Command { std: "docker" "inspect" "a82ba632c686e900fc19a2b1dc1f8792bd777ab84fe423ee4cdcf266403ee32b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a82ba632c686e900fc19a2b1dc1f8792bd777ab84fe423ee4cdcf266403ee32b", kill_on_drop: false }`
[INFO] [stdout] a82ba632c686e900fc19a2b1dc1f8792bd777ab84fe423ee4cdcf266403ee32b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+1.83.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4e2204bf1900036188f53594383f4abe433d20b35d36339b8ecd05ab4e6f8b0c
[INFO] running `Command { std: "docker" "start" "-a" "4e2204bf1900036188f53594383f4abe433d20b35d36339b8ecd05ab4e6f8b0c", kill_on_drop: false }`
[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] [stderr]    Compiling compiler v0.1.0 (/opt/rustwide/workdir)
[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.65s
[INFO] running `Command { std: "docker" "inspect" "4e2204bf1900036188f53594383f4abe433d20b35d36339b8ecd05ab4e6f8b0c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4e2204bf1900036188f53594383f4abe433d20b35d36339b8ecd05ab4e6f8b0c", kill_on_drop: false }`
[INFO] [stdout] 4e2204bf1900036188f53594383f4abe433d20b35d36339b8ecd05ab4e6f8b0c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+1.83.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 0604a18818acc20581c9dee1d5c1dc27ad36de824cebdd8ed79020be87a49733
[INFO] running `Command { std: "docker" "start" "-a" "0604a18818acc20581c9dee1d5c1dc27ad36de824cebdd8ed79020be87a49733", 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] [stderr] warning: unused import: `crate::emitter::text::mnemonics::Operand::Offset32`
[INFO] [stderr]    --> src/emitter/text/code_context.rs:197:9
[INFO] [stderr]     |
[INFO] [stderr] 197 |     use crate::emitter::text::mnemonics::Operand::Offset32;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `CodeContext` and `mnemonics::*`
[INFO] [stderr]    --> src/emitter/text/code_context.rs:198:32
[INFO] [stderr]     |
[INFO] [stderr] 198 |     use crate::emitter::text::{mnemonics::*, CodeContext};
[INFO] [stderr]     |                                ^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::ident`
[INFO] [stderr]  --> src/parser/ast_printer.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use super::ident;
[INFO] [stderr]   |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `iter`
[INFO] [stderr]  --> src/parser.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 |     iter,
[INFO] [stderr]   |     ^^^^
[INFO] [stderr] 
[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] [stdout] 
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] running 38 tests
[INFO] [stderr] 
[INFO] [stdout] test emitter::text::mnemonics::tests::test_add::case_1_imm32 ... ok
[INFO] [stderr] warning: constant `ELF_VERSION_NUM` is never used
[INFO] [stdout] test emitter::text::mnemonics::tests::test_call::case_1_Offset32 ... ok
[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] [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] [stdout] test emitter::text::mnemonics::tests::test_cmp::case_2_imm32 ... ok
[INFO] [stderr]    |
[INFO] [stdout] test emitter::text::mnemonics::tests::test_div::case_1_Eax ... ok
[INFO] [stderr] 50 | pub const ELF_MACHINE_V850: u16 = 87;
[INFO] [stdout] test emitter::text::mnemonics::tests::test_div::case_2_Rcx ... ok
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] test emitter::text::mnemonics::tests::test_jle::case_2_Offset32 ... ok
[INFO] [stderr] 
[INFO] [stdout] test emitter::text::mnemonics::tests::test_add::case_2_Rimm32 ... ok
[INFO] [stderr] warning: constant `ELF_MACHINE_ALPHA` is never used
[INFO] [stdout] test emitter::text::mnemonics::tests::test_add::case_3_RcxRax ... ok
[INFO] [stderr]   --> src/emitter/elf/defs.rs:51:11
[INFO] [stdout] test emitter::text::mnemonics::tests::test_jmp::case_1_Imm64 ... ok
[INFO] [stderr]    |
[INFO] [stdout] test emitter::text::mnemonics::tests::test_mov::case_1_imm16 ... ok
[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-65033b2f29f5c13d)
[INFO] [stdout] test emitter::text::mnemonics::tests::test_mov::case_2_imm32 ... ok
[INFO] [stdout] test emitter::text::mnemonics::tests::test_jle::case_1_Offset32 ... ok
[INFO] [stdout] test emitter::text::mnemonics::tests::test_inc_offset::case_1_Rcx ... ok
[INFO] [stdout] test emitter::text::mnemonics::tests::test_mov::case_6_RcxRax ... ok
[INFO] [stdout] test emitter::text::mnemonics::tests::test_mov::case_4_CxAx ... ok
[INFO] [stdout] test emitter::text::mnemonics::tests::test_mov_ext::case_3_R8R9 ... ok
[INFO] [stdout] test emitter::text::mnemonics::tests::test_cmp::case_3_imm64 ... ok
[INFO] [stdout] test emitter::text::mnemonics::tests::test_mov::case_5_EcxEax ... ok
[INFO] [stdout] test emitter::text::mnemonics::tests::test_mov_offset::case_1_RcxRax8 ... ok
[INFO] [stdout] test emitter::text::mnemonics::tests::test_mov_ext::case_2_R8Rax ... ok
[INFO] [stdout] test emitter::text::mnemonics::tests::test_mov_offset::case_2_RcxRax32 ... ok
[INFO] [stdout] test emitter::text::mnemonics::tests::test_push::case_3_Rcx ... ok
[INFO] [stdout] test emitter::text::mnemonics::tests::test_pop::case_2_R9 ... ok
[INFO] [stdout] test emitter::text::mnemonics::tests::test_inc::case_1_Rcx ... ok
[INFO] [stdout] test emitter::text::mnemonics::tests::test_pop::case_1_Rcx ... ok
[INFO] [stdout] test emitter::text::mnemonics::tests::test_cmp::case_1_imm16 ... ok
[INFO] [stdout] test emitter::text::mnemonics::tests::test_mov::case_3_imm64 ... ok
[INFO] [stdout] test emitter::text::mnemonics::tests::test_push::case_1_imm16 ... ok
[INFO] [stdout] test emitter::text::mnemonics::tests::test_push::case_2_imm32 ... ok
[INFO] [stdout] test emitter::text::mnemonics::tests::test_mov_ext::case_1_imm64 ... ok
[INFO] [stdout] test emitter::text::mnemonics::tests::test_sub::case_1_imm32 ... ok
[INFO] [stdout] test emitter::text::mnemonics::tests::test_sub::case_2_Rimm32 ... ok
[INFO] [stdout] test emitter::text::mnemonics::tests::test_sub::case_3_RcxRax ... ok
[INFO] [stdout] test emitter::text::mnemonics::tests::test_ret::case_1_NoOp ... 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::code_context::tests::test_loop_with_stack ... 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.06s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/compiler_test.rs (/opt/rustwide/target/debug/deps/compiler_test-068d4bbdec80e8f2)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test test_hello ... FAILED
[INFO] [stdout] test test_assignment ... FAILED
[INFO] [stdout] test test_loop ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stderr] error: test failed, to rerun pass `--test compiler_test`
[INFO] [stdout] 
[INFO] [stdout] ---- test_hello 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]     "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]     "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::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::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::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]     "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::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]     "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] 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/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:665:5
[INFO] [stdout]    1: core::panicking::panic_fmt
[INFO] [stdout]              at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/panicking.rs:74:14
[INFO] [stdout]    2: core::result::unwrap_failed
[INFO] [stdout]              at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/result.rs:1700:5
[INFO] [stdout]    3: core::result::Result<T,E>::unwrap
[INFO] [stdout]              at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/result.rs:1104: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/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/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:     0x5af6530d34aa - std::backtrace_rs::backtrace::libunwind::trace::h5a5b8284f2d0c266
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/../../backtrace/src/backtrace/libunwind.rs:116:5
[INFO] [stdout]    1:     0x5af6530d34aa - std::backtrace_rs::backtrace::trace_unsynchronized::h76d4f1c9b0b875e3
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x5af6530d34aa - std::sys::backtrace::_print_fmt::hc4546b8364a537c6
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x5af6530d34aa - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h5b6bd5631a6d1f6b
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x5af6530f8993 - core::fmt::rt::Argument::fmt::h270f6602a2b96f62
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/fmt/rt.rs:177:76
[INFO] [stdout]    5:     0x5af6530f8993 - core::fmt::write::h7550c97b06c86515
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/fmt/mod.rs:1186:21
[INFO] [stdout]    6:     0x5af6530d04d3 - std::io::Write::write_fmt::h509ff860e5956e5e
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/io/mod.rs:1839:15
[INFO] [stdout]    7:     0x5af6530d32f2 - std::sys::backtrace::BacktraceLock::print::h2395ccd2c84ba3aa
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    8:     0x5af6530d490a - std::panicking::default_hook::{{closure}}::he19d4c7230e07961
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:268:22
[INFO] [stdout]    9:     0x5af6530d4714 - std::panicking::default_hook::hf614597d3c67bbdb
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:292:9
[INFO] [stdout]   10:     0x5af65309fe59 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h39b51ce4599c23d1
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/alloc/src/boxed.rs:2468:9
[INFO] [stdout]   11:     0x5af65309fe59 - test::test_main::{{closure}}::he977ae839a582784
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/test/src/lib.rs:133:21
[INFO] [stdout]   12:     0x5af6530d4fa8 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h9455091b6b06f9fb
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/alloc/src/boxed.rs:2468:9
[INFO] [stdout]   13:     0x5af6530d4fa8 - std::panicking::rust_panic_with_hook::h8942133a8b252070
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:809:13
[INFO] [stdout]   14:     0x5af6530d4d6a - std::panicking::begin_panic_handler::{{closure}}::hb5f5963570096b29
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:674:13
[INFO] [stdout]   15:     0x5af6530d3989 - std::sys::backtrace::__rust_end_short_backtrace::h6208cedc1922feda
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/sys/backtrace.rs:170:18
[INFO] [stdout]   16:     0x5af6530d49fc - rust_begin_unwind
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:665:5
[INFO] [stdout]   17:     0x5af65305fa60 - core::panicking::panic_fmt::h0c3082644d1bf418
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/panicking.rs:74:14
[INFO] [stdout]   18:     0x5af653062633 - core::panicking::panic_display::h7eecb84480c06efc
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/panicking.rs:264:5
[INFO] [stdout]   19:     0x5af653067b4a - compiler_test::compile_src::panic_cold_display::h21df773ab52dfabd
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/panic.rs:100:13
[INFO] [stdout]   20:     0x5af653067376 - compiler_test::compile_src::he7c22c580a530b72
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/compiler_test.rs:54:9
[INFO] [stdout]   21:     0x5af653067844 - compiler_test::test_hello::h106d2c8af47a3df7
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/compiler_test.rs:7:18
[INFO] [stdout]   22:     0x5af6530677f7 - compiler_test::test_hello::{{closure}}::h5fd9dbe426db3b7e
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/compiler_test.rs:5:16
[INFO] [stdout]   23:     0x5af653061436 - core::ops::function::FnOnce::call_once::ha6751cf5e7971c81
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5af6530a481b - core::ops::function::FnOnce::call_once::h109cf8051a59b34e
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5af6530a481b - test::__rust_begin_short_backtrace::hf4fff89d377446ba
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/test/src/lib.rs:621:18
[INFO] [stdout]   26:     0x5af6530a4057 - test::run_test_in_process::{{closure}}::h0e39181dd7ee5a43
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/test/src/lib.rs:644:60
[INFO] [stdout]   27:     0x5af6530a4057 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hc5a66a30f0bdfd1f
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   28:     0x5af6530a4057 - std::panicking::try::do_call::h873b7cf639554a5e
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:557:40
[INFO] [stdout]   29:     0x5af6530a4057 - std::panicking::try::hdb19862fad9c8bd1
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:520:19
[INFO] [stdout]   30:     0x5af6530a4057 - std::panic::catch_unwind::h281fe732d236d260
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panic.rs:358:14
[INFO] [stdout]   31:     0x5af6530a4057 - test::run_test_in_process::h949b6df8457ed338
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/test/src/lib.rs:644:27
[INFO] [stdout]   32:     0x5af6530a4057 - test::run_test::{{closure}}::h52c556a6d4740e10
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/test/src/lib.rs:565:43
[INFO] [stdout]   33:     0x5af653069334 - test::run_test::{{closure}}::h4237f6381c45ccb9
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/test/src/lib.rs:595:41
[INFO] [stdout]   34:     0x5af653069334 - std::sys::backtrace::__rust_begin_short_backtrace::h505c97a579eca628
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/sys/backtrace.rs:154:18
[INFO] [stdout]   35:     0x5af65306c9fe - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h9e86b2e2bc107ea3
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/thread/mod.rs:538:17
[INFO] [stdout]   36:     0x5af65306c9fe - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h8b06ddb275ff4a25
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   37:     0x5af65306c9fe - std::panicking::try::do_call::hb26ecd7cd9a9355d
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:557:40
[INFO] [stdout]   38:     0x5af65306c9fe - std::panicking::try::h8ddeca9d705f9069
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:520:19
[INFO] [stdout]   39:     0x5af65306c9fe - std::panic::catch_unwind::h49e1c33078844c46
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panic.rs:358:14
[INFO] [stdout]   40:     0x5af65306c9fe - std::thread::Builder::spawn_unchecked_::{{closure}}::h6073db6ff56ad35d
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/thread/mod.rs:537:30
[INFO] [stdout]   41:     0x5af65306c9fe - core::ops::function::FnOnce::call_once{{vtable.shim}}::h2c5a5f3779c774f1
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x5af6530d8deb - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hf75717d9f28faebf
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/alloc/src/boxed.rs:2454:9
[INFO] [stdout]   43:     0x5af6530d8deb - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h7bd883a5f3c5f3c1
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/alloc/src/boxed.rs:2454:9
[INFO] [stdout]   44:     0x5af6530d8deb - std::sys::pal::unix::thread::Thread::new::thread_start::hcc78f3943333fa94
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/sys/pal/unix/thread.rs:105:17
[INFO] [stdout]   45:     0x70b7c2562ac3 - <unknown>
[INFO] [stdout]   46:     0x70b7c25f3a04 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test_assignment 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]     |
[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.11s
[INFO] [stdout]      Running `/opt/rustwide/target/debug/compiler /opt/rustwide/workdir/tests/fixtures/assignment.jc /opt/rustwide/workdir/local/bin/assignment`
[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]     "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]     "main::info": Data {
[INFO] [stdout]         symbol: "main::info",
[INFO] [stdout]         lit: String(
[INFO] [stdout]             "Test\n",
[INFO] [stdout]         ),
[INFO] [stdout]         reference: false,
[INFO] [stdout]         data_loc: 16,
[INFO] [stdout]         decl_type: Let,
[INFO] [stdout]     },
[INFO] [stdout] }
[INFO] [stdout] [src/emitter/elf.rs:215:5] last_local_idx = 5
[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/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:665:5
[INFO] [stdout]    1: core::panicking::panic_fmt
[INFO] [stdout]              at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/panicking.rs:74:14
[INFO] [stdout]    2: core::result::unwrap_failed
[INFO] [stdout]              at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/result.rs:1700:5
[INFO] [stdout]    3: core::result::Result<T,E>::unwrap
[INFO] [stdout]              at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/result.rs:1104: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/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/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:     0x5af6530d34aa - std::backtrace_rs::backtrace::libunwind::trace::h5a5b8284f2d0c266
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/../../backtrace/src/backtrace/libunwind.rs:116:5
[INFO] [stdout]    1:     0x5af6530d34aa - std::backtrace_rs::backtrace::trace_unsynchronized::h76d4f1c9b0b875e3
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x5af6530d34aa - std::sys::backtrace::_print_fmt::hc4546b8364a537c6
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x5af6530d34aa - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h5b6bd5631a6d1f6b
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x5af6530f8993 - core::fmt::rt::Argument::fmt::h270f6602a2b96f62
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/fmt/rt.rs:177:76
[INFO] [stdout]    5:     0x5af6530f8993 - core::fmt::write::h7550c97b06c86515
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/fmt/mod.rs:1186:21
[INFO] [stdout]    6:     0x5af6530d04d3 - std::io::Write::write_fmt::h509ff860e5956e5e
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/io/mod.rs:1839:15
[INFO] [stdout]    7:     0x5af6530d32f2 - std::sys::backtrace::BacktraceLock::print::h2395ccd2c84ba3aa
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    8:     0x5af6530d490a - std::panicking::default_hook::{{closure}}::he19d4c7230e07961
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:268:22
[INFO] [stdout]    9:     0x5af6530d4714 - std::panicking::default_hook::hf614597d3c67bbdb
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:292:9
[INFO] [stdout]   10:     0x5af65309fe59 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h39b51ce4599c23d1
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/alloc/src/boxed.rs:2468:9
[INFO] [stdout]   11:     0x5af65309fe59 - test::test_main::{{closure}}::he977ae839a582784
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/test/src/lib.rs:133:21
[INFO] [stdout]   12:     0x5af6530d4fa8 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h9455091b6b06f9fb
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/alloc/src/boxed.rs:2468:9
[INFO] [stdout]   13:     0x5af6530d4fa8 - std::panicking::rust_panic_with_hook::h8942133a8b252070
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:809:13
[INFO] [stdout]   14:     0x5af6530d4d6a - std::panicking::begin_panic_handler::{{closure}}::hb5f5963570096b29
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:674:13
[INFO] [stdout]   15:     0x5af6530d3989 - std::sys::backtrace::__rust_end_short_backtrace::h6208cedc1922feda
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/sys/backtrace.rs:170:18
[INFO] [stdout]   16:     0x5af6530d49fc - rust_begin_unwind
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:665:5
[INFO] [stdout]   17:     0x5af65305fa60 - core::panicking::panic_fmt::h0c3082644d1bf418
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/panicking.rs:74:14
[INFO] [stdout]   18:     0x5af653062633 - core::panicking::panic_display::h7eecb84480c06efc
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/panicking.rs:264:5
[INFO] [stdout]   19:     0x5af653067b4a - compiler_test::compile_src::panic_cold_display::h21df773ab52dfabd
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/panic.rs:100:13
[INFO] [stdout]   20:     0x5af653067376 - compiler_test::compile_src::he7c22c580a530b72
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/compiler_test.rs:54:9
[INFO] [stdout]   21:     0x5af653067a84 - compiler_test::test_assignment::h41350aed0ea450e4
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/compiler_test.rs:27:18
[INFO] [stdout]   22:     0x5af653067a37 - compiler_test::test_assignment::{{closure}}::ha6bcefc2803a964e
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/compiler_test.rs:25:21
[INFO] [stdout]   23:     0x5af653061346 - core::ops::function::FnOnce::call_once::h15fa9239df1833d3
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5af6530a481b - core::ops::function::FnOnce::call_once::h109cf8051a59b34e
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5af6530a481b - test::__rust_begin_short_backtrace::hf4fff89d377446ba
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/test/src/lib.rs:621:18
[INFO] [stdout]   26:     0x5af6530a4057 - test::run_test_in_process::{{closure}}::h0e39181dd7ee5a43
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/test/src/lib.rs:644:60
[INFO] [stdout]   27:     0x5af6530a4057 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hc5a66a30f0bdfd1f
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   28:     0x5af6530a4057 - std::panicking::try::do_call::h873b7cf639554a5e
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:557:40
[INFO] [stdout]   29:     0x5af6530a4057 - std::panicking::try::hdb19862fad9c8bd1
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:520:19
[INFO] [stdout]   30:     0x5af6530a4057 - std::panic::catch_unwind::h281fe732d236d260
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panic.rs:358:14
[INFO] [stdout]   31:     0x5af6530a4057 - test::run_test_in_process::h949b6df8457ed338
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/test/src/lib.rs:644:27
[INFO] [stdout]   32:     0x5af6530a4057 - test::run_test::{{closure}}::h52c556a6d4740e10
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/test/src/lib.rs:565:43
[INFO] [stdout]   33:     0x5af653069334 - test::run_test::{{closure}}::h4237f6381c45ccb9
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/test/src/lib.rs:595:41
[INFO] [stdout]   34:     0x5af653069334 - std::sys::backtrace::__rust_begin_short_backtrace::h505c97a579eca628
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/sys/backtrace.rs:154:18
[INFO] [stdout]   35:     0x5af65306c9fe - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h9e86b2e2bc107ea3
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/thread/mod.rs:538:17
[INFO] [stdout]   36:     0x5af65306c9fe - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h8b06ddb275ff4a25
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   37:     0x5af65306c9fe - std::panicking::try::do_call::hb26ecd7cd9a9355d
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:557:40
[INFO] [stdout]   38:     0x5af65306c9fe - std::panicking::try::h8ddeca9d705f9069
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:520:19
[INFO] [stdout]   39:     0x5af65306c9fe - std::panic::catch_unwind::h49e1c33078844c46
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panic.rs:358:14
[INFO] [stdout]   40:     0x5af65306c9fe - std::thread::Builder::spawn_unchecked_::{{closure}}::h6073db6ff56ad35d
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/thread/mod.rs:537:30
[INFO] [stdout]   41:     0x5af65306c9fe - core::ops::function::FnOnce::call_once{{vtable.shim}}::h2c5a5f3779c774f1
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x5af6530d8deb - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hf75717d9f28faebf
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/alloc/src/boxed.rs:2454:9
[INFO] [stdout]   43:     0x5af6530d8deb - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h7bd883a5f3c5f3c1
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/alloc/src/boxed.rs:2454:9
[INFO] [stdout]   44:     0x5af6530d8deb - std::sys::pal::unix::thread::Thread::new::thread_start::hcc78f3943333fa94
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/sys/pal/unix/thread.rs:105:17
[INFO] [stdout]   45:     0x70b7c2562ac3 - <unknown>
[INFO] [stdout]   46:     0x70b7c25f3a04 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test_loop stdout ----
[INFO] [stdout] thread 'test_loop' 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]     |
[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
[WARN] too many lines in the log, truncating it
