[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] bf6b07fc533aeb4c4e5f742746836a5df39e7468
[INFO] testing MrBTTF/jc-compiler against try#db823df02fd0c2cf67b43025ac3fef3f2d743245 for pr-150681
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMrBTTF%2Fjc-compiler" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[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-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/MrBTTF/jc-compiler on toolchain db823df02fd0c2cf67b43025ac3fef3f2d743245
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[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" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 814ec9b8da3ad071cf65ed1b3080898a1555a50f6c120a1baf9928f8678b3c92
[INFO] running `Command { std: "docker" "start" "-a" "814ec9b8da3ad071cf65ed1b3080898a1555a50f6c120a1baf9928f8678b3c92", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "814ec9b8da3ad071cf65ed1b3080898a1555a50f6c120a1baf9928f8678b3c92", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "814ec9b8da3ad071cf65ed1b3080898a1555a50f6c120a1baf9928f8678b3c92", kill_on_drop: false }`
[INFO] [stdout] 814ec9b8da3ad071cf65ed1b3080898a1555a50f6c120a1baf9928f8678b3c92
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1966da22879c346b3ee487b9a9151c110b9faca42a4e553d4c26c5fb9e8991b3
[INFO] running `Command { std: "docker" "start" "-a" "1966da22879c346b3ee487b9a9151c110b9faca42a4e553d4c26c5fb9e8991b3", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.79
[INFO] [stderr]    Compiling semver v1.0.22
[INFO] [stderr]    Compiling futures-sink v0.3.30
[INFO] [stderr]    Compiling memchr v2.7.1
[INFO] [stderr]    Compiling futures-core v0.3.30
[INFO] [stderr]    Compiling regex-syntax v0.8.3
[INFO] [stderr]    Compiling rustix v0.38.34
[INFO] [stderr]    Compiling relative-path v1.9.2
[INFO] [stderr]    Compiling paste v1.0.14
[INFO] [stderr]    Compiling linux-raw-sys v0.4.14
[INFO] [stderr]    Compiling fastrand v2.1.0
[INFO] [stderr]    Compiling futures-timer v3.0.3
[INFO] [stderr]    Compiling ar v0.9.0
[INFO] [stderr]    Compiling elf v0.7.4
[INFO] [stderr]    Compiling futures-channel v0.3.30
[INFO] [stderr]    Compiling rustc_version v0.4.0
[INFO] [stderr]    Compiling quote v1.0.35
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling rstest_macros v0.19.0
[INFO] [stderr]    Compiling syn v2.0.55
[INFO] [stderr]    Compiling regex-automata v0.4.6
[INFO] [stderr]    Compiling tempfile v3.10.1
[INFO] [stderr]    Compiling regex v1.10.4
[INFO] [stderr]    Compiling futures-macro v0.3.30
[INFO] [stderr]    Compiling futures-util v0.3.30
[INFO] [stderr]    Compiling futures-executor v0.3.30
[INFO] [stderr]    Compiling futures v0.3.30
[INFO] [stderr]    Compiling rstest v0.19.0
[INFO] [stderr]    Compiling compiler v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `BTreeMap`
[INFO] [stdout]  --> src/emitter/elf.rs:5:19
[INFO] [stdout]   |
[INFO] [stdout] 5 |     collections::{BTreeMap, HashMap},
[INFO] [stdout]   |                   ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::emitter::text::mnemonics::Operand::Offset32`
[INFO] [stdout]    --> src/emitter/text/code_context.rs:180:9
[INFO] [stdout]     |
[INFO] [stdout] 180 |     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:181:32
[INFO] [stdout]     |
[INFO] [stdout] 181 |     use crate::emitter::text::{mnemonics::*, CodeContext};
[INFO] [stdout]     |                                ^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::emitter::stack::StackManager`
[INFO] [stdout]  --> src/emitter/text/stdlib/windows.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::emitter::stack::StackManager;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]  --> src/emitter/text/stdlib.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::mem;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/parser.rs:227:9
[INFO] [stdout]     |
[INFO] [stdout] 227 |         return todo!(); //Ok((Some(ast::RhsExpression::Block(Block::new(id, stmts))), tokens));
[INFO] [stdout]     |         ^^^^^^^-------
[INFO] [stdout]     |         |      |
[INFO] [stdout]     |         |      any code following this expression is unreachable
[INFO] [stdout]     |         unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sections_size`
[INFO] [stdout]    --> src/emitter/elf/sections.rs:132:9
[INFO] [stdout]     |
[INFO] [stdout] 132 |     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]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stmts`
[INFO] [stdout]   --> src/emitter/text.rs:98:35
[INFO] [stdout]    |
[INFO] [stdout] 98 |             ast::Statement::Block(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:108:13
[INFO] [stdout]     |
[INFO] [stdout] 108 |             return_type,
[INFO] [stdout]     |             ^^^^^^^^^^^ help: try ignoring the field: `return_type: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block`
[INFO] [stdout]    --> src/emitter/text.rs:155:39
[INFO] [stdout]     |
[INFO] [stdout] 155 |             ast::RhsExpression::Block(block) => todo!(),
[INFO] [stdout]     |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_block`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `unary_operation`
[INFO] [stdout]    --> src/emitter/text.rs:199:36
[INFO] [stdout]     |
[INFO] [stdout] 199 |             ast::Expression::Unary(unary_operation) => todo!(),
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_unary_operation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `binary_operation`
[INFO] [stdout]    --> src/emitter/text.rs:200:37
[INFO] [stdout]     |
[INFO] [stdout] 200 |             ast::Expression::Binary(binary_operation) => todo!(),
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_binary_operation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> src/emitter/text.rs:244:28
[INFO] [stdout]     |
[INFO] [stdout] 244 |                 Value::Int(n) => {
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scope`
[INFO] [stdout]    --> src/emitter/text.rs:302:45
[INFO] [stdout]     |
[INFO] [stdout] 302 |     fn visit_loop(&mut self, l: &ast::Loop, scope: &str) {
[INFO] [stdout]     |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_scope`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block`
[INFO] [stdout]    --> src/emitter/variables.rs:154:39
[INFO] [stdout]     |
[INFO] [stdout] 154 |             ast::RhsExpression::Block(block) => todo!(),
[INFO] [stdout]     |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_block`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expr`
[INFO] [stdout]   --> src/parser/ast_printer.rs:93:35
[INFO] [stdout]    |
[INFO] [stdout] 93 |             UnaryOperation::Minus(expr) => todo!(),
[INFO] [stdout]    |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_expr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expr`
[INFO] [stdout]   --> src/parser/ast_printer.rs:94:33
[INFO] [stdout]    |
[INFO] [stdout] 94 |             UnaryOperation::Not(expr) => todo!(),
[INFO] [stdout]    |                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_expr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `binary_operation`
[INFO] [stdout]   --> src/parser/ast_printer.rs:97:28
[INFO] [stdout]    |
[INFO] [stdout] 97 |         Expression::Binary(binary_operation) => todo!(),
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_binary_operation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/parser.rs:226:8
[INFO] [stdout]     |
[INFO] [stdout] 226 |     if let (block, tokens) = block(tokens, scope)? {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout]     = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block`
[INFO] [stdout]    --> src/parser.rs:226:13
[INFO] [stdout]     |
[INFO] [stdout] 226 |     if let (block, tokens) = block(tokens, scope)? {
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_block`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:226:20
[INFO] [stdout]     |
[INFO] [stdout] 226 |     if let (block, tokens) = block(tokens, scope)? {
[INFO] [stdout]     |                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scope`
[INFO] [stdout]    --> src/parser.rs:250:5
[INFO] [stdout]     |
[INFO] [stdout] 250 |     scope: &str,
[INFO] [stdout]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_scope`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scope`
[INFO] [stdout]    --> src/parser.rs:310:37
[INFO] [stdout]     |
[INFO] [stdout] 310 | fn literal<'a>(tokens: &'a [Token], scope: &str) -> (Option<ast::Literal>, &'a [Token]) {
[INFO] [stdout]     |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_scope`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Program` is never constructed
[INFO] [stdout]  --> src/emitter/ast.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Program {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Item` is never used
[INFO] [stdout]  --> src/emitter/ast.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub enum Item {
[INFO] [stdout]   |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Float` and `Bool` are never constructed
[INFO] [stdout]   --> src/emitter/ast.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub enum TypeName {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 52 |     Float,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 53 |     Bool,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TypeName` 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/ast.rs:123:12
[INFO] [stdout]     |
[INFO] [stdout] 123 |     Return(Option<Expression>),
[INFO] [stdout]     |     ------ ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ControlFlow` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 123 -     Return(Option<Expression>),
[INFO] [stdout] 123 +     Return(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Block` is never constructed
[INFO] [stdout]    --> src/emitter/ast.rs:134:5
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub enum Statement {
[INFO] [stdout]     |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 134 |     Block(Block),
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Block` is never constructed
[INFO] [stdout]    --> src/emitter/ast.rs:185:5
[INFO] [stdout]     |
[INFO] [stdout] 183 | pub enum RhsExpression {
[INFO] [stdout]     |          ------------- variant in this enum
[INFO] [stdout] 184 |     Expression(Expression),
[INFO] [stdout] 185 |     Block(Block),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RhsExpression` 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 `Binary` is never constructed
[INFO] [stdout]    --> src/emitter/ast.rs:203:5
[INFO] [stdout]     |
[INFO] [stdout] 201 | pub enum Expression {
[INFO] [stdout]     |          ---------- variant in this enum
[INFO] [stdout] 202 |     Unary(UnaryOperation),
[INFO] [stdout] 203 |     Binary(BinaryOperation),
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Expression` 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 `Minus` and `Not` are never constructed
[INFO] [stdout]    --> src/emitter/ast.rs:211:5
[INFO] [stdout]     |
[INFO] [stdout] 210 | pub enum UnaryOperation {
[INFO] [stdout]     |          -------------- variants in this enum
[INFO] [stdout] 211 |     Minus(Box<Expression>),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 212 |     Not(Box<Expression>),
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `UnaryOperation` 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 `Plus` and `Minus` are never constructed
[INFO] [stdout]    --> src/emitter/ast.rs:218:5
[INFO] [stdout]     |
[INFO] [stdout] 217 | pub enum BinaryOperation {
[INFO] [stdout]     |          --------------- variants in this enum
[INFO] [stdout] 218 |     Plus(Box<Expression>, Box<Expression>),
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 219 |     Minus(Box<Expression>, Box<Expression>),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BinaryOperation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `len` is never used
[INFO] [stdout]    --> src/emitter/ast.rs:241:12
[INFO] [stdout]     |
[INFO] [stdout] 240 | impl Literal {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] 241 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `align` is never used
[INFO] [stdout]    --> src/emitter/elf.rs:258:4
[INFO] [stdout]     |
[INFO] [stdout] 258 | 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:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | 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:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const DATA_SECTION_ADDRESS_START: DWord = VIRTUAL_ADDRESS_START + DATA_SECTION_OFFSET;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProgramHeader` is never constructed
[INFO] [stdout]   --> src/emitter/elf/sections.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub struct ProgramHeader {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_symtab_section_header` is never used
[INFO] [stdout]    --> src/emitter/elf/sections.rs:186:8
[INFO] [stdout]     |
[INFO] [stdout] 186 | 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:201:8
[INFO] [stdout]     |
[INFO] [stdout] 201 | 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:216:8
[INFO] [stdout]     |
[INFO] [stdout] 216 | 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:27:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub enum DataSymbol {
[INFO] [stdout]    |          ---------- variant in this enum
[INFO] [stdout] 26 |     Comptime,
[INFO] [stdout] 27 |     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:32:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub enum Section {
[INFO] [stdout]    |          ------- variants in this enum
[INFO] [stdout] 32 |     Undefined,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     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:41:5
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub enum SymbolScope {
[INFO] [stdout]    |          ----------- variant in this enum
[INFO] [stdout] 40 |     Local,
[INFO] [stdout] 41 |     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: enum `Arg` is never used
[INFO] [stdout]  --> src/emitter/text/abi/windows.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub enum Arg {
[INFO] [stdout]   |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ARG_REGISTERS` is never used
[INFO] [stdout]   --> src/emitter/text/abi/windows.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 | 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:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn push_args(code_context: &mut CodeContext, stack: &mut StackManager, args: &[Variable]) {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pop_args` is never used
[INFO] [stdout]   --> src/emitter/text/abi/windows.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub fn pop_args(code_context: &mut CodeContext, stack: &mut StackManager, 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:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | 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:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | 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:18:7
[INFO] [stdout]    |
[INFO] [stdout] 18 | 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:119:5
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub enum Operand {
[INFO] [stdout]     |          ------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 119 |     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:271:12
[INFO] [stdout]     |
[INFO] [stdout] 253 | impl Mnemonic {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 271 |     pub fn get_name(&self) -> MnemonicName {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 275 |     pub fn set_op1(&mut self, op: impl Into<Operand>) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 279 |     pub fn set_op2(&mut self, op: impl Into<Operand>) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Jmp`, `Jle`, `Jge`, `Je`, and `Jz` are never constructed
[INFO] [stdout]    --> src/emitter/text/mnemonics.rs:559:5
[INFO] [stdout]     |
[INFO] [stdout] 542 | pub enum MnemonicName {
[INFO] [stdout]     |          ------------ variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 559 |     Jmp,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 560 |     Jl,
[INFO] [stdout] 561 |     Jle,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 562 |     Jg,
[INFO] [stdout] 563 |     Jge,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 564 |     Je,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 565 |     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:74:9
[INFO] [stdout]    |
[INFO] [stdout] 74 |         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:55:35
[INFO] [stdout]    |
[INFO] [stdout] 55 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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:75:9
[INFO] [stdout]    |
[INFO] [stdout] 75 |         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:55:35
[INFO] [stdout]    |
[INFO] [stdout] 55 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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:76:9
[INFO] [stdout]    |
[INFO] [stdout] 76 |         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:55:35
[INFO] [stdout]    |
[INFO] [stdout] 55 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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:77:9
[INFO] [stdout]    |
[INFO] [stdout] 77 |         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:55:35
[INFO] [stdout]    |
[INFO] [stdout] 55 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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 `RBX` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:56:35
[INFO] [stdout]    |
[INFO] [stdout] 56 |                           pub const [<R $name>]: Register = Register::new($attr, RegisterSize::Q, false);
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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:78:9
[INFO] [stdout]    |
[INFO] [stdout] 78 |         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:55:35
[INFO] [stdout]    |
[INFO] [stdout] 55 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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:79:9
[INFO] [stdout]    |
[INFO] [stdout] 79 |         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:55:35
[INFO] [stdout]    |
[INFO] [stdout] 55 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |         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:55:35
[INFO] [stdout]    |
[INFO] [stdout] 55 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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:81:9
[INFO] [stdout]    |
[INFO] [stdout] 81 |         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:55:35
[INFO] [stdout]    |
[INFO] [stdout] 55 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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:62:35
[INFO] [stdout]    |
[INFO] [stdout] 62 |                           pub const [<$name D>]: Register = Register::new($attr, RegisterSize::D, true );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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:63:35
[INFO] [stdout]    |
[INFO] [stdout] 63 |                           pub const [<$name W>]: Register = Register::new($attr, RegisterSize::W, true);
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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:62:35
[INFO] [stdout]    |
[INFO] [stdout] 62 |                           pub const [<$name D>]: Register = Register::new($attr, RegisterSize::D, true );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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:63:35
[INFO] [stdout]    |
[INFO] [stdout] 63 |                           pub const [<$name W>]: Register = Register::new($attr, RegisterSize::W, true);
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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 `R10D` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:62:35
[INFO] [stdout]    |
[INFO] [stdout] 62 |                           pub const [<$name D>]: Register = Register::new($attr, RegisterSize::D, true );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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:63:35
[INFO] [stdout]    |
[INFO] [stdout] 63 |                           pub const [<$name W>]: Register = Register::new($attr, RegisterSize::W, true);
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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 `R11D` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:62:35
[INFO] [stdout]    |
[INFO] [stdout] 62 |                           pub const [<$name D>]: Register = Register::new($attr, RegisterSize::D, true );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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 `R11W` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:63:35
[INFO] [stdout]    |
[INFO] [stdout] 63 |                           pub const [<$name W>]: Register = Register::new($attr, RegisterSize::W, true);
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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`, `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 |     labels: BTreeMap<String, usize>,
[INFO] [stdout] 26 |     symbols: BTreeMap<String, Symbol>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 27 |     relocations: Vec<Relocation>,
[INFO] [stdout] 28 |     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:72:12
[INFO] [stdout]     |
[INFO] [stdout]  31 | impl CodeContext {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  72 |     pub fn get_pc(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  76 |     pub fn get(&self, i: usize) -> Mnemonic {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  80 |     pub fn get_mut(&mut self, i: usize) -> &mut Mnemonic {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  84 |     pub fn get_offset(&self, i: usize) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  92 |     pub fn get_code_size_with_calls(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn get_calls(&self) -> BTreeMap<String, Call> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     pub fn get_label_offset(&self, label: &str) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     pub fn compute_calls(
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     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:185:8
[INFO] [stdout]     |
[INFO] [stdout] 185 |     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:217:8
[INFO] [stdout]     |
[INFO] [stdout] 217 |     fn assert_eq_hex(actual: Vec<u8>, expected: Vec<u8>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `StdHandle` is never used
[INFO] [stdout]  --> src/emitter/text/stdlib/windows.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub enum StdHandle {
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print` is never used
[INFO] [stdout]   --> src/emitter/text/stdlib/windows.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn print(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:50:8
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub fn exit(code_context: &mut CodeContext, exit_code: u64) {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DataRef` is never constructed
[INFO] [stdout]   --> src/emitter/variables.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct DataRef {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/emitter/variables.rs:68:17
[INFO] [stdout]    |
[INFO] [stdout] 68 |     DataSection(u64),
[INFO] [stdout]    |     ----------- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ValueLocation` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 68 -     DataSection(u64),
[INFO] [stdout] 68 +     DataSection(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_vec` is never used
[INFO] [stdout]    --> src/emitter/variables.rs:104:12
[INFO] [stdout]     |
[INFO] [stdout]  80 | impl Variable {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn as_vec(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 19.99s
[INFO] running `Command { std: "docker" "inspect" "1966da22879c346b3ee487b9a9151c110b9faca42a4e553d4c26c5fb9e8991b3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1966da22879c346b3ee487b9a9151c110b9faca42a4e553d4c26c5fb9e8991b3", kill_on_drop: false }`
[INFO] [stdout] 1966da22879c346b3ee487b9a9151c110b9faca42a4e553d4c26c5fb9e8991b3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0f9d8d9626c08f2da91d65ad7750db7b606328afc75e84ed0470d2594b382aaa
[INFO] running `Command { std: "docker" "start" "-a" "0f9d8d9626c08f2da91d65ad7750db7b606328afc75e84ed0470d2594b382aaa", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `BTreeMap`
[INFO] [stdout]  --> src/emitter/elf.rs:5:19
[INFO] [stdout]   |
[INFO] [stdout] 5 |     collections::{BTreeMap, HashMap},
[INFO] [stdout]   |                   ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::emitter::text::mnemonics::Operand::Offset32`
[INFO] [stdout]    --> src/emitter/text/code_context.rs:180:9
[INFO] [stdout]     |
[INFO] [stdout] 180 |     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:181:32
[INFO] [stdout]     |
[INFO] [stdout] 181 |     use crate::emitter::text::{mnemonics::*, CodeContext};
[INFO] [stdout]     |                                ^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::emitter::stack::StackManager`
[INFO] [stdout]  --> src/emitter/text/stdlib/windows.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::emitter::stack::StackManager;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]  --> src/emitter/text/stdlib.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::mem;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/parser.rs:227:9
[INFO] [stdout]     |
[INFO] [stdout] 227 |         return todo!(); //Ok((Some(ast::RhsExpression::Block(Block::new(id, stmts))), tokens));
[INFO] [stdout]     |         ^^^^^^^-------
[INFO] [stdout]     |         |      |
[INFO] [stdout]     |         |      any code following this expression is unreachable
[INFO] [stdout]     |         unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sections_size`
[INFO] [stdout]    --> src/emitter/elf/sections.rs:132:9
[INFO] [stdout]     |
[INFO] [stdout] 132 |     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]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stmts`
[INFO] [stdout]   --> src/emitter/text.rs:98:35
[INFO] [stdout]    |
[INFO] [stdout] 98 |             ast::Statement::Block(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:108:13
[INFO] [stdout]     |
[INFO] [stdout] 108 |             return_type,
[INFO] [stdout]     |             ^^^^^^^^^^^ help: try ignoring the field: `return_type: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block`
[INFO] [stdout]    --> src/emitter/text.rs:155:39
[INFO] [stdout]     |
[INFO] [stdout] 155 |             ast::RhsExpression::Block(block) => todo!(),
[INFO] [stdout]     |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_block`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `unary_operation`
[INFO] [stdout]    --> src/emitter/text.rs:199:36
[INFO] [stdout]     |
[INFO] [stdout] 199 |             ast::Expression::Unary(unary_operation) => todo!(),
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_unary_operation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `binary_operation`
[INFO] [stdout]    --> src/emitter/text.rs:200:37
[INFO] [stdout]     |
[INFO] [stdout] 200 |             ast::Expression::Binary(binary_operation) => todo!(),
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_binary_operation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> src/emitter/text.rs:244:28
[INFO] [stdout]     |
[INFO] [stdout] 244 |                 Value::Int(n) => {
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scope`
[INFO] [stdout]    --> src/emitter/text.rs:302:45
[INFO] [stdout]     |
[INFO] [stdout] 302 |     fn visit_loop(&mut self, l: &ast::Loop, scope: &str) {
[INFO] [stdout]     |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_scope`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block`
[INFO] [stdout]    --> src/emitter/variables.rs:154:39
[INFO] [stdout]     |
[INFO] [stdout] 154 |             ast::RhsExpression::Block(block) => todo!(),
[INFO] [stdout]     |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_block`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expr`
[INFO] [stdout]   --> src/parser/ast_printer.rs:93:35
[INFO] [stdout]    |
[INFO] [stdout] 93 |             UnaryOperation::Minus(expr) => todo!(),
[INFO] [stdout]    |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_expr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expr`
[INFO] [stdout]   --> src/parser/ast_printer.rs:94:33
[INFO] [stdout]    |
[INFO] [stdout] 94 |             UnaryOperation::Not(expr) => todo!(),
[INFO] [stdout]    |                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_expr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `binary_operation`
[INFO] [stdout]   --> src/parser/ast_printer.rs:97:28
[INFO] [stdout]    |
[INFO] [stdout] 97 |         Expression::Binary(binary_operation) => todo!(),
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_binary_operation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/parser.rs:226:8
[INFO] [stdout]     |
[INFO] [stdout] 226 |     if let (block, tokens) = block(tokens, scope)? {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout]     = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block`
[INFO] [stdout]    --> src/parser.rs:226:13
[INFO] [stdout]     |
[INFO] [stdout] 226 |     if let (block, tokens) = block(tokens, scope)? {
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_block`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:226:20
[INFO] [stdout]     |
[INFO] [stdout] 226 |     if let (block, tokens) = block(tokens, scope)? {
[INFO] [stdout]     |                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scope`
[INFO] [stdout]    --> src/parser.rs:250:5
[INFO] [stdout]     |
[INFO] [stdout] 250 |     scope: &str,
[INFO] [stdout]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_scope`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scope`
[INFO] [stdout]    --> src/parser.rs:310:37
[INFO] [stdout]     |
[INFO] [stdout] 310 | fn literal<'a>(tokens: &'a [Token], scope: &str) -> (Option<ast::Literal>, &'a [Token]) {
[INFO] [stdout]     |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_scope`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Program` is never constructed
[INFO] [stdout]  --> src/emitter/ast.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Program {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Item` is never used
[INFO] [stdout]  --> src/emitter/ast.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub enum Item {
[INFO] [stdout]   |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Float` and `Bool` are never constructed
[INFO] [stdout]   --> src/emitter/ast.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub enum TypeName {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 52 |     Float,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 53 |     Bool,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TypeName` 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/ast.rs:123:12
[INFO] [stdout]     |
[INFO] [stdout] 123 |     Return(Option<Expression>),
[INFO] [stdout]     |     ------ ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ControlFlow` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 123 -     Return(Option<Expression>),
[INFO] [stdout] 123 +     Return(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Block` is never constructed
[INFO] [stdout]    --> src/emitter/ast.rs:134:5
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub enum Statement {
[INFO] [stdout]     |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 134 |     Block(Block),
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Block` is never constructed
[INFO] [stdout]    --> src/emitter/ast.rs:185:5
[INFO] [stdout]     |
[INFO] [stdout] 183 | pub enum RhsExpression {
[INFO] [stdout]     |          ------------- variant in this enum
[INFO] [stdout] 184 |     Expression(Expression),
[INFO] [stdout] 185 |     Block(Block),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RhsExpression` 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 `Binary` is never constructed
[INFO] [stdout]    --> src/emitter/ast.rs:203:5
[INFO] [stdout]     |
[INFO] [stdout] 201 | pub enum Expression {
[INFO] [stdout]     |          ---------- variant in this enum
[INFO] [stdout] 202 |     Unary(UnaryOperation),
[INFO] [stdout] 203 |     Binary(BinaryOperation),
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Expression` 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 `Minus` and `Not` are never constructed
[INFO] [stdout]    --> src/emitter/ast.rs:211:5
[INFO] [stdout]     |
[INFO] [stdout] 210 | pub enum UnaryOperation {
[INFO] [stdout]     |          -------------- variants in this enum
[INFO] [stdout] 211 |     Minus(Box<Expression>),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 212 |     Not(Box<Expression>),
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `UnaryOperation` 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 `Plus` and `Minus` are never constructed
[INFO] [stdout]    --> src/emitter/ast.rs:218:5
[INFO] [stdout]     |
[INFO] [stdout] 217 | pub enum BinaryOperation {
[INFO] [stdout]     |          --------------- variants in this enum
[INFO] [stdout] 218 |     Plus(Box<Expression>, Box<Expression>),
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 219 |     Minus(Box<Expression>, Box<Expression>),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BinaryOperation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `len` is never used
[INFO] [stdout]    --> src/emitter/ast.rs:241:12
[INFO] [stdout]     |
[INFO] [stdout] 240 | impl Literal {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] 241 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `align` is never used
[INFO] [stdout]    --> src/emitter/elf.rs:258:4
[INFO] [stdout]     |
[INFO] [stdout] 258 | 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:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | 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:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const DATA_SECTION_ADDRESS_START: DWord = VIRTUAL_ADDRESS_START + DATA_SECTION_OFFSET;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProgramHeader` is never constructed
[INFO] [stdout]   --> src/emitter/elf/sections.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub struct ProgramHeader {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_symtab_section_header` is never used
[INFO] [stdout]    --> src/emitter/elf/sections.rs:186:8
[INFO] [stdout]     |
[INFO] [stdout] 186 | 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:201:8
[INFO] [stdout]     |
[INFO] [stdout] 201 | 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:216:8
[INFO] [stdout]     |
[INFO] [stdout] 216 | 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:27:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub enum DataSymbol {
[INFO] [stdout]    |          ---------- variant in this enum
[INFO] [stdout] 26 |     Comptime,
[INFO] [stdout] 27 |     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:32:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub enum Section {
[INFO] [stdout]    |          ------- variants in this enum
[INFO] [stdout] 32 |     Undefined,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     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:41:5
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub enum SymbolScope {
[INFO] [stdout]    |          ----------- variant in this enum
[INFO] [stdout] 40 |     Local,
[INFO] [stdout] 41 |     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: enum `Arg` is never used
[INFO] [stdout]  --> src/emitter/text/abi/windows.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub enum Arg {
[INFO] [stdout]   |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ARG_REGISTERS` is never used
[INFO] [stdout]   --> src/emitter/text/abi/windows.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 | 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:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn push_args(code_context: &mut CodeContext, stack: &mut StackManager, args: &[Variable]) {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pop_args` is never used
[INFO] [stdout]   --> src/emitter/text/abi/windows.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub fn pop_args(code_context: &mut CodeContext, stack: &mut StackManager, 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:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | 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:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | 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:18:7
[INFO] [stdout]    |
[INFO] [stdout] 18 | 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:119:5
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub enum Operand {
[INFO] [stdout]     |          ------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 119 |     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:271:12
[INFO] [stdout]     |
[INFO] [stdout] 253 | impl Mnemonic {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 271 |     pub fn get_name(&self) -> MnemonicName {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 275 |     pub fn set_op1(&mut self, op: impl Into<Operand>) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 279 |     pub fn set_op2(&mut self, op: impl Into<Operand>) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Jmp`, `Jle`, `Jge`, `Je`, and `Jz` are never constructed
[INFO] [stdout]    --> src/emitter/text/mnemonics.rs:559:5
[INFO] [stdout]     |
[INFO] [stdout] 542 | pub enum MnemonicName {
[INFO] [stdout]     |          ------------ variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 559 |     Jmp,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 560 |     Jl,
[INFO] [stdout] 561 |     Jle,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 562 |     Jg,
[INFO] [stdout] 563 |     Jge,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 564 |     Je,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 565 |     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:74:9
[INFO] [stdout]    |
[INFO] [stdout] 74 |         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:55:35
[INFO] [stdout]    |
[INFO] [stdout] 55 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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:75:9
[INFO] [stdout]    |
[INFO] [stdout] 75 |         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:55:35
[INFO] [stdout]    |
[INFO] [stdout] 55 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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:76:9
[INFO] [stdout]    |
[INFO] [stdout] 76 |         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:55:35
[INFO] [stdout]    |
[INFO] [stdout] 55 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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:77:9
[INFO] [stdout]    |
[INFO] [stdout] 77 |         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:55:35
[INFO] [stdout]    |
[INFO] [stdout] 55 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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 `RBX` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:56:35
[INFO] [stdout]    |
[INFO] [stdout] 56 |                           pub const [<R $name>]: Register = Register::new($attr, RegisterSize::Q, false);
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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:78:9
[INFO] [stdout]    |
[INFO] [stdout] 78 |         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:55:35
[INFO] [stdout]    |
[INFO] [stdout] 55 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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:79:9
[INFO] [stdout]    |
[INFO] [stdout] 79 |         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:55:35
[INFO] [stdout]    |
[INFO] [stdout] 55 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |         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:55:35
[INFO] [stdout]    |
[INFO] [stdout] 55 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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:81:9
[INFO] [stdout]    |
[INFO] [stdout] 81 |         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:55:35
[INFO] [stdout]    |
[INFO] [stdout] 55 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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:62:35
[INFO] [stdout]    |
[INFO] [stdout] 62 |                           pub const [<$name D>]: Register = Register::new($attr, RegisterSize::D, true );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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:63:35
[INFO] [stdout]    |
[INFO] [stdout] 63 |                           pub const [<$name W>]: Register = Register::new($attr, RegisterSize::W, true);
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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 `R9D` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:62:35
[INFO] [stdout]    |
[INFO] [stdout] 62 |                           pub const [<$name D>]: Register = Register::new($attr, RegisterSize::D, true );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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:63:35
[INFO] [stdout]    |
[INFO] [stdout] 63 |                           pub const [<$name W>]: Register = Register::new($attr, RegisterSize::W, true);
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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 `R10D` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:62:35
[INFO] [stdout]    |
[INFO] [stdout] 62 |                           pub const [<$name D>]: Register = Register::new($attr, RegisterSize::D, true );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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:63:35
[INFO] [stdout]    |
[INFO] [stdout] 63 |                           pub const [<$name W>]: Register = Register::new($attr, RegisterSize::W, true);
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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 `R11D` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:62:35
[INFO] [stdout]    |
[INFO] [stdout] 62 |                           pub const [<$name D>]: Register = Register::new($attr, RegisterSize::D, true );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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 `R11W` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:63:35
[INFO] [stdout]    |
[INFO] [stdout] 63 |                           pub const [<$name W>]: Register = Register::new($attr, RegisterSize::W, true);
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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`, `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 |     labels: BTreeMap<String, usize>,
[INFO] [stdout] 26 |     symbols: BTreeMap<String, Symbol>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 27 |     relocations: Vec<Relocation>,
[INFO] [stdout] 28 |     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:72:12
[INFO] [stdout]     |
[INFO] [stdout]  31 | impl CodeContext {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  72 |     pub fn get_pc(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  76 |     pub fn get(&self, i: usize) -> Mnemonic {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  80 |     pub fn get_mut(&mut self, i: usize) -> &mut Mnemonic {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  84 |     pub fn get_offset(&self, i: usize) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  92 |     pub fn get_code_size_with_calls(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn get_calls(&self) -> BTreeMap<String, Call> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     pub fn get_label_offset(&self, label: &str) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     pub fn compute_calls(
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     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:185:8
[INFO] [stdout]     |
[INFO] [stdout] 185 |     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:217:8
[INFO] [stdout]     |
[INFO] [stdout] 217 |     fn assert_eq_hex(actual: Vec<u8>, expected: Vec<u8>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `StdHandle` is never used
[INFO] [stdout]  --> src/emitter/text/stdlib/windows.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub enum StdHandle {
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print` is never used
[INFO] [stdout]   --> src/emitter/text/stdlib/windows.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn print(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:50:8
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub fn exit(code_context: &mut CodeContext, exit_code: u64) {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DataRef` is never constructed
[INFO] [stdout]   --> src/emitter/variables.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct DataRef {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/emitter/variables.rs:68:17
[INFO] [stdout]    |
[INFO] [stdout] 68 |     DataSection(u64),
[INFO] [stdout]    |     ----------- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ValueLocation` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 68 -     DataSection(u64),
[INFO] [stdout] 68 +     DataSection(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_vec` is never used
[INFO] [stdout]    --> src/emitter/variables.rs:104:12
[INFO] [stdout]     |
[INFO] [stdout]  80 | impl Variable {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn as_vec(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BTreeMap`
[INFO] [stdout]  --> src/emitter/elf.rs:5:19
[INFO] [stdout]   |
[INFO] [stdout] 5 |     collections::{BTreeMap, HashMap},
[INFO] [stdout]   |                   ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::emitter::stack::StackManager`
[INFO] [stdout]  --> src/emitter/text/stdlib/windows.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::emitter::stack::StackManager;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]  --> src/emitter/text/stdlib.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::mem;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/parser.rs:227:9
[INFO] [stdout]     |
[INFO] [stdout] 227 |         return todo!(); //Ok((Some(ast::RhsExpression::Block(Block::new(id, stmts))), tokens));
[INFO] [stdout]     |         ^^^^^^^-------
[INFO] [stdout]     |         |      |
[INFO] [stdout]     |         |      any code following this expression is unreachable
[INFO] [stdout]     |         unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sections_size`
[INFO] [stdout]    --> src/emitter/elf/sections.rs:132:9
[INFO] [stdout]     |
[INFO] [stdout] 132 |     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]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stmts`
[INFO] [stdout]   --> src/emitter/text.rs:98:35
[INFO] [stdout]    |
[INFO] [stdout] 98 |             ast::Statement::Block(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:108:13
[INFO] [stdout]     |
[INFO] [stdout] 108 |             return_type,
[INFO] [stdout]     |             ^^^^^^^^^^^ help: try ignoring the field: `return_type: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block`
[INFO] [stdout]    --> src/emitter/text.rs:155:39
[INFO] [stdout]     |
[INFO] [stdout] 155 |             ast::RhsExpression::Block(block) => todo!(),
[INFO] [stdout]     |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_block`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `unary_operation`
[INFO] [stdout]    --> src/emitter/text.rs:199:36
[INFO] [stdout]     |
[INFO] [stdout] 199 |             ast::Expression::Unary(unary_operation) => todo!(),
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_unary_operation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `binary_operation`
[INFO] [stdout]    --> src/emitter/text.rs:200:37
[INFO] [stdout]     |
[INFO] [stdout] 200 |             ast::Expression::Binary(binary_operation) => todo!(),
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_binary_operation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> src/emitter/text.rs:244:28
[INFO] [stdout]     |
[INFO] [stdout] 244 |                 Value::Int(n) => {
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scope`
[INFO] [stdout]    --> src/emitter/text.rs:302:45
[INFO] [stdout]     |
[INFO] [stdout] 302 |     fn visit_loop(&mut self, l: &ast::Loop, scope: &str) {
[INFO] [stdout]     |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_scope`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block`
[INFO] [stdout]    --> src/emitter/variables.rs:154:39
[INFO] [stdout]     |
[INFO] [stdout] 154 |             ast::RhsExpression::Block(block) => todo!(),
[INFO] [stdout]     |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_block`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expr`
[INFO] [stdout]   --> src/parser/ast_printer.rs:93:35
[INFO] [stdout]    |
[INFO] [stdout] 93 |             UnaryOperation::Minus(expr) => todo!(),
[INFO] [stdout]    |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_expr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expr`
[INFO] [stdout]   --> src/parser/ast_printer.rs:94:33
[INFO] [stdout]    |
[INFO] [stdout] 94 |             UnaryOperation::Not(expr) => todo!(),
[INFO] [stdout]    |                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_expr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `binary_operation`
[INFO] [stdout]   --> src/parser/ast_printer.rs:97:28
[INFO] [stdout]    |
[INFO] [stdout] 97 |         Expression::Binary(binary_operation) => todo!(),
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_binary_operation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/parser.rs:226:8
[INFO] [stdout]     |
[INFO] [stdout] 226 |     if let (block, tokens) = block(tokens, scope)? {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout]     = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block`
[INFO] [stdout]    --> src/parser.rs:226:13
[INFO] [stdout]     |
[INFO] [stdout] 226 |     if let (block, tokens) = block(tokens, scope)? {
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_block`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:226:20
[INFO] [stdout]     |
[INFO] [stdout] 226 |     if let (block, tokens) = block(tokens, scope)? {
[INFO] [stdout]     |                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scope`
[INFO] [stdout]    --> src/parser.rs:250:5
[INFO] [stdout]     |
[INFO] [stdout] 250 |     scope: &str,
[INFO] [stdout]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_scope`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scope`
[INFO] [stdout]    --> src/parser.rs:310:37
[INFO] [stdout]     |
[INFO] [stdout] 310 | fn literal<'a>(tokens: &'a [Token], scope: &str) -> (Option<ast::Literal>, &'a [Token]) {
[INFO] [stdout]     |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_scope`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Program` is never constructed
[INFO] [stdout]  --> src/emitter/ast.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Program {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Item` is never used
[INFO] [stdout]  --> src/emitter/ast.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub enum Item {
[INFO] [stdout]   |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Float` and `Bool` are never constructed
[INFO] [stdout]   --> src/emitter/ast.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub enum TypeName {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 52 |     Float,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 53 |     Bool,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TypeName` 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/ast.rs:123:12
[INFO] [stdout]     |
[INFO] [stdout] 123 |     Return(Option<Expression>),
[INFO] [stdout]     |     ------ ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ControlFlow` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 123 -     Return(Option<Expression>),
[INFO] [stdout] 123 +     Return(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Block` is never constructed
[INFO] [stdout]    --> src/emitter/ast.rs:134:5
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub enum Statement {
[INFO] [stdout]     |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 134 |     Block(Block),
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Block` is never constructed
[INFO] [stdout]    --> src/emitter/ast.rs:185:5
[INFO] [stdout]     |
[INFO] [stdout] 183 | pub enum RhsExpression {
[INFO] [stdout]     |          ------------- variant in this enum
[INFO] [stdout] 184 |     Expression(Expression),
[INFO] [stdout] 185 |     Block(Block),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RhsExpression` 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 `Binary` is never constructed
[INFO] [stdout]    --> src/emitter/ast.rs:203:5
[INFO] [stdout]     |
[INFO] [stdout] 201 | pub enum Expression {
[INFO] [stdout]     |          ---------- variant in this enum
[INFO] [stdout] 202 |     Unary(UnaryOperation),
[INFO] [stdout] 203 |     Binary(BinaryOperation),
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Expression` 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 `Minus` and `Not` are never constructed
[INFO] [stdout]    --> src/emitter/ast.rs:211:5
[INFO] [stdout]     |
[INFO] [stdout] 210 | pub enum UnaryOperation {
[INFO] [stdout]     |          -------------- variants in this enum
[INFO] [stdout] 211 |     Minus(Box<Expression>),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 212 |     Not(Box<Expression>),
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `UnaryOperation` 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 `Plus` and `Minus` are never constructed
[INFO] [stdout]    --> src/emitter/ast.rs:218:5
[INFO] [stdout]     |
[INFO] [stdout] 217 | pub enum BinaryOperation {
[INFO] [stdout]     |          --------------- variants in this enum
[INFO] [stdout] 218 |     Plus(Box<Expression>, Box<Expression>),
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 219 |     Minus(Box<Expression>, Box<Expression>),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BinaryOperation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `len` is never used
[INFO] [stdout]    --> src/emitter/ast.rs:241:12
[INFO] [stdout]     |
[INFO] [stdout] 240 | impl Literal {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] 241 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `align` is never used
[INFO] [stdout]    --> src/emitter/elf.rs:258:4
[INFO] [stdout]     |
[INFO] [stdout] 258 | 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:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | 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:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const DATA_SECTION_ADDRESS_START: DWord = VIRTUAL_ADDRESS_START + DATA_SECTION_OFFSET;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProgramHeader` is never constructed
[INFO] [stdout]   --> src/emitter/elf/sections.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub struct ProgramHeader {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_symtab_section_header` is never used
[INFO] [stdout]    --> src/emitter/elf/sections.rs:186:8
[INFO] [stdout]     |
[INFO] [stdout] 186 | 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:201:8
[INFO] [stdout]     |
[INFO] [stdout] 201 | 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:216:8
[INFO] [stdout]     |
[INFO] [stdout] 216 | 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:27:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub enum DataSymbol {
[INFO] [stdout]    |          ---------- variant in this enum
[INFO] [stdout] 26 |     Comptime,
[INFO] [stdout] 27 |     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:32:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub enum Section {
[INFO] [stdout]    |          ------- variants in this enum
[INFO] [stdout] 32 |     Undefined,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     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:41:5
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub enum SymbolScope {
[INFO] [stdout]    |          ----------- variant in this enum
[INFO] [stdout] 40 |     Local,
[INFO] [stdout] 41 |     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: enum `Arg` is never used
[INFO] [stdout]  --> src/emitter/text/abi/windows.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub enum Arg {
[INFO] [stdout]   |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ARG_REGISTERS` is never used
[INFO] [stdout]   --> src/emitter/text/abi/windows.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 | 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:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn push_args(code_context: &mut CodeContext, stack: &mut StackManager, args: &[Variable]) {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pop_args` is never used
[INFO] [stdout]   --> src/emitter/text/abi/windows.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub fn pop_args(code_context: &mut CodeContext, stack: &mut StackManager, 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:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | 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:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | 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:18:7
[INFO] [stdout]    |
[INFO] [stdout] 18 | 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:271:12
[INFO] [stdout]     |
[INFO] [stdout] 253 | impl Mnemonic {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 271 |     pub fn get_name(&self) -> MnemonicName {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 275 |     pub fn set_op1(&mut self, op: impl Into<Operand>) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 279 |     pub fn set_op2(&mut self, op: impl Into<Operand>) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Jge`, `Je`, and `Jz` are never constructed
[INFO] [stdout]    --> src/emitter/text/mnemonics.rs:563:5
[INFO] [stdout]     |
[INFO] [stdout] 542 | pub enum MnemonicName {
[INFO] [stdout]     |          ------------ variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 563 |     Jge,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 564 |     Je,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 565 |     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:76:9
[INFO] [stdout]    |
[INFO] [stdout] 76 |         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:55:35
[INFO] [stdout]    |
[INFO] [stdout] 55 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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:77:9
[INFO] [stdout]    |
[INFO] [stdout] 77 |         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:55:35
[INFO] [stdout]    |
[INFO] [stdout] 55 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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 `RBX` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:56:35
[INFO] [stdout]    |
[INFO] [stdout] 56 |                           pub const [<R $name>]: Register = Register::new($attr, RegisterSize::Q, false);
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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:78:9
[INFO] [stdout]    |
[INFO] [stdout] 78 |         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:55:35
[INFO] [stdout]    |
[INFO] [stdout] 55 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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:79:9
[INFO] [stdout]    |
[INFO] [stdout] 79 |         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:55:35
[INFO] [stdout]    |
[INFO] [stdout] 55 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |         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:55:35
[INFO] [stdout]    |
[INFO] [stdout] 55 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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:81:9
[INFO] [stdout]    |
[INFO] [stdout] 81 |         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:55:35
[INFO] [stdout]    |
[INFO] [stdout] 55 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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:63:35
[INFO] [stdout]    |
[INFO] [stdout] 63 |                           pub const [<$name W>]: Register = Register::new($attr, RegisterSize::W, true);
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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:62:35
[INFO] [stdout]    |
[INFO] [stdout] 62 |                           pub const [<$name D>]: Register = Register::new($attr, RegisterSize::D, true );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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:63:35
[INFO] [stdout]    |
[INFO] [stdout] 63 |                           pub const [<$name W>]: Register = Register::new($attr, RegisterSize::W, true);
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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 `R10D` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:62:35
[INFO] [stdout]    |
[INFO] [stdout] 62 |                           pub const [<$name D>]: Register = Register::new($attr, RegisterSize::D, true );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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:63:35
[INFO] [stdout]    |
[INFO] [stdout] 63 |                           pub const [<$name W>]: Register = Register::new($attr, RegisterSize::W, true);
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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 `R11D` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:62:35
[INFO] [stdout]    |
[INFO] [stdout] 62 |                           pub const [<$name D>]: Register = Register::new($attr, RegisterSize::D, true );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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 `R11W` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:63:35
[INFO] [stdout]    |
[INFO] [stdout] 63 |                           pub const [<$name W>]: Register = Register::new($attr, RegisterSize::W, true);
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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`, `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 |     labels: BTreeMap<String, usize>,
[INFO] [stdout] 26 |     symbols: BTreeMap<String, Symbol>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 27 |     relocations: Vec<Relocation>,
[INFO] [stdout] 28 |     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:72:12
[INFO] [stdout]     |
[INFO] [stdout]  31 | impl CodeContext {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  72 |     pub fn get_pc(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  76 |     pub fn get(&self, i: usize) -> Mnemonic {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  80 |     pub fn get_mut(&mut self, i: usize) -> &mut Mnemonic {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  84 |     pub fn get_offset(&self, i: usize) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  92 |     pub fn get_code_size_with_calls(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn get_calls(&self) -> BTreeMap<String, Call> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     pub fn get_label_offset(&self, label: &str) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     pub fn compute_calls(
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     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 `StdHandle` is never used
[INFO] [stdout]  --> src/emitter/text/stdlib/windows.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub enum StdHandle {
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print` is never used
[INFO] [stdout]   --> src/emitter/text/stdlib/windows.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn print(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:50:8
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub fn exit(code_context: &mut CodeContext, exit_code: u64) {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DataRef` is never constructed
[INFO] [stdout]   --> src/emitter/variables.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct DataRef {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/emitter/variables.rs:68:17
[INFO] [stdout]    |
[INFO] [stdout] 68 |     DataSection(u64),
[INFO] [stdout]    |     ----------- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ValueLocation` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 68 -     DataSection(u64),
[INFO] [stdout] 68 +     DataSection(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_vec` is never used
[INFO] [stdout]    --> src/emitter/variables.rs:104:12
[INFO] [stdout]     |
[INFO] [stdout]  80 | impl Variable {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn as_vec(&self) -> Vec<u8> {
[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:674:8
[INFO] [stdout]     |
[INFO] [stdout] 674 |     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)]` (part of `#[warn(nonstandard_style)]`) 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:674:8
[INFO] [stdout]     |
[INFO] [stdout] 674 |     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:674:8
[INFO] [stdout]     |
[INFO] [stdout] 674 |     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:687:8
[INFO] [stdout]     |
[INFO] [stdout] 687 |     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:687:8
[INFO] [stdout]     |
[INFO] [stdout] 687 |     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:703:8
[INFO] [stdout]     |
[INFO] [stdout] 703 |     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:703:8
[INFO] [stdout]     |
[INFO] [stdout] 703 |     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:717:8
[INFO] [stdout]     |
[INFO] [stdout] 717 |     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:725:8
[INFO] [stdout]     |
[INFO] [stdout] 725 |     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:725:8
[INFO] [stdout]     |
[INFO] [stdout] 725 |     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:734:8
[INFO] [stdout]     |
[INFO] [stdout] 734 |     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:734:8
[INFO] [stdout]     |
[INFO] [stdout] 734 |     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:747:8
[INFO] [stdout]     |
[INFO] [stdout] 747 |     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:747:8
[INFO] [stdout]     |
[INFO] [stdout] 747 |     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_RcxRax` should have a snake case name
[INFO] [stdout]    --> src/emitter/text/mnemonics.rs:758:8
[INFO] [stdout]     |
[INFO] [stdout] 758 |     fn test_xor(
[INFO] [stdout]     |        ^^^^^^^^ help: convert the identifier to snake case: `case_1_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:771:8
[INFO] [stdout]     |
[INFO] [stdout] 771 |     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:771:8
[INFO] [stdout]     |
[INFO] [stdout] 771 |     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_3_Rcx` should have a snake case name
[INFO] [stdout]    --> src/emitter/text/mnemonics.rs:771:8
[INFO] [stdout]     |
[INFO] [stdout] 771 |     fn test_div(#[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:778:8
[INFO] [stdout]     |
[INFO] [stdout] 778 |     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:785:8
[INFO] [stdout]     |
[INFO] [stdout] 785 |     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:796:8
[INFO] [stdout]     |
[INFO] [stdout] 796 |     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:803:8
[INFO] [stdout]     |
[INFO] [stdout] 803 |     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:825:8
[INFO] [stdout]     |
[INFO] [stdout] 825 |     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:833:8
[INFO] [stdout]     |
[INFO] [stdout] 833 |     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:833:8
[INFO] [stdout]     |
[INFO] [stdout] 833 |     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.53s
[INFO] running `Command { std: "docker" "inspect" "0f9d8d9626c08f2da91d65ad7750db7b606328afc75e84ed0470d2594b382aaa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0f9d8d9626c08f2da91d65ad7750db7b606328afc75e84ed0470d2594b382aaa", kill_on_drop: false }`
[INFO] [stdout] 0f9d8d9626c08f2da91d65ad7750db7b606328afc75e84ed0470d2594b382aaa
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] cd65c83e4d980a0c693c66e6c8b76fbb2656c8c97a9a594a6f449623637220fa
[INFO] running `Command { std: "docker" "start" "-a" "cd65c83e4d980a0c693c66e6c8b76fbb2656c8c97a9a594a6f449623637220fa", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `BTreeMap`
[INFO] [stderr]  --> src/emitter/elf.rs:5:19
[INFO] [stderr]   |
[INFO] [stderr] 5 |     collections::{BTreeMap, HashMap},
[INFO] [stderr]   |                   ^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::emitter::text::mnemonics::Operand::Offset32`
[INFO] [stderr]    --> src/emitter/text/code_context.rs:180:9
[INFO] [stderr]     |
[INFO] [stderr] 180 |     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:181:32
[INFO] [stderr]     |
[INFO] [stderr] 181 |     use crate::emitter::text::{mnemonics::*, CodeContext};
[INFO] [stderr]     |                                ^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::emitter::stack::StackManager`
[INFO] [stderr]  --> src/emitter/text/stdlib/windows.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use crate::emitter::stack::StackManager;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::mem`
[INFO] [stderr]  --> src/emitter/text/stdlib.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::mem;
[INFO] [stderr]   |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable expression
[INFO] [stderr]    --> src/parser.rs:227:9
[INFO] [stderr]     |
[INFO] [stderr] 227 |         return todo!(); //Ok((Some(ast::RhsExpression::Block(Block::new(id, stmts))), tokens));
[INFO] [stderr]     |         ^^^^^^^-------
[INFO] [stderr]     |         |      |
[INFO] [stderr]     |         |      any code following this expression is unreachable
[INFO] [stderr]     |         unreachable expression
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `sections_size`
[INFO] [stderr]    --> src/emitter/elf/sections.rs:132:9
[INFO] [stderr]     |
[INFO] [stderr] 132 |     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]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `stmts`
[INFO] [stderr]   --> src/emitter/text.rs:98:35
[INFO] [stderr]    |
[INFO] [stderr] 98 |             ast::Statement::Block(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:108:13
[INFO] [stderr]     |
[INFO] [stderr] 108 |             return_type,
[INFO] [stderr]     |             ^^^^^^^^^^^ help: try ignoring the field: `return_type: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `block`
[INFO] [stderr]    --> src/emitter/text.rs:155:39
[INFO] [stderr]     |
[INFO] [stderr] 155 |             ast::RhsExpression::Block(block) => todo!(),
[INFO] [stderr]     |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_block`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `unary_operation`
[INFO] [stderr]    --> src/emitter/text.rs:199:36
[INFO] [stderr]     |
[INFO] [stderr] 199 |             ast::Expression::Unary(unary_operation) => todo!(),
[INFO] [stderr]     |                                    ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_unary_operation`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `binary_operation`
[INFO] [stderr]    --> src/emitter/text.rs:200:37
[INFO] [stderr]     |
[INFO] [stderr] 200 |             ast::Expression::Binary(binary_operation) => todo!(),
[INFO] [stderr]     |                                     ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_binary_operation`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `n`
[INFO] [stderr]    --> src/emitter/text.rs:244:28
[INFO] [stderr]     |
[INFO] [stderr] 244 |                 Value::Int(n) => {
[INFO] [stderr]     |                            ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `scope`
[INFO] [stderr]    --> src/emitter/text.rs:302:45
[INFO] [stderr]     |
[INFO] [stderr] 302 |     fn visit_loop(&mut self, l: &ast::Loop, scope: &str) {
[INFO] [stderr]     |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_scope`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `block`
[INFO] [stderr]    --> src/emitter/variables.rs:154:39
[INFO] [stderr]     |
[INFO] [stderr] 154 |             ast::RhsExpression::Block(block) => todo!(),
[INFO] [stderr]     |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_block`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `expr`
[INFO] [stderr]   --> src/parser/ast_printer.rs:93:35
[INFO] [stderr]    |
[INFO] [stderr] 93 |             UnaryOperation::Minus(expr) => todo!(),
[INFO] [stderr]    |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_expr`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `expr`
[INFO] [stderr]   --> src/parser/ast_printer.rs:94:33
[INFO] [stderr]    |
[INFO] [stderr] 94 |             UnaryOperation::Not(expr) => todo!(),
[INFO] [stderr]    |                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_expr`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `binary_operation`
[INFO] [stderr]   --> src/parser/ast_printer.rs:97:28
[INFO] [stderr]    |
[INFO] [stderr] 97 |         Expression::Binary(binary_operation) => todo!(),
[INFO] [stderr]    |                            ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_binary_operation`
[INFO] [stderr] 
[INFO] [stderr] warning: irrefutable `if let` pattern
[INFO] [stderr]    --> src/parser.rs:226:8
[INFO] [stderr]     |
[INFO] [stderr] 226 |     if let (block, tokens) = block(tokens, scope)? {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stderr]     = help: consider replacing the `if let` with a `let`
[INFO] [stderr]     = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `block`
[INFO] [stderr]    --> src/parser.rs:226:13
[INFO] [stderr]     |
[INFO] [stderr] 226 |     if let (block, tokens) = block(tokens, scope)? {
[INFO] [stderr]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_block`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `tokens`
[INFO] [stderr]    --> src/parser.rs:226:20
[INFO] [stderr]     |
[INFO] [stderr] 226 |     if let (block, tokens) = block(tokens, scope)? {
[INFO] [stderr]     |                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `scope`
[INFO] [stderr]    --> src/parser.rs:250:5
[INFO] [stderr]     |
[INFO] [stderr] 250 |     scope: &str,
[INFO] [stderr]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_scope`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `scope`
[INFO] [stderr]    --> src/parser.rs:310:37
[INFO] [stderr]     |
[INFO] [stderr] 310 | fn literal<'a>(tokens: &'a [Token], scope: &str) -> (Option<ast::Literal>, &'a [Token]) {
[INFO] [stderr]     |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_scope`
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Program` is never constructed
[INFO] [stderr]  --> src/emitter/ast.rs:4:12
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub struct Program {
[INFO] [stderr]   |            ^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: enum `Item` is never used
[INFO] [stderr]  --> src/emitter/ast.rs:9:10
[INFO] [stderr]   |
[INFO] [stderr] 9 | pub enum Item {
[INFO] [stderr]   |          ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Float` and `Bool` are never constructed
[INFO] [stderr]   --> src/emitter/ast.rs:52:5
[INFO] [stderr]    |
[INFO] [stderr] 49 | pub enum TypeName {
[INFO] [stderr]    |          -------- variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 52 |     Float,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 53 |     Bool,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `TypeName` 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/ast.rs:123:12
[INFO] [stderr]     |
[INFO] [stderr] 123 |     Return(Option<Expression>),
[INFO] [stderr]     |     ------ ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |     |
[INFO] [stderr]     |     field in this variant
[INFO] [stderr]     |
[INFO] [stderr]     = note: `ControlFlow` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]     |
[INFO] [stderr] 123 -     Return(Option<Expression>),
[INFO] [stderr] 123 +     Return(()),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Block` is never constructed
[INFO] [stderr]    --> src/emitter/ast.rs:134:5
[INFO] [stderr]     |
[INFO] [stderr] 127 | pub enum Statement {
[INFO] [stderr]     |          --------- variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 134 |     Block(Block),
[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] 
[INFO] [stderr] warning: variant `Block` is never constructed
[INFO] [stderr]    --> src/emitter/ast.rs:185:5
[INFO] [stderr]     |
[INFO] [stderr] 183 | pub enum RhsExpression {
[INFO] [stderr]     |          ------------- variant in this enum
[INFO] [stderr] 184 |     Expression(Expression),
[INFO] [stderr] 185 |     Block(Block),
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `RhsExpression` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Binary` is never constructed
[INFO] [stderr]    --> src/emitter/ast.rs:203:5
[INFO] [stderr]     |
[INFO] [stderr] 201 | pub enum Expression {
[INFO] [stderr]     |          ---------- variant in this enum
[INFO] [stderr] 202 |     Unary(UnaryOperation),
[INFO] [stderr] 203 |     Binary(BinaryOperation),
[INFO] [stderr]     |     ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Expression` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Minus` and `Not` are never constructed
[INFO] [stderr]    --> src/emitter/ast.rs:211:5
[INFO] [stderr]     |
[INFO] [stderr] 210 | pub enum UnaryOperation {
[INFO] [stderr]     |          -------------- variants in this enum
[INFO] [stderr] 211 |     Minus(Box<Expression>),
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr] 212 |     Not(Box<Expression>),
[INFO] [stderr]     |     ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `UnaryOperation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Plus` and `Minus` are never constructed
[INFO] [stderr]    --> src/emitter/ast.rs:218:5
[INFO] [stderr]     |
[INFO] [stderr] 217 | pub enum BinaryOperation {
[INFO] [stderr]     |          --------------- variants in this enum
[INFO] [stderr] 218 |     Plus(Box<Expression>, Box<Expression>),
[INFO] [stderr]     |     ^^^^
[INFO] [stderr] 219 |     Minus(Box<Expression>, Box<Expression>),
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `BinaryOperation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: method `len` is never used
[INFO] [stderr]    --> src/emitter/ast.rs:241:12
[INFO] [stderr]     |
[INFO] [stderr] 240 | impl Literal {
[INFO] [stderr]     | ------------ method in this implementation
[INFO] [stderr] 241 |     pub fn len(&self) -> usize {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `align` is never used
[INFO] [stderr]    --> src/emitter/elf.rs:258:4
[INFO] [stderr]     |
[INFO] [stderr] 258 | fn align(mut v: Vec<u8>, alignment: usize) -> Vec<u8> {
[INFO] [stderr]     |    ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_CLASS_NONE` is never used
[INFO] [stderr]  --> src/emitter/elf/defs.rs:3:11
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub const ELF_CLASS_NONE: u8 = 0x0;
[INFO] [stderr]   |           ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_CLASS_32_BIT` is never used
[INFO] [stderr]  --> src/emitter/elf/defs.rs:4:11
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub const ELF_CLASS_32_BIT: u8 = 0x1;
[INFO] [stderr]   |           ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_DATA_NONE` is never used
[INFO] [stderr]  --> src/emitter/elf/defs.rs:7:11
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub const ELF_DATA_NONE: u8 = 0x0;
[INFO] [stderr]   |           ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_DATA_BIG_ENDIAN` is never used
[INFO] [stderr]  --> src/emitter/elf/defs.rs:9:11
[INFO] [stderr]   |
[INFO] [stderr] 9 | pub const ELF_DATA_BIG_ENDIAN: u8 = 0x2;
[INFO] [stderr]   |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_VERSION_NONE` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:11:11
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub const ELF_VERSION_NONE: u8 = 0;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_VERSION_NUM` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:13:11
[INFO] [stderr]    |
[INFO] [stderr] 13 | pub const ELF_VERSION_NUM: u8 = 2;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_OSABI_LINUX` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:16:11
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub const ELF_OSABI_LINUX: u8 = 3;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_TYPE_NONE` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:20:11
[INFO] [stderr]    |
[INFO] [stderr] 20 | pub const ELF_TYPE_NONE: u16 = 0;
[INFO] [stderr]    |           ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_TYPE_EXEC` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:22:11
[INFO] [stderr]    |
[INFO] [stderr] 22 | pub const ELF_TYPE_EXEC: u16 = 2;
[INFO] [stderr]    |           ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_TYPE_DYN` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:23:11
[INFO] [stderr]    |
[INFO] [stderr] 23 | pub const ELF_TYPE_DYN: u16 = 3;
[INFO] [stderr]    |           ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_TYPE_CORE` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:24:11
[INFO] [stderr]    |
[INFO] [stderr] 24 | pub const ELF_TYPE_CORE: u16 = 4;
[INFO] [stderr]    |           ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_TYPE_LOPROC` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:25:11
[INFO] [stderr]    |
[INFO] [stderr] 25 | pub const ELF_TYPE_LOPROC: u16 = 0xff00;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_TYPE_HIPROC` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:26:11
[INFO] [stderr]    |
[INFO] [stderr] 26 | pub const ELF_TYPE_HIPROC: u16 = 0xffff;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_MACHINE_NONE` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:28:11
[INFO] [stderr]    |
[INFO] [stderr] 28 | pub const ELF_MACHINE_NONE: u16 = 0;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_MACHINE_M32` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:29:11
[INFO] [stderr]    |
[INFO] [stderr] 29 | pub const ELF_MACHINE_M32: u16 = 1;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_MACHINE_SPARC` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:30:11
[INFO] [stderr]    |
[INFO] [stderr] 30 | pub const ELF_MACHINE_SPARC: u16 = 2;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_MACHINE_386` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:31:11
[INFO] [stderr]    |
[INFO] [stderr] 31 | pub const ELF_MACHINE_386: u16 = 3;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_MACHINE_68K` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:32:11
[INFO] [stderr]    |
[INFO] [stderr] 32 | pub const ELF_MACHINE_68K: u16 = 4;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_MACHINE_88K` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:33:11
[INFO] [stderr]    |
[INFO] [stderr] 33 | pub const ELF_MACHINE_88K: u16 = 5;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_MACHINE_486` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:34:11
[INFO] [stderr]    |
[INFO] [stderr] 34 | pub const ELF_MACHINE_486: u16 = 6; /* Not used in Linux at least */
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_MACHINE_860` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:35:11
[INFO] [stderr]    |
[INFO] [stderr] 35 | pub const ELF_MACHINE_860: u16 = 7;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_MACHINE_MIPS` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:36:11
[INFO] [stderr]    |
[INFO] [stderr] 36 | pub const ELF_MACHINE_MIPS: u16 = 8; /* R3k, bigendian(?) */
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_MACHINE_MIPS_RS4_BE` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:37:11
[INFO] [stderr]    |
[INFO] [stderr] 37 | pub const ELF_MACHINE_MIPS_RS4_BE: u16 = 10; /* R4k BE */
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_MACHINE_PARISC` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:38:11
[INFO] [stderr]    |
[INFO] [stderr] 38 | pub const ELF_MACHINE_PARISC: u16 = 15;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_MACHINE_SPARC32PLUS` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:39:11
[INFO] [stderr]    |
[INFO] [stderr] 39 | pub const ELF_MACHINE_SPARC32PLUS: u16 = 18;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_MACHINE_PPC` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:40:11
[INFO] [stderr]    |
[INFO] [stderr] 40 | pub const ELF_MACHINE_PPC: u16 = 20;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_MACHINE_PPC64` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:41:11
[INFO] [stderr]    |
[INFO] [stderr] 41 | pub const ELF_MACHINE_PPC64: u16 = 21;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_MACHINE_S390` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:42:11
[INFO] [stderr]    |
[INFO] [stderr] 42 | pub const ELF_MACHINE_S390: u16 = 22;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_MACHINE_SH` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:43:11
[INFO] [stderr]    |
[INFO] [stderr] 43 | pub const ELF_MACHINE_SH: u16 = 42;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_MACHINE_SPARCV9` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:44:11
[INFO] [stderr]    |
[INFO] [stderr] 44 | pub const ELF_MACHINE_SPARCV9: u16 = 43; /* v9 = SPARC64 */
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_MACHINE_H8_300H` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:45:11
[INFO] [stderr]    |
[INFO] [stderr] 45 | pub const ELF_MACHINE_H8_300H: u16 = 47;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_MACHINE_H8S` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:46:11
[INFO] [stderr]    |
[INFO] [stderr] 46 | pub const ELF_MACHINE_H8S: u16 = 48;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_MACHINE_IA_64` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:47:11
[INFO] [stderr]    |
[INFO] [stderr] 47 | pub const ELF_MACHINE_IA_64: u16 = 50;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_MACHINE_CRIS` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:49:11
[INFO] [stderr]    |
[INFO] [stderr] 49 | pub const ELF_MACHINE_CRIS: u16 = 76;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_MACHINE_V850` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:50:11
[INFO] [stderr]    |
[INFO] [stderr] 50 | pub const ELF_MACHINE_V850: u16 = 87;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_MACHINE_ALPHA` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:51:11
[INFO] [stderr]    |
[INFO] [stderr] 51 | pub const ELF_MACHINE_ALPHA: u16 = 0x9026; /* Interim Alpha that stuck around */
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_MACHINE_CYGNUS_V850` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:52:11
[INFO] [stderr]    |
[INFO] [stderr] 52 | pub const ELF_MACHINE_CYGNUS_V850: u16 = 0x9080; /* Old v850 ID used by Cygnus */
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ELF_MACHINE_S390_OLD` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:53:11
[INFO] [stderr]    |
[INFO] [stderr] 53 | pub const ELF_MACHINE_S390_OLD: u16 = 0xA390; /* Obsolete interim value for S/390 */
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `PROGRAM_TYPE_NULL` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:55:11
[INFO] [stderr]    |
[INFO] [stderr] 55 | pub const PROGRAM_TYPE_NULL: u32 = 0;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `PROGRAM_TYPE_LOAD` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:56:11
[INFO] [stderr]    |
[INFO] [stderr] 56 | pub const PROGRAM_TYPE_LOAD: u32 = 1;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `PROGRAM_TYPE_DYNAMIC` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:57:11
[INFO] [stderr]    |
[INFO] [stderr] 57 | pub const PROGRAM_TYPE_DYNAMIC: u32 = 2;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `PROGRAM_TYPE_INTERP` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:58:11
[INFO] [stderr]    |
[INFO] [stderr] 58 | pub const PROGRAM_TYPE_INTERP: u32 = 3;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `PROGRAM_TYPE_NOTE` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:59:11
[INFO] [stderr]    |
[INFO] [stderr] 59 | pub const PROGRAM_TYPE_NOTE: u32 = 4;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `PROGRAM_TYPE_SHLIB` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:60:11
[INFO] [stderr]    |
[INFO] [stderr] 60 | pub const PROGRAM_TYPE_SHLIB: u32 = 5;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `PROGRAM_TYPE_PHDR` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:61:11
[INFO] [stderr]    |
[INFO] [stderr] 61 | pub const PROGRAM_TYPE_PHDR: u32 = 6;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `PROGRAM_TYPE_LOOS` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:62:11
[INFO] [stderr]    |
[INFO] [stderr] 62 | pub const PROGRAM_TYPE_LOOS: u32 = 0x60000000;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `PROGRAM_TYPE_HIOS` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:63:11
[INFO] [stderr]    |
[INFO] [stderr] 63 | pub const PROGRAM_TYPE_HIOS: u32 = 0x6fffffff;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `PROGRAM_TYPE_LOPROC` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:64:11
[INFO] [stderr]    |
[INFO] [stderr] 64 | pub const PROGRAM_TYPE_LOPROC: u32 = 0x70000000;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `PROGRAM_TYPE_HIPROC` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:65:11
[INFO] [stderr]    |
[INFO] [stderr] 65 | pub const PROGRAM_TYPE_HIPROC: u32 = 0x7fffffff;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `PROGRAM_TYPE_GNU_EH_FRAME` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:66:11
[INFO] [stderr]    |
[INFO] [stderr] 66 | pub const PROGRAM_TYPE_GNU_EH_FRAME: u32 = 0x6474e550; /* Extension, eh? */
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `PROGRAM_HEADER_EXEC` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:68:11
[INFO] [stderr]    |
[INFO] [stderr] 68 | pub const PROGRAM_HEADER_EXEC: u32 = 0x1;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `PROGRAM_HEADER_WRITE` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:69:11
[INFO] [stderr]    |
[INFO] [stderr] 69 | pub const PROGRAM_HEADER_WRITE: u32 = 0x2;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `PROGRAM_HEADER_READ` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:70:11
[INFO] [stderr]    |
[INFO] [stderr] 70 | pub const PROGRAM_HEADER_READ: u32 = 0x4;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SEGMENT_TYPE_NULL` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:72:11
[INFO] [stderr]    |
[INFO] [stderr] 72 | pub const SEGMENT_TYPE_NULL: u32 = 0;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SEGMENT_TYPE_HASH` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:77:11
[INFO] [stderr]    |
[INFO] [stderr] 77 | pub const SEGMENT_TYPE_HASH: u32 = 5;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SEGMENT_TYPE_DYNAMIC` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:78:11
[INFO] [stderr]    |
[INFO] [stderr] 78 | pub const SEGMENT_TYPE_DYNAMIC: u32 = 6;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SEGMENT_TYPE_NOTE` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:79:11
[INFO] [stderr]    |
[INFO] [stderr] 79 | pub const SEGMENT_TYPE_NOTE: u32 = 7;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SEGMENT_TYPE_NOBITS` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:80:11
[INFO] [stderr]    |
[INFO] [stderr] 80 | pub const SEGMENT_TYPE_NOBITS: u32 = 8;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SEGMENT_TYPE_REL` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:81:11
[INFO] [stderr]    |
[INFO] [stderr] 81 | pub const SEGMENT_TYPE_REL: u32 = 9;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SEGMENT_TYPE_SHLIB` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:82:11
[INFO] [stderr]    |
[INFO] [stderr] 82 | pub const SEGMENT_TYPE_SHLIB: u32 = 10;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SEGMENT_TYPE_DYNSYM` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:83:11
[INFO] [stderr]    |
[INFO] [stderr] 83 | pub const SEGMENT_TYPE_DYNSYM: u32 = 11;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SEGMENT_TYPE_INIT_ARRAY` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:84:11
[INFO] [stderr]    |
[INFO] [stderr] 84 | pub const SEGMENT_TYPE_INIT_ARRAY: u32 = 14;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SEGMENT_TYPE_FINI_ARRAY` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:85:11
[INFO] [stderr]    |
[INFO] [stderr] 85 | pub const SEGMENT_TYPE_FINI_ARRAY: u32 = 15;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SEGMENT_TYPE_PREINIT_ARRAY` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:86:11
[INFO] [stderr]    |
[INFO] [stderr] 86 | pub const SEGMENT_TYPE_PREINIT_ARRAY: u32 = 16;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SEGMENT_TYPE_GROUP` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:87:11
[INFO] [stderr]    |
[INFO] [stderr] 87 | pub const SEGMENT_TYPE_GROUP: u32 = 17;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SEGMENT_TYPE_SYMTAB_SHNDX` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:88:11
[INFO] [stderr]    |
[INFO] [stderr] 88 | pub const SEGMENT_TYPE_SYMTAB_SHNDX: u32 = 18;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SEGMENT_TYPE_LOPROC` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:89:11
[INFO] [stderr]    |
[INFO] [stderr] 89 | pub const SEGMENT_TYPE_LOPROC: u32 = 0x70000000;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SEGMENT_TYPE_HIPROC` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:90:11
[INFO] [stderr]    |
[INFO] [stderr] 90 | pub const SEGMENT_TYPE_HIPROC: u32 = 0x7fffffff;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SEGMENT_TYPE_LOUSER` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:91:11
[INFO] [stderr]    |
[INFO] [stderr] 91 | pub const SEGMENT_TYPE_LOUSER: u32 = 0x80000000;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SEGMENT_TYPE_HIUSER` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:92:11
[INFO] [stderr]    |
[INFO] [stderr] 92 | pub const SEGMENT_TYPE_HIUSER: u32 = 0xffffffff;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SEGMENT_FLAGS_MERGE` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:98:11
[INFO] [stderr]    |
[INFO] [stderr] 98 | pub const SEGMENT_FLAGS_MERGE: u64 = 1 << 4; /* Might be merged */
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SEGMENT_FLAGS_STRINGS` is never used
[INFO] [stderr]   --> src/emitter/elf/defs.rs:99:11
[INFO] [stderr]    |
[INFO] [stderr] 99 | pub const SEGMENT_FLAGS_STRINGS: u64 = 1 << 5; /* Contains nul-terminated strings */
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SEGMENT_FLAGS_INFO_LINK` is never used
[INFO] [stderr]    --> src/emitter/elf/defs.rs:100:11
[INFO] [stderr]     |
[INFO] [stderr] 100 | pub const SEGMENT_FLAGS_INFO_LINK: u64 = 1 << 6; /* `sh_info' contains SHT index */
[INFO] [stderr]     |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SEGMENT_FLAGS_LINK_ORDER` is never used
[INFO] [stderr]    --> src/emitter/elf/defs.rs:101:11
[INFO] [stderr]     |
[INFO] [stderr] 101 | pub const SEGMENT_FLAGS_LINK_ORDER: u64 = 1 << 7; /* Preserve order after combining */
[INFO] [stderr]     |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SEGMENT_FLAGS_OS_NONCONFORMING` is never used
[INFO] [stderr]    --> src/emitter/elf/defs.rs:102:11
[INFO] [stderr]     |
[INFO] [stderr] 102 | pub const SEGMENT_FLAGS_OS_NONCONFORMING: u64 = 1 << 8; /* Non-standard OS specific handling required */
[INFO] [stderr]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SEGMENT_FLAGS_GROUP` is never used
[INFO] [stderr]    --> src/emitter/elf/defs.rs:103:11
[INFO] [stderr]     |
[INFO] [stderr] 103 | pub const SEGMENT_FLAGS_GROUP: u64 = 1 << 9; /* Section is member of a group */
[INFO] [stderr]     |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SEGMENT_FLAGS_TLS` is never used
[INFO] [stderr]    --> src/emitter/elf/defs.rs:104:11
[INFO] [stderr]     |
[INFO] [stderr] 104 | pub const SEGMENT_FLAGS_TLS: u64 = 1 << 10; /* Section hold thread-local data */
[INFO] [stderr]     |           ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `DATA_SECTION_OFFSET` is never used
[INFO] [stderr]   --> src/emitter/elf/sections.rs:10:7
[INFO] [stderr]    |
[INFO] [stderr] 10 | 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:12:11
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub const DATA_SECTION_ADDRESS_START: DWord = VIRTUAL_ADDRESS_START + DATA_SECTION_OFFSET;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ProgramHeader` is never constructed
[INFO] [stderr]   --> src/emitter/elf/sections.rs:63:12
[INFO] [stderr]    |
[INFO] [stderr] 63 | pub struct ProgramHeader {
[INFO] [stderr]    |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `build_symtab_section_header` is never used
[INFO] [stderr]    --> src/emitter/elf/sections.rs:186:8
[INFO] [stderr]     |
[INFO] [stderr] 186 | 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:201:8
[INFO] [stderr]     |
[INFO] [stderr] 201 | 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:216:8
[INFO] [stderr]     |
[INFO] [stderr] 216 | 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:27:5
[INFO] [stderr]    |
[INFO] [stderr] 25 | pub enum DataSymbol {
[INFO] [stderr]    |          ---------- variant in this enum
[INFO] [stderr] 26 |     Comptime,
[INFO] [stderr] 27 |     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:32:5
[INFO] [stderr]    |
[INFO] [stderr] 31 | pub enum Section {
[INFO] [stderr]    |          ------- variants in this enum
[INFO] [stderr] 32 |     Undefined,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 35 |     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:41:5
[INFO] [stderr]    |
[INFO] [stderr] 39 | pub enum SymbolScope {
[INFO] [stderr]    |          ----------- variant in this enum
[INFO] [stderr] 40 |     Local,
[INFO] [stderr] 41 |     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: enum `Arg` is never used
[INFO] [stderr]  --> src/emitter/text/abi/windows.rs:7:10
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub enum Arg {
[INFO] [stderr]   |          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ARG_REGISTERS` is never used
[INFO] [stderr]   --> src/emitter/text/abi/windows.rs:21:11
[INFO] [stderr]    |
[INFO] [stderr] 21 | 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:24:8
[INFO] [stderr]    |
[INFO] [stderr] 24 | pub fn push_args(code_context: &mut CodeContext, stack: &mut StackManager, args: &[Variable]) {
[INFO] [stderr]    |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `pop_args` is never used
[INFO] [stderr]   --> src/emitter/text/abi/windows.rs:57:8
[INFO] [stderr]    |
[INFO] [stderr] 57 | pub fn pop_args(code_context: &mut CodeContext, stack: &mut StackManager, args_count: usize) {
[INFO] [stderr]    |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `REGISTER_EXT_INDEX` is never used
[INFO] [stderr]  --> src/emitter/text/mnemonics.rs:8:7
[INFO] [stderr]   |
[INFO] [stderr] 8 | 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:13:7
[INFO] [stderr]    |
[INFO] [stderr] 13 | 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:18:7
[INFO] [stderr]    |
[INFO] [stderr] 18 | const MOD_ADDRESS: u8 = 0b00;
[INFO] [stderr]    |       ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Offset8` is never constructed
[INFO] [stderr]    --> src/emitter/text/mnemonics.rs:119:5
[INFO] [stderr]     |
[INFO] [stderr] 112 | pub enum Operand {
[INFO] [stderr]     |          ------- variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 119 |     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:271:12
[INFO] [stderr]     |
[INFO] [stderr] 253 | impl Mnemonic {
[INFO] [stderr]     | ------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 271 |     pub fn get_name(&self) -> MnemonicName {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 275 |     pub fn set_op1(&mut self, op: impl Into<Operand>) {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 279 |     pub fn set_op2(&mut self, op: impl Into<Operand>) {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Jmp`, `Jle`, `Jge`, `Je`, and `Jz` are never constructed
[INFO] [stderr]    --> src/emitter/text/mnemonics.rs:559:5
[INFO] [stderr]     |
[INFO] [stderr] 542 | pub enum MnemonicName {
[INFO] [stderr]     |          ------------ variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 559 |     Jmp,
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 560 |     Jl,
[INFO] [stderr] 561 |     Jle,
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 562 |     Jg,
[INFO] [stderr] 563 |     Jge,
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 564 |     Je,
[INFO] [stderr]     |     ^^
[INFO] [stderr] 565 |     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:74:9
[INFO] [stderr]    |
[INFO] [stderr] 74 |         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:55:35
[INFO] [stderr]    |
[INFO] [stderr] 55 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stderr]    |                                     ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 73 | /     registers!(
[INFO] [stderr] 74 | |         AX = (0x0),
[INFO] [stderr] 75 | |         CX = (0x1),
[INFO] [stderr] 76 | |         DX = (0x2),
[INFO] [stderr] ...  |
[INFO] [stderr] 85 | |         R11 = (0x3, ext)
[INFO] [stderr] 86 | |     );
[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:75:9
[INFO] [stderr]    |
[INFO] [stderr] 75 |         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:55:35
[INFO] [stderr]    |
[INFO] [stderr] 55 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stderr]    |                                     ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 73 | /     registers!(
[INFO] [stderr] 74 | |         AX = (0x0),
[INFO] [stderr] 75 | |         CX = (0x1),
[INFO] [stderr] 76 | |         DX = (0x2),
[INFO] [stderr] ...  |
[INFO] [stderr] 85 | |         R11 = (0x3, ext)
[INFO] [stderr] 86 | |     );
[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:76:9
[INFO] [stderr]    |
[INFO] [stderr] 76 |         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:55:35
[INFO] [stderr]    |
[INFO] [stderr] 55 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stderr]    |                                     ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 73 | /     registers!(
[INFO] [stderr] 74 | |         AX = (0x0),
[INFO] [stderr] 75 | |         CX = (0x1),
[INFO] [stderr] 76 | |         DX = (0x2),
[INFO] [stderr] ...  |
[INFO] [stderr] 85 | |         R11 = (0x3, ext)
[INFO] [stderr] 86 | |     );
[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:77:9
[INFO] [stderr]    |
[INFO] [stderr] 77 |         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:55:35
[INFO] [stderr]    |
[INFO] [stderr] 55 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stderr]    |                                     ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 73 | /     registers!(
[INFO] [stderr] 74 | |         AX = (0x0),
[INFO] [stderr] 75 | |         CX = (0x1),
[INFO] [stderr] 76 | |         DX = (0x2),
[INFO] [stderr] ...  |
[INFO] [stderr] 85 | |         R11 = (0x3, ext)
[INFO] [stderr] 86 | |     );
[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 `RBX` is never used
[INFO] [stderr]   --> src/emitter/text/mnemonics.rs:56:35
[INFO] [stderr]    |
[INFO] [stderr] 56 |                           pub const [<R $name>]: Register = Register::new($attr, RegisterSize::Q, false);
[INFO] [stderr]    |                                     ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 73 | /     registers!(
[INFO] [stderr] 74 | |         AX = (0x0),
[INFO] [stderr] 75 | |         CX = (0x1),
[INFO] [stderr] 76 | |         DX = (0x2),
[INFO] [stderr] ...  |
[INFO] [stderr] 85 | |         R11 = (0x3, ext)
[INFO] [stderr] 86 | |     );
[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:78:9
[INFO] [stderr]    |
[INFO] [stderr] 78 |         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:55:35
[INFO] [stderr]    |
[INFO] [stderr] 55 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stderr]    |                                     ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 73 | /     registers!(
[INFO] [stderr] 74 | |         AX = (0x0),
[INFO] [stderr] 75 | |         CX = (0x1),
[INFO] [stderr] 76 | |         DX = (0x2),
[INFO] [stderr] ...  |
[INFO] [stderr] 85 | |         R11 = (0x3, ext)
[INFO] [stderr] 86 | |     );
[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:79:9
[INFO] [stderr]    |
[INFO] [stderr] 79 |         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:55:35
[INFO] [stderr]    |
[INFO] [stderr] 55 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stderr]    |                                     ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 73 | /     registers!(
[INFO] [stderr] 74 | |         AX = (0x0),
[INFO] [stderr] 75 | |         CX = (0x1),
[INFO] [stderr] 76 | |         DX = (0x2),
[INFO] [stderr] ...  |
[INFO] [stderr] 85 | |         R11 = (0x3, ext)
[INFO] [stderr] 86 | |     );
[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:80:9
[INFO] [stderr]    |
[INFO] [stderr] 80 |         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:55:35
[INFO] [stderr]    |
[INFO] [stderr] 55 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stderr]    |                                     ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 73 | /     registers!(
[INFO] [stderr] 74 | |         AX = (0x0),
[INFO] [stderr] 75 | |         CX = (0x1),
[INFO] [stderr] 76 | |         DX = (0x2),
[INFO] [stderr] ...  |
[INFO] [stderr] 85 | |         R11 = (0x3, ext)
[INFO] [stderr] 86 | |     );
[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:81:9
[INFO] [stderr]    |
[INFO] [stderr] 81 |         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:55:35
[INFO] [stderr]    |
[INFO] [stderr] 55 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stderr]    |                                     ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 73 | /     registers!(
[INFO] [stderr] 74 | |         AX = (0x0),
[INFO] [stderr] 75 | |         CX = (0x1),
[INFO] [stderr] 76 | |         DX = (0x2),
[INFO] [stderr] ...  |
[INFO] [stderr] 85 | |         R11 = (0x3, ext)
[INFO] [stderr] 86 | |     );
[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:62:35
[INFO] [stderr]    |
[INFO] [stderr] 62 |                           pub const [<$name D>]: Register = Register::new($attr, RegisterSize::D, true );
[INFO] [stderr]    |                                     ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 73 | /     registers!(
[INFO] [stderr] 74 | |         AX = (0x0),
[INFO] [stderr] 75 | |         CX = (0x1),
[INFO] [stderr] 76 | |         DX = (0x2),
[INFO] [stderr] ...  |
[INFO] [stderr] 85 | |         R11 = (0x3, ext)
[INFO] [stderr] 86 | |     );
[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:63:35
[INFO] [stderr]    |
[INFO] [stderr] 63 |                           pub const [<$name W>]: Register = Register::new($attr, RegisterSize::W, true);
[INFO] [stderr]    |                                     ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 73 | /     registers!(
[INFO] [stderr] 74 | |         AX = (0x0),
[INFO] [stderr] 75 | |         CX = (0x1),
[INFO] [stderr] 76 | |         DX = (0x2),
[INFO] [stderr] ...  |
[INFO] [stderr] 85 | |         R11 = (0x3, ext)
[INFO] [stderr] 86 | |     );
[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:62:35
[INFO] [stderr]    |
[INFO] [stderr] 62 |                           pub const [<$name D>]: Register = Register::new($attr, RegisterSize::D, true );
[INFO] [stderr]    |                                     ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 73 | /     registers!(
[INFO] [stderr] 74 | |         AX = (0x0),
[INFO] [stderr] 75 | |         CX = (0x1),
[INFO] [stderr] 76 | |         DX = (0x2),
[INFO] [stderr] ...  |
[INFO] [stderr] 85 | |         R11 = (0x3, ext)
[INFO] [stderr] 86 | |     );
[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:63:35
[INFO] [stderr]    |
[INFO] [stderr] 63 |                           pub const [<$name W>]: Register = Register::new($attr, RegisterSize::W, true);
[INFO] [stderr]    |                                     ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 73 | /     registers!(
[INFO] [stderr] 74 | |         AX = (0x0),
[INFO] [stderr] 75 | |         CX = (0x1),
[INFO] [stderr] 76 | |         DX = (0x2),
[INFO] [stderr] ...  |
[INFO] [stderr] 85 | |         R11 = (0x3, ext)
[INFO] [stderr] 86 | |     );
[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 `R10D` is never used
[INFO] [stderr]   --> src/emitter/text/mnemonics.rs:62:35
[INFO] [stderr]    |
[INFO] [stderr] 62 |                           pub const [<$name D>]: Register = Register::new($attr, RegisterSize::D, true );
[INFO] [stderr]    |                                     ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 73 | /     registers!(
[INFO] [stderr] 74 | |         AX = (0x0),
[INFO] [stderr] 75 | |         CX = (0x1),
[INFO] [stderr] 76 | |         DX = (0x2),
[INFO] [stderr] ...  |
[INFO] [stderr] 85 | |         R11 = (0x3, ext)
[INFO] [stderr] 86 | |     );
[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:63:35
[INFO] [stderr]    |
[INFO] [stderr] 63 |                           pub const [<$name W>]: Register = Register::new($attr, RegisterSize::W, true);
[INFO] [stderr]    |                                     ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 73 | /     registers!(
[INFO] [stderr] 74 | |         AX = (0x0),
[INFO] [stderr] 75 | |         CX = (0x1),
[INFO] [stderr] 76 | |         DX = (0x2),
[INFO] [stderr] ...  |
[INFO] [stderr] 85 | |         R11 = (0x3, ext)
[INFO] [stderr] 86 | |     );
[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 `R11D` is never used
[INFO] [stderr]   --> src/emitter/text/mnemonics.rs:62:35
[INFO] [stderr]    |
[INFO] [stderr] 62 |                           pub const [<$name D>]: Register = Register::new($attr, RegisterSize::D, true );
[INFO] [stderr]    |                                     ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 73 | /     registers!(
[INFO] [stderr] 74 | |         AX = (0x0),
[INFO] [stderr] 75 | |         CX = (0x1),
[INFO] [stderr] 76 | |         DX = (0x2),
[INFO] [stderr] ...  |
[INFO] [stderr] 85 | |         R11 = (0x3, ext)
[INFO] [stderr] 86 | |     );
[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 `R11W` is never used
[INFO] [stderr]   --> src/emitter/text/mnemonics.rs:63:35
[INFO] [stderr]    |
[INFO] [stderr] 63 |                           pub const [<$name W>]: Register = Register::new($attr, RegisterSize::W, true);
[INFO] [stderr]    |                                     ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 73 | /     registers!(
[INFO] [stderr] 74 | |         AX = (0x0),
[INFO] [stderr] 75 | |         CX = (0x1),
[INFO] [stderr] 76 | |         DX = (0x2),
[INFO] [stderr] ...  |
[INFO] [stderr] 85 | |         R11 = (0x3, ext)
[INFO] [stderr] 86 | |     );
[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`, `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 |     labels: BTreeMap<String, usize>,
[INFO] [stderr] 26 |     symbols: BTreeMap<String, Symbol>,
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 27 |     relocations: Vec<Relocation>,
[INFO] [stderr] 28 |     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:72:12
[INFO] [stderr]     |
[INFO] [stderr]  31 | impl CodeContext {
[INFO] [stderr]     | ---------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  72 |     pub fn get_pc(&self) -> usize {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  76 |     pub fn get(&self, i: usize) -> Mnemonic {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr]  80 |     pub fn get_mut(&mut self, i: usize) -> &mut Mnemonic {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  84 |     pub fn get_offset(&self, i: usize) -> usize {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  92 |     pub fn get_code_size_with_calls(&self) -> usize {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 100 |     pub fn get_calls(&self) -> BTreeMap<String, Call> {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 108 |     pub fn get_label_offset(&self, label: &str) -> usize {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 116 |     pub fn compute_calls(
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 143 |     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:185:8
[INFO] [stderr]     |
[INFO] [stderr] 185 |     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:217:8
[INFO] [stderr]     |
[INFO] [stderr] 217 |     fn assert_eq_hex(actual: Vec<u8>, expected: Vec<u8>) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `StdHandle` is never used
[INFO] [stderr]  --> src/emitter/text/stdlib/windows.rs:7:10
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub enum StdHandle {
[INFO] [stderr]   |          ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `print` is never used
[INFO] [stderr]   --> src/emitter/text/stdlib/windows.rs:21:8
[INFO] [stderr]    |
[INFO] [stderr] 21 | pub fn print(code_context: &mut CodeContext) {
[INFO] [stderr]    |        ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `exit` is never used
[INFO] [stderr]   --> src/emitter/text/stdlib/windows.rs:50:8
[INFO] [stderr]    |
[INFO] [stderr] 50 | pub fn exit(code_context: &mut CodeContext, exit_code: u64) {
[INFO] [stderr]    |        ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `DataRef` is never constructed
[INFO] [stderr]   --> src/emitter/variables.rs:25:12
[INFO] [stderr]    |
[INFO] [stderr] 25 | pub struct DataRef {
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]   --> src/emitter/variables.rs:68:17
[INFO] [stderr]    |
[INFO] [stderr] 68 |     DataSection(u64),
[INFO] [stderr]    |     ----------- ^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     field in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ValueLocation` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]    |
[INFO] [stderr] 68 -     DataSection(u64),
[INFO] [stderr] 68 +     DataSection(()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: method `as_vec` is never used
[INFO] [stderr]    --> src/emitter/variables.rs:104:12
[INFO] [stderr]     |
[INFO] [stderr]  80 | impl Variable {
[INFO] [stderr]     | ------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 104 |     pub fn as_vec(&self) -> Vec<u8> {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Jge`, `Je`, and `Jz` are never constructed
[INFO] [stderr]    --> src/emitter/text/mnemonics.rs:563:5
[INFO] [stderr]     |
[INFO] [stderr] 542 | pub enum MnemonicName {
[INFO] [stderr]     |          ------------ variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 563 |     Jge,
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 564 |     Je,
[INFO] [stderr]     |     ^^
[INFO] [stderr] 565 |     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: function `case_4_CxAx` should have a snake case name
[INFO] [stderr]    --> src/emitter/text/mnemonics.rs:674:8
[INFO] [stderr]     |
[INFO] [stderr] 674 |     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)]` (part of `#[warn(nonstandard_style)]`) 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:674:8
[INFO] [stderr]     |
[INFO] [stderr] 674 |     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:674:8
[INFO] [stderr]     |
[INFO] [stderr] 674 |     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:687:8
[INFO] [stderr]     |
[INFO] [stderr] 687 |     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:687:8
[INFO] [stderr]     |
[INFO] [stderr] 687 |     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:703:8
[INFO] [stderr]     |
[INFO] [stderr] 703 |     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:703:8
[INFO] [stderr]     |
[INFO] [stderr] 703 |     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:717:8
[INFO] [stderr]     |
[INFO] [stderr] 717 |     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:725:8
[INFO] [stderr]     |
[INFO] [stderr] 725 |     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:725:8
[INFO] [stderr]     |
[INFO] [stderr] 725 |     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:734:8
[INFO] [stderr]     |
[INFO] [stderr] 734 |     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:734:8
[INFO] [stderr]     |
[INFO] [stderr] 734 |     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:747:8
[INFO] [stderr]     |
[INFO] [stderr] 747 |     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:747:8
[INFO] [stderr]     |
[INFO] [stderr] 747 |     fn test_sub(
[INFO] [stderr]     |        ^^^^^^^^ help: convert the identifier to snake case: `case_3_rcx_rax`
[INFO] [stderr] 
[INFO] [stderr] warning: function `case_1_RcxRax` should have a snake case name
[INFO] [stderr]    --> src/emitter/text/mnemonics.rs:758:8
[INFO] [stderr]     |
[INFO] [stderr] 758 |     fn test_xor(
[INFO] [stderr]     |        ^^^^^^^^ help: convert the identifier to snake case: `case_1_rcx_rax`
[INFO] [stderr] 
[INFO] [stderr] warning: function `case_1_Eax` should have a snake case name
[INFO] [stderr]    --> src/emitter/text/mnemonics.rs:771:8
[INFO] [stderr]     |
[INFO] [stderr] 771 |     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:771:8
[INFO] [stderr]     |
[INFO] [stderr] 771 |     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_3_Rcx` should have a snake case name
[INFO] [stderr]    --> src/emitter/text/mnemonics.rs:771:8
[INFO] [stderr]     |
[INFO] [stderr] 771 |     fn test_div(#[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:778:8
[INFO] [stderr]     |
[INFO] [stderr] 778 |     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:785:8
[INFO] [stderr]     |
[INFO] [stderr] 785 |     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:796:8
[INFO] [stderr]     |
[INFO] [stderr] 796 |     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:803:8
[INFO] [stderr]     |
[INFO] [stderr] 803 |     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:825:8
[INFO] [stderr]     |
[INFO] [stderr] 825 |     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:833:8
[INFO] [stderr]     |
[INFO] [stderr] 833 |     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:833:8
[INFO] [stderr]     |
[INFO] [stderr] 833 |     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 166 warnings (run `cargo fix --bin "compiler" -p compiler` to apply 21 suggestions)
[INFO] [stderr] warning: `compiler` (bin "compiler" test) generated 181 warnings (155 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.66s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/compiler-42ffb53cbfef8083)
[INFO] [stdout] 
[INFO] [stdout] running 40 tests
[INFO] [stdout] test emitter::text::mnemonics::tests::test_add::case_2_Rimm32 ... ok
[INFO] [stdout] test emitter::text::mnemonics::tests::test_call::case_1_Offset32 ... ok
[INFO] [stdout] test emitter::text::mnemonics::tests::test_div::case_3_Rcx ... ok
[INFO] [stdout] test emitter::text::mnemonics::tests::test_div::case_1_Eax ... ok
[INFO] [stdout] test emitter::text::mnemonics::tests::test_div::case_2_Rcx ... ok
[INFO] [stdout] test emitter::text::mnemonics::tests::test_inc::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_cmp::case_3_imm64 ... ok
[INFO] [stdout] test emitter::text::mnemonics::tests::test_mov::case_4_CxAx ... ok
[INFO] [stdout] test emitter::text::mnemonics::tests::test_mov::case_5_EcxEax ... ok
[INFO] [stdout] test emitter::text::mnemonics::tests::test_mov::case_6_RcxRax ... ok
[INFO] [stdout] test emitter::text::mnemonics::tests::test_mov_ext::case_1_imm64 ... ok
[INFO] [stdout] test emitter::text::mnemonics::tests::test_jle::case_1_Offset32 ... ok
[INFO] [stdout] test emitter::text::mnemonics::tests::test_jle::case_2_Offset32 ... ok
[INFO] [stdout] test emitter::text::mnemonics::tests::test_mov::case_1_imm16 ... ok
[INFO] [stdout] test emitter::text::mnemonics::tests::test_mov::case_2_imm32 ... ok
[INFO] [stdout] test emitter::text::mnemonics::tests::test_mov_ext::case_2_R8Rax ... ok
[INFO] [stdout] test emitter::text::mnemonics::tests::test_mov_ext::case_3_R8R9 ... 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_3_imm64 ... ok
[INFO] [stdout] test emitter::text::mnemonics::tests::test_mov_offset::case_2_RcxRax32 ... ok
[INFO] [stdout] test emitter::text::mnemonics::tests::test_pop::case_1_Rcx ... ok
[INFO] [stdout] test emitter::text::mnemonics::tests::test_add::case_3_RcxRax ... ok
[INFO] [stdout] test emitter::text::mnemonics::tests::test_pop::case_2_R9 ... ok
[INFO] [stdout] test emitter::text::mnemonics::tests::test_mov_offset::case_1_RcxRax8 ... ok
[INFO] [stdout] test emitter::text::mnemonics::tests::test_ret::case_1_NoOp ... ok
[INFO] [stdout] test emitter::text::mnemonics::tests::test_push::case_3_Rcx ... ok
[INFO] [stdout] test emitter::text::mnemonics::tests::test_push::case_1_imm16 ... ok
[INFO] [stdout] test emitter::text::mnemonics::tests::test_sub::case_2_Rimm32 ... ok
[INFO] [stdout] test emitter::text::mnemonics::tests::test_xor::case_1_RcxRax ... ok
[INFO] [stdout] test emitter::text::mnemonics::tests::test_push::case_2_imm32 ... ok
[INFO] [stdout] test emitter::text::mnemonics::tests::test_sub::case_1_imm32 ... ok
[INFO] [stdout] test emitter::text::mnemonics::tests::test_cmp::case_2_imm32 ... ok
[INFO] [stdout] test emitter::text::mnemonics::tests::test_invalid_encoding - should panic ... ok
[INFO] [stdout] test emitter::text::code_context::tests::test_loop_with_stack ... ok
[INFO] [stdout] test emitter::text::code_context::tests::test_loop ... ok
[INFO] [stdout] test emitter::text::code_context::tests::test_mov ... ok
[INFO] [stdout] test emitter::text::mnemonics::tests::test_add::case_1_imm32 ... ok
[INFO] [stdout] test emitter::text::mnemonics::tests::test_jmp::case_1_Imm64 ... ok
[INFO] [stderr]      Running tests/compiler_test.rs (/opt/rustwide/target/debug/deps/compiler_test-95c81c2a84cd47d2)
[INFO] [stdout] test emitter::text::mnemonics::tests::test_sub::case_3_RcxRax ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 40 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.16s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test test_hello ... FAILED
[INFO] [stdout] test test_assignment ... FAILED
[INFO] [stdout] test test_loop ... FAILED
[INFO] [stdout] test test_funcs ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- test_hello stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_hello' (70) panicked at tests/compiler_test.rs:81:9:
[INFO] [stdout] warning: unused import: `BTreeMap`
[INFO] [stdout]  --> src/emitter/elf.rs:5:19
[INFO] [stdout]   |
[INFO] [stdout] 5 |     collections::{BTreeMap, HashMap},
[INFO] [stdout]   |                   ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::emitter::text::mnemonics::Operand::Offset32`
[INFO] [stdout]    --> src/emitter/text/code_context.rs:180:9
[INFO] [stdout]     |
[INFO] [stdout] 180 |     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:181:32
[INFO] [stdout]     |
[INFO] [stdout] 181 |     use crate::emitter::text::{mnemonics::*, CodeContext};
[INFO] [stdout]     |                                ^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::emitter::stack::StackManager`
[INFO] [stdout]  --> src/emitter/text/stdlib/windows.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::emitter::stack::StackManager;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]  --> src/emitter/text/stdlib.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::mem;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/parser.rs:227:9
[INFO] [stdout]     |
[INFO] [stdout] 227 |         return todo!(); //Ok((Some(ast::RhsExpression::Block(Block::new(id, stmts))), tokens));
[INFO] [stdout]     |         ^^^^^^^-------
[INFO] [stdout]     |         |      |
[INFO] [stdout]     |         |      any code following this expression is unreachable
[INFO] [stdout]     |         unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sections_size`
[INFO] [stdout]    --> src/emitter/elf/sections.rs:132:9
[INFO] [stdout]     |
[INFO] [stdout] 132 |     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]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stmts`
[INFO] [stdout]   --> src/emitter/text.rs:98:35
[INFO] [stdout]    |
[INFO] [stdout] 98 |             ast::Statement::Block(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:108:13
[INFO] [stdout]     |
[INFO] [stdout] 108 |             return_type,
[INFO] [stdout]     |             ^^^^^^^^^^^ help: try ignoring the field: `return_type: _`
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block`
[INFO] [stdout]    --> src/emitter/text.rs:155:39
[INFO] [stdout]     |
[INFO] [stdout] 155 |             ast::RhsExpression::Block(block) => todo!(),
[INFO] [stdout]     |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_block`
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `unary_operation`
[INFO] [stdout]    --> src/emitter/text.rs:199:36
[INFO] [stdout]     |
[INFO] [stdout] 199 |             ast::Expression::Unary(unary_operation) => todo!(),
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_unary_operation`
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `binary_operation`
[INFO] [stdout]    --> src/emitter/text.rs:200:37
[INFO] [stdout]     |
[INFO] [stdout] 200 |             ast::Expression::Binary(binary_operation) => todo!(),
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_binary_operation`
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> src/emitter/text.rs:244:28
[INFO] [stdout]     |
[INFO] [stdout] 244 |                 Value::Int(n) => {
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scope`
[INFO] [stdout]    --> src/emitter/text.rs:302:45
[INFO] [stdout]     |
[INFO] [stdout] 302 |     fn visit_loop(&mut self, l: &ast::Loop, scope: &str) {
[INFO] [stdout]     |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_scope`
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block`
[INFO] [stdout]    --> src/emitter/variables.rs:154:39
[INFO] [stdout]     |
[INFO] [stdout] 154 |             ast::RhsExpression::Block(block) => todo!(),
[INFO] [stdout]     |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_block`
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expr`
[INFO] [stdout]   --> src/parser/ast_printer.rs:93:35
[INFO] [stdout]    |
[INFO] [stdout] 93 |             UnaryOperation::Minus(expr) => todo!(),
[INFO] [stdout]    |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_expr`
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expr`
[INFO] [stdout]   --> src/parser/ast_printer.rs:94:33
[INFO] [stdout]    |
[INFO] [stdout] 94 |             UnaryOperation::Not(expr) => todo!(),
[INFO] [stdout]    |                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_expr`
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `binary_operation`
[INFO] [stdout]   --> src/parser/ast_printer.rs:97:28
[INFO] [stdout]    |
[INFO] [stdout] 97 |         Expression::Binary(binary_operation) => todo!(),
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_binary_operation`
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/parser.rs:226:8
[INFO] [stdout]     |
[INFO] [stdout] 226 |     if let (block, tokens) = block(tokens, scope)? {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout]     = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block`
[INFO] [stdout]    --> src/parser.rs:226:13
[INFO] [stdout]     |
[INFO] [stdout] 226 |     if let (block, tokens) = block(tokens, scope)? {
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_block`
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:226:20
[INFO] [stdout]     |
[INFO] [stdout] 226 |     if let (block, tokens) = block(tokens, scope)? {
[INFO] [stdout]     |                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scope`
[INFO] [stdout]    --> src/parser.rs:250:5
[INFO] [stdout]     |
[INFO] [stdout] 250 |     scope: &str,
[INFO] [stdout]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_scope`
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scope`
[INFO] [stdout]    --> src/parser.rs:310:37
[INFO] [stdout]     |
[INFO] [stdout] 310 | fn literal<'a>(tokens: &'a [Token], scope: &str) -> (Option<ast::Literal>, &'a [Token]) {
[INFO] [stdout]     |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_scope`
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Program` is never constructed
[INFO] [stdout]  --> src/emitter/ast.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Program {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Item` is never used
[INFO] [stdout]  --> src/emitter/ast.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub enum Item {
[INFO] [stdout]   |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Float` and `Bool` are never constructed
[INFO] [stdout]   --> src/emitter/ast.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub enum TypeName {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 52 |     Float,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 53 |     Bool,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TypeName` 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/ast.rs:123:12
[INFO] [stdout]     |
[INFO] [stdout] 123 |     Return(Option<Expression>),
[INFO] [stdout]     |     ------ ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ControlFlow` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 123 -     Return(Option<Expression>),
[INFO] [stdout] 123 +     Return(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Block` is never constructed
[INFO] [stdout]    --> src/emitter/ast.rs:134:5
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub enum Statement {
[INFO] [stdout]     |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 134 |     Block(Block),
[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] 
[INFO] [stdout] warning: variant `Block` is never constructed
[INFO] [stdout]    --> src/emitter/ast.rs:185:5
[INFO] [stdout]     |
[INFO] [stdout] 183 | pub enum RhsExpression {
[INFO] [stdout]     |          ------------- variant in this enum
[INFO] [stdout] 184 |     Expression(Expression),
[INFO] [stdout] 185 |     Block(Block),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RhsExpression` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Binary` is never constructed
[INFO] [stdout]    --> src/emitter/ast.rs:203:5
[INFO] [stdout]     |
[INFO] [stdout] 201 | pub enum Expression {
[INFO] [stdout]     |          ---------- variant in this enum
[INFO] [stdout] 202 |     Unary(UnaryOperation),
[INFO] [stdout] 203 |     Binary(BinaryOperation),
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Expression` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Minus` and `Not` are never constructed
[INFO] [stdout]    --> src/emitter/ast.rs:211:5
[INFO] [stdout]     |
[INFO] [stdout] 210 | pub enum UnaryOperation {
[INFO] [stdout]     |          -------------- variants in this enum
[INFO] [stdout] 211 |     Minus(Box<Expression>),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 212 |     Not(Box<Expression>),
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `UnaryOperation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Plus` and `Minus` are never constructed
[INFO] [stdout]    --> src/emitter/ast.rs:218:5
[INFO] [stdout]     |
[INFO] [stdout] 217 | pub enum BinaryOperation {
[INFO] [stdout]     |          --------------- variants in this enum
[INFO] [stdout] 218 |     Plus(Box<Expression>, Box<Expression>),
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 219 |     Minus(Box<Expression>, Box<Expression>),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BinaryOperation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] warning: method `len` is never used
[INFO] [stdout]    --> src/emitter/ast.rs:241:12
[INFO] [stdout]     |
[INFO] [stdout] 240 | impl Literal {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] 241 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] warning: function `align` is never used
[INFO] [stdout]    --> src/emitter/elf.rs:258:4
[INFO] [stdout]     |
[INFO] [stdout] 258 | 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:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | 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:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const DATA_SECTION_ADDRESS_START: DWord = VIRTUAL_ADDRESS_START + DATA_SECTION_OFFSET;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProgramHeader` is never constructed
[INFO] [stdout]   --> src/emitter/elf/sections.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub struct ProgramHeader {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_symtab_section_header` is never used
[INFO] [stdout]    --> src/emitter/elf/sections.rs:186:8
[INFO] [stdout]     |
[INFO] [stdout] 186 | 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:201:8
[INFO] [stdout]     |
[INFO] [stdout] 201 | 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:216:8
[INFO] [stdout]     |
[INFO] [stdout] 216 | 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:27:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub enum DataSymbol {
[INFO] [stdout]    |          ---------- variant in this enum
[INFO] [stdout] 26 |     Comptime,
[INFO] [stdout] 27 |     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:32:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub enum Section {
[INFO] [stdout]    |          ------- variants in this enum
[INFO] [stdout] 32 |     Undefined,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     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:41:5
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub enum SymbolScope {
[INFO] [stdout]    |          ----------- variant in this enum
[INFO] [stdout] 40 |     Local,
[INFO] [stdout] 41 |     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: enum `Arg` is never used
[INFO] [stdout]  --> src/emitter/text/abi/windows.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub enum Arg {
[INFO] [stdout]   |          ^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ARG_REGISTERS` is never used
[INFO] [stdout]   --> src/emitter/text/abi/windows.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 | 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:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn push_args(code_context: &mut CodeContext, stack: &mut StackManager, args: &[Variable]) {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: function `pop_args` is never used
[INFO] [stdout]   --> src/emitter/text/abi/windows.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub fn pop_args(code_context: &mut CodeContext, stack: &mut StackManager, args_count: usize) {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REGISTER_EXT_INDEX` is never used
[INFO] [stdout]  --> src/emitter/text/mnemonics.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | 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:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | 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:18:7
[INFO] [stdout]    |
[INFO] [stdout] 18 | const MOD_ADDRESS: u8 = 0b00;
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Offset8` is never constructed
[INFO] [stdout]    --> src/emitter/text/mnemonics.rs:119:5
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub enum Operand {
[INFO] [stdout]     |          ------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 119 |     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:271:12
[INFO] [stdout]     |
[INFO] [stdout] 253 | impl Mnemonic {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 271 |     pub fn get_name(&self) -> MnemonicName {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 275 |     pub fn set_op1(&mut self, op: impl Into<Operand>) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 279 |     pub fn set_op2(&mut self, op: impl Into<Operand>) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Jmp`, `Jle`, `Jge`, `Je`, and `Jz` are never constructed
[INFO] [stdout]    --> src/emitter/text/mnemonics.rs:559:5
[INFO] [stdout]     |
[INFO] [stdout] 542 | pub enum MnemonicName {
[INFO] [stdout]     |          ------------ variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 559 |     Jmp,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 560 |     Jl,
[INFO] [stdout] 561 |     Jle,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 562 |     Jg,
[INFO] [stdout] 563 |     Jge,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 564 |     Je,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 565 |     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:74:9
[INFO] [stdout]    |
[INFO] [stdout] 74 |         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:55:35
[INFO] [stdout]    |
[INFO] [stdout] 55 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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:75:9
[INFO] [stdout]    |
[INFO] [stdout] 75 |         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:55:35
[INFO] [stdout]    |
[INFO] [stdout] 55 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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:76:9
[INFO] [stdout]    |
[INFO] [stdout] 76 |         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:55:35
[INFO] [stdout]    |
[INFO] [stdout] 55 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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:77:9
[INFO] [stdout]    |
[INFO] [stdout] 77 |         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:55:35
[INFO] [stdout]    |
[INFO] [stdout] 55 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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 `RBX` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:56:35
[INFO] [stdout]    |
[INFO] [stdout] 56 |                           pub const [<R $name>]: Register = Register::new($attr, RegisterSize::Q, false);
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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:78:9
[INFO] [stdout]    |
[INFO] [stdout] 78 |         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:55:35
[INFO] [stdout]    |
[INFO] [stdout] 55 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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:79:9
[INFO] [stdout]    |
[INFO] [stdout] 79 |         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:55:35
[INFO] [stdout]    |
[INFO] [stdout] 55 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |         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:55:35
[INFO] [stdout]    |
[INFO] [stdout] 55 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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:81:9
[INFO] [stdout]    |
[INFO] [stdout] 81 |         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:55:35
[INFO] [stdout]    |
[INFO] [stdout] 55 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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:62:35
[INFO] [stdout]    |
[INFO] [stdout] 62 |                           pub const [<$name D>]: Register = Register::new($attr, RegisterSize::D, true );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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:63:35
[INFO] [stdout]    |
[INFO] [stdout] 63 |                           pub const [<$name W>]: Register = Register::new($attr, RegisterSize::W, true);
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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:62:35
[INFO] [stdout]    |
[INFO] [stdout] 62 |                           pub const [<$name D>]: Register = Register::new($attr, RegisterSize::D, true );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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:63:35
[INFO] [stdout]    |
[INFO] [stdout] 63 |                           pub const [<$name W>]: Register = Register::new($attr, RegisterSize::W, true);
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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 `R10D` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:62:35
[INFO] [stdout]    |
[INFO] [stdout] 62 |                           pub const [<$name D>]: Register = Register::new($attr, RegisterSize::D, true );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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:63:35
[INFO] [stdout]    |
[INFO] [stdout] 63 |                           pub const [<$name W>]: Register = Register::new($attr, RegisterSize::W, true);
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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 `R11D` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:62:35
[INFO] [stdout]    |
[INFO] [stdout] 62 |                           pub const [<$name D>]: Register = Register::new($attr, RegisterSize::D, true );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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 `R11W` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:63:35
[INFO] [stdout]    |
[INFO] [stdout] 63 |                           pub const [<$name W>]: Register = Register::new($attr, RegisterSize::W, true);
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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`, `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 |     labels: BTreeMap<String, usize>,
[INFO] [stdout] 26 |     symbols: BTreeMap<String, Symbol>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 27 |     relocations: Vec<Relocation>,
[INFO] [stdout] 28 |     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:72:12
[INFO] [stdout]     |
[INFO] [stdout]  31 | impl CodeContext {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  72 |     pub fn get_pc(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  76 |     pub fn get(&self, i: usize) -> Mnemonic {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  80 |     pub fn get_mut(&mut self, i: usize) -> &mut Mnemonic {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  84 |     pub fn get_offset(&self, i: usize) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  92 |     pub fn get_code_size_with_calls(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn get_calls(&self) -> BTreeMap<String, Call> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     pub fn get_label_offset(&self, label: &str) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     pub fn compute_calls(
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     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:185:8
[INFO] [stdout]     |
[INFO] [stdout] 185 |     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:217:8
[INFO] [stdout]     |
[INFO] [stdout] 217 |     fn assert_eq_hex(actual: Vec<u8>, expected: Vec<u8>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: enum `StdHandle` is never used
[INFO] [stdout]  --> src/emitter/text/stdlib/windows.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub enum StdHandle {
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: function `print` is never used
[INFO] [stdout]   --> src/emitter/text/stdlib/windows.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn print(code_context: &mut CodeContext) {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: function `exit` is never used
[INFO] [stdout]   --> src/emitter/text/stdlib/windows.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub fn exit(code_context: &mut CodeContext, exit_code: u64) {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DataRef` is never constructed
[INFO] [stdout]   --> src/emitter/variables.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct DataRef {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/emitter/variables.rs:68:17
[INFO] [stdout]    |
[INFO] [stdout] 68 |     DataSection(u64),
[INFO] [stdout]    |     ----------- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ValueLocation` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 68 -     DataSection(u64),
[INFO] [stdout] 68 +     DataSection(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_vec` is never used
[INFO] [stdout]    --> src/emitter/variables.rs:104:12
[INFO] [stdout]     |
[INFO] [stdout]  80 | impl Variable {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn as_vec(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: `compiler` (bin "compiler") generated 166 warnings (run `cargo fix --bin "compiler" -p compiler` to apply 21 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/emitter.rs:27:5] &variables = {
[INFO] [stdout]     "global::f1::a": Variable {
[INFO] [stdout]         name: "global::f1::a",
[INFO] [stdout]         value_type: String(
[INFO] [stdout]             "",
[INFO] [stdout]         ),
[INFO] [stdout]         value_size: 8,
[INFO] [stdout]         value_loc: Stack(
[INFO] [stdout]             Function(
[INFO] [stdout]                 0,
[INFO] [stdout]             ),
[INFO] [stdout]         ),
[INFO] [stdout]         reference: true,
[INFO] [stdout]     },
[INFO] [stdout]     "global::f1::b": Variable {
[INFO] [stdout]         name: "global::f1::b",
[INFO] [stdout]         value_type: String(
[INFO] [stdout]             "Nummer",
[INFO] [stdout]         ),
[INFO] [stdout]         value_size: 6,
[INFO] [stdout]         value_loc: DataSection(
[INFO] [stdout]             0,
[INFO] [stdout]         ),
[INFO] [stdout]         reference: false,
[INFO] [stdout]     },
[INFO] [stdout]     "global::f1::b1": Variable {
[INFO] [stdout]         name: "global::f1::b1",
[INFO] [stdout]         value_type: Int(
[INFO] [stdout]             33,
[INFO] [stdout]         ),
[INFO] [stdout]         value_size: 8,
[INFO] [stdout]         value_loc: Stack(
[INFO] [stdout]             Block(
[INFO] [stdout]                 0,
[INFO] [stdout]             ),
[INFO] [stdout]         ),
[INFO] [stdout]         reference: false,
[INFO] [stdout]     },
[INFO] [stdout]     "global::f1::c": Variable {
[INFO] [stdout]         name: "global::f1::c",
[INFO] [stdout]         value_type: String(
[INFO] [stdout]             "\nSome test\n",
[INFO] [stdout]         ),
[INFO] [stdout]         value_size: 19,
[INFO] [stdout]         value_loc: Stack(
[INFO] [stdout]             Block(
[INFO] [stdout]                 0,
[INFO] [stdout]             ),
[INFO] [stdout]         ),
[INFO] [stdout]         reference: false,
[INFO] [stdout]     },
[INFO] [stdout]     "global::f1::c1": Variable {
[INFO] [stdout]         name: "global::f1::c1",
[INFO] [stdout]         value_type: Int(
[INFO] [stdout]             199,
[INFO] [stdout]         ),
[INFO] [stdout]         value_size: 8,
[INFO] [stdout]         value_loc: DataSection(
[INFO] [stdout]             0,
[INFO] [stdout]         ),
[INFO] [stdout]         reference: false,
[INFO] [stdout]     },
[INFO] [stdout]     "global::f1::d": Variable {
[INFO] [stdout]         name: "global::f1::d",
[INFO] [stdout]         value_type: String(
[INFO] [stdout]             "Qwerty\n",
[INFO] [stdout]         ),
[INFO] [stdout]         value_size: 7,
[INFO] [stdout]         value_loc: DataSection(
[INFO] [stdout]             0,
[INFO] [stdout]         ),
[INFO] [stdout]         reference: false,
[INFO] [stdout]     },
[INFO] [stdout]     "global::main::a": Variable {
[INFO] [stdout]         name: "global::main::a",
[INFO] [stdout]         value_type: String(
[INFO] [stdout]             "Hello World!\n",
[INFO] [stdout]         ),
[INFO] [stdout]         value_size: 21,
[INFO] [stdout]         value_loc: Stack(
[INFO] [stdout]             Block(
[INFO] [stdout]                 0,
[INFO] [stdout]             ),
[INFO] [stdout]         ),
[INFO] [stdout]         reference: false,
[INFO] [stdout]     },
[INFO] [stdout] }
[INFO] [stdout] [src/emitter/text.rs:351:9] &ids = [
[INFO] [stdout]     "global::f1::a",
[INFO] [stdout]     "global::f1::b",
[INFO] [stdout]     "global::f1::b1",
[INFO] [stdout]     "global::f1::c",
[INFO] [stdout]     "global::f1::c1",
[INFO] [stdout]     "global::f1::d",
[INFO] [stdout] ]
[INFO] [stdout] [src/emitter/text.rs:356:13] data = Variable {
[INFO] [stdout]     name: "global::f1::a",
[INFO] [stdout]     value_type: String(
[INFO] [stdout]         "",
[INFO] [stdout]     ),
[INFO] [stdout]     value_size: 8,
[INFO] [stdout]     value_loc: Stack(
[INFO] [stdout]         Function(
[INFO] [stdout]             8,
[INFO] [stdout]         ),
[INFO] [stdout]     ),
[INFO] [stdout]     reference: true,
[INFO] [stdout] }
[INFO] [stdout] [src/emitter/text.rs:356:13] data = Variable {
[INFO] [stdout]     name: "global::f1::b",
[INFO] [stdout]     value_type: String(
[INFO] [stdout]         "Nummer",
[INFO] [stdout]     ),
[INFO] [stdout]     value_size: 6,
[INFO] [stdout]     value_loc: DataSection(
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout]     reference: false,
[INFO] [stdout] }
[INFO] [stdout] [src/emitter/text.rs:356:13] data = Variable {
[INFO] [stdout]     name: "global::f1::b1",
[INFO] [stdout]     value_type: Int(
[INFO] [stdout]         33,
[INFO] [stdout]     ),
[INFO] [stdout]     value_size: 8,
[INFO] [stdout]     value_loc: Stack(
[INFO] [stdout]         Block(
[INFO] [stdout]             0,
[INFO] [stdout]         ),
[INFO] [stdout]     ),
[INFO] [stdout]     reference: false,
[INFO] [stdout] }
[INFO] [stdout] [src/emitter/text.rs:366:25] self.stack_manager.function_stack_size() = 16
[INFO] [stdout] [src/emitter/text.rs:356:13] data = Variable {
[INFO] [stdout]     name: "global::f1::c",
[INFO] [stdout]     value_type: String(
[INFO] [stdout]         "\nSome test\n",
[INFO] [stdout]     ),
[INFO] [stdout]     value_size: 19,
[INFO] [stdout]     value_loc: Stack(
[INFO] [stdout]         Block(
[INFO] [stdout]             0,
[INFO] [stdout]         ),
[INFO] [stdout]     ),
[INFO] [stdout]     reference: false,
[INFO] [stdout] }
[INFO] [stdout] [src/emitter/text.rs:366:25] self.stack_manager.function_stack_size() = 40
[INFO] [stdout] [src/emitter/text.rs:356:13] data = Variable {
[INFO] [stdout]     name: "global::f1::c1",
[INFO] [stdout]     value_type: Int(
[INFO] [stdout]         199,
[INFO] [stdout]     ),
[INFO] [stdout]     value_size: 8,
[INFO] [stdout]     value_loc: DataSection(
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout]     reference: false,
[INFO] [stdout] }
[INFO] [stdout] [src/emitter/text.rs:356:13] data = Variable {
[INFO] [stdout]     name: "global::f1::d",
[INFO] [stdout]     value_type: String(
[INFO] [stdout]         "Qwerty\n",
[INFO] [stdout]     ),
[INFO] [stdout]     value_size: 7,
[INFO] [stdout]     value_loc: DataSection(
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout]     reference: false,
[INFO] [stdout] }
[INFO] [stdout] [src/emitter/text/abi/linux.rs:29:17] &arg = Variable {
[INFO] [stdout]     name: "global::f1::a",
[INFO] [stdout]     value_type: String(
[INFO] [stdout]         "",
[INFO] [stdout]     ),
[INFO] [stdout]     value_size: 8,
[INFO] [stdout]     value_loc: Stack(
[INFO] [stdout]         Function(
[INFO] [stdout]             8,
[INFO] [stdout]         ),
[INFO] [stdout]     ),
[INFO] [stdout]     reference: false,
[INFO] [stdout] }
[INFO] [stdout] [src/emitter/text/abi/linux.rs:29:17] &arg = Variable {
[INFO] [stdout]     name: "global::f1::b1",
[INFO] [stdout]     value_type: Int(
[INFO] [stdout]         33,
[INFO] [stdout]     ),
[INFO] [stdout]     value_size: 8,
[INFO] [stdout]     value_loc: Stack(
[INFO] [stdout]         Block(
[INFO] [stdout]             16,
[INFO] [stdout]         ),
[INFO] [stdout]     ),
[INFO] [stdout]     reference: false,
[INFO] [stdout] }
[INFO] [stdout] [src/emitter/text/abi/linux.rs:29:17] &arg = Variable {
[INFO] [stdout]     name: "global::f1::c",
[INFO] [stdout]     value_type: String(
[INFO] [stdout]         "\nSome test\n",
[INFO] [stdout]     ),
[INFO] [stdout]     value_size: 19,
[INFO] [stdout]     value_loc: Stack(
[INFO] [stdout]         Block(
[INFO] [stdout]             40,
[INFO] [stdout]         ),
[INFO] [stdout]     ),
[INFO] [stdout]     reference: true,
[INFO] [stdout] }
[INFO] [stdout] [src/emitter/text.rs:351:9] &ids = [
[INFO] [stdout]     "global::main::a",
[INFO] [stdout] ]
[INFO] [stdout] [src/emitter/text.rs:356:13] data = Variable {
[INFO] [stdout]     name: "global::main::a",
[INFO] [stdout]     value_type: String(
[INFO] [stdout]         "Hello World!\n",
[INFO] [stdout]     ),
[INFO] [stdout]     value_size: 21,
[INFO] [stdout]     value_loc: Stack(
[INFO] [stdout]         Block(
[INFO] [stdout]             0,
[INFO] [stdout]         ),
[INFO] [stdout]     ),
[INFO] [stdout]     reference: false,
[INFO] [stdout] }
[INFO] [stdout] [src/emitter/text.rs:366:25] self.stack_manager.function_stack_size() = 24
[INFO] [stdout] [src/emitter/text/abi/linux.rs:29:17] &arg = Variable {
[INFO] [stdout]     name: "global::main::a",
[INFO] [stdout]     value_type: String(
[INFO] [stdout]         "Hello World!\n",
[INFO] [stdout]     ),
[INFO] [stdout]     value_size: 21,
[INFO] [stdout]     value_loc: Stack(
[INFO] [stdout]         Block(
[INFO] [stdout]             24,
[INFO] [stdout]         ),
[INFO] [stdout]     ),
[INFO] [stdout]     reference: true,
[INFO] [stdout] }
[INFO] [stdout] [src/emitter/elf.rs:210:5] last_local_idx = 8
[INFO] [stdout] 
[INFO] [stdout] thread 'main' (72) panicked at src/emitter/elf.rs:115: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: __rustc::rust_begin_unwind
[INFO] [stdout]              at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:689:5
[INFO] [stdout]    1: core::panicking::panic_fmt
[INFO] [stdout]              at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/core/src/panicking.rs:80:14
[INFO] [stdout]    2: core::result::unwrap_failed
[INFO] [stdout]              at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/core/src/result.rs:1867:5
[INFO] [stdout]    3: <core::result::Result<std::fs::File, std::io::error::Error>>::unwrap
[INFO] [stdout]              at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/core/src/result.rs:1233:23
[INFO] [stdout]    4: compiler::emitter::elf::build
[INFO] [stdout]              at ./src/emitter/elf.rs:115:51
[INFO] [stdout]    5: compiler::emitter::build_executable
[INFO] [stdout]              at ./src/emitter.rs:34:5
[INFO] [stdout]    6: compiler::main
[INFO] [stdout]              at ./src/main.rs:20:5
[INFO] [stdout]    7: <fn() as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/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:     0x631401aadb52 - std[3f03f8b59f91bef1]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x631401aadb52 - std[3f03f8b59f91bef1]::backtrace_rs::backtrace::trace_unsynchronized::<std[3f03f8b59f91bef1]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x631401aadb52 - std[3f03f8b59f91bef1]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x631401aadb52 - <<std[3f03f8b59f91bef1]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[585f66e14d78f9ba]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x631401ac236a - <core[585f66e14d78f9ba]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x631401ac236a - core[585f66e14d78f9ba]::fmt::write
[INFO] [stdout]    6:     0x631401ab2956 - std[3f03f8b59f91bef1]::io::default_write_fmt::<alloc[15e7b27aba85d2e2]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x631401ab2956 - <alloc[15e7b27aba85d2e2]::vec::Vec<u8> as std[3f03f8b59f91bef1]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x631401a8c08f - <std[3f03f8b59f91bef1]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x631401a8c08f - std[3f03f8b59f91bef1]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x631401aa5e89 - std[3f03f8b59f91bef1]::panicking::default_hook
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x631401a4165e - <alloc[15e7b27aba85d2e2]::boxed::Box<dyn for<'a, 'b> core[585f66e14d78f9ba]::ops::function::Fn<(&'a std[3f03f8b59f91bef1]::panic::PanicHookInfo<'b>,), Output = ()> + core[585f66e14d78f9ba]::marker::Sync + core[585f66e14d78f9ba]::marker::Send> as core[585f66e14d78f9ba]::ops::function::Fn<(&std[3f03f8b59f91bef1]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x631401a4165e - test[30224e0cb089acd2]::test_main_with_exit_callback::<test[30224e0cb089acd2]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x631401aa6042 - <alloc[15e7b27aba85d2e2]::boxed::Box<dyn for<'a, 'b> core[585f66e14d78f9ba]::ops::function::Fn<(&'a std[3f03f8b59f91bef1]::panic::PanicHookInfo<'b>,), Output = ()> + core[585f66e14d78f9ba]::marker::Sync + core[585f66e14d78f9ba]::marker::Send> as core[585f66e14d78f9ba]::ops::function::Fn<(&std[3f03f8b59f91bef1]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x631401aa6042 - std[3f03f8b59f91bef1]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x631401a8c148 - std[3f03f8b59f91bef1]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x631401a81339 - std[3f03f8b59f91bef1]::sys::backtrace::__rust_end_short_backtrace::<std[3f03f8b59f91bef1]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x631401a8cf9d - __rustc[caa99d26c7bae192]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x631401ac29dc - core[585f66e14d78f9ba]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x631401a30398 - core[585f66e14d78f9ba]::panicking::panic_display::<alloc[15e7b27aba85d2e2]::string::String>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/core/src/panicking.rs:259:5
[INFO] [stdout]   20:     0x631401a3168e - compiler_test[19a2d3392bb25126]::compile_src
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/compiler_test.rs:81:9
[INFO] [stdout]   21:     0x631401a31c31 - compiler_test[19a2d3392bb25126]::test_hello
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/compiler_test.rs:7:18
[INFO] [stdout]   22:     0x631401a30a67 - compiler_test[19a2d3392bb25126]::test_hello::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/compiler_test.rs:5:16
[INFO] [stdout]   23:     0x631401a355b6 - <compiler_test[19a2d3392bb25126]::test_hello::{closure#0} as core[585f66e14d78f9ba]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x631401a35a0b - <fn() -> core[585f66e14d78f9ba]::result::Result<(), alloc[15e7b27aba85d2e2]::string::String> as core[585f66e14d78f9ba]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x631401a35a0b - test[30224e0cb089acd2]::__rust_begin_short_backtrace::<core[585f66e14d78f9ba]::result::Result<(), alloc[15e7b27aba85d2e2]::string::String>, fn() -> core[585f66e14d78f9ba]::result::Result<(), alloc[15e7b27aba85d2e2]::string::String>>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/test/src/lib.rs:663:18
[INFO] [stdout]   26:     0x631401a4226a - test[30224e0cb089acd2]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/test/src/lib.rs:686:74
[INFO] [stdout]   27:     0x631401a4226a - <core[585f66e14d78f9ba]::panic::unwind_safe::AssertUnwindSafe<test[30224e0cb089acd2]::run_test_in_process::{closure#0}> as core[585f66e14d78f9ba]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   28:     0x631401a4226a - std[3f03f8b59f91bef1]::panicking::catch_unwind::do_call::<core[585f66e14d78f9ba]::panic::unwind_safe::AssertUnwindSafe<test[30224e0cb089acd2]::run_test_in_process::{closure#0}>, core[585f66e14d78f9ba]::result::Result<(), alloc[15e7b27aba85d2e2]::string::String>>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x631401a4226a - std[3f03f8b59f91bef1]::panicking::catch_unwind::<core[585f66e14d78f9ba]::result::Result<(), alloc[15e7b27aba85d2e2]::string::String>, core[585f66e14d78f9ba]::panic::unwind_safe::AssertUnwindSafe<test[30224e0cb089acd2]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x631401a4226a - std[3f03f8b59f91bef1]::panic::catch_unwind::<core[585f66e14d78f9ba]::panic::unwind_safe::AssertUnwindSafe<test[30224e0cb089acd2]::run_test_in_process::{closure#0}>, core[585f66e14d78f9ba]::result::Result<(), alloc[15e7b27aba85d2e2]::string::String>>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x631401a4226a - test[30224e0cb089acd2]::run_test_in_process
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/test/src/lib.rs:686:27
[INFO] [stdout]   32:     0x631401a4226a - test[30224e0cb089acd2]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/test/src/lib.rs:607:43
[INFO] [stdout]   33:     0x631401a3c734 - test[30224e0cb089acd2]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/test/src/lib.rs:637:41
[INFO] [stdout]   34:     0x631401a3c734 - std[3f03f8b59f91bef1]::sys::backtrace::__rust_begin_short_backtrace::<test[30224e0cb089acd2]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x631401a44d62 - std[3f03f8b59f91bef1]::thread::lifecycle::spawn_unchecked::<test[30224e0cb089acd2]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   36:     0x631401a44d62 - <core[585f66e14d78f9ba]::panic::unwind_safe::AssertUnwindSafe<std[3f03f8b59f91bef1]::thread::lifecycle::spawn_unchecked<test[30224e0cb089acd2]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[585f66e14d78f9ba]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   37:     0x631401a44d62 - std[3f03f8b59f91bef1]::panicking::catch_unwind::do_call::<core[585f66e14d78f9ba]::panic::unwind_safe::AssertUnwindSafe<std[3f03f8b59f91bef1]::thread::lifecycle::spawn_unchecked<test[30224e0cb089acd2]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x631401a44d62 - std[3f03f8b59f91bef1]::panicking::catch_unwind::<(), core[585f66e14d78f9ba]::panic::unwind_safe::AssertUnwindSafe<std[3f03f8b59f91bef1]::thread::lifecycle::spawn_unchecked<test[30224e0cb089acd2]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x631401a44d62 - std[3f03f8b59f91bef1]::panic::catch_unwind::<core[585f66e14d78f9ba]::panic::unwind_safe::AssertUnwindSafe<std[3f03f8b59f91bef1]::thread::lifecycle::spawn_unchecked<test[30224e0cb089acd2]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x631401a44d62 - std[3f03f8b59f91bef1]::thread::lifecycle::spawn_unchecked::<test[30224e0cb089acd2]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   41:     0x631401a44d62 - <std[3f03f8b59f91bef1]::thread::lifecycle::spawn_unchecked<test[30224e0cb089acd2]::run_test::{closure#1}, ()>::{closure#1} as core[585f66e14d78f9ba]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x631401aad3ff - <alloc[15e7b27aba85d2e2]::boxed::Box<dyn core[585f66e14d78f9ba]::ops::function::FnOnce<(), Output = ()> + core[585f66e14d78f9ba]::marker::Send> as core[585f66e14d78f9ba]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   43:     0x631401aad3ff - <std[3f03f8b59f91bef1]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   44:     0x79be529baaa4 - <unknown>
[INFO] [stdout]   45:     0x79be52a47a64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test_assignment stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_assignment' (68) panicked at tests/compiler_test.rs:81:9:
[INFO] [stdout] warning: unused import: `BTreeMap`
[INFO] [stdout]  --> src/emitter/elf.rs:5:19
[INFO] [stdout]   |
[INFO] [stdout] 5 |     collections::{BTreeMap, HashMap},
[INFO] [stdout]   |                   ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::emitter::text::mnemonics::Operand::Offset32`
[INFO] [stdout]    --> src/emitter/text/code_context.rs:180:9
[INFO] [stdout]     |
[INFO] [stdout] 180 |     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:181:32
[INFO] [stdout]     |
[INFO] [stdout] 181 |     use crate::emitter::text::{mnemonics::*, CodeContext};
[INFO] [stdout]     |                                ^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::emitter::stack::StackManager`
[INFO] [stdout]  --> src/emitter/text/stdlib/windows.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::emitter::stack::StackManager;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]  --> src/emitter/text/stdlib.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::mem;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/parser.rs:227:9
[INFO] [stdout]     |
[INFO] [stdout] 227 |         return todo!(); //Ok((Some(ast::RhsExpression::Block(Block::new(id, stmts))), tokens));
[INFO] [stdout]     |         ^^^^^^^-------
[INFO] [stdout]     |         |      |
[INFO] [stdout]     |         |      any code following this expression is unreachable
[INFO] [stdout]     |         unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sections_size`
[INFO] [stdout]    --> src/emitter/elf/sections.rs:132:9
[INFO] [stdout]     |
[INFO] [stdout] 132 |     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]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stmts`
[INFO] [stdout]   --> src/emitter/text.rs:98:35
[INFO] [stdout]    |
[INFO] [stdout] 98 |             ast::Statement::Block(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:108:13
[INFO] [stdout]     |
[INFO] [stdout] 108 |             return_type,
[INFO] [stdout]     |             ^^^^^^^^^^^ help: try ignoring the field: `return_type: _`
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block`
[INFO] [stdout]    --> src/emitter/text.rs:155:39
[INFO] [stdout]     |
[INFO] [stdout] 155 |             ast::RhsExpression::Block(block) => todo!(),
[INFO] [stdout]     |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_block`
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `unary_operation`
[INFO] [stdout]    --> src/emitter/text.rs:199:36
[INFO] [stdout]     |
[INFO] [stdout] 199 |             ast::Expression::Unary(unary_operation) => todo!(),
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_unary_operation`
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `binary_operation`
[INFO] [stdout]    --> src/emitter/text.rs:200:37
[INFO] [stdout]     |
[INFO] [stdout] 200 |             ast::Expression::Binary(binary_operation) => todo!(),
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_binary_operation`
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> src/emitter/text.rs:244:28
[INFO] [stdout]     |
[INFO] [stdout] 244 |                 Value::Int(n) => {
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scope`
[INFO] [stdout]    --> src/emitter/text.rs:302:45
[INFO] [stdout]     |
[INFO] [stdout] 302 |     fn visit_loop(&mut self, l: &ast::Loop, scope: &str) {
[INFO] [stdout]     |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_scope`
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block`
[INFO] [stdout]    --> src/emitter/variables.rs:154:39
[INFO] [stdout]     |
[INFO] [stdout] 154 |             ast::RhsExpression::Block(block) => todo!(),
[INFO] [stdout]     |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_block`
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expr`
[INFO] [stdout]   --> src/parser/ast_printer.rs:93:35
[INFO] [stdout]    |
[INFO] [stdout] 93 |             UnaryOperation::Minus(expr) => todo!(),
[INFO] [stdout]    |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_expr`
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expr`
[INFO] [stdout]   --> src/parser/ast_printer.rs:94:33
[INFO] [stdout]    |
[INFO] [stdout] 94 |             UnaryOperation::Not(expr) => todo!(),
[INFO] [stdout]    |                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_expr`
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `binary_operation`
[INFO] [stdout]   --> src/parser/ast_printer.rs:97:28
[INFO] [stdout]    |
[INFO] [stdout] 97 |         Expression::Binary(binary_operation) => todo!(),
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_binary_operation`
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/parser.rs:226:8
[INFO] [stdout]     |
[INFO] [stdout] 226 |     if let (block, tokens) = block(tokens, scope)? {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout]     = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block`
[INFO] [stdout]    --> src/parser.rs:226:13
[INFO] [stdout]     |
[INFO] [stdout] 226 |     if let (block, tokens) = block(tokens, scope)? {
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_block`
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:226:20
[INFO] [stdout]     |
[INFO] [stdout] 226 |     if let (block, tokens) = block(tokens, scope)? {
[INFO] [stdout]     |                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scope`
[INFO] [stdout]    --> src/parser.rs:250:5
[INFO] [stdout]     |
[INFO] [stdout] 250 |     scope: &str,
[INFO] [stdout]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_scope`
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scope`
[INFO] [stdout]    --> src/parser.rs:310:37
[INFO] [stdout]     |
[INFO] [stdout] 310 | fn literal<'a>(tokens: &'a [Token], scope: &str) -> (Option<ast::Literal>, &'a [Token]) {
[INFO] [stdout]     |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_scope`
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Program` is never constructed
[INFO] [stdout]  --> src/emitter/ast.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Program {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Item` is never used
[INFO] [stdout]  --> src/emitter/ast.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub enum Item {
[INFO] [stdout]   |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Float` and `Bool` are never constructed
[INFO] [stdout]   --> src/emitter/ast.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub enum TypeName {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 52 |     Float,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 53 |     Bool,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TypeName` 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/ast.rs:123:12
[INFO] [stdout]     |
[INFO] [stdout] 123 |     Return(Option<Expression>),
[INFO] [stdout]     |     ------ ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ControlFlow` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 123 -     Return(Option<Expression>),
[INFO] [stdout] 123 +     Return(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Block` is never constructed
[INFO] [stdout]    --> src/emitter/ast.rs:134:5
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub enum Statement {
[INFO] [stdout]     |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 134 |     Block(Block),
[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] 
[INFO] [stdout] warning: variant `Block` is never constructed
[INFO] [stdout]    --> src/emitter/ast.rs:185:5
[INFO] [stdout]     |
[INFO] [stdout] 183 | pub enum RhsExpression {
[INFO] [stdout]     |          ------------- variant in this enum
[INFO] [stdout] 184 |     Expression(Expression),
[INFO] [stdout] 185 |     Block(Block),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RhsExpression` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Binary` is never constructed
[INFO] [stdout]    --> src/emitter/ast.rs:203:5
[INFO] [stdout]     |
[INFO] [stdout] 201 | pub enum Expression {
[INFO] [stdout]     |          ---------- variant in this enum
[INFO] [stdout] 202 |     Unary(UnaryOperation),
[INFO] [stdout] 203 |     Binary(BinaryOperation),
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Expression` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Minus` and `Not` are never constructed
[INFO] [stdout]    --> src/emitter/ast.rs:211:5
[INFO] [stdout]     |
[INFO] [stdout] 210 | pub enum UnaryOperation {
[INFO] [stdout]     |          -------------- variants in this enum
[INFO] [stdout] 211 |     Minus(Box<Expression>),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 212 |     Not(Box<Expression>),
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `UnaryOperation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Plus` and `Minus` are never constructed
[INFO] [stdout]    --> src/emitter/ast.rs:218:5
[INFO] [stdout]     |
[INFO] [stdout] 217 | pub enum BinaryOperation {
[INFO] [stdout]     |          --------------- variants in this enum
[INFO] [stdout] 218 |     Plus(Box<Expression>, Box<Expression>),
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 219 |     Minus(Box<Expression>, Box<Expression>),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BinaryOperation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] warning: method `len` is never used
[INFO] [stdout]    --> src/emitter/ast.rs:241:12
[INFO] [stdout]     |
[INFO] [stdout] 240 | impl Literal {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] 241 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] warning: function `align` is never used
[INFO] [stdout]    --> src/emitter/elf.rs:258:4
[INFO] [stdout]     |
[INFO] [stdout] 258 | 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:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | 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:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const DATA_SECTION_ADDRESS_START: DWord = VIRTUAL_ADDRESS_START + DATA_SECTION_OFFSET;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProgramHeader` is never constructed
[INFO] [stdout]   --> src/emitter/elf/sections.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub struct ProgramHeader {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_symtab_section_header` is never used
[INFO] [stdout]    --> src/emitter/elf/sections.rs:186:8
[INFO] [stdout]     |
[INFO] [stdout] 186 | 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:201:8
[INFO] [stdout]     |
[INFO] [stdout] 201 | 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:216:8
[INFO] [stdout]     |
[INFO] [stdout] 216 | 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:27:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub enum DataSymbol {
[INFO] [stdout]    |          ---------- variant in this enum
[INFO] [stdout] 26 |     Comptime,
[INFO] [stdout] 27 |     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:32:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub enum Section {
[INFO] [stdout]    |          ------- variants in this enum
[INFO] [stdout] 32 |     Undefined,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     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:41:5
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub enum SymbolScope {
[INFO] [stdout]    |          ----------- variant in this enum
[INFO] [stdout] 40 |     Local,
[INFO] [stdout] 41 |     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: enum `Arg` is never used
[INFO] [stdout]  --> src/emitter/text/abi/windows.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub enum Arg {
[INFO] [stdout]   |          ^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ARG_REGISTERS` is never used
[INFO] [stdout]   --> src/emitter/text/abi/windows.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 | 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:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn push_args(code_context: &mut CodeContext, stack: &mut StackManager, args: &[Variable]) {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: function `pop_args` is never used
[INFO] [stdout]   --> src/emitter/text/abi/windows.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub fn pop_args(code_context: &mut CodeContext, stack: &mut StackManager, args_count: usize) {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REGISTER_EXT_INDEX` is never used
[INFO] [stdout]  --> src/emitter/text/mnemonics.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | 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:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | 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:18:7
[INFO] [stdout]    |
[INFO] [stdout] 18 | const MOD_ADDRESS: u8 = 0b00;
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Offset8` is never constructed
[INFO] [stdout]    --> src/emitter/text/mnemonics.rs:119:5
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub enum Operand {
[INFO] [stdout]     |          ------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 119 |     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:271:12
[INFO] [stdout]     |
[INFO] [stdout] 253 | impl Mnemonic {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 271 |     pub fn get_name(&self) -> MnemonicName {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 275 |     pub fn set_op1(&mut self, op: impl Into<Operand>) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 279 |     pub fn set_op2(&mut self, op: impl Into<Operand>) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Jmp`, `Jle`, `Jge`, `Je`, and `Jz` are never constructed
[INFO] [stdout]    --> src/emitter/text/mnemonics.rs:559:5
[INFO] [stdout]     |
[INFO] [stdout] 542 | pub enum MnemonicName {
[INFO] [stdout]     |          ------------ variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 559 |     Jmp,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 560 |     Jl,
[INFO] [stdout] 561 |     Jle,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 562 |     Jg,
[INFO] [stdout] 563 |     Jge,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 564 |     Je,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 565 |     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:74:9
[INFO] [stdout]    |
[INFO] [stdout] 74 |         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:55:35
[INFO] [stdout]    |
[INFO] [stdout] 55 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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:75:9
[INFO] [stdout]    |
[INFO] [stdout] 75 |         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:55:35
[INFO] [stdout]    |
[INFO] [stdout] 55 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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:76:9
[INFO] [stdout]    |
[INFO] [stdout] 76 |         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:55:35
[INFO] [stdout]    |
[INFO] [stdout] 55 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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:77:9
[INFO] [stdout]    |
[INFO] [stdout] 77 |         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:55:35
[INFO] [stdout]    |
[INFO] [stdout] 55 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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 `RBX` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:56:35
[INFO] [stdout]    |
[INFO] [stdout] 56 |                           pub const [<R $name>]: Register = Register::new($attr, RegisterSize::Q, false);
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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:78:9
[INFO] [stdout]    |
[INFO] [stdout] 78 |         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:55:35
[INFO] [stdout]    |
[INFO] [stdout] 55 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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:79:9
[INFO] [stdout]    |
[INFO] [stdout] 79 |         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:55:35
[INFO] [stdout]    |
[INFO] [stdout] 55 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |         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:55:35
[INFO] [stdout]    |
[INFO] [stdout] 55 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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:81:9
[INFO] [stdout]    |
[INFO] [stdout] 81 |         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:55:35
[INFO] [stdout]    |
[INFO] [stdout] 55 |                           pub const [<E $name>]: Register = Register::new($attr, RegisterSize::D, false );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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:62:35
[INFO] [stdout]    |
[INFO] [stdout] 62 |                           pub const [<$name D>]: Register = Register::new($attr, RegisterSize::D, true );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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:63:35
[INFO] [stdout]    |
[INFO] [stdout] 63 |                           pub const [<$name W>]: Register = Register::new($attr, RegisterSize::W, true);
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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:62:35
[INFO] [stdout]    |
[INFO] [stdout] 62 |                           pub const [<$name D>]: Register = Register::new($attr, RegisterSize::D, true );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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:63:35
[INFO] [stdout]    |
[INFO] [stdout] 63 |                           pub const [<$name W>]: Register = Register::new($attr, RegisterSize::W, true);
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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 `R10D` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:62:35
[INFO] [stdout]    |
[INFO] [stdout] 62 |                           pub const [<$name D>]: Register = Register::new($attr, RegisterSize::D, true );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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:63:35
[INFO] [stdout]    |
[INFO] [stdout] 63 |                           pub const [<$name W>]: Register = Register::new($attr, RegisterSize::W, true);
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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 `R11D` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:62:35
[INFO] [stdout]    |
[INFO] [stdout] 62 |                           pub const [<$name D>]: Register = Register::new($attr, RegisterSize::D, true );
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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 `R11W` is never used
[INFO] [stdout]   --> src/emitter/text/mnemonics.rs:63:35
[INFO] [stdout]    |
[INFO] [stdout] 63 |                           pub const [<$name W>]: Register = Register::new($attr, RegisterSize::W, true);
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 | /     registers!(
[INFO] [stdout] 74 | |         AX = (0x0),
[INFO] [stdout] 75 | |         CX = (0x1),
[INFO] [stdout] 76 | |         DX = (0x2),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |         R11 = (0x3, ext)
[INFO] [stdout] 86 | |     );
[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`, `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 |     labels: BTreeMap<String, usize>,
[INFO] [stdout] 26 |     symbols: BTreeMap<String, Symbol>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 27 |     relocations: Vec<Relocation>,
[INFO] [stdout] 28 |     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:72:12
[INFO] [stdout]     |
[INFO] [stdout]  31 | impl CodeContext {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  72 |     pub fn get_pc(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  76 |     pub fn get(&self, i: usize) -> Mnemonic {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  80 |     pub fn get_mut(&mut self, i: usize) -> &mut Mnemonic {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  84 |     pub fn get_offset(&self, i: usize) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  92 |     pub fn get_code_size_with_calls(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn get_calls(&self) -> BTreeMap<String, Call> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     pub fn get_label_offset(&self, label: &str) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     pub fn compute_calls(
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     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:185:8
[INFO] [stdout]     |
[INFO] [stdout] 185 |     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:217:8
[INFO] [stdout]     |
[INFO] [stdout] 217 |     fn assert_eq_hex(actual: Vec<u8>, expected: Vec<u8>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: enum `StdHandle` is never used
[INFO] [stdout]  --> src/emitter/text/stdlib/windows.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub enum StdHandle {
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: function `print` is never used
[INFO] [stdout]   --> src/emitter/text/stdlib/windows.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn print(code_context: &mut CodeContext) {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: function `exit` is never used
[INFO] [stdout]   --> src/emitter/text/stdlib/windows.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub fn exit(code_context: &mut CodeContext, exit_code: u64) {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DataRef` is never constructed
[INFO] [stdout]   --> src/emitter/variables.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct DataRef {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/emitter/variables.rs:68:17
[INFO] [stdout]    |
[INFO] [stdout] 68 |     DataSection(u64),
[INFO] [stdout]    |     ----------- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ValueLocation` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 68 -     DataSection(u64),
[INFO] [stdout] 68 +     DataSection(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_vec` is never used
[INFO] [stdout]    --> src/emitter/variables.rs:104:12
[INFO] [stdout]     |
[INFO] [stdout]  80 | impl Variable {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn as_vec(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: `compiler` (bin "compiler") generated 166 warnings (run `cargo fix --bin "compiler" -p compiler` to apply 21 suggestions)
[INFO] [stdout]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.17s
[INFO] [stdout]      Running `/opt/rustwide/target/debug/compiler /opt/rustwide/workdir/tests/fixtures/assignment.jc /opt/rustwide/workdir/local/bin/assignment`
[INFO] [stdout] [src/emitter.rs:27:5] &variables = {
[INFO] [stdout]     "global::main::info": Variable {
[INFO] [stdout]         name: "global::main::info",
[INFO] [stdout]         value_type: String(
[INFO] [stdout]             "Value\n",
[INFO] [stdout]         ),
[INFO] [stdout]         value_size: 14,
[INFO] [stdout]         value_loc: Stack(
[INFO] [stdout]             Block(
[INFO] [stdout]                 0,
[INFO] [stdout]             ),
[INFO] [stdout]         ),
[INFO] [stdout]         reference: false,
[INFO] [stdout]     },
[INFO] [stdout]     "global::main::num": Variable {
[INFO] [stdout]         name: "global::main::num",
[INFO] [stdout]         value_type: Int(
[INFO] [stdout]             33,
[INFO] [stdout]         ),
[INFO] [stdout]         value_size: 8,
[INFO] [stdout]         value_loc: Stack(
[INFO] [stdout]             Block(
[INFO] [stdout]                 0,
[INFO] [stdout]             ),
[INFO] [stdout]         ),
[INFO] [stdout]         reference: false,
[INFO] [stdout]     },
[INFO] [stdout] }
[INFO] [stdout] [src/emitter/text.rs:351:9] &ids = [
[INFO] [stdout]     "global::main::info",
[INFO] [stdout]     "global::main::num",
[INFO] [stdout] ]
[INFO] [stdout] [src/emitter/text.rs:356:13] data = Variable {
[INFO] [stdout]     name: "global::main::info",
[INFO] [stdout]     value_type: String(
[INFO] [stdout]         "Value\n",
[INFO] [stdout]     ),
[INFO] [stdout]     value_size: 14,
[INFO] [stdout]     value_loc: Stack(
[INFO] [stdout]         Block(
[INFO] [stdout]             0,
[INFO] [stdout]         ),
[INFO] [stdout]     ),
[INFO] [stdout]     reference: false,
[INFO] [stdout] }
[INFO] [stdout] [src/emitter/text.rs:366:25] self.stack_manager.function_stack_size() = 16
[INFO] [stdout] [src/emitter/text.rs:356:13] data = Variable {
[INFO] [stdout]     name: "global::main::num",
[INFO] [stdout]     value_type: Int(
[INFO] [stdout]         33,
[INFO] [stdout]     ),
[INFO] [stdout]     value_size: 8,
[INFO] [stdout]     value_loc: Stack(
[INFO] [stdout]         Block(
[INFO] [stdout]             0,
[INFO] [stdout]         ),
[INFO] [stdout]     ),
[INFO] [stdout]     reference: false,
[INFO] [stdout] }
[INFO] [stdout] [src/emitter/text.rs:366:25] self.stack_manager.function_stack_size() = 24
[INFO] [stdout] [src/emitter/text/abi/linux.rs:29:17] &arg = Variable {
[INFO] [stdout]     name: "global::main::info",
[INFO] [stdout]     value_type: String(
[INFO] [stdout]         "Value\n",
[INFO] [stdout]     ),
[INFO] [stdout]     value_size: 14,
[INFO] [stdout]     value_loc: Stack(
[INFO] [stdout]         Block(
[INFO] [stdout]             16,
[INFO] [stdout]         ),
[INFO] [stdout]     ),
[INFO] [stdout]     reference: true,
[INFO] [stdout] }
[INFO] [stdout] [src/emitter/text/abi/linux.rs:29:17] &arg = Variable {
[INFO] [stdout]     name: "global::main::num",
[INFO] [stdout]     value_type: Int(
[INFO] [stdout]         33,
[INFO] [stdout]     ),
[INFO] [stdout]     value_size: 8,
[INFO] [stdout]     value_loc: Stack(
[INFO] [stdout]         Block(
[INFO] [stdout]             24,
[INFO] [stdout]         ),
[INFO] [stdout]     ),
[INFO] [stdout]     reference: false,
[INFO] [stdout] }
[INFO] [stdout] [src/emitter/text/abi/linux.rs:29:17] &arg = Variable {
[INFO] [stdout]     name: "global::main::info",
[INFO] [stdout]     value_type: String(
[INFO] [stdout]         "Value\n",
[INFO] [stdout]     ),
[INFO] [stdout]     value_size: 16,
[INFO] [stdout]     value_loc: Stack(
[INFO] [stdout]         Block(
[INFO] [stdout]             48,
[INFO] [stdout]         ),
[INFO] [stdout]     ),
[INFO] [stdout]     reference: true,
[INFO] [stdout] }
[INFO] [stdout] [src/emitter/text/abi/linux.rs:29:17] &arg = Variable {
[INFO] [stdout]     name: "global::main::num",
[INFO] [stdout]     value_type: Int(
[INFO] [stdout]         33,
[INFO] [stdout]     ),
[INFO] [stdout]     value_size: 8,
[INFO] [stdout]     value_loc: Stack(
[INFO] [stdout]         Block(
[INFO] [stdout]             56,
[INFO] [stdout]         ),
[INFO] [stdout]     ),
[INFO] [stdout]     reference: false,
[INFO] [stdout] }
[INFO] [stdout] [src/emitter/elf.rs:210:5] last_local_idx = 4
[INFO] [stdout] 
[INFO] [stdout] thread 'main' (71) panicked at src/emitter/elf.rs:115: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: __rustc::rust_begin_unwind
[INFO] [stdout]              at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:689:5
[INFO] [stdout]    1: core::panicking::panic_fmt
[INFO] [stdout]              at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/core/src/panicking.rs:80:14
[INFO] [stdout]    2: core::result::unwrap_failed
[INFO] [stdout]              at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/core/src/result.rs:1867:5
[INFO] [stdout]    3: <core::result::Result<std::fs::File, std::io::error::Error>>::unwrap
[INFO] [stdout]              at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/core/src/result.rs:1233:23
[INFO] [stdout]    4: compiler::emitter::elf::build
[INFO] [stdout]              at ./src/emitter/elf.rs:115:51
[INFO] [stdout]    5: compiler::emitter::build_executable
[INFO] [stdout]              at ./src/emitter.rs:34:5
[INFO] [stdout]    6: compiler::main
[INFO] [stdout]              at ./src/main.rs:20:5
[INFO] [stdout]    7: <fn() as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/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:     0x631401aadb52 - std[3f03f8b59f91bef1]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x631401aadb52 - std[3f03f8b59f91bef1]::backtrace_rs::backtrace::trace_unsynchronized::<std[3f03f8b59f91bef1]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x631401aadb52 - std[3f03f8b59f91bef1]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x631401aadb52 - <<std[3f03f8b59f91bef1]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[585f66e14d78f9ba]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x631401ac236a - <core[585f66e14d78f9ba]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x631401ac236a - core[585f66e14d78f9ba]::fmt::write
[INFO] [stdout]    6:     0x631401ab2956 - std[3f03f8b59f91bef1]::io::default_write_fmt::<alloc[15e7b27aba85d2e2]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x631401ab2956 - <alloc[15e7b27aba85d2e2]::vec::Vec<u8> as std[3f03f8b59f91bef1]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x631401a8c08f - <std[3f03f8b59f91bef1]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x631401a8c08f - std[3f03f8b59f91bef1]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x631401aa5e89 - std[3f03f8b59f91bef1]::panicking::default_hook
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x631401a4165e - <alloc[15e7b27aba85d2e2]::boxed::Box<dyn for<'a, 'b> core[585f66e14d78f9ba]::ops::function::Fn<(&'a std[3f03f8b59f91bef1]::panic::PanicHookInfo<'b>,), Output = ()> + core[585f66e14d78f9ba]::marker::Sync + core[585f66e14d78f9ba]::marker::Send> as core[585f66e14d78f9ba]::ops::function::Fn<(&std[3f03f8b59f91bef1]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x631401a4165e - test[30224e0cb089acd2]::test_main_with_exit_callback::<test[30224e0cb089acd2]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x631401aa6042 - <alloc[15e7b27aba85d2e2]::boxed::Box<dyn for<'a, 'b> core[585f66e14d78f9ba]::ops::function::Fn<(&'a std[3f03f8b59f91bef1]::panic::PanicHookInfo<'b>,), Output = ()> + core[585f66e14d78f9ba]::marker::Sync + core[585f66e14d78f9ba]::marker::Send> as core[585f66e14d78f9ba]::ops::function::Fn<(&std[3f03f8b59f91bef1]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x631401aa6042 - std[3f03f8b59f91bef1]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x631401a8c148 - std[3f03f8b59f91bef1]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x631401a81339 - std[3f03f8b59f91bef1]::sys::backtrace::__rust_end_short_backtrace::<std[3f03f8b59f91bef1]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x631401a8cf9d - __rustc[caa99d26c7bae192]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x631401ac29dc - core[585f66e14d78f9ba]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x631401a30398 - core[585f66e14d78f9ba]::panicking::panic_display::<alloc[15e7b27aba85d2e2]::string::String>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/core/src/panicking.rs:259:5
[INFO] [stdout]   20:     0x631401a3168e - compiler_test[19a2d3392bb25126]::compile_src
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/compiler_test.rs:81:9
[INFO] [stdout]   21:     0x631401a31d01 - compiler_test[19a2d3392bb25126]::test_assignment
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/compiler_test.rs:31:18
[INFO] [stdout]   22:     0x631401a30a97 - compiler_test[19a2d3392bb25126]::test_assignment::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/compiler_test.rs:29:21
[INFO] [stdout]   23:     0x631401a355f6 - <compiler_test[19a2d3392bb25126]::test_assignment::{closure#0} as core[585f66e14d78f9ba]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x631401a35a0b - <fn() -> core[585f66e14d78f9ba]::result::Result<(), alloc[15e7b27aba85d2e2]::string::String> as core[585f66e14d78f9ba]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x631401a35a0b - test[30224e0cb089acd2]::__rust_begin_short_backtrace::<core[585f66e14d78f9ba]::result::Result<(), alloc[15e7b27aba85d2e2]::string::String>, fn() -> core[585f66e14d78f9ba]::result::Result<(), alloc[15e7b27aba85d2e2]::string::String>>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/test/src/lib.rs:663:18
[INFO] [stdout]   26:     0x631401a4226a - test[30224e0cb089acd2]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/test/src/lib.rs:686:74
[INFO] [stdout]   27:     0x631401a4226a - <core[585f66e14d78f9ba]::panic::unwind_safe::AssertUnwindSafe<test[30224e0cb089acd2]::run_test_in_process::{closure#0}> as core[585f66e14d78f9ba]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   28:     0x631401a4226a - std[3f03f8b59f91bef1]::panicking::catch_unwind::do_call::<core[585f66e14d78f9ba]::panic::unwind_safe::AssertUnwindSafe<test[30224e0cb089acd2]::run_test_in_process::{closure#0}>, core[585f66e14d78f9ba]::result::Result<(), alloc[15e7b27aba85d2e2]::string::String>>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x631401a4226a - std[3f03f8b59f91bef1]::panicking::catch_unwind::<core[585f66e14d78f9ba]::result::Result<(), alloc[15e7b27aba85d2e2]::string::String>, core[585f66e14d78f9ba]::panic::unwind_safe::AssertUnwindSafe<test[30224e0cb089acd2]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x631401a4226a - std[3f03f8b59f91bef1]::panic::catch_unwind::<core[585f66e14d78f9ba]::panic::unwind_safe::AssertUnwindSafe<test[30224e0cb089acd2]::run_test_in_process::{closure#0}>, core[585f66e14d78f9ba]::result::Result<(), alloc[15e7b27aba85d2e2]::string::String>>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x631401a4226a - test[30224e0cb089acd2]::run_test_in_process
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/test/src/lib.rs:686:27
[INFO] [stdout]   32:     0x631401a4226a - test[30224e0cb089acd2]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/test/src/lib.rs:607:43
[INFO] [stdout]   33:     0x631401a3c734 - test[30224e0cb089acd2]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/test/src/lib.rs:637:41
[INFO] [stdout]   34:     0x631401a3c734 - std[3f03f8b59f91bef1]::sys::backtrace::__rust_begin_short_backtrace::<test[30224e0cb089acd2]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x631401a44d62 - std[3f03f8b59f91bef1]::thread::lifecycle::spawn_unchecked::<test[30224e0cb089acd2]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   36:     0x631401a44d62 - <core[585f66e14d78f9ba]::panic::unwind_safe::AssertUnwindSafe<std[3f03f8b59f91bef1]::thread::lifecycle::spawn_unchecked<test[30224e0cb089acd2]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[585f66e14d78f9ba]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   37:     0x631401a44d62 - std[3f03f8b59f91bef1]::panicking::catch_unwind::do_call::<core[585f66e14d78f9ba]::panic::unwind_safe::AssertUnwindSafe<std[3f03f8b59f91bef1]::thread::lifecycle::spawn_unchecked<test[30224e0cb089acd2]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x631401a44d62 - std[3f03f8b59f91bef1]::panicking::catch_unwind::<(), core[585f66e14d78f9ba]::panic::unwind_safe::AssertUnwindSafe<std[3f03f8b59f91bef1]::thread::lifecycle::spawn_unchecked<test[30224e0cb089acd2]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x631401a44d62 - std[3f03f8b59f91bef1]::panic::catch_unwind::<core[585f66e14d78f9ba]::panic::unwind_safe::AssertUnwindSafe<std[3f03f8b59f91bef1]::thread::lifecycle::spawn_unchecked<test[30224e0cb089acd2]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x631401a44d62 - std[3f03f8b59f91bef1]::thread::lifecycle::spawn_unchecked::<test[30224e0cb089acd2]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   41:     0x631401a44d62 - <std[3f03f8b59f91bef1]::thread::lifecycle::spawn_unchecked<test[30224e0cb089acd2]::run_test::{closure#1}, ()>::{closure#1} as core[585f66e14d78f9ba]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x631401aad3ff - <alloc[15e7b27aba85d2e2]::boxed::Box<dyn core[585f66e14d78f9ba]::ops::function::FnOnce<(), Output = ()> + core[585f66e14d78f9ba]::marker::Send> as core[585f66e14d78f9ba]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   43:     0x631401aad3ff - <std[3f03f8b59f91bef1]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   44:     0x79be529baaa4 - <unknown>
[INFO] [stdout]   45:     0x79be52a47a64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test_loop stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_loop' (73) panicked at tests/compiler_test.rs:81:9:
[INFO] [stdout] warning: unused import: `BTreeMap`
[INFO] [stdout]  --> src/emitter/elf.rs:5:19
[INFO] [stdout]   |
[INFO] [stdout] 5 |     collections::{BTreeMap, HashMap},
[INFO] [stdout]   |                   ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::emitter::text::mnemonics::Operand::Offset32`
[INFO] [stdout]    --> src/emitter/text/code_context.rs:180:9
[INFO] [stdout]     |
[INFO] [stdout] 180 |     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:181:32
[INFO] [stdout]     |
[INFO] [stdout] 181 |     use crate::emitter::text::{mnemonics::*, CodeContext};
[INFO] [stdout]     |                                ^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::emitter::stack::StackManager`
[INFO] [stdout]  --> src/emitter/text/stdlib/windows.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::emitter::stack::StackManager;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]  --> src/emitter/text/stdlib.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::mem;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/parser.rs:227:9
[INFO] [stdout]     |
[INFO] [stdout] 227 |         return todo!(); //Ok((Some(ast::RhsExpression::Block(Block::new(id, stmts))), tokens));
[INFO] [stdout]     |         ^^^^^^^-------
[INFO] [stdout]     |         |      |
[INFO] [stdout]     |         |      any code following this expression is unreachable
[INFO] [stdout]     |         unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sections_size`
[INFO] [stdout]    --> src/emitter/elf/sections.rs:132:9
[INFO] [stdout]     |
[INFO] [stdout] 132 |     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]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stmts`
[INFO] [stdout]   --> src/emitter/text.rs:98:35
[INFO] [stdout]    |
[INFO] [stdout] 98 |             ast::Statement::Block(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:108:13
[INFO] [stdout]     |
[INFO] [stdout] 108 |             return_type,
[INFO] [stdout]     |             ^^^^^^^^^^^ help: try ignoring the field: `return_type: _`
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block`
[INFO] [stdout]    --> src/emitter/text.rs:155:39
[INFO] [stdout]     |
[INFO] [stdout] 155 |             ast::RhsExpression::Block(block) => todo!(),
[INFO] [stdout]     |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_block`
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `unary_operation`
[INFO] [stdout]    --> src/emitter/text.rs:199:36
[INFO] [stdout]     |
[INFO] [stdout] 199 |             ast::Expression::Unary(unary_operation) => todo!(),
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_unary_operation`
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `binary_operation`
[INFO] [stdout]    --> src/emitter/text.rs:200:37
[INFO] [stdout]     |
[INFO] [stdout] 200 |             ast::Expression::Binary(binary_operation) => todo!(),
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_binary_operation`
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> src/emitter/text.rs:244:28
[INFO] [stdout]     |
[INFO] [stdout] 244 |                 Value::Int(n) => {
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scope`
[INFO] [stdout]    --> src/emitter/text.rs:302:45
[INFO] [stdout]     |
[INFO] [stdout] 302 |     fn visit_loop(&mut self, l: &ast::Loop, scope: &str) {
[INFO] [stdout]     |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_scope`
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block`
[INFO] [stdout]    --> src/emitter/variables.rs:154:39
[INFO] [stdout]     |
[INFO] [stdout] 154 |             ast::RhsExpression::Block(block) => todo!(),
[INFO] [stdout]     |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_block`
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expr`
[INFO] [stdout]   --> src/parser/ast_printer.rs:93:35
[INFO] [stdout]    |
[INFO] [stdout] 93 |             UnaryOperation::Minus(expr) => todo!(),
[INFO] [stdout]    |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_expr`
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expr`
[INFO] [stdout]   --> src/parser/ast_printer.rs:94:33
[INFO] [stdout]    |
[INFO] [stdout] 94 |             UnaryOperation::Not(expr) => todo!(),
[INFO] [stdout]    |                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_expr`
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `binary_operation`
[INFO] [stdout]   --> src/parser/ast_printer.rs:97:28
[INFO] [stdout]    |
[INFO] [stdout] 97 |         Expression::Binary(binary_operation) => todo!(),
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_binary_operation`
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/parser.rs:226:8
[INFO] [stdout]     |
[INFO] [stdout] 226 |     if let (block, tokens) = block(tokens, scope)? {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout]     = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block`
[INFO] [stdout]    --> src/parser.rs:226:13
[INFO] [stdout]     |
[INFO] [stdout] 226 |     if let (block, tokens) = block(tokens, scope)? {
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_block`
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:226:20
[INFO] [stdout]     |
[INFO] [stdout] 226 |     if let (block, tokens) = block(tokens, scope)? {
[INFO] [stdout]     |                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scope`
[INFO] [stdout]    --> src/parser.rs:250:5
[INFO] [stdout]     |
[INFO] [stdout] 250 |     scope: &str,
[INFO] [stdout]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_scope`
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scope`
[INFO] [stdout]    --> src/parser.rs:310:37
[INFO] [stdout]     |
[INFO] [stdout] 310 | fn literal<'a>(tokens: &'a [Token], scope: &str) -> (Option<ast::Literal>, &'a [Token]) {
[INFO] [stdout]     |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_scope`
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Program` is never constructed
[INFO] [stdout]  --> src/emitter/ast.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Program {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Item` is never used
[INFO] [stdout]  --> src/emitter/ast.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub enum Item {
[INFO] [stdout]   |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Float` and `Bool` are never constructed
[INFO] [stdout]   --> src/emitter/ast.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub enum TypeName {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 52 |     Float,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 53 |     Bool,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TypeName` 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/ast.rs:123:12
[INFO] [stdout]     |
[INFO] [stdout] 123 |     Return(Option<Expression>),
[INFO] [stdout]     |     ------ ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ControlFlow` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 123 -     Return(Option<Expression>),
[INFO] [stdout] 123 +     Return(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Block` is never constructed
[INFO] [stdout]    --> src/emitter/ast.rs:134:5
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub enum Statement {
[INFO] [stdout]     |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 134 |     Block(Block),
[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] 
[INFO] [stdout] warning: variant `Block` is never constructed
[INFO] [stdout]    --> src/emitter/ast.rs:185:5
[INFO] [stdout]     |
[INFO] [stdout] 183 | pub enum RhsExpression {
[INFO] [stdout]     |          ------------- variant in this enum
[INFO] [stdout] 184 |     Expression(Expression),
[INFO] [stdout] 185 |     Block(Block),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RhsExpression` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Binary` is never constructed
[INFO] [stdout]    --> src/emitter/ast.rs:203:5
[INFO] [stdout]     |
[INFO] [stdout] 201 | pub enum Expression {
[INFO] [stdout]     |          ---------- variant in this enum
[INFO] [stdout] 202 |     Unary(UnaryOperation),
[INFO] [stdout] 203 |     Binary(BinaryOperation),
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Expression` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Minus` and `Not` are never constructed
[INFO] [stdout]    --> src/emitter/ast.rs:211:5
[INFO] [stdout]     |
[INFO] [stdout] 210 | pub enum UnaryOperation {
[INFO] [stdout]     |          -------------- variants in this enum
[INFO] [stdout] 211 |     Minus(Box<Expression>),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 212 |     Not(Box<Expression>),
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `UnaryOperation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Plus` and `Minus` are never constructed
[INFO] [stdout]    --> src/emitter/ast.rs:218:5
[INFO] [stdout]     |
[INFO] [stdout] 217 | pub enum BinaryOperation {
[INFO] [stdout]     |          --------------- variants in this enum
[INFO] [stdout] 218 |     Plus(Box<Expression>, Box<Expression>),
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 219 |     Minus(Box<Expression>, Box<Expression>),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BinaryOperation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] warning: method `len` is never used
[INFO] [stdout]    --> src/emitter/ast.rs:241:12
[INFO] [stdout]     |
[INFO] [stdout] 240 | impl Literal {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] 241 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] warning: function `align` is never used
[INFO] [stdout]    --> src/emitter/elf.rs:258:4
[INFO] [stdout]     |
[INFO] [stdout] 258 | 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]    |
[WARN] too many lines in the log, truncating it
