[INFO] cloning repository https://github.com/writedan/mips-vm
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/writedan/mips-vm" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwritedan%2Fmips-vm", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwritedan%2Fmips-vm'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 6c68ee8386f4a15601fdc915f9078db12704268c
[INFO] checking writedan/mips-vm against try#5ef65a4ed75279dc1b7a26cedc27293a9f4ca8db for pr-143717
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwritedan%2Fmips-vm" "/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/writedan/mips-vm
[INFO] finished tweaking git repo https://github.com/writedan/mips-vm
[INFO] tweaked toml for git repo https://github.com/writedan/mips-vm written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/writedan/mips-vm on toolchain 5ef65a4ed75279dc1b7a26cedc27293a9f4ca8db
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5ef65a4ed75279dc1b7a26cedc27293a9f4ca8db" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/writedan/mips-vm 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" "+5ef65a4ed75279dc1b7a26cedc27293a9f4ca8db" "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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+5ef65a4ed75279dc1b7a26cedc27293a9f4ca8db" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 600a86a5830d546fe9bfa4f92dc0a5fa646d701ceebc4a62b0fcc0ad6e01dfef
[INFO] running `Command { std: "docker" "start" "-a" "600a86a5830d546fe9bfa4f92dc0a5fa646d701ceebc4a62b0fcc0ad6e01dfef", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "600a86a5830d546fe9bfa4f92dc0a5fa646d701ceebc4a62b0fcc0ad6e01dfef", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "600a86a5830d546fe9bfa4f92dc0a5fa646d701ceebc4a62b0fcc0ad6e01dfef", kill_on_drop: false }`
[INFO] [stdout] 600a86a5830d546fe9bfa4f92dc0a5fa646d701ceebc4a62b0fcc0ad6e01dfef
[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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+5ef65a4ed75279dc1b7a26cedc27293a9f4ca8db" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 03e59f032d168ea4b5eb0cd130d833d104fea7734fbb3a22304d7db349736405
[INFO] running `Command { std: "docker" "start" "-a" "03e59f032d168ea4b5eb0cd130d833d104fea7734fbb3a22304d7db349736405", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.66
[INFO] [stderr]    Compiling unicode-ident v1.0.11
[INFO] [stderr]     Checking utf8parse v0.2.1
[INFO] [stderr]    Compiling rustix v0.38.11
[INFO] [stderr]     Checking anstyle v1.0.2
[INFO] [stderr]     Checking linux-raw-sys v0.4.5
[INFO] [stderr]     Checking bitflags v2.4.0
[INFO] [stderr]     Checking anstyle-query v1.0.0
[INFO] [stderr]     Checking anstyle-parse v0.2.1
[INFO] [stderr]     Checking colorchoice v1.0.0
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]     Checking clap_lex v0.5.1
[INFO] [stderr]     Checking strsim v0.10.0
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]     Checking anstream v0.5.0
[INFO] [stderr]     Checking clap_builder v4.4.2
[INFO] [stderr]    Compiling quote v1.0.33
[INFO] [stderr]    Compiling syn v2.0.31
[INFO] [stderr]     Checking is-terminal v0.4.9
[INFO] [stderr]     Checking colored v2.0.4
[INFO] [stderr]    Compiling clap_derive v4.4.2
[INFO] [stderr]     Checking clap v4.4.2
[INFO] [stderr]     Checking rustic-mips v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/lexer/consumers.rs:2:20
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::lexer::{self, *};
[INFO] [stdout]   |                    ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/parse/parsers.rs:3:29
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::parse::symbols::{self, *};
[INFO] [stdout]   |                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/lexer/consumers.rs:2:20
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::lexer::{self, *};
[INFO] [stdout]   |                    ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/parse/parsers.rs:3:29
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::parse::symbols::{self, *};
[INFO] [stdout]   |                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> src/lexer/tokens.rs:30:21
[INFO] [stdout]    |
[INFO] [stdout] 30 |             Token::Directive(id, _) => write!(f, "Directive"),
[INFO] [stdout]    |                              ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> src/lexer/tokens.rs:31:20
[INFO] [stdout]    |
[INFO] [stdout] 31 |             Token::DefLabel(id, _) => write!(f, "DefineLabel"),
[INFO] [stdout]    |                             ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> src/lexer/tokens.rs:32:22
[INFO] [stdout]    |
[INFO] [stdout] 32 |             Token::Identifier(id, _) => write!(f, "Identifier"),
[INFO] [stdout]    |                               ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> src/lexer/tokens.rs:33:20
[INFO] [stdout]    |
[INFO] [stdout] 33 |             Token::Register(id, _) => write!(f, "Register"),
[INFO] [stdout]    |                             ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> src/lexer/tokens.rs:34:25
[INFO] [stdout]    |
[INFO] [stdout] 34 |             Token::StringLiteral(id, _) => write!(f, "StringLiteral"),
[INFO] [stdout]    |                                  ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num`
[INFO] [stdout]   --> src/lexer/tokens.rs:35:25
[INFO] [stdout]    |
[INFO] [stdout] 35 |             Token::NumberLiteral(num, _) => write!(f, "NumberLiteral"),
[INFO] [stdout]    |                                  ^^^ help: if this is intentional, prefix it with an underscore: `_num`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/lexer/consumers.rs:175:9
[INFO] [stdout]     |
[INFO] [stdout] 175 |                     Ok(token) => {},
[INFO] [stdout]     |                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `text`
[INFO] [stdout]    --> src/lexer.rs:154:8
[INFO] [stdout]     |
[INFO] [stdout] 154 |             let text = String::from(lexer.text);
[INFO] [stdout]     |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_text`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/errors.rs:51:7
[INFO] [stdout]    |
[INFO] [stdout] 51 |         let mut line = &self.line;
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/errors.rs:52:7
[INFO] [stdout]    |
[INFO] [stdout] 52 |         let mut line = line.trim().to_string();
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/errors.rs:53:7
[INFO] [stdout]    |
[INFO] [stdout] 53 |         let mut line = mips::syntax_highlight(line);
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `segment`
[INFO] [stdout]    --> src/parse/parsers.rs:110:32
[INFO] [stdout]     |
[INFO] [stdout] 110 |         if let Token::Identifier(id, segment) = &tokens[*idx] {
[INFO] [stdout]     |                                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_segment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `segment`
[INFO] [stdout]    --> src/parse/parsers.rs:240:31
[INFO] [stdout]     |
[INFO] [stdout] 240 |         if let Token::Directive(id, segment) = token {
[INFO] [stdout]     |                                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_segment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> src/parse.rs:21:20
[INFO] [stdout]    |
[INFO] [stdout] 21 |         Token::Directive(id, segment) => {
[INFO] [stdout]    |                          ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `segment`
[INFO] [stdout]   --> src/parse.rs:21:24
[INFO] [stdout]    |
[INFO] [stdout] 21 |         Token::Directive(id, segment) => {
[INFO] [stdout]    |                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_segment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> src/parse.rs:28:19
[INFO] [stdout]    |
[INFO] [stdout] 28 |         Token::DefLabel(id, segment) => {
[INFO] [stdout]    |                         ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `segment`
[INFO] [stdout]   --> src/parse.rs:28:23
[INFO] [stdout]    |
[INFO] [stdout] 28 |         Token::DefLabel(id, segment) => {
[INFO] [stdout]    |                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_segment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> src/parse.rs:35:21
[INFO] [stdout]    |
[INFO] [stdout] 35 |         Token::Identifier(id, segment) => {
[INFO] [stdout]    |                           ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `segment`
[INFO] [stdout]   --> src/parse.rs:35:25
[INFO] [stdout]    |
[INFO] [stdout] 35 |         Token::Identifier(id, segment) => {
[INFO] [stdout]    |                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_segment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> src/lexer/tokens.rs:30:21
[INFO] [stdout]    |
[INFO] [stdout] 30 |             Token::Directive(id, _) => write!(f, "Directive"),
[INFO] [stdout]    |                              ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> src/lexer/tokens.rs:31:20
[INFO] [stdout]    |
[INFO] [stdout] 31 |             Token::DefLabel(id, _) => write!(f, "DefineLabel"),
[INFO] [stdout]    |                             ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> src/lexer/tokens.rs:32:22
[INFO] [stdout]    |
[INFO] [stdout] 32 |             Token::Identifier(id, _) => write!(f, "Identifier"),
[INFO] [stdout]    |                               ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> src/lexer/tokens.rs:33:20
[INFO] [stdout]    |
[INFO] [stdout] 33 |             Token::Register(id, _) => write!(f, "Register"),
[INFO] [stdout]    |                             ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> src/lexer/tokens.rs:34:25
[INFO] [stdout]    |
[INFO] [stdout] 34 |             Token::StringLiteral(id, _) => write!(f, "StringLiteral"),
[INFO] [stdout]    |                                  ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num`
[INFO] [stdout]   --> src/lexer/tokens.rs:35:25
[INFO] [stdout]    |
[INFO] [stdout] 35 |             Token::NumberLiteral(num, _) => write!(f, "NumberLiteral"),
[INFO] [stdout]    |                                  ^^^ help: if this is intentional, prefix it with an underscore: `_num`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/lexer/consumers.rs:175:9
[INFO] [stdout]     |
[INFO] [stdout] 175 |                     Ok(token) => {},
[INFO] [stdout]     |                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Newline` is never constructed
[INFO] [stdout]   --> src/lexer/tokens.rs:23:2
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub enum Token {
[INFO] [stdout]    |          ----- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 23 |     Newline,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Token` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `call_err` is never used
[INFO] [stdout]   --> src/parse.rs:93:4
[INFO] [stdout]    |
[INFO] [stdout] 93 | fn call_err(segment: &CodeSegment, msg: errors::Msg) -> Return {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `root` is never read
[INFO] [stdout]  --> src/parse/ast.rs:3:2
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct ASTree<T> {
[INFO] [stdout]   |            ------ field in this struct
[INFO] [stdout] 3 |     root: T,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `ASTree` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `root` is never used
[INFO] [stdout]   --> src/parse/ast.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl<T> ASTree<T> {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn root(self) -> T {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_child`, `add_subtree`, and `get_children` are never used
[INFO] [stdout]   --> src/parse/ast.rs:77:5
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub trait Tree<T> {
[INFO] [stdout]    |           ---- methods in this trait
[INFO] [stdout] 77 |     fn add_child(&mut self, child: T);
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 78 |     fn add_node(&mut self, child: ASTNode<T>);
[INFO] [stdout] 79 |     fn add_subtree(&mut self, child: ASTree<T>);
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 80 |     fn get_children(self) -> Vec<ASTNode<T>>;
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]  --> src/parse/symbols.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 |     Directive(String, CodeSegment),
[INFO] [stdout]   |     --------- ^^^^^^  ^^^^^^^^^^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     fields in this variant
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Symbol` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]   |
[INFO] [stdout] 6 -     Directive(String, CodeSegment),
[INFO] [stdout] 6 +     Directive((), ()),
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]  --> src/parse/symbols.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 |     DefLabel(String, CodeSegment),
[INFO] [stdout]   |     -------- ^^^^^^  ^^^^^^^^^^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     fields in this variant
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Symbol` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]   |
[INFO] [stdout] 7 -     DefLabel(String, CodeSegment),
[INFO] [stdout] 7 +     DefLabel((), ()),
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]  --> src/parse/symbols.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 |     Label(String, CodeSegment),
[INFO] [stdout]   |     ----- ^^^^^^  ^^^^^^^^^^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     fields in this variant
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Symbol` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]   |
[INFO] [stdout] 8 -     Label(String, CodeSegment),
[INFO] [stdout] 8 +     Label((), ()),
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]  --> src/parse/symbols.rs:9:14
[INFO] [stdout]   |
[INFO] [stdout] 9 |     Instruction(Instruction, CodeSegment), // instruction and label must be parsed out here
[INFO] [stdout]   |     ----------- ^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     fields in this variant
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Symbol` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]   |
[INFO] [stdout] 9 -     Instruction(Instruction, CodeSegment), // instruction and label must be parsed out here
[INFO] [stdout] 9 +     Instruction((), ()), // instruction and label must be parsed out here
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/parse/symbols.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 |     Register(Register, CodeSegment),
[INFO] [stdout]    |     -------- ^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Symbol` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 10 -     Register(Register, CodeSegment),
[INFO] [stdout] 10 +     Register((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/parse/symbols.rs:11:16
[INFO] [stdout]    |
[INFO] [stdout] 11 |     StringLiteral(String, CodeSegment),
[INFO] [stdout]    |     ------------- ^^^^^^  ^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Symbol` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 11 -     StringLiteral(String, CodeSegment),
[INFO] [stdout] 11 +     StringLiteral((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `text`
[INFO] [stdout]    --> src/lexer.rs:154:8
[INFO] [stdout]     |
[INFO] [stdout] 154 |             let text = String::from(lexer.text);
[INFO] [stdout]     |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_text`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/parse/symbols.rs:12:16
[INFO] [stdout]    |
[INFO] [stdout] 12 |     NumberLiteral(i32, CodeSegment)
[INFO] [stdout]    |     ------------- ^^^  ^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Symbol` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 12 -     NumberLiteral(i32, CodeSegment)
[INFO] [stdout] 12 +     NumberLiteral((), ())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/parse/instructions.rs:24:2
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub enum Register {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 24 |     S0, S1, S2, S3, S4, S5, S6, S7,        // saved
[INFO] [stdout]    |     ^^  ^^  ^^  ^^  ^^  ^^  ^^  ^^
[INFO] [stdout] 25 |     T8, T9,                                // additional temporaries
[INFO] [stdout]    |     ^^  ^^
[INFO] [stdout] 26 |     K0, K1,                                // reserved by operating system
[INFO] [stdout]    |     ^^  ^^
[INFO] [stdout] 27 |     GP,                                    // global pointer
[INFO] [stdout]    |     ^^
[INFO] [stdout] 28 |     SP,                                    // stack pointer
[INFO] [stdout]    |     ^^
[INFO] [stdout] 29 |     FP,                                    // frame pointer
[INFO] [stdout]    |     ^^
[INFO] [stdout] 30 |     RA,                                    // return address
[INFO] [stdout]    |     ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Register` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/lexer.rs:85:6
[INFO] [stdout]    |
[INFO] [stdout] 85 |                     consumers::Comment::consume(&mut idx, &mut lexer);
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 85 |                     let _ = consumers::Comment::consume(&mut idx, &mut lexer);
[INFO] [stdout]    |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/lexer/tokens.rs:29:3
[INFO] [stdout]    |
[INFO] [stdout] 29 | /         match self {
[INFO] [stdout] 30 | |             Token::Directive(id, _) => write!(f, "Directive"),
[INFO] [stdout] 31 | |             Token::DefLabel(id, _) => write!(f, "DefineLabel"),
[INFO] [stdout] 32 | |             Token::Identifier(id, _) => write!(f, "Identifier"),
[INFO] [stdout] ...  |
[INFO] [stdout] 36 | |             _ => panic!("Unknown token {:?}", self)
[INFO] [stdout] 37 | |         };
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 29 |         let _ = match self {
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/lexer/consumers.rs:171:6
[INFO] [stdout]     |
[INFO] [stdout] 171 |                     Comment::consume(idx, lexer);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 171 |                     let _ = Comment::consume(idx, lexer);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/errors.rs:55:3
[INFO] [stdout]    |
[INFO] [stdout] 55 |         write!(f, "{}\n", prelude);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 55 |         let _ = write!(f, "{}\n", prelude);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/errors.rs:61:17
[INFO] [stdout]    |
[INFO] [stdout] 61 |                 write!(f, "{}", line.chars().nth(idx).expect("This should not fail.").to_string().red());
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 61 |                 let _ = write!(f, "{}", line.chars().nth(idx).expect("This should not fail.").to_string().red());
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/errors.rs:63:17
[INFO] [stdout]    |
[INFO] [stdout] 63 |                 write!(f, "{}", line.chars().nth(idx).expect("This should not fail."));
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 63 |                 let _ = write!(f, "{}", line.chars().nth(idx).expect("This should not fail."));
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/errors.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |         write!(f, "\n");
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 67 |         let _ = write!(f, "\n");
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/errors.rs:71:11
[INFO] [stdout]    |
[INFO] [stdout] 71 |                 write!(f, "{}{} {}", " ".repeat(self.err.segment.idx), "^".repeat(self.err.segment.len).red().bold(), msg.bold());
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 71 |                 let _ = write!(f, "{}{} {}", " ".repeat(self.err.segment.idx), "^".repeat(self.err.segment.len).red().bold(), msg.bold());
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/errors.rs:75:12
[INFO] [stdout]    |
[INFO] [stdout] 75 |                     write!(f, "{}{} {}", " ".repeat(self.err.segment.idx), "^".repeat(self.err.segment.len).red().bold(), msg.bold());
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 75 |                     let _ = write!(f, "{}{} {}", " ".repeat(self.err.segment.idx), "^".repeat(self.err.segment.len).red().bold(), msg.bold());
[INFO] [stdout]    |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/errors.rs:77:13
[INFO] [stdout]    |
[INFO] [stdout] 77 |                         write!(f, "\n");
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 77 |                         let _ = write!(f, "\n");
[INFO] [stdout]    |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/errors.rs:51:7
[INFO] [stdout]    |
[INFO] [stdout] 51 |         let mut line = &self.line;
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/errors.rs:52:7
[INFO] [stdout]    |
[INFO] [stdout] 52 |         let mut line = line.trim().to_string();
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/errors.rs:53:7
[INFO] [stdout]    |
[INFO] [stdout] 53 |         let mut line = mips::syntax_highlight(line);
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `segment`
[INFO] [stdout]    --> src/parse/parsers.rs:110:32
[INFO] [stdout]     |
[INFO] [stdout] 110 |         if let Token::Identifier(id, segment) = &tokens[*idx] {
[INFO] [stdout]     |                                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_segment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `segment`
[INFO] [stdout]    --> src/parse/parsers.rs:240:31
[INFO] [stdout]     |
[INFO] [stdout] 240 |         if let Token::Directive(id, segment) = token {
[INFO] [stdout]     |                                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_segment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> src/parse.rs:21:20
[INFO] [stdout]    |
[INFO] [stdout] 21 |         Token::Directive(id, segment) => {
[INFO] [stdout]    |                          ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `segment`
[INFO] [stdout]   --> src/parse.rs:21:24
[INFO] [stdout]    |
[INFO] [stdout] 21 |         Token::Directive(id, segment) => {
[INFO] [stdout]    |                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_segment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> src/parse.rs:28:19
[INFO] [stdout]    |
[INFO] [stdout] 28 |         Token::DefLabel(id, segment) => {
[INFO] [stdout]    |                         ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `segment`
[INFO] [stdout]   --> src/parse.rs:28:23
[INFO] [stdout]    |
[INFO] [stdout] 28 |         Token::DefLabel(id, segment) => {
[INFO] [stdout]    |                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_segment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> src/parse.rs:35:21
[INFO] [stdout]    |
[INFO] [stdout] 35 |         Token::Identifier(id, segment) => {
[INFO] [stdout]    |                           ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `segment`
[INFO] [stdout]   --> src/parse.rs:35:25
[INFO] [stdout]    |
[INFO] [stdout] 35 |         Token::Identifier(id, segment) => {
[INFO] [stdout]    |                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_segment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Newline` is never constructed
[INFO] [stdout]   --> src/lexer/tokens.rs:23:2
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub enum Token {
[INFO] [stdout]    |          ----- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 23 |     Newline,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Token` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `call_err` is never used
[INFO] [stdout]   --> src/parse.rs:93:4
[INFO] [stdout]    |
[INFO] [stdout] 93 | fn call_err(segment: &CodeSegment, msg: errors::Msg) -> Return {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `root` is never read
[INFO] [stdout]  --> src/parse/ast.rs:3:2
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct ASTree<T> {
[INFO] [stdout]   |            ------ field in this struct
[INFO] [stdout] 3 |     root: T,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `ASTree` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `root` is never used
[INFO] [stdout]   --> src/parse/ast.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl<T> ASTree<T> {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn root(self) -> T {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_child`, `add_subtree`, and `get_children` are never used
[INFO] [stdout]   --> src/parse/ast.rs:77:5
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub trait Tree<T> {
[INFO] [stdout]    |           ---- methods in this trait
[INFO] [stdout] 77 |     fn add_child(&mut self, child: T);
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 78 |     fn add_node(&mut self, child: ASTNode<T>);
[INFO] [stdout] 79 |     fn add_subtree(&mut self, child: ASTree<T>);
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 80 |     fn get_children(self) -> Vec<ASTNode<T>>;
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]  --> src/parse/symbols.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 |     Directive(String, CodeSegment),
[INFO] [stdout]   |     --------- ^^^^^^  ^^^^^^^^^^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     fields in this variant
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Symbol` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]   |
[INFO] [stdout] 6 -     Directive(String, CodeSegment),
[INFO] [stdout] 6 +     Directive((), ()),
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]  --> src/parse/symbols.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 |     DefLabel(String, CodeSegment),
[INFO] [stdout]   |     -------- ^^^^^^  ^^^^^^^^^^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     fields in this variant
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Symbol` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]   |
[INFO] [stdout] 7 -     DefLabel(String, CodeSegment),
[INFO] [stdout] 7 +     DefLabel((), ()),
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]  --> src/parse/symbols.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 |     Label(String, CodeSegment),
[INFO] [stdout]   |     ----- ^^^^^^  ^^^^^^^^^^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     fields in this variant
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Symbol` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]   |
[INFO] [stdout] 8 -     Label(String, CodeSegment),
[INFO] [stdout] 8 +     Label((), ()),
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]  --> src/parse/symbols.rs:9:14
[INFO] [stdout]   |
[INFO] [stdout] 9 |     Instruction(Instruction, CodeSegment), // instruction and label must be parsed out here
[INFO] [stdout]   |     ----------- ^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     fields in this variant
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Symbol` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]   |
[INFO] [stdout] 9 -     Instruction(Instruction, CodeSegment), // instruction and label must be parsed out here
[INFO] [stdout] 9 +     Instruction((), ()), // instruction and label must be parsed out here
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/parse/symbols.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 |     Register(Register, CodeSegment),
[INFO] [stdout]    |     -------- ^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Symbol` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 10 -     Register(Register, CodeSegment),
[INFO] [stdout] 10 +     Register((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/parse/symbols.rs:11:16
[INFO] [stdout]    |
[INFO] [stdout] 11 |     StringLiteral(String, CodeSegment),
[INFO] [stdout]    |     ------------- ^^^^^^  ^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Symbol` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 11 -     StringLiteral(String, CodeSegment),
[INFO] [stdout] 11 +     StringLiteral((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/parse/symbols.rs:12:16
[INFO] [stdout]    |
[INFO] [stdout] 12 |     NumberLiteral(i32, CodeSegment)
[INFO] [stdout]    |     ------------- ^^^  ^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Symbol` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 12 -     NumberLiteral(i32, CodeSegment)
[INFO] [stdout] 12 +     NumberLiteral((), ())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/parse/instructions.rs:24:2
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub enum Register {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 24 |     S0, S1, S2, S3, S4, S5, S6, S7,        // saved
[INFO] [stdout]    |     ^^  ^^  ^^  ^^  ^^  ^^  ^^  ^^
[INFO] [stdout] 25 |     T8, T9,                                // additional temporaries
[INFO] [stdout]    |     ^^  ^^
[INFO] [stdout] 26 |     K0, K1,                                // reserved by operating system
[INFO] [stdout]    |     ^^  ^^
[INFO] [stdout] 27 |     GP,                                    // global pointer
[INFO] [stdout]    |     ^^
[INFO] [stdout] 28 |     SP,                                    // stack pointer
[INFO] [stdout]    |     ^^
[INFO] [stdout] 29 |     FP,                                    // frame pointer
[INFO] [stdout]    |     ^^
[INFO] [stdout] 30 |     RA,                                    // return address
[INFO] [stdout]    |     ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Register` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/lexer.rs:85:6
[INFO] [stdout]    |
[INFO] [stdout] 85 |                     consumers::Comment::consume(&mut idx, &mut lexer);
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 85 |                     let _ = consumers::Comment::consume(&mut idx, &mut lexer);
[INFO] [stdout]    |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/lexer/tokens.rs:29:3
[INFO] [stdout]    |
[INFO] [stdout] 29 | /         match self {
[INFO] [stdout] 30 | |             Token::Directive(id, _) => write!(f, "Directive"),
[INFO] [stdout] 31 | |             Token::DefLabel(id, _) => write!(f, "DefineLabel"),
[INFO] [stdout] 32 | |             Token::Identifier(id, _) => write!(f, "Identifier"),
[INFO] [stdout] ...  |
[INFO] [stdout] 36 | |             _ => panic!("Unknown token {:?}", self)
[INFO] [stdout] 37 | |         };
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 29 |         let _ = match self {
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/lexer/consumers.rs:171:6
[INFO] [stdout]     |
[INFO] [stdout] 171 |                     Comment::consume(idx, lexer);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 171 |                     let _ = Comment::consume(idx, lexer);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/errors.rs:55:3
[INFO] [stdout]    |
[INFO] [stdout] 55 |         write!(f, "{}\n", prelude);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 55 |         let _ = write!(f, "{}\n", prelude);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/errors.rs:61:17
[INFO] [stdout]    |
[INFO] [stdout] 61 |                 write!(f, "{}", line.chars().nth(idx).expect("This should not fail.").to_string().red());
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 61 |                 let _ = write!(f, "{}", line.chars().nth(idx).expect("This should not fail.").to_string().red());
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/errors.rs:63:17
[INFO] [stdout]    |
[INFO] [stdout] 63 |                 write!(f, "{}", line.chars().nth(idx).expect("This should not fail."));
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 63 |                 let _ = write!(f, "{}", line.chars().nth(idx).expect("This should not fail."));
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/errors.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |         write!(f, "\n");
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 67 |         let _ = write!(f, "\n");
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/errors.rs:71:11
[INFO] [stdout]    |
[INFO] [stdout] 71 |                 write!(f, "{}{} {}", " ".repeat(self.err.segment.idx), "^".repeat(self.err.segment.len).red().bold(), msg.bold());
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 71 |                 let _ = write!(f, "{}{} {}", " ".repeat(self.err.segment.idx), "^".repeat(self.err.segment.len).red().bold(), msg.bold());
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/errors.rs:75:12
[INFO] [stdout]    |
[INFO] [stdout] 75 |                     write!(f, "{}{} {}", " ".repeat(self.err.segment.idx), "^".repeat(self.err.segment.len).red().bold(), msg.bold());
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 75 |                     let _ = write!(f, "{}{} {}", " ".repeat(self.err.segment.idx), "^".repeat(self.err.segment.len).red().bold(), msg.bold());
[INFO] [stdout]    |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/errors.rs:77:13
[INFO] [stdout]    |
[INFO] [stdout] 77 |                         write!(f, "\n");
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 77 |                         let _ = write!(f, "\n");
[INFO] [stdout]    |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.90s
[INFO] running `Command { std: "docker" "inspect" "03e59f032d168ea4b5eb0cd130d833d104fea7734fbb3a22304d7db349736405", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "03e59f032d168ea4b5eb0cd130d833d104fea7734fbb3a22304d7db349736405", kill_on_drop: false }`
[INFO] [stdout] 03e59f032d168ea4b5eb0cd130d833d104fea7734fbb3a22304d7db349736405
