[INFO] cloning repository https://github.com/CenoOS/Du.rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/CenoOS/Du.rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCenoOS%2FDu.rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCenoOS%2FDu.rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] bc527e83873d34313647a6280374504a0044706e
[INFO] checking CenoOS/Du.rs against try#4f260f0f20b3133d20cfb50353c0221943af5796+rustflags=-Dunmustuse_in_always_ok for pr-148577
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCenoOS%2FDu.rs" "/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/CenoOS/Du.rs
[INFO] finished tweaking git repo https://github.com/CenoOS/Du.rs
[INFO] tweaked toml for git repo https://github.com/CenoOS/Du.rs written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/CenoOS/Du.rs on toolchain 4f260f0f20b3133d20cfb50353c0221943af5796
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/CenoOS/Du.rs 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" "+4f260f0f20b3133d20cfb50353c0221943af5796" "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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 4e4064f3e18cad8fea2f890f10b6da7513402867dc1cba453c7a08980a9d5bf2
[INFO] running `Command { std: "docker" "start" "-a" "4e4064f3e18cad8fea2f890f10b6da7513402867dc1cba453c7a08980a9d5bf2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4e4064f3e18cad8fea2f890f10b6da7513402867dc1cba453c7a08980a9d5bf2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4e4064f3e18cad8fea2f890f10b6da7513402867dc1cba453c7a08980a9d5bf2", kill_on_drop: false }`
[INFO] [stdout] 4e4064f3e18cad8fea2f890f10b6da7513402867dc1cba453c7a08980a9d5bf2
[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 -Dunmustuse_in_always_ok" "-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 60886b1bd2531bf1e8693ab6b482132d817889d44b827cee82ca579ab42172c4
[INFO] running `Command { std: "docker" "start" "-a" "60886b1bd2531bf1e8693ab6b482132d817889d44b827cee82ca579ab42172c4", kill_on_drop: false }`
[INFO] [stderr]     Checking Dulang v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::dolang::lexer::token::Token::TokenEof`
[INFO] [stdout]   --> src/dolang/lexer/keyword.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::dolang::lexer::token::Token::TokenEof;
[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: `TokenLeftShift`
[INFO] [stdout]   --> src/dolang/lexer/lexer.rs:20:56
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::dolang::lexer::token::Token::{TokenKeyword, TokenLeftShift, TokenName};
[INFO] [stdout]    |                                                        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::fmt::Alignment::Left`
[INFO] [stdout]   --> src/dolang/lexer/lexer.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use core::fmt::Alignment::Left;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::assembler::assembler_error::AssemblerError::ParseError`
[INFO] [stdout]  --> src/dolang/parser/parser.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::assembler::assembler_error::AssemblerError::ParseError;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `KeywordGoto`
[INFO] [stdout]   --> src/dolang/parser/parser.rs:17:45
[INFO] [stdout]    |
[INFO] [stdout] 17 |     KeywordConst, KeywordEnum, KeywordFunc, KeywordGoto, KeywordImport, KeywordStruct,
[INFO] [stdout]    |                                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::vm::instruction::OpCode::POP`
[INFO] [stdout]   --> src/dolang/parser/parser.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | use crate::vm::instruction::OpCode::POP;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::process::exit`
[INFO] [stdout]   --> src/dolang/parser/parser.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | use std::process::exit;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]   --> src/repl/repl.rs:95:61
[INFO] [stdout]    |
[INFO] [stdout] 95 |                 } else if commands.peek().map_or(false, |w| (*w == ".load_asm")) {
[INFO] [stdout]    |                                                             ^                 ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 95 -                 } else if commands.peek().map_or(false, |w| (*w == ".load_asm")) {
[INFO] [stdout] 95 +                 } else if commands.peek().map_or(false, |w| *w == ".load_asm" ) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> src/repl/repl.rs:105:61
[INFO] [stdout]     |
[INFO] [stdout] 105 |                 } else if commands.peek().map_or(false, |w| (*w == ".load_elf")) {
[INFO] [stdout]     |                                                             ^                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 105 -                 } else if commands.peek().map_or(false, |w| (*w == ".load_elf")) {
[INFO] [stdout] 105 +                 } else if commands.peek().map_or(false, |w| *w == ".load_elf" ) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> src/repl/repl.rs:107:61
[INFO] [stdout]     |
[INFO] [stdout] 107 |                 } else if commands.peek().map_or(false, |w| (*w == ".output_elf")) {
[INFO] [stdout]     |                                                             ^                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 107 -                 } else if commands.peek().map_or(false, |w| (*w == ".output_elf")) {
[INFO] [stdout] 107 +                 } else if commands.peek().map_or(false, |w| *w == ".output_elf" ) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> src/repl/repl.rs:109:61
[INFO] [stdout]     |
[INFO] [stdout] 109 |                 } else if commands.peek().map_or(false, |w| (*w == ".mode")) {
[INFO] [stdout]     |                                                             ^             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 109 -                 } else if commands.peek().map_or(false, |w| (*w == ".mode")) {
[INFO] [stdout] 109 +                 } else if commands.peek().map_or(false, |w| *w == ".mode" ) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> src/repl/repl.rs:127:61
[INFO] [stdout]     |
[INFO] [stdout] 127 |                 } else if commands.peek().map_or(false, |w| (*w == ".history")) {
[INFO] [stdout]     |                                                             ^                ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 127 -                 } else if commands.peek().map_or(false, |w| (*w == ".history")) {
[INFO] [stdout] 127 +                 } else if commands.peek().map_or(false, |w| *w == ".history" ) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> src/repl/repl.rs:131:61
[INFO] [stdout]     |
[INFO] [stdout] 131 |                 } else if commands.peek().map_or(false, |w| (*w == ".program")) {
[INFO] [stdout]     |                                                             ^                ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 131 -                 } else if commands.peek().map_or(false, |w| (*w == ".program")) {
[INFO] [stdout] 131 +                 } else if commands.peek().map_or(false, |w| *w == ".program" ) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> src/repl/repl.rs:140:61
[INFO] [stdout]     |
[INFO] [stdout] 140 |                 } else if commands.peek().map_or(false, |w| (*w == ".clear")) {
[INFO] [stdout]     |                                                             ^              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 140 -                 } else if commands.peek().map_or(false, |w| (*w == ".clear")) {
[INFO] [stdout] 140 +                 } else if commands.peek().map_or(false, |w| *w == ".clear" ) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> src/repl/repl.rs:147:61
[INFO] [stdout]     |
[INFO] [stdout] 147 |                 } else if commands.peek().map_or(false, |w| (*w == ".reset")) {
[INFO] [stdout]     |                                                             ^              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 147 -                 } else if commands.peek().map_or(false, |w| (*w == ".reset")) {
[INFO] [stdout] 147 +                 } else if commands.peek().map_or(false, |w| *w == ".reset" ) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> src/repl/repl.rs:156:61
[INFO] [stdout]     |
[INFO] [stdout] 156 |                 } else if commands.peek().map_or(false, |w| (*w == ".registers")) {
[INFO] [stdout]     |                                                             ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 156 -                 } else if commands.peek().map_or(false, |w| (*w == ".registers")) {
[INFO] [stdout] 156 +                 } else if commands.peek().map_or(false, |w| *w == ".registers" ) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> src/repl/repl.rs:171:61
[INFO] [stdout]     |
[INFO] [stdout] 171 |                 } else if commands.peek().map_or(false, |w| (*w == ".help")) {
[INFO] [stdout]     |                                                             ^             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 171 -                 } else if commands.peek().map_or(false, |w| (*w == ".help")) {
[INFO] [stdout] 171 +                 } else if commands.peek().map_or(false, |w| *w == ".help" ) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::dolang::lexer::token::Token::TokenEof`
[INFO] [stdout]   --> src/dolang/lexer/keyword.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::dolang::lexer::token::Token::TokenEof;
[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: `TokenLeftShift`
[INFO] [stdout]   --> src/dolang/lexer/lexer.rs:20:56
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::dolang::lexer::token::Token::{TokenKeyword, TokenLeftShift, TokenName};
[INFO] [stdout]    |                                                        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::fmt::Alignment::Left`
[INFO] [stdout]   --> src/dolang/lexer/lexer.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use core::fmt::Alignment::Left;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]  --> src/dolang/lexer/__tests__/lexer_test.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 |     use super::*;
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::assembler::assembler_error::AssemblerError::ParseError`
[INFO] [stdout]  --> src/dolang/parser/parser.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::assembler::assembler_error::AssemblerError::ParseError;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `KeywordGoto`
[INFO] [stdout]   --> src/dolang/parser/parser.rs:17:45
[INFO] [stdout]    |
[INFO] [stdout] 17 |     KeywordConst, KeywordEnum, KeywordFunc, KeywordGoto, KeywordImport, KeywordStruct,
[INFO] [stdout]    |                                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::vm::instruction::OpCode::POP`
[INFO] [stdout]   --> src/dolang/parser/parser.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | use crate::vm::instruction::OpCode::POP;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::process::exit`
[INFO] [stdout]   --> src/dolang/parser/parser.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | use std::process::exit;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]  --> src/dolang/parser/__tests__/parser_test.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |     use super::*;
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PtrTypeSpec`
[INFO] [stdout]   --> src/dolang/parser/__tests__/parser_test.rs:10:80
[INFO] [stdout]    |
[INFO] [stdout] 10 |     use crate::dolang::ast::type_spec::TypeSpec::{ArrayTypeSpec, NameTypeSpec, PtrTypeSpec};
[INFO] [stdout]    |                                                                                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::dolang::lexer::int::Int`
[INFO] [stdout]   --> src/dolang/parser/__tests__/parser_test.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 |     use crate::dolang::lexer::int::Int;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]   --> src/repl/repl.rs:95:61
[INFO] [stdout]    |
[INFO] [stdout] 95 |                 } else if commands.peek().map_or(false, |w| (*w == ".load_asm")) {
[INFO] [stdout]    |                                                             ^                 ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 95 -                 } else if commands.peek().map_or(false, |w| (*w == ".load_asm")) {
[INFO] [stdout] 95 +                 } else if commands.peek().map_or(false, |w| *w == ".load_asm" ) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> src/repl/repl.rs:105:61
[INFO] [stdout]     |
[INFO] [stdout] 105 |                 } else if commands.peek().map_or(false, |w| (*w == ".load_elf")) {
[INFO] [stdout]     |                                                             ^                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 105 -                 } else if commands.peek().map_or(false, |w| (*w == ".load_elf")) {
[INFO] [stdout] 105 +                 } else if commands.peek().map_or(false, |w| *w == ".load_elf" ) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> src/repl/repl.rs:107:61
[INFO] [stdout]     |
[INFO] [stdout] 107 |                 } else if commands.peek().map_or(false, |w| (*w == ".output_elf")) {
[INFO] [stdout]     |                                                             ^                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 107 -                 } else if commands.peek().map_or(false, |w| (*w == ".output_elf")) {
[INFO] [stdout] 107 +                 } else if commands.peek().map_or(false, |w| *w == ".output_elf" ) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> src/repl/repl.rs:109:61
[INFO] [stdout]     |
[INFO] [stdout] 109 |                 } else if commands.peek().map_or(false, |w| (*w == ".mode")) {
[INFO] [stdout]     |                                                             ^             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 109 -                 } else if commands.peek().map_or(false, |w| (*w == ".mode")) {
[INFO] [stdout] 109 +                 } else if commands.peek().map_or(false, |w| *w == ".mode" ) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> src/repl/repl.rs:127:61
[INFO] [stdout]     |
[INFO] [stdout] 127 |                 } else if commands.peek().map_or(false, |w| (*w == ".history")) {
[INFO] [stdout]     |                                                             ^                ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 127 -                 } else if commands.peek().map_or(false, |w| (*w == ".history")) {
[INFO] [stdout] 127 +                 } else if commands.peek().map_or(false, |w| *w == ".history" ) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> src/repl/repl.rs:131:61
[INFO] [stdout]     |
[INFO] [stdout] 131 |                 } else if commands.peek().map_or(false, |w| (*w == ".program")) {
[INFO] [stdout]     |                                                             ^                ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 131 -                 } else if commands.peek().map_or(false, |w| (*w == ".program")) {
[INFO] [stdout] 131 +                 } else if commands.peek().map_or(false, |w| *w == ".program" ) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> src/repl/repl.rs:140:61
[INFO] [stdout]     |
[INFO] [stdout] 140 |                 } else if commands.peek().map_or(false, |w| (*w == ".clear")) {
[INFO] [stdout]     |                                                             ^              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 140 -                 } else if commands.peek().map_or(false, |w| (*w == ".clear")) {
[INFO] [stdout] 140 +                 } else if commands.peek().map_or(false, |w| *w == ".clear" ) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> src/repl/repl.rs:147:61
[INFO] [stdout]     |
[INFO] [stdout] 147 |                 } else if commands.peek().map_or(false, |w| (*w == ".reset")) {
[INFO] [stdout]     |                                                             ^              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 147 -                 } else if commands.peek().map_or(false, |w| (*w == ".reset")) {
[INFO] [stdout] 147 +                 } else if commands.peek().map_or(false, |w| *w == ".reset" ) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> src/repl/repl.rs:156:61
[INFO] [stdout]     |
[INFO] [stdout] 156 |                 } else if commands.peek().map_or(false, |w| (*w == ".registers")) {
[INFO] [stdout]     |                                                             ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 156 -                 } else if commands.peek().map_or(false, |w| (*w == ".registers")) {
[INFO] [stdout] 156 +                 } else if commands.peek().map_or(false, |w| *w == ".registers" ) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> src/repl/repl.rs:171:61
[INFO] [stdout]     |
[INFO] [stdout] 171 |                 } else if commands.peek().map_or(false, |w| (*w == ".help")) {
[INFO] [stdout]     |                                                             ^             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 171 -                 } else if commands.peek().map_or(false, |w| (*w == ".help")) {
[INFO] [stdout] 171 +                 } else if commands.peek().map_or(false, |w| *w == ".help" ) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/dolang/parser/parser.rs:672:17
[INFO] [stdout]     |
[INFO] [stdout] 671 |                   return None;
[INFO] [stdout]     |                   ----------- any code following this expression is unreachable
[INFO] [stdout] 672 | /                 self.errors.push(UnexpectedTokenError {
[INFO] [stdout] 673 | |                     token: self.current_token.clone().unwrap(),
[INFO] [stdout] 674 | |                     line: 0,
[INFO] [stdout] 675 | |                 });
[INFO] [stdout]     | |___________________^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]  --> src/dolang/parser/parser_error.rs:9:36
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::fmt::{Display, Formatter, Write};
[INFO] [stdout]   |                                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/assembler/assembler_instruction.rs:39:43
[INFO] [stdout]    |
[INFO] [stdout] 39 |                 Token::LabelDeclaration { name } => {
[INFO] [stdout]    |                                           ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/assembler/assembler_instruction.rs:56:37
[INFO] [stdout]    |
[INFO] [stdout] 56 |                 Token::LabelUsage { name } => {
[INFO] [stdout]    |                                     ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/assembler/assembler_instruction.rs:66:37
[INFO] [stdout]    |
[INFO] [stdout] 66 |                 Token::LabelUsage { name } => {
[INFO] [stdout]    |                                     ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/assembler/assembler_instruction.rs:76:37
[INFO] [stdout]    |
[INFO] [stdout] 76 |                 Token::LabelUsage { name } => {
[INFO] [stdout]    |                                     ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `headers`
[INFO] [stdout]   --> src/assembler/elf.rs:35:26
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn decode_from_bytes(headers: Vec<u8>) -> DELFHeader {
[INFO] [stdout]    |                          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_headers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/dolang/ast/decl.rs:135:13
[INFO] [stdout]     |
[INFO] [stdout] 135 |             _ => {
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/dolang/ast/decl.rs:135:13
[INFO] [stdout]     |
[INFO] [stdout]  92 | /             EnumDecl {
[INFO] [stdout]  93 | |                 ref name,
[INFO] [stdout]  94 | |                 ref items,
[INFO] [stdout]  95 | |                 ref num_items,
[INFO] [stdout]  96 | |             } => {
[INFO] [stdout]     | |_____________- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout]  99 | /             AggregateDecl {
[INFO] [stdout] 100 | |                 ref name,
[INFO] [stdout] 101 | |                 ref items,
[INFO] [stdout] 102 | |                 ref num_items,
[INFO] [stdout] 103 | |             } => {
[INFO] [stdout]     | |_____________- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 106 | /             FuncDecl {
[INFO] [stdout] 107 | |                 ref name,
[INFO] [stdout] 108 | |                 ref params,
[INFO] [stdout] 109 | |                 ref num_params,
[INFO] [stdout] 110 | |                 ref return_type,
[INFO] [stdout] 111 | |                 ref block,
[INFO] [stdout] 112 | |             } => {
[INFO] [stdout]     | |_____________- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 115 | /             TypedefDecl {
[INFO] [stdout] 116 | |                 ref name,
[INFO] [stdout] 117 | |                 ref type_spec,
[INFO] [stdout] 118 | |             } => {
[INFO] [stdout]     | |_____________- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 135 |               _ => {
[INFO] [stdout]     |               ^ ...and 2 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num_items`
[INFO] [stdout]   --> src/dolang/ast/decl.rs:95:17
[INFO] [stdout]    |
[INFO] [stdout] 95 |                 ref num_items,
[INFO] [stdout]    |                 ^^^^^^^^^^^^^ help: try ignoring the field: `num_items: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num_items`
[INFO] [stdout]    --> src/dolang/ast/decl.rs:102:17
[INFO] [stdout]     |
[INFO] [stdout] 102 |                 ref num_items,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ help: try ignoring the field: `num_items: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/dolang/ast/decl.rs:107:17
[INFO] [stdout]     |
[INFO] [stdout] 107 |                 ref name,
[INFO] [stdout]     |                 ^^^^^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num_params`
[INFO] [stdout]    --> src/dolang/ast/decl.rs:109:17
[INFO] [stdout]     |
[INFO] [stdout] 109 |                 ref num_params,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^ help: try ignoring the field: `num_params: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/dolang/ast/decl.rs:116:17
[INFO] [stdout]     |
[INFO] [stdout] 116 |                 ref name,
[INFO] [stdout]     |                 ^^^^^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/dolang/ast/expr.rs:138:13
[INFO] [stdout]     |
[INFO] [stdout] 138 |             _ => {
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/dolang/ast/expr.rs:138:13
[INFO] [stdout]     |
[INFO] [stdout]  72 |             IntExpr { ref value } => {
[INFO] [stdout]     |             --------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout]  75 |             FloatExpr { ref value } => {
[INFO] [stdout]     |             ----------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout]  78 |             NameExpr { ref name } => {
[INFO] [stdout]     |             --------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout]  81 |             StringExpr { ref value } => {
[INFO] [stdout]     |             ------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 138 |             _ => {
[INFO] [stdout]     |             ^ ...and 8 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num_args`
[INFO] [stdout]   --> src/dolang/ast/expr.rs:87:17
[INFO] [stdout]    |
[INFO] [stdout] 87 |                 ref num_args,
[INFO] [stdout]    |                 ^^^^^^^^^^^^ help: try ignoring the field: `num_args: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num_args`
[INFO] [stdout]    --> src/dolang/ast/expr.rs:124:17
[INFO] [stdout]     |
[INFO] [stdout] 124 |                 ref num_args,
[INFO] [stdout]     |                 ^^^^^^^^^^^^ help: try ignoring the field: `num_args: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num_else_ifs`
[INFO] [stdout]    --> src/dolang/ast/stmt.rs:107:17
[INFO] [stdout]     |
[INFO] [stdout] 107 |                 num_else_ifs,
[INFO] [stdout]     |                 ^^^^^^^^^^^^ help: try ignoring the field: `num_else_ifs: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num_cases`
[INFO] [stdout]    --> src/dolang/ast/stmt.rs:133:17
[INFO] [stdout]     |
[INFO] [stdout] 133 |                 num_cases,
[INFO] [stdout]     |                 ^^^^^^^^^ help: try ignoring the field: `num_cases: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name_spec`
[INFO] [stdout]   --> src/dolang/ast/type_spec.rs:34:28
[INFO] [stdout]    |
[INFO] [stdout] 34 |             NameTypeSpec { ref name_spec } => true,
[INFO] [stdout]    |                            ^^^^^^^^^^^^^ help: try ignoring the field: `name_spec: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/dolang/ast/type_spec.rs:62:13
[INFO] [stdout]    |
[INFO] [stdout] 62 |             _ => {
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/dolang/ast/type_spec.rs:62:13
[INFO] [stdout]    |
[INFO] [stdout] 43 |               NameTypeSpec { ref name_spec } => {
[INFO] [stdout]    |               ------------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 46 | /             FuncTypeSpec {
[INFO] [stdout] 47 | |                 ref num_args,
[INFO] [stdout] 48 | |                 ref args_type,
[INFO] [stdout] 49 | |                 ref ret_type,
[INFO] [stdout] 50 | |             } => {
[INFO] [stdout]    | |_____________- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 53 | /             ArrayTypeSpec {
[INFO] [stdout] 54 | |                 ref size,
[INFO] [stdout] 55 | |                 ref elem_type,
[INFO] [stdout] 56 | |             } => {
[INFO] [stdout]    | |_____________- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 59 |               PtrTypeSpec { ref ptr_type } => {
[INFO] [stdout]    |               ---------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 62 |               _ => {
[INFO] [stdout]    |               ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num_args`
[INFO] [stdout]   --> src/dolang/ast/type_spec.rs:47:17
[INFO] [stdout]    |
[INFO] [stdout] 47 |                 ref num_args,
[INFO] [stdout]    |                 ^^^^^^^^^^^^ help: try ignoring the field: `num_args: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]   --> src/dolang/ast/type_spec.rs:54:17
[INFO] [stdout]    |
[INFO] [stdout] 54 |                 ref size,
[INFO] [stdout]    |                 ^^^^^^^^ help: try ignoring the field: `size: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/dolang/lexer/int.rs:16:27
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub fn set_val(&self, value: i32) -> Int {
[INFO] [stdout]    |                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/dolang/lexer/int.rs:43:13
[INFO] [stdout]    |
[INFO] [stdout] 43 |             _ => {
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/dolang/lexer/int.rs:43:13
[INFO] [stdout]    |
[INFO] [stdout] 34 |             IntHex { ref value } => {
[INFO] [stdout]    |             -------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 37 |             IntOct { ref value } => {
[INFO] [stdout]    |             -------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 40 |             IntBin { ref value } => {
[INFO] [stdout]    |             -------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 43 |             _ => {
[INFO] [stdout]    |             ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/dolang/lexer/keyword.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |             _ => {
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/dolang/lexer/keyword.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout]  66 |             KeywordTypeDef { ref name } => {
[INFO] [stdout]     |             --------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout]  69 |             KeywordEnum { ref name } => {
[INFO] [stdout]     |             ------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout]  72 |             KeywordStruct { ref name } => {
[INFO] [stdout]     |             -------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout]  75 |             KeywordVar { ref name } => {
[INFO] [stdout]     |             ----------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 129 |             _ => {
[INFO] [stdout]     |             ^ ...and 17 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/dolang/lexer/keyword.rs:66:30
[INFO] [stdout]    |
[INFO] [stdout] 66 |             KeywordTypeDef { ref name } => {
[INFO] [stdout]    |                              ^^^^^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/dolang/lexer/keyword.rs:69:27
[INFO] [stdout]    |
[INFO] [stdout] 69 |             KeywordEnum { ref name } => {
[INFO] [stdout]    |                           ^^^^^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/dolang/lexer/keyword.rs:72:29
[INFO] [stdout]    |
[INFO] [stdout] 72 |             KeywordStruct { ref name } => {
[INFO] [stdout]    |                             ^^^^^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/dolang/lexer/keyword.rs:75:26
[INFO] [stdout]    |
[INFO] [stdout] 75 |             KeywordVar { ref name } => {
[INFO] [stdout]    |                          ^^^^^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/dolang/lexer/keyword.rs:78:28
[INFO] [stdout]    |
[INFO] [stdout] 78 |             KeywordConst { ref name } => {
[INFO] [stdout]    |                            ^^^^^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/dolang/lexer/keyword.rs:81:27
[INFO] [stdout]    |
[INFO] [stdout] 81 |             KeywordFunc { ref name } => {
[INFO] [stdout]    |                           ^^^^^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/dolang/lexer/keyword.rs:84:29
[INFO] [stdout]    |
[INFO] [stdout] 84 |             KeywordSizeOf { ref name } => {
[INFO] [stdout]    |                             ^^^^^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/dolang/lexer/keyword.rs:87:29
[INFO] [stdout]    |
[INFO] [stdout] 87 |             KeywordTypeOf { ref name } => {
[INFO] [stdout]    |                             ^^^^^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/dolang/lexer/keyword.rs:90:28
[INFO] [stdout]    |
[INFO] [stdout] 90 |             KeywordBreak { ref name } => {
[INFO] [stdout]    |                            ^^^^^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/dolang/lexer/keyword.rs:93:31
[INFO] [stdout]    |
[INFO] [stdout] 93 |             KeywordContinue { ref name } => {
[INFO] [stdout]    |                               ^^^^^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/dolang/lexer/keyword.rs:96:29
[INFO] [stdout]    |
[INFO] [stdout] 96 |             KeywordReturn { ref name } => {
[INFO] [stdout]    |                             ^^^^^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/dolang/lexer/keyword.rs:99:25
[INFO] [stdout]    |
[INFO] [stdout] 99 |             KeywordIf { ref name } => {
[INFO] [stdout]    |                         ^^^^^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/dolang/lexer/keyword.rs:102:27
[INFO] [stdout]     |
[INFO] [stdout] 102 |             KeywordElse { ref name } => {
[INFO] [stdout]     |                           ^^^^^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/dolang/lexer/keyword.rs:105:28
[INFO] [stdout]     |
[INFO] [stdout] 105 |             KeywordWhile { ref name } => {
[INFO] [stdout]     |                            ^^^^^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/dolang/lexer/keyword.rs:108:25
[INFO] [stdout]     |
[INFO] [stdout] 108 |             KeywordDo { ref name } => {
[INFO] [stdout]     |                         ^^^^^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/dolang/lexer/keyword.rs:111:26
[INFO] [stdout]     |
[INFO] [stdout] 111 |             KeywordFor { ref name } => {
[INFO] [stdout]     |                          ^^^^^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/dolang/lexer/keyword.rs:114:29
[INFO] [stdout]     |
[INFO] [stdout] 114 |             KeywordSwitch { ref name } => {
[INFO] [stdout]     |                             ^^^^^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/dolang/lexer/keyword.rs:117:27
[INFO] [stdout]     |
[INFO] [stdout] 117 |             KeywordCase { ref name } => {
[INFO] [stdout]     |                           ^^^^^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/dolang/lexer/keyword.rs:120:30
[INFO] [stdout]     |
[INFO] [stdout] 120 |             KeywordDefault { ref name } => {
[INFO] [stdout]     |                              ^^^^^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/dolang/lexer/keyword.rs:123:29
[INFO] [stdout]     |
[INFO] [stdout] 123 |             KeywordImport { ref name } => {
[INFO] [stdout]     |                             ^^^^^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/dolang/lexer/keyword.rs:126:27
[INFO] [stdout]     |
[INFO] [stdout] 126 |             KeywordGoto { ref name } => {
[INFO] [stdout]     |                           ^^^^^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/dolang/lexer/lexer.rs:123:13
[INFO] [stdout]     |
[INFO] [stdout] 123 |         let mut int_val;
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `integer` is never read
[INFO] [stdout]    --> src/dolang/lexer/lexer.rs:122:32
[INFO] [stdout]     |
[INFO] [stdout] 122 |         let mut integer: Int = IntHex { value: 0 };
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/dolang/lexer/token.rs:312:13
[INFO] [stdout]     |
[INFO] [stdout] 312 |             _ => f.write_str(&format!("Unknown")),
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/dolang/lexer/token.rs:312:13
[INFO] [stdout]     |
[INFO] [stdout] 150 |             TokenEof {} => {
[INFO] [stdout]     |             ----------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 153 |             TokenLastChar {} => {
[INFO] [stdout]     |             ---------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 156 |             TokenFloat { ref value } => {
[INFO] [stdout]     |             ------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 159 |             TokenInt { ref value } => {
[INFO] [stdout]     |             ---------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 312 |             _ => f.write_str(&format!("Unknown")),
[INFO] [stdout]     |             ^ ...and 50 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/dolang/lexer/token.rs:156:26
[INFO] [stdout]     |
[INFO] [stdout] 156 |             TokenFloat { ref value } => {
[INFO] [stdout]     |                          ^^^^^^^^^ help: try ignoring the field: `value: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/dolang/lexer/token.rs:159:24
[INFO] [stdout]     |
[INFO] [stdout] 159 |             TokenInt { ref value } => {
[INFO] [stdout]     |                        ^^^^^^^^^ help: try ignoring the field: `value: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/dolang/parser/parser.rs:88:17
[INFO] [stdout]    |
[INFO] [stdout] 88 |             Err(e) => {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/dolang/parser/parser.rs:133:15
[INFO] [stdout]     |
[INFO] [stdout] 130 |             | TokenSub {}
[INFO] [stdout]     |               ----------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 133 |             | TokenSub {}
[INFO] [stdout]     |               ^^^^^^^^^^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/dolang/parser/parser.rs:236:31
[INFO] [stdout]     |
[INFO] [stdout] 236 |                 KeywordFunc { ref name } => {
[INFO] [stdout]     |                               ^^^^^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/dolang/parser/parser.rs:645:34
[INFO] [stdout]     |
[INFO] [stdout] 645 |                     KeywordVar { name } => {
[INFO] [stdout]     |                                  ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/dolang/parser/parser.rs:648:36
[INFO] [stdout]     |
[INFO] [stdout] 648 |                     KeywordConst { name } => {
[INFO] [stdout]     |                                    ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/dolang/parser/parser.rs:651:35
[INFO] [stdout]     |
[INFO] [stdout] 651 |                     KeywordEnum { name } => {
[INFO] [stdout]     |                                   ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/dolang/parser/parser.rs:654:38
[INFO] [stdout]     |
[INFO] [stdout] 654 |                     KeywordTypeDef { name } => {
[INFO] [stdout]     |                                      ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/dolang/parser/parser.rs:657:37
[INFO] [stdout]     |
[INFO] [stdout] 657 |                     KeywordStruct { name } => {
[INFO] [stdout]     |                                     ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/dolang/parser/parser.rs:660:35
[INFO] [stdout]     |
[INFO] [stdout] 660 |                     KeywordFunc { name } => {
[INFO] [stdout]     |                                   ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/dolang/parser/parser.rs:663:37
[INFO] [stdout]     |
[INFO] [stdout] 663 |                     KeywordImport { name } => {
[INFO] [stdout]     |                                     ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Token`
[INFO] [stdout]    --> src/dolang/parser/parser.rs:668:17
[INFO] [stdout]     |
[INFO] [stdout] 668 |                 Token => {}
[INFO] [stdout]     |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_Token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/dolang/parser/parser_error.rs:34:13
[INFO] [stdout]    |
[INFO] [stdout] 27 | /             UnexpectedTokenError {
[INFO] [stdout] 28 | |                 ref token,
[INFO] [stdout] 29 | |                 ref line,
[INFO] [stdout] 30 | |             } => f.write_str(&format!(
[INFO] [stdout]    | |_____________- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 34 |               _ => f.write_str(&format!("Syntax Error:")),
[INFO] [stdout]    |               ^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `byte_code` is never read
[INFO] [stdout]   --> src/assembler/assembler.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct Assembler {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 26 |     byte_code: Vec<u8>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/assembler/elf.rs:5:5
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub struct DELFHeader {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout]  5 |     identify: [u8; 4],
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]  6 |     version: u32,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]  7 |     entry: u32,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]  8 |     program_header_offset: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  9 |     segment_header_offset: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |     header_size: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 11 |     program_header_length: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     segment_header_length: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     segment_str_table_index: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `encode_to_bytes` and `decode_from_bytes` are never used
[INFO] [stdout]   --> src/assembler/elf.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl DELFHeader {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 31 |     fn encode_to_bytes(&self) -> Vec<u8> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     fn decode_from_bytes(headers: Vec<u8>) -> DELFHeader {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_name` is never used
[INFO] [stdout]   --> src/dolang/ast/type_spec.rs:32:19
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl TypeSpec {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] 32 |     pub(crate) fn is_name(&self) -> bool {
[INFO] [stdout]    |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `current_line` is never read
[INFO] [stdout]   --> src/dolang/lexer/lexer.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct Lexer<'a> {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] 27 |     char_stream: Peekable<Chars<'a>>,
[INFO] [stdout] 28 |     current_line: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `hex_char_to_digit` is never used
[INFO] [stdout]    --> src/dolang/lexer/lexer.rs:540:19
[INFO] [stdout]     |
[INFO] [stdout]  31 | impl<'a> Lexer<'a> {
[INFO] [stdout]     | ------------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 540 |     pub(crate) fn hex_char_to_digit(c: &char) -> u8 {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `lexer`, `current_token`, and `errors` are never read
[INFO] [stdout]   --> src/dolang/parser/parser.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct Parser<'a> {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 38 |     lexer: &'a mut Lexer<'a>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 39 |     current_token: Result<Token, &'static str>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 40 |     errors: Vec<ParserError>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/dolang/parser/parser.rs:44:19
[INFO] [stdout]     |
[INFO] [stdout]  43 | impl<'a> Parser<'a> {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout]  44 |     pub(crate) fn new(lexer: &'a mut Lexer<'a>) -> Parser<'a> {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout]  52 |     fn is_token(&self, expected_token: Token) -> bool {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  66 |     fn expect_token(&mut self, expected_token: Token) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  79 |     pub(crate) fn match_token(&mut self, expected_token: Token) -> bool {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  94 |     fn is_cmp_op(&self, token: &Token) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     fn is_add_op(&self, token: &Token) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     fn is_mul_op(&self, token: &Token) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub(crate) fn is_unary_op(&self, token: &Token) -> bool {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 139 |     fn is_token_left_bracket(&self, token: &Token) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 146 |     fn is_token_left_square_bracket(&self, token: &Token) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 |     fn is_token_dot(&self, token: &Token) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 160 |     fn is_token_comma(&self, token: &Token) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |     fn is_assign_op(&self, token: &Token) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 185 |     pub(crate) fn next_token(&mut self) -> Result<Token, &'static str> {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 191 |     fn parse_type_func_param(&mut self) -> Option<TypeSpec> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 206 |     fn parse_type_func(&mut self) -> Option<TypeSpec> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 228 |     fn parse_type_base(&mut self) -> Option<TypeSpec> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |     pub(crate) fn parse_type_spec(&mut self) -> Option<TypeSpec> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 292 |     fn parse_expr_compound(&mut self, _type_spec: Option<TypeSpec>) -> Option<Expr> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 296 |     pub(crate) fn parse_expr_operand(&mut self) -> Option<Expr> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 353 |     fn parse_expr_base(&mut self) -> Option<Expr> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 409 |     fn parse_expr_unary(&mut self) -> Option<Expr> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 424 |     fn parse_expr_mul(&mut self) -> Option<Expr> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 440 |     pub(crate) fn parse_expr_add(&mut self) -> Option<Expr> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 456 |     pub(crate) fn parse_expr_cmp(&mut self) -> Option<Expr> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 472 |     fn parse_expr_and(&mut self) -> Option<Expr> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 484 |     fn parse_expr_or(&mut self) -> Option<Expr> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 496 |     fn parse_expr_ternary(&mut self) -> Option<Expr> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 512 |     pub(crate) fn parse_expr(&mut self) -> Option<Expr> {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 516 |     fn parse_name(&mut self) -> Option<String> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 533 |     fn parse_decl_enum(&self) -> Option<Decl> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 539 |     fn parse_decl_type_def(&self) -> Option<Decl> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 543 |     fn parse_decl_struct(&self) -> Option<Decl> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 547 |     fn parse_decl_var(&mut self) -> Option<Decl> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 590 |     fn parse_decl_const(&mut self) -> Option<Decl> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 633 |     fn parse_decl_func(&self) -> Option<Decl> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 637 |     fn parse_decl_import(&self) -> Option<Decl> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 641 |     fn parse_decl_opt(&mut self) -> Option<Decl> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 681 |     pub(crate) fn parse_decl(&mut self) -> Option<Decl> {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated functions are never used
[INFO] [stdout]    --> src/repl/terminal/color_print.rs:7:8
[INFO] [stdout]     |
[INFO] [stdout]   6 | impl ColorPrint {
[INFO] [stdout]     | --------------- associated functions in this implementation
[INFO] [stdout]   7 |     fn println_black(msg: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  10 |     fn println_dark_gray(msg: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  13 |     fn println_blue(msg: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  19 |     pub(crate) fn println_green(msg: &str) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  25 |     pub(crate) fn println_cyan(msg: &str) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  28 |     fn println_light_cyan(msg: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  31 |     pub(crate) fn println_red(msg: &str) {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  37 |     pub(crate) fn println_purple(msg: &str) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  43 |     fn println_brown(msg: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  46 |     fn println_yellow(msg: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  49 |     fn println_light_gray(msg: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  52 |     fn println_white(msg: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  56 |     fn print_black(msg: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  59 |     fn print_dark_gray(msg: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  62 |     fn print_blue(msg: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  68 |     pub(crate) fn print_green(msg: &str) {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  74 |     pub(crate) fn print_cyan(msg: &str) {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  77 |     fn print_light_cyan(msg: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  80 |     pub(crate) fn print_red(msg: &str) {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  83 |     fn print_light_red(msg: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  86 |     pub(crate) fn print_purple(msg: &str) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  89 |     pub(crate) fn print_light_purple(msg: &str) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  92 |     fn print_brown(msg: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  95 |     fn print_yellow(msg: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  98 |     fn print_light_gray(msg: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     fn print_white(msg: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `buffer`, `size`, `index`, `length`, `cursor`, and `history` are never read
[INFO] [stdout]   --> src/repl/terminal/terminal.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Terminal {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 47 |     buffer: String,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 48 |     size: (usize, usize),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 49 |     index: usize,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 50 |     length: usize,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 51 |     cursor: (usize, usize),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 52 |     history: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: crate `Dulang` should have a snake case name
[INFO] [stdout]   |
[INFO] [stdout]   = help: convert the identifier to snake case: `dulang`
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]   --> src/assembler/assembler.rs:51:39
[INFO] [stdout]    |
[INFO] [stdout] 51 |         for byte in ELF_HEADER_PREFIX.into_iter() {
[INFO] [stdout]    |                                       ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]    = note: `#[warn(array_into_iter)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]    |
[INFO] [stdout] 51 -         for byte in ELF_HEADER_PREFIX.into_iter() {
[INFO] [stdout] 51 +         for byte in ELF_HEADER_PREFIX.iter() {
[INFO] [stdout]    |
[INFO] [stdout] help: or remove `.into_iter()` to iterate by value
[INFO] [stdout]    |
[INFO] [stdout] 51 -         for byte in ELF_HEADER_PREFIX.into_iter() {
[INFO] [stdout] 51 +         for byte in ELF_HEADER_PREFIX {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/assembler/assembly_parser.rs:15:21
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub fn new(str: &str) -> AssemblyProgramParser {
[INFO] [stdout]    |                     ^^^^     ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub fn new(str: &str) -> AssemblyProgramParser<'_> {
[INFO] [stdout]    |                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/assembler/instructions_parser.rs:26:21
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub fn new(str: &str) -> InstructionParser {
[INFO] [stdout]    |                     ^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub fn new(str: &str) -> InstructionParser<'_> {
[INFO] [stdout]    |                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/dolang/lexer/lexer.rs:32:36
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub fn new(source: &'a str) -> Lexer {
[INFO] [stdout]    |                         --         ^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is named here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub fn new(source: &'a str) -> Lexer<'a> {
[INFO] [stdout]    |                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/dolang/parser/parser.rs:255:9
[INFO] [stdout]     |
[INFO] [stdout] 255 |         self.next_token();
[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)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 255 |         let _ = self.next_token();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `Dulang` (lib) due to 1 previous error; 109 warnings emitted
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/dolang/parser/parser.rs:257:9
[INFO] [stdout]     |
[INFO] [stdout] 257 |         self.next_token();
[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] 257 |         let _ = self.next_token();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/dolang/parser/parser.rs:263:25
[INFO] [stdout]     |
[INFO] [stdout] 263 |                         self.next_token();
[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] 263 |                         let _ = self.next_token();
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/dolang/parser/parser.rs:274:25
[INFO] [stdout]     |
[INFO] [stdout] 274 |                         self.next_token();
[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] 274 |                         let _ = self.next_token();
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/dolang/parser/parser.rs:301:21
[INFO] [stdout]     |
[INFO] [stdout] 301 |                     self.next_token();
[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] 301 |                     let _ = self.next_token();
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/dolang/parser/parser.rs:316:21
[INFO] [stdout]     |
[INFO] [stdout] 316 |                     self.next_token();
[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] 316 |                     let _ = self.next_token();
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<String, Infallible>
[INFO] [stdout]    --> src/dolang/parser/parser.rs:520:29
[INFO] [stdout]     |
[INFO] [stdout] 520 |                 return Some(name.parse().unwrap());
[INFO] [stdout]     |                             ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-D unmustuse-in-always-ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/dolang/parser/parser.rs:553:21
[INFO] [stdout]     |
[INFO] [stdout] 553 |                     self.next_token();
[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] 553 |                     let _ = self.next_token();
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/dolang/parser/parser.rs:566:25
[INFO] [stdout]     |
[INFO] [stdout] 566 |                         self.next_token();
[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] 566 |                         let _ = self.next_token();
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/dolang/parser/parser.rs:596:21
[INFO] [stdout]     |
[INFO] [stdout] 596 |                     self.next_token();
[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] 596 |                     let _ = self.next_token();
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/dolang/parser/parser.rs:609:25
[INFO] [stdout]     |
[INFO] [stdout] 609 |                         self.next_token();
[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] 609 |                         let _ = self.next_token();
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Token` should have a snake case name
[INFO] [stdout]    --> src/dolang/parser/parser.rs:668:17
[INFO] [stdout]     |
[INFO] [stdout] 668 |                 Token => {}
[INFO] [stdout]     |                 ^^^^^ help: convert the identifier to snake case: `token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `printSplash` should have a snake case name
[INFO] [stdout]    --> src/repl/repl.rs:229:8
[INFO] [stdout]     |
[INFO] [stdout] 229 |     fn printSplash() {
[INFO] [stdout]     |        ^^^^^^^^^^^ help: convert the identifier to snake case: `print_splash`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `StdinLock` that must be used
[INFO] [stdout]    --> src/repl/terminal/terminal.rs:118:13
[INFO] [stdout]     |
[INFO] [stdout] 118 |             stdin.lock();
[INFO] [stdout]     |             ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if unused stdin will immediately unlock
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 118 |             let _ = stdin.lock();
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/vm/vm.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |         self.execute_instruction();
[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] 72 |         let _ = self.execute_instruction();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/dolang/parser/parser.rs:672:17
[INFO] [stdout]     |
[INFO] [stdout] 671 |                   return None;
[INFO] [stdout]     |                   ----------- any code following this expression is unreachable
[INFO] [stdout] 672 | /                 self.errors.push(UnexpectedTokenError {
[INFO] [stdout] 673 | |                     token: self.current_token.clone().unwrap(),
[INFO] [stdout] 674 | |                     line: 0,
[INFO] [stdout] 675 | |                 });
[INFO] [stdout]     | |___________________^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]  --> src/dolang/parser/parser_error.rs:9:36
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::fmt::{Display, Formatter, Write};
[INFO] [stdout]   |                                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/assembler/assembler_instruction.rs:39:43
[INFO] [stdout]    |
[INFO] [stdout] 39 |                 Token::LabelDeclaration { name } => {
[INFO] [stdout]    |                                           ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/assembler/assembler_instruction.rs:56:37
[INFO] [stdout]    |
[INFO] [stdout] 56 |                 Token::LabelUsage { name } => {
[INFO] [stdout]    |                                     ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/assembler/assembler_instruction.rs:66:37
[INFO] [stdout]    |
[INFO] [stdout] 66 |                 Token::LabelUsage { name } => {
[INFO] [stdout]    |                                     ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/assembler/assembler_instruction.rs:76:37
[INFO] [stdout]    |
[INFO] [stdout] 76 |                 Token::LabelUsage { name } => {
[INFO] [stdout]    |                                     ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `headers`
[INFO] [stdout]   --> src/assembler/elf.rs:35:26
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn decode_from_bytes(headers: Vec<u8>) -> DELFHeader {
[INFO] [stdout]    |                          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_headers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/dolang/ast/decl.rs:135:13
[INFO] [stdout]     |
[INFO] [stdout] 135 |             _ => {
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/dolang/ast/decl.rs:135:13
[INFO] [stdout]     |
[INFO] [stdout]  92 | /             EnumDecl {
[INFO] [stdout]  93 | |                 ref name,
[INFO] [stdout]  94 | |                 ref items,
[INFO] [stdout]  95 | |                 ref num_items,
[INFO] [stdout]  96 | |             } => {
[INFO] [stdout]     | |_____________- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout]  99 | /             AggregateDecl {
[INFO] [stdout] 100 | |                 ref name,
[INFO] [stdout] 101 | |                 ref items,
[INFO] [stdout] 102 | |                 ref num_items,
[INFO] [stdout] 103 | |             } => {
[INFO] [stdout]     | |_____________- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 106 | /             FuncDecl {
[INFO] [stdout] 107 | |                 ref name,
[INFO] [stdout] 108 | |                 ref params,
[INFO] [stdout] 109 | |                 ref num_params,
[INFO] [stdout] 110 | |                 ref return_type,
[INFO] [stdout] 111 | |                 ref block,
[INFO] [stdout] 112 | |             } => {
[INFO] [stdout]     | |_____________- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 115 | /             TypedefDecl {
[INFO] [stdout] 116 | |                 ref name,
[INFO] [stdout] 117 | |                 ref type_spec,
[INFO] [stdout] 118 | |             } => {
[INFO] [stdout]     | |_____________- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 135 |               _ => {
[INFO] [stdout]     |               ^ ...and 2 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num_items`
[INFO] [stdout]   --> src/dolang/ast/decl.rs:95:17
[INFO] [stdout]    |
[INFO] [stdout] 95 |                 ref num_items,
[INFO] [stdout]    |                 ^^^^^^^^^^^^^ help: try ignoring the field: `num_items: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num_items`
[INFO] [stdout]    --> src/dolang/ast/decl.rs:102:17
[INFO] [stdout]     |
[INFO] [stdout] 102 |                 ref num_items,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ help: try ignoring the field: `num_items: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/dolang/ast/decl.rs:107:17
[INFO] [stdout]     |
[INFO] [stdout] 107 |                 ref name,
[INFO] [stdout]     |                 ^^^^^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num_params`
[INFO] [stdout]    --> src/dolang/ast/decl.rs:109:17
[INFO] [stdout]     |
[INFO] [stdout] 109 |                 ref num_params,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^ help: try ignoring the field: `num_params: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/dolang/ast/decl.rs:116:17
[INFO] [stdout]     |
[INFO] [stdout] 116 |                 ref name,
[INFO] [stdout]     |                 ^^^^^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/dolang/ast/expr.rs:138:13
[INFO] [stdout]     |
[INFO] [stdout] 138 |             _ => {
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/dolang/ast/expr.rs:138:13
[INFO] [stdout]     |
[INFO] [stdout]  72 |             IntExpr { ref value } => {
[INFO] [stdout]     |             --------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout]  75 |             FloatExpr { ref value } => {
[INFO] [stdout]     |             ----------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout]  78 |             NameExpr { ref name } => {
[INFO] [stdout]     |             --------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout]  81 |             StringExpr { ref value } => {
[INFO] [stdout]     |             ------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 138 |             _ => {
[INFO] [stdout]     |             ^ ...and 8 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num_args`
[INFO] [stdout]   --> src/dolang/ast/expr.rs:87:17
[INFO] [stdout]    |
[INFO] [stdout] 87 |                 ref num_args,
[INFO] [stdout]    |                 ^^^^^^^^^^^^ help: try ignoring the field: `num_args: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num_args`
[INFO] [stdout]    --> src/dolang/ast/expr.rs:124:17
[INFO] [stdout]     |
[INFO] [stdout] 124 |                 ref num_args,
[INFO] [stdout]     |                 ^^^^^^^^^^^^ help: try ignoring the field: `num_args: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num_else_ifs`
[INFO] [stdout]    --> src/dolang/ast/stmt.rs:107:17
[INFO] [stdout]     |
[INFO] [stdout] 107 |                 num_else_ifs,
[INFO] [stdout]     |                 ^^^^^^^^^^^^ help: try ignoring the field: `num_else_ifs: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num_cases`
[INFO] [stdout]    --> src/dolang/ast/stmt.rs:133:17
[INFO] [stdout]     |
[INFO] [stdout] 133 |                 num_cases,
[INFO] [stdout]     |                 ^^^^^^^^^ help: try ignoring the field: `num_cases: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name_spec`
[INFO] [stdout]   --> src/dolang/ast/type_spec.rs:34:28
[INFO] [stdout]    |
[INFO] [stdout] 34 |             NameTypeSpec { ref name_spec } => true,
[INFO] [stdout]    |                            ^^^^^^^^^^^^^ help: try ignoring the field: `name_spec: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/dolang/ast/type_spec.rs:62:13
[INFO] [stdout]    |
[INFO] [stdout] 62 |             _ => {
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/dolang/ast/type_spec.rs:62:13
[INFO] [stdout]    |
[INFO] [stdout] 43 |               NameTypeSpec { ref name_spec } => {
[INFO] [stdout]    |               ------------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 46 | /             FuncTypeSpec {
[INFO] [stdout] 47 | |                 ref num_args,
[INFO] [stdout] 48 | |                 ref args_type,
[INFO] [stdout] 49 | |                 ref ret_type,
[INFO] [stdout] 50 | |             } => {
[INFO] [stdout]    | |_____________- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 53 | /             ArrayTypeSpec {
[INFO] [stdout] 54 | |                 ref size,
[INFO] [stdout] 55 | |                 ref elem_type,
[INFO] [stdout] 56 | |             } => {
[INFO] [stdout]    | |_____________- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 59 |               PtrTypeSpec { ref ptr_type } => {
[INFO] [stdout]    |               ---------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 62 |               _ => {
[INFO] [stdout]    |               ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num_args`
[INFO] [stdout]   --> src/dolang/ast/type_spec.rs:47:17
[INFO] [stdout]    |
[INFO] [stdout] 47 |                 ref num_args,
[INFO] [stdout]    |                 ^^^^^^^^^^^^ help: try ignoring the field: `num_args: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]   --> src/dolang/ast/type_spec.rs:54:17
[INFO] [stdout]    |
[INFO] [stdout] 54 |                 ref size,
[INFO] [stdout]    |                 ^^^^^^^^ help: try ignoring the field: `size: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/dolang/lexer/int.rs:16:27
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub fn set_val(&self, value: i32) -> Int {
[INFO] [stdout]    |                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/dolang/lexer/int.rs:43:13
[INFO] [stdout]    |
[INFO] [stdout] 43 |             _ => {
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/dolang/lexer/int.rs:43:13
[INFO] [stdout]    |
[INFO] [stdout] 34 |             IntHex { ref value } => {
[INFO] [stdout]    |             -------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 37 |             IntOct { ref value } => {
[INFO] [stdout]    |             -------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 40 |             IntBin { ref value } => {
[INFO] [stdout]    |             -------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 43 |             _ => {
[INFO] [stdout]    |             ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/dolang/lexer/keyword.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |             _ => {
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/dolang/lexer/keyword.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout]  66 |             KeywordTypeDef { ref name } => {
[INFO] [stdout]     |             --------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout]  69 |             KeywordEnum { ref name } => {
[INFO] [stdout]     |             ------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout]  72 |             KeywordStruct { ref name } => {
[INFO] [stdout]     |             -------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout]  75 |             KeywordVar { ref name } => {
[INFO] [stdout]     |             ----------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 129 |             _ => {
[INFO] [stdout]     |             ^ ...and 17 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/dolang/lexer/keyword.rs:66:30
[INFO] [stdout]    |
[INFO] [stdout] 66 |             KeywordTypeDef { ref name } => {
[INFO] [stdout]    |                              ^^^^^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/dolang/lexer/keyword.rs:69:27
[INFO] [stdout]    |
[INFO] [stdout] 69 |             KeywordEnum { ref name } => {
[INFO] [stdout]    |                           ^^^^^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/dolang/lexer/keyword.rs:72:29
[INFO] [stdout]    |
[INFO] [stdout] 72 |             KeywordStruct { ref name } => {
[INFO] [stdout]    |                             ^^^^^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/dolang/lexer/keyword.rs:75:26
[INFO] [stdout]    |
[INFO] [stdout] 75 |             KeywordVar { ref name } => {
[INFO] [stdout]    |                          ^^^^^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/dolang/lexer/keyword.rs:78:28
[INFO] [stdout]    |
[INFO] [stdout] 78 |             KeywordConst { ref name } => {
[INFO] [stdout]    |                            ^^^^^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/dolang/lexer/keyword.rs:81:27
[INFO] [stdout]    |
[INFO] [stdout] 81 |             KeywordFunc { ref name } => {
[INFO] [stdout]    |                           ^^^^^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/dolang/lexer/keyword.rs:84:29
[INFO] [stdout]    |
[INFO] [stdout] 84 |             KeywordSizeOf { ref name } => {
[INFO] [stdout]    |                             ^^^^^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/dolang/lexer/keyword.rs:87:29
[INFO] [stdout]    |
[INFO] [stdout] 87 |             KeywordTypeOf { ref name } => {
[INFO] [stdout]    |                             ^^^^^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/dolang/lexer/keyword.rs:90:28
[INFO] [stdout]    |
[INFO] [stdout] 90 |             KeywordBreak { ref name } => {
[INFO] [stdout]    |                            ^^^^^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/dolang/lexer/keyword.rs:93:31
[INFO] [stdout]    |
[INFO] [stdout] 93 |             KeywordContinue { ref name } => {
[INFO] [stdout]    |                               ^^^^^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/dolang/lexer/keyword.rs:96:29
[INFO] [stdout]    |
[INFO] [stdout] 96 |             KeywordReturn { ref name } => {
[INFO] [stdout]    |                             ^^^^^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/dolang/lexer/keyword.rs:99:25
[INFO] [stdout]    |
[INFO] [stdout] 99 |             KeywordIf { ref name } => {
[INFO] [stdout]    |                         ^^^^^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/dolang/lexer/keyword.rs:102:27
[INFO] [stdout]     |
[INFO] [stdout] 102 |             KeywordElse { ref name } => {
[INFO] [stdout]     |                           ^^^^^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/dolang/lexer/keyword.rs:105:28
[INFO] [stdout]     |
[INFO] [stdout] 105 |             KeywordWhile { ref name } => {
[INFO] [stdout]     |                            ^^^^^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/dolang/lexer/keyword.rs:108:25
[INFO] [stdout]     |
[INFO] [stdout] 108 |             KeywordDo { ref name } => {
[INFO] [stdout]     |                         ^^^^^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/dolang/lexer/keyword.rs:111:26
[INFO] [stdout]     |
[INFO] [stdout] 111 |             KeywordFor { ref name } => {
[INFO] [stdout]     |                          ^^^^^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/dolang/lexer/keyword.rs:114:29
[INFO] [stdout]     |
[INFO] [stdout] 114 |             KeywordSwitch { ref name } => {
[INFO] [stdout]     |                             ^^^^^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/dolang/lexer/keyword.rs:117:27
[INFO] [stdout]     |
[INFO] [stdout] 117 |             KeywordCase { ref name } => {
[INFO] [stdout]     |                           ^^^^^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/dolang/lexer/keyword.rs:120:30
[INFO] [stdout]     |
[INFO] [stdout] 120 |             KeywordDefault { ref name } => {
[INFO] [stdout]     |                              ^^^^^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/dolang/lexer/keyword.rs:123:29
[INFO] [stdout]     |
[INFO] [stdout] 123 |             KeywordImport { ref name } => {
[INFO] [stdout]     |                             ^^^^^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/dolang/lexer/keyword.rs:126:27
[INFO] [stdout]     |
[INFO] [stdout] 126 |             KeywordGoto { ref name } => {
[INFO] [stdout]     |                           ^^^^^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/dolang/lexer/lexer.rs:123:13
[INFO] [stdout]     |
[INFO] [stdout] 123 |         let mut int_val;
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `integer` is never read
[INFO] [stdout]    --> src/dolang/lexer/lexer.rs:122:32
[INFO] [stdout]     |
[INFO] [stdout] 122 |         let mut integer: Int = IntHex { value: 0 };
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/dolang/lexer/token.rs:312:13
[INFO] [stdout]     |
[INFO] [stdout] 312 |             _ => f.write_str(&format!("Unknown")),
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/dolang/lexer/token.rs:312:13
[INFO] [stdout]     |
[INFO] [stdout] 150 |             TokenEof {} => {
[INFO] [stdout]     |             ----------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 153 |             TokenLastChar {} => {
[INFO] [stdout]     |             ---------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 156 |             TokenFloat { ref value } => {
[INFO] [stdout]     |             ------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 159 |             TokenInt { ref value } => {
[INFO] [stdout]     |             ---------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 312 |             _ => f.write_str(&format!("Unknown")),
[INFO] [stdout]     |             ^ ...and 50 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/dolang/lexer/token.rs:156:26
[INFO] [stdout]     |
[INFO] [stdout] 156 |             TokenFloat { ref value } => {
[INFO] [stdout]     |                          ^^^^^^^^^ help: try ignoring the field: `value: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/dolang/lexer/token.rs:159:24
[INFO] [stdout]     |
[INFO] [stdout] 159 |             TokenInt { ref value } => {
[INFO] [stdout]     |                        ^^^^^^^^^ help: try ignoring the field: `value: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/dolang/parser/parser.rs:88:17
[INFO] [stdout]    |
[INFO] [stdout] 88 |             Err(e) => {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/dolang/parser/parser.rs:133:15
[INFO] [stdout]     |
[INFO] [stdout] 130 |             | TokenSub {}
[INFO] [stdout]     |               ----------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 133 |             | TokenSub {}
[INFO] [stdout]     |               ^^^^^^^^^^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/dolang/parser/parser.rs:236:31
[INFO] [stdout]     |
[INFO] [stdout] 236 |                 KeywordFunc { ref name } => {
[INFO] [stdout]     |                               ^^^^^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/dolang/parser/parser.rs:645:34
[INFO] [stdout]     |
[INFO] [stdout] 645 |                     KeywordVar { name } => {
[INFO] [stdout]     |                                  ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/dolang/parser/parser.rs:648:36
[INFO] [stdout]     |
[INFO] [stdout] 648 |                     KeywordConst { name } => {
[INFO] [stdout]     |                                    ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/dolang/parser/parser.rs:651:35
[INFO] [stdout]     |
[INFO] [stdout] 651 |                     KeywordEnum { name } => {
[INFO] [stdout]     |                                   ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/dolang/parser/parser.rs:654:38
[INFO] [stdout]     |
[INFO] [stdout] 654 |                     KeywordTypeDef { name } => {
[INFO] [stdout]     |                                      ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/dolang/parser/parser.rs:657:37
[INFO] [stdout]     |
[INFO] [stdout] 657 |                     KeywordStruct { name } => {
[INFO] [stdout]     |                                     ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/dolang/parser/parser.rs:660:35
[INFO] [stdout]     |
[INFO] [stdout] 660 |                     KeywordFunc { name } => {
[INFO] [stdout]     |                                   ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/dolang/parser/parser.rs:663:37
[INFO] [stdout]     |
[INFO] [stdout] 663 |                     KeywordImport { name } => {
[INFO] [stdout]     |                                     ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Token`
[INFO] [stdout]    --> src/dolang/parser/parser.rs:668:17
[INFO] [stdout]     |
[INFO] [stdout] 668 |                 Token => {}
[INFO] [stdout]     |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_Token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/dolang/parser/parser_error.rs:34:13
[INFO] [stdout]    |
[INFO] [stdout] 27 | /             UnexpectedTokenError {
[INFO] [stdout] 28 | |                 ref token,
[INFO] [stdout] 29 | |                 ref line,
[INFO] [stdout] 30 | |             } => f.write_str(&format!(
[INFO] [stdout]    | |_____________- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 34 |               _ => f.write_str(&format!("Syntax Error:")),
[INFO] [stdout]    |               ^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `byte_code` is never read
[INFO] [stdout]   --> src/assembler/assembler.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct Assembler {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 26 |     byte_code: Vec<u8>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/assembler/elf.rs:5:5
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub struct DELFHeader {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout]  5 |     identify: [u8; 4],
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]  6 |     version: u32,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]  7 |     entry: u32,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]  8 |     program_header_offset: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  9 |     segment_header_offset: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |     header_size: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 11 |     program_header_length: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     segment_header_length: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     segment_str_table_index: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `encode_to_bytes` and `decode_from_bytes` are never used
[INFO] [stdout]   --> src/assembler/elf.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl DELFHeader {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 31 |     fn encode_to_bytes(&self) -> Vec<u8> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     fn decode_from_bytes(headers: Vec<u8>) -> DELFHeader {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `current_line` is never read
[INFO] [stdout]   --> src/dolang/lexer/lexer.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct Lexer<'a> {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] 27 |     char_stream: Peekable<Chars<'a>>,
[INFO] [stdout] 28 |     current_line: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_assign_op` is never used
[INFO] [stdout]    --> src/dolang/parser/parser.rs:167:8
[INFO] [stdout]     |
[INFO] [stdout]  43 | impl<'a> Parser<'a> {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 167 |     fn is_assign_op(&self, token: &Token) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated functions are never used
[INFO] [stdout]    --> src/repl/terminal/color_print.rs:7:8
[INFO] [stdout]     |
[INFO] [stdout]   6 | impl ColorPrint {
[INFO] [stdout]     | --------------- associated functions in this implementation
[INFO] [stdout]   7 |     fn println_black(msg: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  10 |     fn println_dark_gray(msg: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  13 |     fn println_blue(msg: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  19 |     pub(crate) fn println_green(msg: &str) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  25 |     pub(crate) fn println_cyan(msg: &str) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  28 |     fn println_light_cyan(msg: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  31 |     pub(crate) fn println_red(msg: &str) {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  37 |     pub(crate) fn println_purple(msg: &str) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  43 |     fn println_brown(msg: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  46 |     fn println_yellow(msg: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  49 |     fn println_light_gray(msg: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  52 |     fn println_white(msg: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  56 |     fn print_black(msg: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  59 |     fn print_dark_gray(msg: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  62 |     fn print_blue(msg: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  68 |     pub(crate) fn print_green(msg: &str) {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  74 |     pub(crate) fn print_cyan(msg: &str) {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  77 |     fn print_light_cyan(msg: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  80 |     pub(crate) fn print_red(msg: &str) {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  83 |     fn print_light_red(msg: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  86 |     pub(crate) fn print_purple(msg: &str) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  89 |     pub(crate) fn print_light_purple(msg: &str) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  92 |     fn print_brown(msg: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  95 |     fn print_yellow(msg: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  98 |     fn print_light_gray(msg: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     fn print_white(msg: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `buffer`, `size`, `index`, `length`, `cursor`, and `history` are never read
[INFO] [stdout]   --> src/repl/terminal/terminal.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Terminal {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 47 |     buffer: String,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 48 |     size: (usize, usize),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 49 |     index: usize,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 50 |     length: usize,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 51 |     cursor: (usize, usize),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 52 |     history: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]   --> src/assembler/assembler.rs:51:39
[INFO] [stdout]    |
[INFO] [stdout] 51 |         for byte in ELF_HEADER_PREFIX.into_iter() {
[INFO] [stdout]    |                                       ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]    = note: `#[warn(array_into_iter)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]    |
[INFO] [stdout] 51 -         for byte in ELF_HEADER_PREFIX.into_iter() {
[INFO] [stdout] 51 +         for byte in ELF_HEADER_PREFIX.iter() {
[INFO] [stdout]    |
[INFO] [stdout] help: or remove `.into_iter()` to iterate by value
[INFO] [stdout]    |
[INFO] [stdout] 51 -         for byte in ELF_HEADER_PREFIX.into_iter() {
[INFO] [stdout] 51 +         for byte in ELF_HEADER_PREFIX {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/assembler/assembly_parser.rs:15:21
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub fn new(str: &str) -> AssemblyProgramParser {
[INFO] [stdout]    |                     ^^^^     ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub fn new(str: &str) -> AssemblyProgramParser<'_> {
[INFO] [stdout]    |                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/assembler/instructions_parser.rs:26:21
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub fn new(str: &str) -> InstructionParser {
[INFO] [stdout]    |                     ^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub fn new(str: &str) -> InstructionParser<'_> {
[INFO] [stdout]    |                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/assembler/__tests__/assembler_test.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 | /         assembler.process(
[INFO] [stdout] 38 | |             ".code\n\
[INFO] [stdout] 39 | |              main:   load $1 #300\n\
[INFO] [stdout] 40 | |              add $0 $1 $2\n\
[INFO] [stdout] ...  |
[INFO] [stdout] 52 | |              about:  .asciiz \"hello, I am Nero Yang\"",
[INFO] [stdout] 53 | |         );
[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)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 37 |         let _ = assembler.process(
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<String, Infallible>
[INFO] [stdout]   --> src/assembler/__tests__/symbol_table_test.rs:13:45
[INFO] [stdout]    |
[INFO] [stdout] 13 |         symbol_table.add_symbol(Symbol::new("hello".parse().unwrap(), 12, Label));
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-D unmustuse-in-always-ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<String, Infallible>
[INFO] [stdout]   --> src/assembler/__tests__/symbol_table_test.rs:20:45
[INFO] [stdout]    |
[INFO] [stdout] 20 |         symbol_table.add_symbol(Symbol::new("hello".parse().unwrap(), 12, Label));
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<String, Infallible>
[INFO] [stdout]   --> src/assembler/__tests__/symbol_table_test.rs:28:45
[INFO] [stdout]    |
[INFO] [stdout] 28 |         symbol_table.add_symbol(Symbol::new("hello".parse().unwrap(), 12, Label));
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/dolang/lexer/lexer.rs:32:36
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub fn new(source: &'a str) -> Lexer {
[INFO] [stdout]    |                         --         ^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is named here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub fn new(source: &'a str) -> Lexer<'a> {
[INFO] [stdout]    |                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/dolang/parser/parser.rs:255:9
[INFO] [stdout]     |
[INFO] [stdout] 255 |         self.next_token();
[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] 255 |         let _ = self.next_token();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/dolang/parser/parser.rs:257:9
[INFO] [stdout]     |
[INFO] [stdout] 257 |         self.next_token();
[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] 257 |         let _ = self.next_token();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/dolang/parser/parser.rs:263:25
[INFO] [stdout]     |
[INFO] [stdout] 263 |                         self.next_token();
[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] 263 |                         let _ = self.next_token();
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/dolang/parser/parser.rs:274:25
[INFO] [stdout]     |
[INFO] [stdout] 274 |                         self.next_token();
[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] 274 |                         let _ = self.next_token();
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/dolang/parser/parser.rs:301:21
[INFO] [stdout]     |
[INFO] [stdout] 301 |                     self.next_token();
[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] 301 |                     let _ = self.next_token();
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/dolang/parser/parser.rs:316:21
[INFO] [stdout]     |
[INFO] [stdout] 316 |                     self.next_token();
[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] 316 |                     let _ = self.next_token();
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<String, Infallible>
[INFO] [stdout]    --> src/dolang/parser/parser.rs:520:29
[INFO] [stdout]     |
[INFO] [stdout] 520 |                 return Some(name.parse().unwrap());
[INFO] [stdout]     |                             ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/dolang/parser/parser.rs:553:21
[INFO] [stdout]     |
[INFO] [stdout] 553 |                     self.next_token();
[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] 553 |                     let _ = self.next_token();
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/dolang/parser/parser.rs:566:25
[INFO] [stdout]     |
[INFO] [stdout] 566 |                         self.next_token();
[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] 566 |                         let _ = self.next_token();
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/dolang/parser/parser.rs:596:21
[INFO] [stdout]     |
[INFO] [stdout] 596 |                     self.next_token();
[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] 596 |                     let _ = self.next_token();
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/dolang/parser/parser.rs:609:25
[INFO] [stdout]     |
[INFO] [stdout] 609 |                         self.next_token();
[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] 609 |                         let _ = self.next_token();
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Token` should have a snake case name
[INFO] [stdout]    --> src/dolang/parser/parser.rs:668:17
[INFO] [stdout]     |
[INFO] [stdout] 668 |                 Token => {}
[INFO] [stdout]     |                 ^^^^^ help: convert the identifier to snake case: `token`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/dolang/parser/__tests__/parser_test.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 64 |         parser.next_token();
[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] 64 |         let _ = parser.next_token();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/dolang/parser/__tests__/parser_test.rs:77:9
[INFO] [stdout]    |
[INFO] [stdout] 77 |         parser.next_token();
[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 _ = parser.next_token();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/dolang/parser/__tests__/parser_test.rs:90:9
[INFO] [stdout]    |
[INFO] [stdout] 90 |         parser.next_token();
[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] 90 |         let _ = parser.next_token();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/dolang/parser/__tests__/parser_test.rs:103:9
[INFO] [stdout]     |
[INFO] [stdout] 103 |         parser.next_token();
[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] 103 |         let _ = parser.next_token();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/dolang/parser/__tests__/parser_test.rs:123:9
[INFO] [stdout]     |
[INFO] [stdout] 123 |         parser.next_token();
[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] 123 |         let _ = parser.next_token();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/dolang/parser/__tests__/parser_test.rs:143:9
[INFO] [stdout]     |
[INFO] [stdout] 143 |         parser.next_token();
[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] 143 |         let _ = parser.next_token();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/dolang/parser/__tests__/parser_test.rs:163:9
[INFO] [stdout]     |
[INFO] [stdout] 163 |         parser.next_token();
[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] 163 |         let _ = parser.next_token();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/dolang/parser/__tests__/parser_test.rs:183:9
[INFO] [stdout]     |
[INFO] [stdout] 183 |         parser.next_token();
[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] 183 |         let _ = parser.next_token();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/dolang/parser/__tests__/parser_test.rs:203:9
[INFO] [stdout]     |
[INFO] [stdout] 203 |         parser.next_token();
[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] 203 |         let _ = parser.next_token();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/dolang/parser/__tests__/parser_test.rs:220:9
[INFO] [stdout]     |
[INFO] [stdout] 220 |         parser.next_token();
[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] 220 |         let _ = parser.next_token();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/dolang/parser/__tests__/parser_test.rs:237:9
[INFO] [stdout]     |
[INFO] [stdout] 237 |         parser.next_token();
[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] 237 |         let _ = parser.next_token();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `printSplash` should have a snake case name
[INFO] [stdout]    --> src/repl/repl.rs:229:8
[INFO] [stdout]     |
[INFO] [stdout] 229 |     fn printSplash() {
[INFO] [stdout]     |        ^^^^^^^^^^^ help: convert the identifier to snake case: `print_splash`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `StdinLock` that must be used
[INFO] [stdout]    --> src/repl/terminal/terminal.rs:118:13
[INFO] [stdout]     |
[INFO] [stdout] 118 |             stdin.lock();
[INFO] [stdout]     |             ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if unused stdin will immediately unlock
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 118 |             let _ = stdin.lock();
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/vm/vm.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |         self.execute_instruction();
[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] 72 |         let _ = self.execute_instruction();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `Dulang` (lib test) due to 4 previous errors; 121 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "60886b1bd2531bf1e8693ab6b482132d817889d44b827cee82ca579ab42172c4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "60886b1bd2531bf1e8693ab6b482132d817889d44b827cee82ca579ab42172c4", kill_on_drop: false }`
[INFO] [stdout] 60886b1bd2531bf1e8693ab6b482132d817889d44b827cee82ca579ab42172c4
