[INFO] cloning repository https://github.com/patallen/SlangVM
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/patallen/SlangVM" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpatallen%2FSlangVM", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpatallen%2FSlangVM'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 7660c5494308d811895b859bbd512253f72ba01d
[INFO] testing patallen/SlangVM against 1.86.0 for beta-1.87-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpatallen%2FSlangVM" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/patallen/SlangVM on toolchain 1.86.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.86.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/patallen/SlangVM
[INFO] finished tweaking git repo https://github.com/patallen/SlangVM
[INFO] tweaked toml for git repo https://github.com/patallen/SlangVM written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/patallen/SlangVM already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.86.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded void v1.0.2
[INFO] [stderr]   Downloaded aho-corasick v0.6.3
[INFO] [stderr]   Downloaded memchr v1.0.1
[INFO] [stderr]   Downloaded unreachable v0.1.1
[INFO] [stderr]   Downloaded utf8-ranges v1.0.0
[INFO] [stderr]   Downloaded num-iter v0.1.33
[INFO] [stderr]   Downloaded fnv v1.0.5
[INFO] [stderr]   Downloaded unsafe-any v0.4.1
[INFO] [stderr]   Downloaded num-traits v0.1.37
[INFO] [stderr]   Downloaded lazy_static v0.2.8
[INFO] [stderr]   Downloaded miniz-sys v0.1.9
[INFO] [stderr]   Downloaded serde-value v0.5.0
[INFO] [stderr]   Downloaded quote v0.3.15
[INFO] [stderr]   Downloaded dtoa v0.4.1
[INFO] [stderr]   Downloaded yaml-rust v0.3.5
[INFO] [stderr]   Downloaded itoa v0.3.1
[INFO] [stderr]   Downloaded num v0.1.37
[INFO] [stderr]   Downloaded time v0.1.37
[INFO] [stderr]   Downloaded crossbeam v0.2.10
[INFO] [stderr]   Downloaded humantime v1.0.0
[INFO] [stderr]   Downloaded log v0.3.7
[INFO] [stderr]   Downloaded serde_derive_internals v0.15.0
[INFO] [stderr]   Downloaded synom v0.11.3
[INFO] [stderr]   Downloaded unicode-xid v0.0.4
[INFO] [stderr]   Downloaded syn v0.11.11
[INFO] [stderr]   Downloaded linked-hash-map v0.4.2
[INFO] [stderr]   Downloaded linked-hash-map v0.3.0
[INFO] [stderr]   Downloaded thread_local v0.3.3
[INFO] [stderr]   Downloaded gcc v0.3.46
[INFO] [stderr]   Downloaded ordered-float v0.4.0
[INFO] [stderr]   Downloaded itertools v0.6.0
[INFO] [stderr]   Downloaded serde_derive v1.0.4
[INFO] [stderr]   Downloaded serde v1.0.4
[INFO] [stderr]   Downloaded either v1.1.0
[INFO] [stderr]   Downloaded quick-error v1.2.0
[INFO] [stderr]   Downloaded num-integer v0.1.34
[INFO] [stderr]   Downloaded serde_yaml v0.7.0
[INFO] [stderr]   Downloaded redox_syscall v0.1.17
[INFO] [stderr]   Downloaded flate2 v0.2.19
[INFO] [stderr]   Downloaded serde_json v1.0.2
[INFO] [stderr]   Downloaded regex-syntax v0.4.0
[INFO] [stderr]   Downloaded thread-id v3.1.0
[INFO] [stderr]   Downloaded libc v0.2.22
[INFO] [stderr]   Downloaded chrono v0.3.1
[INFO] [stderr]   Downloaded regex v0.2.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0b074c097205a61b89e8ad263052f976b2b332c4dc5f02aef1fe52501660d6e" "/opt/rustwide/cargo-home/bin/cargo" "+1.86.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 51eaab5ebd2411614d09cc725a754663c337a9fa6a5e5b719bd284ca4b7f6e24
[INFO] running `Command { std: "docker" "start" "-a" "51eaab5ebd2411614d09cc725a754663c337a9fa6a5e5b719bd284ca4b7f6e24", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "51eaab5ebd2411614d09cc725a754663c337a9fa6a5e5b719bd284ca4b7f6e24", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "51eaab5ebd2411614d09cc725a754663c337a9fa6a5e5b719bd284ca4b7f6e24", kill_on_drop: false }`
[INFO] [stdout] 51eaab5ebd2411614d09cc725a754663c337a9fa6a5e5b719bd284ca4b7f6e24
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0b074c097205a61b89e8ad263052f976b2b332c4dc5f02aef1fe52501660d6e" "/opt/rustwide/cargo-home/bin/cargo" "+1.86.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 95c10c1040a2c852251190810bfe1e6cc6b86b61f34cccc02e6d21cab713960a
[INFO] running `Command { std: "docker" "start" "-a" "95c10c1040a2c852251190810bfe1e6cc6b86b61f34cccc02e6d21cab713960a", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling libc v0.2.22
[INFO] [stderr]    Compiling num-traits v0.1.37
[INFO] [stderr]    Compiling void v1.0.2
[INFO] [stderr]    Compiling gcc v0.3.46
[INFO] [stderr]    Compiling unicode-xid v0.0.4
[INFO] [stderr]    Compiling quote v0.3.15
[INFO] [stderr]    Compiling serde v1.0.4
[INFO] [stderr]    Compiling linked-hash-map v0.3.0
[INFO] [stderr]    Compiling traitobject v0.1.0
[INFO] [stderr]    Compiling dtoa v0.4.1
[INFO] [stderr]    Compiling linked-hash-map v0.4.2
[INFO] [stderr]    Compiling quick-error v1.2.0
[INFO] [stderr]    Compiling itoa v0.3.1
[INFO] [stderr]    Compiling utf8-ranges v1.0.0
[INFO] [stderr]    Compiling regex-syntax v0.4.0
[INFO] [stderr]    Compiling log v0.3.7
[INFO] [stderr]    Compiling unreachable v0.1.1
[INFO] [stderr]    Compiling unsafe-any v0.4.1
[INFO] [stderr]    Compiling humantime v1.0.0
[INFO] [stderr]    Compiling fnv v1.0.5
[INFO] [stderr]    Compiling antidote v1.0.0
[INFO] [stderr]    Compiling synom v0.11.3
[INFO] [stderr]    Compiling typemap v0.3.3
[INFO] [stderr]    Compiling log-mdc v0.1.0
[INFO] [stderr]    Compiling crossbeam v0.2.10
[INFO] [stderr]    Compiling either v1.1.0
[INFO] [stderr]    Compiling yaml-rust v0.3.5
[INFO] [stderr]    Compiling lazy_static v0.2.8
[INFO] [stderr]    Compiling syn v0.11.11
[INFO] [stderr]    Compiling time v0.1.37
[INFO] [stderr]    Compiling thread-id v3.1.0
[INFO] [stderr]    Compiling memchr v1.0.1
[INFO] [stderr]    Compiling itertools v0.6.0
[INFO] [stderr]    Compiling thread_local v0.3.3
[INFO] [stderr]    Compiling num-integer v0.1.34
[INFO] [stderr]    Compiling ordered-float v0.4.0
[INFO] [stderr]    Compiling aho-corasick v0.6.3
[INFO] [stderr]    Compiling num-iter v0.1.33
[INFO] [stderr]    Compiling miniz-sys v0.1.9
[INFO] [stderr]    Compiling num v0.1.37
[INFO] [stderr]    Compiling chrono v0.3.1
[INFO] [stderr]    Compiling regex v0.2.1
[INFO] [stderr]    Compiling flate2 v0.2.19
[INFO] [stderr]    Compiling serde_derive_internals v0.15.0
[INFO] [stderr]    Compiling serde_derive v1.0.4
[INFO] [stderr]    Compiling serde_yaml v0.7.0
[INFO] [stderr]    Compiling serde-value v0.5.0
[INFO] [stderr]    Compiling serde_json v1.0.2
[INFO] [stderr]    Compiling log4rs v0.7.0
[INFO] [stderr]    Compiling slang v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/compiler/lex.rs:34:24
[INFO] [stdout]    |
[INFO] [stdout] 34 |                     'a'...'z' | '_' => tokens.push(consume_ident(&mut chars)),
[INFO] [stdout]    |                        ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/compiler/lex.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                     '0'...'9'       => tokens.push(consume_number(&mut chars)),
[INFO] [stdout]    |                        ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/compiler/lex.rs:61:16
[INFO] [stdout]    |
[INFO] [stdout] 61 |             'a'...'z' | '_' => true,
[INFO] [stdout]    |                ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/compiler/lex.rs:65:16
[INFO] [stdout]    |
[INFO] [stdout] 65 |             '0'...'9' | '.' => true,
[INFO] [stdout]    |                ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: elided lifetime has a name
[INFO] [stdout]    --> src/assembler/mod.rs:172:62
[INFO] [stdout]     |
[INFO] [stdout] 172 |     fn make_global_sections<'a>(&'a self) -> HashMap<String, GlobalSection> {
[INFO] [stdout]     |                             -- lifetime `'a` declared here   ^^^^^^^^^^^^^ this elided lifetime gets resolved as `'a`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(elided_named_lifetimes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `assembler::lexer::Lexer`
[INFO] [stdout]   --> src/main.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use assembler::lexer::Lexer;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Tokenizer` and `shunting_yard`
[INFO] [stdout]   --> src/main.rs:24:21
[INFO] [stdout]    |
[INFO] [stdout] 24 | use compiler::lex::{Tokenizer, shunting_yard};
[INFO] [stdout]    |                     ^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]   --> src/assembler/lexer.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | / lazy_static! {
[INFO] [stdout] 4  | |     static ref REGEX_DIRECTIVE: Regex = Regex::new(r"^@([a-zA-Z]+$)").unwrap();
[INFO] [stdout] 5  | |     static ref REGEX_GLABEL: Regex = Regex::new(r"^\.\w+:$").unwrap();
[INFO] [stdout] 6  | |     static ref REGEX_LLABEL: Regex = Regex::new(r"^'\w+:$").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 12 | |     static ref REGEX_COMMENT: Regex = Regex::new(r"^;.+").unwrap();
[INFO] [stdout] 13 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]   --> src/assembler/lexer.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | / lazy_static! {
[INFO] [stdout] 4  | |     static ref REGEX_DIRECTIVE: Regex = Regex::new(r"^@([a-zA-Z]+$)").unwrap();
[INFO] [stdout] 5  | |     static ref REGEX_GLABEL: Regex = Regex::new(r"^\.\w+:$").unwrap();
[INFO] [stdout] 6  | |     static ref REGEX_LLABEL: Regex = Regex::new(r"^'\w+:$").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 12 | |     static ref REGEX_COMMENT: Regex = Regex::new(r"^;.+").unwrap();
[INFO] [stdout] 13 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]   --> src/assembler/lexer.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | / lazy_static! {
[INFO] [stdout] 4  | |     static ref REGEX_DIRECTIVE: Regex = Regex::new(r"^@([a-zA-Z]+$)").unwrap();
[INFO] [stdout] 5  | |     static ref REGEX_GLABEL: Regex = Regex::new(r"^\.\w+:$").unwrap();
[INFO] [stdout] 6  | |     static ref REGEX_LLABEL: Regex = Regex::new(r"^'\w+:$").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 12 | |     static ref REGEX_COMMENT: Regex = Regex::new(r"^;.+").unwrap();
[INFO] [stdout] 13 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]   --> src/assembler/lexer.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | / lazy_static! {
[INFO] [stdout] 4  | |     static ref REGEX_DIRECTIVE: Regex = Regex::new(r"^@([a-zA-Z]+$)").unwrap();
[INFO] [stdout] 5  | |     static ref REGEX_GLABEL: Regex = Regex::new(r"^\.\w+:$").unwrap();
[INFO] [stdout] 6  | |     static ref REGEX_LLABEL: Regex = Regex::new(r"^'\w+:$").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 12 | |     static ref REGEX_COMMENT: Regex = Regex::new(r"^;.+").unwrap();
[INFO] [stdout] 13 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]   --> src/assembler/lexer.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | / lazy_static! {
[INFO] [stdout] 4  | |     static ref REGEX_DIRECTIVE: Regex = Regex::new(r"^@([a-zA-Z]+$)").unwrap();
[INFO] [stdout] 5  | |     static ref REGEX_GLABEL: Regex = Regex::new(r"^\.\w+:$").unwrap();
[INFO] [stdout] 6  | |     static ref REGEX_LLABEL: Regex = Regex::new(r"^'\w+:$").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 12 | |     static ref REGEX_COMMENT: Regex = Regex::new(r"^;.+").unwrap();
[INFO] [stdout] 13 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]   --> src/assembler/lexer.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | / lazy_static! {
[INFO] [stdout] 4  | |     static ref REGEX_DIRECTIVE: Regex = Regex::new(r"^@([a-zA-Z]+$)").unwrap();
[INFO] [stdout] 5  | |     static ref REGEX_GLABEL: Regex = Regex::new(r"^\.\w+:$").unwrap();
[INFO] [stdout] 6  | |     static ref REGEX_LLABEL: Regex = Regex::new(r"^'\w+:$").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 12 | |     static ref REGEX_COMMENT: Regex = Regex::new(r"^;.+").unwrap();
[INFO] [stdout] 13 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]   --> src/assembler/lexer.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | / lazy_static! {
[INFO] [stdout] 4  | |     static ref REGEX_DIRECTIVE: Regex = Regex::new(r"^@([a-zA-Z]+$)").unwrap();
[INFO] [stdout] 5  | |     static ref REGEX_GLABEL: Regex = Regex::new(r"^\.\w+:$").unwrap();
[INFO] [stdout] 6  | |     static ref REGEX_LLABEL: Regex = Regex::new(r"^'\w+:$").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 12 | |     static ref REGEX_COMMENT: Regex = Regex::new(r"^;.+").unwrap();
[INFO] [stdout] 13 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]   --> src/assembler/lexer.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | / lazy_static! {
[INFO] [stdout] 4  | |     static ref REGEX_DIRECTIVE: Regex = Regex::new(r"^@([a-zA-Z]+$)").unwrap();
[INFO] [stdout] 5  | |     static ref REGEX_GLABEL: Regex = Regex::new(r"^\.\w+:$").unwrap();
[INFO] [stdout] 6  | |     static ref REGEX_LLABEL: Regex = Regex::new(r"^'\w+:$").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 12 | |     static ref REGEX_COMMENT: Regex = Regex::new(r"^;.+").unwrap();
[INFO] [stdout] 13 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]   --> src/assembler/lexer.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | / lazy_static! {
[INFO] [stdout] 4  | |     static ref REGEX_DIRECTIVE: Regex = Regex::new(r"^@([a-zA-Z]+$)").unwrap();
[INFO] [stdout] 5  | |     static ref REGEX_GLABEL: Regex = Regex::new(r"^\.\w+:$").unwrap();
[INFO] [stdout] 6  | |     static ref REGEX_LLABEL: Regex = Regex::new(r"^'\w+:$").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 12 | |     static ref REGEX_COMMENT: Regex = Regex::new(r"^;.+").unwrap();
[INFO] [stdout] 13 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]   --> src/assembler/lexer.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | / lazy_static! {
[INFO] [stdout] 4  | |     static ref REGEX_DIRECTIVE: Regex = Regex::new(r"^@([a-zA-Z]+$)").unwrap();
[INFO] [stdout] 5  | |     static ref REGEX_GLABEL: Regex = Regex::new(r"^\.\w+:$").unwrap();
[INFO] [stdout] 6  | |     static ref REGEX_LLABEL: Regex = Regex::new(r"^'\w+:$").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 12 | |     static ref REGEX_COMMENT: Regex = Regex::new(r"^;.+").unwrap();
[INFO] [stdout] 13 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]   --> src/assembler/lexer.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | / lazy_static! {
[INFO] [stdout] 4  | |     static ref REGEX_DIRECTIVE: Regex = Regex::new(r"^@([a-zA-Z]+$)").unwrap();
[INFO] [stdout] 5  | |     static ref REGEX_GLABEL: Regex = Regex::new(r"^\.\w+:$").unwrap();
[INFO] [stdout] 6  | |     static ref REGEX_LLABEL: Regex = Regex::new(r"^'\w+:$").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 12 | |     static ref REGEX_COMMENT: Regex = Regex::new(r"^;.+").unwrap();
[INFO] [stdout] 13 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]   --> src/assembler/lexer.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | / lazy_static! {
[INFO] [stdout] 4  | |     static ref REGEX_DIRECTIVE: Regex = Regex::new(r"^@([a-zA-Z]+$)").unwrap();
[INFO] [stdout] 5  | |     static ref REGEX_GLABEL: Regex = Regex::new(r"^\.\w+:$").unwrap();
[INFO] [stdout] 6  | |     static ref REGEX_LLABEL: Regex = Regex::new(r"^'\w+:$").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 12 | |     static ref REGEX_COMMENT: Regex = Regex::new(r"^;.+").unwrap();
[INFO] [stdout] 13 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]   --> src/assembler/lexer.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | / lazy_static! {
[INFO] [stdout] 4  | |     static ref REGEX_DIRECTIVE: Regex = Regex::new(r"^@([a-zA-Z]+$)").unwrap();
[INFO] [stdout] 5  | |     static ref REGEX_GLABEL: Regex = Regex::new(r"^\.\w+:$").unwrap();
[INFO] [stdout] 6  | |     static ref REGEX_LLABEL: Regex = Regex::new(r"^'\w+:$").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 12 | |     static ref REGEX_COMMENT: Regex = Regex::new(r"^;.+").unwrap();
[INFO] [stdout] 13 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]   --> src/assembler/lexer.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | / lazy_static! {
[INFO] [stdout] 4  | |     static ref REGEX_DIRECTIVE: Regex = Regex::new(r"^@([a-zA-Z]+$)").unwrap();
[INFO] [stdout] 5  | |     static ref REGEX_GLABEL: Regex = Regex::new(r"^\.\w+:$").unwrap();
[INFO] [stdout] 6  | |     static ref REGEX_LLABEL: Regex = Regex::new(r"^'\w+:$").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 12 | |     static ref REGEX_COMMENT: Regex = Regex::new(r"^;.+").unwrap();
[INFO] [stdout] 13 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]   --> src/assembler/lexer.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | / lazy_static! {
[INFO] [stdout] 4  | |     static ref REGEX_DIRECTIVE: Regex = Regex::new(r"^@([a-zA-Z]+$)").unwrap();
[INFO] [stdout] 5  | |     static ref REGEX_GLABEL: Regex = Regex::new(r"^\.\w+:$").unwrap();
[INFO] [stdout] 6  | |     static ref REGEX_LLABEL: Regex = Regex::new(r"^'\w+:$").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 12 | |     static ref REGEX_COMMENT: Regex = Regex::new(r"^;.+").unwrap();
[INFO] [stdout] 13 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]   --> src/assembler/lexer.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | / lazy_static! {
[INFO] [stdout] 4  | |     static ref REGEX_DIRECTIVE: Regex = Regex::new(r"^@([a-zA-Z]+$)").unwrap();
[INFO] [stdout] 5  | |     static ref REGEX_GLABEL: Regex = Regex::new(r"^\.\w+:$").unwrap();
[INFO] [stdout] 6  | |     static ref REGEX_LLABEL: Regex = Regex::new(r"^'\w+:$").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 12 | |     static ref REGEX_COMMENT: Regex = Regex::new(r"^;.+").unwrap();
[INFO] [stdout] 13 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]   --> src/assembler/lexer.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | / lazy_static! {
[INFO] [stdout] 4  | |     static ref REGEX_DIRECTIVE: Regex = Regex::new(r"^@([a-zA-Z]+$)").unwrap();
[INFO] [stdout] 5  | |     static ref REGEX_GLABEL: Regex = Regex::new(r"^\.\w+:$").unwrap();
[INFO] [stdout] 6  | |     static ref REGEX_LLABEL: Regex = Regex::new(r"^'\w+:$").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 12 | |     static ref REGEX_COMMENT: Regex = Regex::new(r"^;.+").unwrap();
[INFO] [stdout] 13 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]   --> src/assembler/lexer.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | / lazy_static! {
[INFO] [stdout] 4  | |     static ref REGEX_DIRECTIVE: Regex = Regex::new(r"^@([a-zA-Z]+$)").unwrap();
[INFO] [stdout] 5  | |     static ref REGEX_GLABEL: Regex = Regex::new(r"^\.\w+:$").unwrap();
[INFO] [stdout] 6  | |     static ref REGEX_LLABEL: Regex = Regex::new(r"^'\w+:$").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 12 | |     static ref REGEX_COMMENT: Regex = Regex::new(r"^;.+").unwrap();
[INFO] [stdout] 13 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::trim_left_matches`: superseded by `trim_start_matches`
[INFO] [stdout]   --> src/assembler/lexer.rs:72:30
[INFO] [stdout]    |
[INFO] [stdout] 72 |             let ret = string.trim_left_matches(';').trim_left();
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]    |
[INFO] [stdout] 72 -             let ret = string.trim_left_matches(';').trim_left();
[INFO] [stdout] 72 +             let ret = string.trim_start_matches(';').trim_left();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::trim_left`: superseded by `trim_start`
[INFO] [stdout]   --> src/assembler/lexer.rs:72:53
[INFO] [stdout]    |
[INFO] [stdout] 72 |             let ret = string.trim_left_matches(';').trim_left();
[INFO] [stdout]    |                                                     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]    |
[INFO] [stdout] 72 -             let ret = string.trim_left_matches(';').trim_left();
[INFO] [stdout] 72 +             let ret = string.trim_left_matches(';').trim_start();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `next_code` and `reset` are never used
[INFO] [stdout]   --> src/program.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 8  | impl Program {
[INFO] [stdout]    | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn next_code(&mut self) -> u16 {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub fn reset(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Token` is never used
[INFO] [stdout]  --> src/compiler/lex.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub enum Token {
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Token` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ConsumeType` is never used
[INFO] [stdout]   --> src/compiler/lex.rs:15:6
[INFO] [stdout]    |
[INFO] [stdout] 15 | enum ConsumeType { Ident, Number }
[INFO] [stdout]    |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Tokenizer` is never constructed
[INFO] [stdout]   --> src/compiler/lex.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Tokenizer<'a> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `tokenize` are never used
[INFO] [stdout]   --> src/compiler/lex.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl<'a> Tokenizer<'a> {
[INFO] [stdout]    | ---------------------- associated items in this implementation
[INFO] [stdout] 21 |     pub fn new(input: &'a str) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn tokenize(&mut self) -> Vec<Token> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `consume_ident` is never used
[INFO] [stdout]   --> src/compiler/lex.rs:48:4
[INFO] [stdout]    |
[INFO] [stdout] 48 | fn consume_ident(peekable: &mut Peekable<Chars>) -> Token {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `consume_number` is never used
[INFO] [stdout]   --> src/compiler/lex.rs:53:4
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn consume_number(peekable: &mut Peekable<Chars>) -> Token {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `valid_token_char` is never used
[INFO] [stdout]   --> src/compiler/lex.rs:58:4
[INFO] [stdout]    |
[INFO] [stdout] 58 | fn valid_token_char(ch: &char, tt: ConsumeType) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shunting_yard` is never used
[INFO] [stdout]   --> src/compiler/lex.rs:71:8
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub fn shunting_yard(tokens: Vec<Token>) -> Vec<Token> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `current_line` and `errors` are never read
[INFO] [stdout]   --> src/assembler/mod.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 8  | pub struct Assembler {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12 |     current_line: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 13 |     errors: Vec<String>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `bytecode` is never read
[INFO] [stdout]   --> src/assembler/mod.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | struct GlobalSection<'g> {
[INFO] [stdout]    |        ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 22 |     bytecode: Vec<u8>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GlobalSection` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/assembler/lexer.rs:47:13
[INFO] [stdout]    |
[INFO] [stdout] 47 |     Comment(String),
[INFO] [stdout]    |     ------- ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Token` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 47 -     Comment(String),
[INFO] [stdout] 47 +     Comment(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `collect` that must be used
[INFO] [stdout]   --> src/compiler/lex.rs:38:73
[INFO] [stdout]    |
[INFO] [stdout] 38 |                     ')'             => {tokens.push(Token::RightParen); chars.take(1).collect::<String>();},
[INFO] [stdout]    |                                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: if you really need to exhaust the iterator, consider `.for_each(drop)` instead
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 38 |                     ')'             => {tokens.push(Token::RightParen); let _ = chars.take(1).collect::<String>();},
[INFO] [stdout]    |                                                                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `collect` that must be used
[INFO] [stdout]   --> src/compiler/lex.rs:39:72
[INFO] [stdout]    |
[INFO] [stdout] 39 |                     '('             => {tokens.push(Token::LeftParen); chars.take(1).collect::<String>();},
[INFO] [stdout]    |                                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: if you really need to exhaust the iterator, consider `.for_each(drop)` instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 39 |                     '('             => {tokens.push(Token::LeftParen); let _ = chars.take(1).collect::<String>();},
[INFO] [stdout]    |                                                                        +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `collect` that must be used
[INFO] [stdout]   --> src/compiler/lex.rs:40:42
[INFO] [stdout]    |
[INFO] [stdout] 40 |                     ' '             => { chars.take(1).collect::<String>(); }
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: if you really need to exhaust the iterator, consider `.for_each(drop)` instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 40 |                     ' '             => { let _ = chars.take(1).collect::<String>(); }
[INFO] [stdout]    |                                          +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/assembler/lexer.rs:75:73
[INFO] [stdout]    |
[INFO] [stdout] 75 |         Err(format!("{} did not match any tokens during lexing.", string.clone()))
[INFO] [stdout]    |                                                                         ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout]    = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 16.95s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: traitobject v0.1.0, typemap v0.3.3
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "95c10c1040a2c852251190810bfe1e6cc6b86b61f34cccc02e6d21cab713960a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "95c10c1040a2c852251190810bfe1e6cc6b86b61f34cccc02e6d21cab713960a", kill_on_drop: false }`
[INFO] [stdout] 95c10c1040a2c852251190810bfe1e6cc6b86b61f34cccc02e6d21cab713960a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0b074c097205a61b89e8ad263052f976b2b332c4dc5f02aef1fe52501660d6e" "/opt/rustwide/cargo-home/bin/cargo" "+1.86.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 809ceb2d0ed96009563a76a42d27ce6b7fd438ae4af4e5448fa58b5a5624c5ba
[INFO] running `Command { std: "docker" "start" "-a" "809ceb2d0ed96009563a76a42d27ce6b7fd438ae4af4e5448fa58b5a5624c5ba", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling slang v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/compiler/lex.rs:34:24
[INFO] [stdout]    |
[INFO] [stdout] 34 |                     'a'...'z' | '_' => tokens.push(consume_ident(&mut chars)),
[INFO] [stdout]    |                        ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/compiler/lex.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                     '0'...'9'       => tokens.push(consume_number(&mut chars)),
[INFO] [stdout]    |                        ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/compiler/lex.rs:61:16
[INFO] [stdout]    |
[INFO] [stdout] 61 |             'a'...'z' | '_' => true,
[INFO] [stdout]    |                ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/compiler/lex.rs:65:16
[INFO] [stdout]    |
[INFO] [stdout] 65 |             '0'...'9' | '.' => true,
[INFO] [stdout]    |                ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: elided lifetime has a name
[INFO] [stdout]    --> src/assembler/mod.rs:172:62
[INFO] [stdout]     |
[INFO] [stdout] 172 |     fn make_global_sections<'a>(&'a self) -> HashMap<String, GlobalSection> {
[INFO] [stdout]     |                             -- lifetime `'a` declared here   ^^^^^^^^^^^^^ this elided lifetime gets resolved as `'a`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(elided_named_lifetimes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `assembler::lexer::Lexer`
[INFO] [stdout]   --> src/main.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use assembler::lexer::Lexer;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Tokenizer` and `shunting_yard`
[INFO] [stdout]   --> src/main.rs:24:21
[INFO] [stdout]    |
[INFO] [stdout] 24 | use compiler::lex::{Tokenizer, shunting_yard};
[INFO] [stdout]    |                     ^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]   --> src/assembler/lexer.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | / lazy_static! {
[INFO] [stdout] 4  | |     static ref REGEX_DIRECTIVE: Regex = Regex::new(r"^@([a-zA-Z]+$)").unwrap();
[INFO] [stdout] 5  | |     static ref REGEX_GLABEL: Regex = Regex::new(r"^\.\w+:$").unwrap();
[INFO] [stdout] 6  | |     static ref REGEX_LLABEL: Regex = Regex::new(r"^'\w+:$").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 12 | |     static ref REGEX_COMMENT: Regex = Regex::new(r"^;.+").unwrap();
[INFO] [stdout] 13 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]   --> src/assembler/lexer.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | / lazy_static! {
[INFO] [stdout] 4  | |     static ref REGEX_DIRECTIVE: Regex = Regex::new(r"^@([a-zA-Z]+$)").unwrap();
[INFO] [stdout] 5  | |     static ref REGEX_GLABEL: Regex = Regex::new(r"^\.\w+:$").unwrap();
[INFO] [stdout] 6  | |     static ref REGEX_LLABEL: Regex = Regex::new(r"^'\w+:$").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 12 | |     static ref REGEX_COMMENT: Regex = Regex::new(r"^;.+").unwrap();
[INFO] [stdout] 13 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]   --> src/assembler/lexer.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | / lazy_static! {
[INFO] [stdout] 4  | |     static ref REGEX_DIRECTIVE: Regex = Regex::new(r"^@([a-zA-Z]+$)").unwrap();
[INFO] [stdout] 5  | |     static ref REGEX_GLABEL: Regex = Regex::new(r"^\.\w+:$").unwrap();
[INFO] [stdout] 6  | |     static ref REGEX_LLABEL: Regex = Regex::new(r"^'\w+:$").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 12 | |     static ref REGEX_COMMENT: Regex = Regex::new(r"^;.+").unwrap();
[INFO] [stdout] 13 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]   --> src/assembler/lexer.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | / lazy_static! {
[INFO] [stdout] 4  | |     static ref REGEX_DIRECTIVE: Regex = Regex::new(r"^@([a-zA-Z]+$)").unwrap();
[INFO] [stdout] 5  | |     static ref REGEX_GLABEL: Regex = Regex::new(r"^\.\w+:$").unwrap();
[INFO] [stdout] 6  | |     static ref REGEX_LLABEL: Regex = Regex::new(r"^'\w+:$").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 12 | |     static ref REGEX_COMMENT: Regex = Regex::new(r"^;.+").unwrap();
[INFO] [stdout] 13 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]   --> src/assembler/lexer.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | / lazy_static! {
[INFO] [stdout] 4  | |     static ref REGEX_DIRECTIVE: Regex = Regex::new(r"^@([a-zA-Z]+$)").unwrap();
[INFO] [stdout] 5  | |     static ref REGEX_GLABEL: Regex = Regex::new(r"^\.\w+:$").unwrap();
[INFO] [stdout] 6  | |     static ref REGEX_LLABEL: Regex = Regex::new(r"^'\w+:$").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 12 | |     static ref REGEX_COMMENT: Regex = Regex::new(r"^;.+").unwrap();
[INFO] [stdout] 13 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]   --> src/assembler/lexer.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | / lazy_static! {
[INFO] [stdout] 4  | |     static ref REGEX_DIRECTIVE: Regex = Regex::new(r"^@([a-zA-Z]+$)").unwrap();
[INFO] [stdout] 5  | |     static ref REGEX_GLABEL: Regex = Regex::new(r"^\.\w+:$").unwrap();
[INFO] [stdout] 6  | |     static ref REGEX_LLABEL: Regex = Regex::new(r"^'\w+:$").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 12 | |     static ref REGEX_COMMENT: Regex = Regex::new(r"^;.+").unwrap();
[INFO] [stdout] 13 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]   --> src/assembler/lexer.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | / lazy_static! {
[INFO] [stdout] 4  | |     static ref REGEX_DIRECTIVE: Regex = Regex::new(r"^@([a-zA-Z]+$)").unwrap();
[INFO] [stdout] 5  | |     static ref REGEX_GLABEL: Regex = Regex::new(r"^\.\w+:$").unwrap();
[INFO] [stdout] 6  | |     static ref REGEX_LLABEL: Regex = Regex::new(r"^'\w+:$").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 12 | |     static ref REGEX_COMMENT: Regex = Regex::new(r"^;.+").unwrap();
[INFO] [stdout] 13 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]   --> src/assembler/lexer.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | / lazy_static! {
[INFO] [stdout] 4  | |     static ref REGEX_DIRECTIVE: Regex = Regex::new(r"^@([a-zA-Z]+$)").unwrap();
[INFO] [stdout] 5  | |     static ref REGEX_GLABEL: Regex = Regex::new(r"^\.\w+:$").unwrap();
[INFO] [stdout] 6  | |     static ref REGEX_LLABEL: Regex = Regex::new(r"^'\w+:$").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 12 | |     static ref REGEX_COMMENT: Regex = Regex::new(r"^;.+").unwrap();
[INFO] [stdout] 13 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]   --> src/assembler/lexer.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | / lazy_static! {
[INFO] [stdout] 4  | |     static ref REGEX_DIRECTIVE: Regex = Regex::new(r"^@([a-zA-Z]+$)").unwrap();
[INFO] [stdout] 5  | |     static ref REGEX_GLABEL: Regex = Regex::new(r"^\.\w+:$").unwrap();
[INFO] [stdout] 6  | |     static ref REGEX_LLABEL: Regex = Regex::new(r"^'\w+:$").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 12 | |     static ref REGEX_COMMENT: Regex = Regex::new(r"^;.+").unwrap();
[INFO] [stdout] 13 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]   --> src/assembler/lexer.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | / lazy_static! {
[INFO] [stdout] 4  | |     static ref REGEX_DIRECTIVE: Regex = Regex::new(r"^@([a-zA-Z]+$)").unwrap();
[INFO] [stdout] 5  | |     static ref REGEX_GLABEL: Regex = Regex::new(r"^\.\w+:$").unwrap();
[INFO] [stdout] 6  | |     static ref REGEX_LLABEL: Regex = Regex::new(r"^'\w+:$").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 12 | |     static ref REGEX_COMMENT: Regex = Regex::new(r"^;.+").unwrap();
[INFO] [stdout] 13 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]   --> src/assembler/lexer.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | / lazy_static! {
[INFO] [stdout] 4  | |     static ref REGEX_DIRECTIVE: Regex = Regex::new(r"^@([a-zA-Z]+$)").unwrap();
[INFO] [stdout] 5  | |     static ref REGEX_GLABEL: Regex = Regex::new(r"^\.\w+:$").unwrap();
[INFO] [stdout] 6  | |     static ref REGEX_LLABEL: Regex = Regex::new(r"^'\w+:$").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 12 | |     static ref REGEX_COMMENT: Regex = Regex::new(r"^;.+").unwrap();
[INFO] [stdout] 13 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]   --> src/assembler/lexer.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | / lazy_static! {
[INFO] [stdout] 4  | |     static ref REGEX_DIRECTIVE: Regex = Regex::new(r"^@([a-zA-Z]+$)").unwrap();
[INFO] [stdout] 5  | |     static ref REGEX_GLABEL: Regex = Regex::new(r"^\.\w+:$").unwrap();
[INFO] [stdout] 6  | |     static ref REGEX_LLABEL: Regex = Regex::new(r"^'\w+:$").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 12 | |     static ref REGEX_COMMENT: Regex = Regex::new(r"^;.+").unwrap();
[INFO] [stdout] 13 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]   --> src/assembler/lexer.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | / lazy_static! {
[INFO] [stdout] 4  | |     static ref REGEX_DIRECTIVE: Regex = Regex::new(r"^@([a-zA-Z]+$)").unwrap();
[INFO] [stdout] 5  | |     static ref REGEX_GLABEL: Regex = Regex::new(r"^\.\w+:$").unwrap();
[INFO] [stdout] 6  | |     static ref REGEX_LLABEL: Regex = Regex::new(r"^'\w+:$").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 12 | |     static ref REGEX_COMMENT: Regex = Regex::new(r"^;.+").unwrap();
[INFO] [stdout] 13 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]   --> src/assembler/lexer.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | / lazy_static! {
[INFO] [stdout] 4  | |     static ref REGEX_DIRECTIVE: Regex = Regex::new(r"^@([a-zA-Z]+$)").unwrap();
[INFO] [stdout] 5  | |     static ref REGEX_GLABEL: Regex = Regex::new(r"^\.\w+:$").unwrap();
[INFO] [stdout] 6  | |     static ref REGEX_LLABEL: Regex = Regex::new(r"^'\w+:$").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 12 | |     static ref REGEX_COMMENT: Regex = Regex::new(r"^;.+").unwrap();
[INFO] [stdout] 13 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]   --> src/assembler/lexer.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | / lazy_static! {
[INFO] [stdout] 4  | |     static ref REGEX_DIRECTIVE: Regex = Regex::new(r"^@([a-zA-Z]+$)").unwrap();
[INFO] [stdout] 5  | |     static ref REGEX_GLABEL: Regex = Regex::new(r"^\.\w+:$").unwrap();
[INFO] [stdout] 6  | |     static ref REGEX_LLABEL: Regex = Regex::new(r"^'\w+:$").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 12 | |     static ref REGEX_COMMENT: Regex = Regex::new(r"^;.+").unwrap();
[INFO] [stdout] 13 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]   --> src/assembler/lexer.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | / lazy_static! {
[INFO] [stdout] 4  | |     static ref REGEX_DIRECTIVE: Regex = Regex::new(r"^@([a-zA-Z]+$)").unwrap();
[INFO] [stdout] 5  | |     static ref REGEX_GLABEL: Regex = Regex::new(r"^\.\w+:$").unwrap();
[INFO] [stdout] 6  | |     static ref REGEX_LLABEL: Regex = Regex::new(r"^'\w+:$").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 12 | |     static ref REGEX_COMMENT: Regex = Regex::new(r"^;.+").unwrap();
[INFO] [stdout] 13 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]   --> src/assembler/lexer.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | / lazy_static! {
[INFO] [stdout] 4  | |     static ref REGEX_DIRECTIVE: Regex = Regex::new(r"^@([a-zA-Z]+$)").unwrap();
[INFO] [stdout] 5  | |     static ref REGEX_GLABEL: Regex = Regex::new(r"^\.\w+:$").unwrap();
[INFO] [stdout] 6  | |     static ref REGEX_LLABEL: Regex = Regex::new(r"^'\w+:$").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 12 | |     static ref REGEX_COMMENT: Regex = Regex::new(r"^;.+").unwrap();
[INFO] [stdout] 13 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]   --> src/assembler/lexer.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | / lazy_static! {
[INFO] [stdout] 4  | |     static ref REGEX_DIRECTIVE: Regex = Regex::new(r"^@([a-zA-Z]+$)").unwrap();
[INFO] [stdout] 5  | |     static ref REGEX_GLABEL: Regex = Regex::new(r"^\.\w+:$").unwrap();
[INFO] [stdout] 6  | |     static ref REGEX_LLABEL: Regex = Regex::new(r"^'\w+:$").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 12 | |     static ref REGEX_COMMENT: Regex = Regex::new(r"^;.+").unwrap();
[INFO] [stdout] 13 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::trim_left_matches`: superseded by `trim_start_matches`
[INFO] [stdout]   --> src/assembler/lexer.rs:72:30
[INFO] [stdout]    |
[INFO] [stdout] 72 |             let ret = string.trim_left_matches(';').trim_left();
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]    |
[INFO] [stdout] 72 -             let ret = string.trim_left_matches(';').trim_left();
[INFO] [stdout] 72 +             let ret = string.trim_start_matches(';').trim_left();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::trim_left`: superseded by `trim_start`
[INFO] [stdout]   --> src/assembler/lexer.rs:72:53
[INFO] [stdout]    |
[INFO] [stdout] 72 |             let ret = string.trim_left_matches(';').trim_left();
[INFO] [stdout]    |                                                     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]    |
[INFO] [stdout] 72 -             let ret = string.trim_left_matches(';').trim_left();
[INFO] [stdout] 72 +             let ret = string.trim_left_matches(';').trim_start();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Token` is never used
[INFO] [stdout]  --> src/compiler/lex.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub enum Token {
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Token` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ConsumeType` is never used
[INFO] [stdout]   --> src/compiler/lex.rs:15:6
[INFO] [stdout]    |
[INFO] [stdout] 15 | enum ConsumeType { Ident, Number }
[INFO] [stdout]    |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Tokenizer` is never constructed
[INFO] [stdout]   --> src/compiler/lex.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Tokenizer<'a> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `tokenize` are never used
[INFO] [stdout]   --> src/compiler/lex.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl<'a> Tokenizer<'a> {
[INFO] [stdout]    | ---------------------- associated items in this implementation
[INFO] [stdout] 21 |     pub fn new(input: &'a str) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn tokenize(&mut self) -> Vec<Token> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `consume_ident` is never used
[INFO] [stdout]   --> src/compiler/lex.rs:48:4
[INFO] [stdout]    |
[INFO] [stdout] 48 | fn consume_ident(peekable: &mut Peekable<Chars>) -> Token {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `consume_number` is never used
[INFO] [stdout]   --> src/compiler/lex.rs:53:4
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn consume_number(peekable: &mut Peekable<Chars>) -> Token {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `valid_token_char` is never used
[INFO] [stdout]   --> src/compiler/lex.rs:58:4
[INFO] [stdout]    |
[INFO] [stdout] 58 | fn valid_token_char(ch: &char, tt: ConsumeType) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shunting_yard` is never used
[INFO] [stdout]   --> src/compiler/lex.rs:71:8
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub fn shunting_yard(tokens: Vec<Token>) -> Vec<Token> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `bytecode` is never read
[INFO] [stdout]   --> src/assembler/mod.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | struct GlobalSection<'g> {
[INFO] [stdout]    |        ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 22 |     bytecode: Vec<u8>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GlobalSection` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/assembler/lexer.rs:47:13
[INFO] [stdout]    |
[INFO] [stdout] 47 |     Comment(String),
[INFO] [stdout]    |     ------- ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Token` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 47 -     Comment(String),
[INFO] [stdout] 47 +     Comment(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `collect` that must be used
[INFO] [stdout]   --> src/compiler/lex.rs:38:73
[INFO] [stdout]    |
[INFO] [stdout] 38 |                     ')'             => {tokens.push(Token::RightParen); chars.take(1).collect::<String>();},
[INFO] [stdout]    |                                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: if you really need to exhaust the iterator, consider `.for_each(drop)` instead
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 38 |                     ')'             => {tokens.push(Token::RightParen); let _ = chars.take(1).collect::<String>();},
[INFO] [stdout]    |                                                                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `collect` that must be used
[INFO] [stdout]   --> src/compiler/lex.rs:39:72
[INFO] [stdout]    |
[INFO] [stdout] 39 |                     '('             => {tokens.push(Token::LeftParen); chars.take(1).collect::<String>();},
[INFO] [stdout]    |                                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: if you really need to exhaust the iterator, consider `.for_each(drop)` instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 39 |                     '('             => {tokens.push(Token::LeftParen); let _ = chars.take(1).collect::<String>();},
[INFO] [stdout]    |                                                                        +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `collect` that must be used
[INFO] [stdout]   --> src/compiler/lex.rs:40:42
[INFO] [stdout]    |
[INFO] [stdout] 40 |                     ' '             => { chars.take(1).collect::<String>(); }
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: if you really need to exhaust the iterator, consider `.for_each(drop)` instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 40 |                     ' '             => { let _ = chars.take(1).collect::<String>(); }
[INFO] [stdout]    |                                          +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/assembler/lexer.rs:75:73
[INFO] [stdout]    |
[INFO] [stdout] 75 |         Err(format!("{} did not match any tokens during lexing.", string.clone()))
[INFO] [stdout]    |                                                                         ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout]    = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2.49s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: traitobject v0.1.0, typemap v0.3.3
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "809ceb2d0ed96009563a76a42d27ce6b7fd438ae4af4e5448fa58b5a5624c5ba", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "809ceb2d0ed96009563a76a42d27ce6b7fd438ae4af4e5448fa58b5a5624c5ba", kill_on_drop: false }`
[INFO] [stdout] 809ceb2d0ed96009563a76a42d27ce6b7fd438ae4af4e5448fa58b5a5624c5ba
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0b074c097205a61b89e8ad263052f976b2b332c4dc5f02aef1fe52501660d6e" "/opt/rustwide/cargo-home/bin/cargo" "+1.86.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 0cbd05bc4fe688af2731897631ff5059df9a09147331a0c34038073a599a33a0
[INFO] running `Command { std: "docker" "start" "-a" "0cbd05bc4fe688af2731897631ff5059df9a09147331a0c34038073a599a33a0", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/compiler/lex.rs:34:24
[INFO] [stderr]    |
[INFO] [stderr] 34 |                     'a'...'z' | '_' => tokens.push(consume_ident(&mut chars)),
[INFO] [stderr]    |                        ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/compiler/lex.rs:35:24
[INFO] [stderr]    |
[INFO] [stderr] 35 |                     '0'...'9'       => tokens.push(consume_number(&mut chars)),
[INFO] [stderr]    |                        ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/compiler/lex.rs:61:16
[INFO] [stderr]    |
[INFO] [stderr] 61 |             'a'...'z' | '_' => true,
[INFO] [stderr]    |                ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/compiler/lex.rs:65:16
[INFO] [stderr]    |
[INFO] [stderr] 65 |             '0'...'9' | '.' => true,
[INFO] [stderr]    |                ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: elided lifetime has a name
[INFO] [stderr]    --> src/assembler/mod.rs:172:62
[INFO] [stderr]     |
[INFO] [stderr] 172 |     fn make_global_sections<'a>(&'a self) -> HashMap<String, GlobalSection> {
[INFO] [stderr]     |                             -- lifetime `'a` declared here   ^^^^^^^^^^^^^ this elided lifetime gets resolved as `'a`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(elided_named_lifetimes)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `assembler::lexer::Lexer`
[INFO] [stderr]   --> src/main.rs:23:5
[INFO] [stderr]    |
[INFO] [stderr] 23 | use assembler::lexer::Lexer;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Tokenizer` and `shunting_yard`
[INFO] [stderr]   --> src/main.rs:24:21
[INFO] [stderr]    |
[INFO] [stderr] 24 | use compiler::lex::{Tokenizer, shunting_yard};
[INFO] [stderr]    |                     ^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stderr]   --> src/assembler/lexer.rs:3:1
[INFO] [stderr]    |
[INFO] [stderr] 3  | / lazy_static! {
[INFO] [stderr] 4  | |     static ref REGEX_DIRECTIVE: Regex = Regex::new(r"^@([a-zA-Z]+$)").unwrap();
[INFO] [stderr] 5  | |     static ref REGEX_GLABEL: Regex = Regex::new(r"^\.\w+:$").unwrap();
[INFO] [stderr] 6  | |     static ref REGEX_LLABEL: Regex = Regex::new(r"^'\w+:$").unwrap();
[INFO] [stderr] ...  |
[INFO] [stderr] 12 | |     static ref REGEX_COMMENT: Regex = Regex::new(r"^;.+").unwrap();
[INFO] [stderr] 13 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stderr]   --> src/assembler/lexer.rs:3:1
[INFO] [stderr]    |
[INFO] [stderr] 3  | / lazy_static! {
[INFO] [stderr] 4  | |     static ref REGEX_DIRECTIVE: Regex = Regex::new(r"^@([a-zA-Z]+$)").unwrap();
[INFO] [stderr] 5  | |     static ref REGEX_GLABEL: Regex = Regex::new(r"^\.\w+:$").unwrap();
[INFO] [stderr] 6  | |     static ref REGEX_LLABEL: Regex = Regex::new(r"^'\w+:$").unwrap();
[INFO] [stderr] ...  |
[INFO] [stderr] 12 | |     static ref REGEX_COMMENT: Regex = Regex::new(r"^;.+").unwrap();
[INFO] [stderr] 13 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `core::str::<impl str>::trim_left_matches`: superseded by `trim_start_matches`
[INFO] [stderr]   --> src/assembler/lexer.rs:72:30
[INFO] [stderr]    |
[INFO] [stderr] 72 |             let ret = string.trim_left_matches(';').trim_left();
[INFO] [stderr]    |                              ^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: replace the use of the deprecated method
[INFO] [stderr]    |
[INFO] [stderr] 72 -             let ret = string.trim_left_matches(';').trim_left();
[INFO] [stderr] 72 +             let ret = string.trim_start_matches(';').trim_left();
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `core::str::<impl str>::trim_left`: superseded by `trim_start`
[INFO] [stderr]   --> src/assembler/lexer.rs:72:53
[INFO] [stderr]    |
[INFO] [stderr] 72 |             let ret = string.trim_left_matches(';').trim_left();
[INFO] [stderr]    |                                                     ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: replace the use of the deprecated method
[INFO] [stderr]    |
[INFO] [stderr] 72 -             let ret = string.trim_left_matches(';').trim_left();
[INFO] [stderr] 72 +             let ret = string.trim_left_matches(';').trim_start();
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: enum `Token` is never used
[INFO] [stderr]  --> src/compiler/lex.rs:7:10
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub enum Token {
[INFO] [stderr]   |          ^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `Token` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr]   = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: enum `ConsumeType` is never used
[INFO] [stderr]   --> src/compiler/lex.rs:15:6
[INFO] [stderr]    |
[INFO] [stderr] 15 | enum ConsumeType { Ident, Number }
[INFO] [stderr]    |      ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Tokenizer` is never constructed
[INFO] [stderr]   --> src/compiler/lex.rs:17:12
[INFO] [stderr]    |
[INFO] [stderr] 17 | pub struct Tokenizer<'a> {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `tokenize` are never used
[INFO] [stderr]   --> src/compiler/lex.rs:21:12
[INFO] [stderr]    |
[INFO] [stderr] 20 | impl<'a> Tokenizer<'a> {
[INFO] [stderr]    | ---------------------- associated items in this implementation
[INFO] [stderr] 21 |     pub fn new(input: &'a str) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 26 |     pub fn tokenize(&mut self) -> Vec<Token> {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `consume_ident` is never used
[INFO] [stderr]   --> src/compiler/lex.rs:48:4
[INFO] [stderr]    |
[INFO] [stderr] 48 | fn consume_ident(peekable: &mut Peekable<Chars>) -> Token {
[INFO] [stderr]    |    ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `consume_number` is never used
[INFO] [stderr]   --> src/compiler/lex.rs:53:4
[INFO] [stderr]    |
[INFO] [stderr] 53 | fn consume_number(peekable: &mut Peekable<Chars>) -> Token {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `valid_token_char` is never used
[INFO] [stderr]   --> src/compiler/lex.rs:58:4
[INFO] [stderr]    |
[INFO] [stderr] 58 | fn valid_token_char(ch: &char, tt: ConsumeType) -> bool {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `shunting_yard` is never used
[INFO] [stderr]   --> src/compiler/lex.rs:71:8
[INFO] [stderr]    |
[INFO] [stderr] 71 | pub fn shunting_yard(tokens: Vec<Token>) -> Vec<Token> {
[INFO] [stderr]    |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `bytecode` is never read
[INFO] [stderr]   --> src/assembler/mod.rs:22:5
[INFO] [stderr]    |
[INFO] [stderr] 18 | struct GlobalSection<'g> {
[INFO] [stderr]    |        ------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 22 |     bytecode: Vec<u8>,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `GlobalSection` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]   --> src/assembler/lexer.rs:47:13
[INFO] [stderr]    |
[INFO] [stderr] 47 |     Comment(String),
[INFO] [stderr]    |     ------- ^^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     field in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Token` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]    |
[INFO] [stderr] 47 -     Comment(String),
[INFO] [stderr] 47 +     Comment(()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `collect` that must be used
[INFO] [stderr]   --> src/compiler/lex.rs:38:73
[INFO] [stderr]    |
[INFO] [stderr] 38 |                     ')'             => {tokens.push(Token::RightParen); chars.take(1).collect::<String>();},
[INFO] [stderr]    |                                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: if you really need to exhaust the iterator, consider `.for_each(drop)` instead
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 38 |                     ')'             => {tokens.push(Token::RightParen); let _ = chars.take(1).collect::<String>();},
[INFO] [stderr]    |                                                                         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `collect` that must be used
[INFO] [stderr]   --> src/compiler/lex.rs:39:72
[INFO] [stderr]    |
[INFO] [stderr] 39 |                     '('             => {tokens.push(Token::LeftParen); chars.take(1).collect::<String>();},
[INFO] [stderr]    |                                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: if you really need to exhaust the iterator, consider `.for_each(drop)` instead
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 39 |                     '('             => {tokens.push(Token::LeftParen); let _ = chars.take(1).collect::<String>();},
[INFO] [stderr]    |                                                                        +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `collect` that must be used
[INFO] [stderr]   --> src/compiler/lex.rs:40:42
[INFO] [stderr]    |
[INFO] [stderr] 40 |                     ' '             => { chars.take(1).collect::<String>(); }
[INFO] [stderr]    |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: if you really need to exhaust the iterator, consider `.for_each(drop)` instead
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 40 |                     ' '             => { let _ = chars.take(1).collect::<String>(); }
[INFO] [stderr]    |                                          +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]   --> src/assembler/lexer.rs:75:73
[INFO] [stderr]    |
[INFO] [stderr] 75 |         Err(format!("{} did not match any tokens during lexing.", string.clone()))
[INFO] [stderr]    |                                                                         ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]    |
[INFO] [stderr]    = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr]    = note: `#[warn(noop_method_call)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `slang` (bin "slang" test) generated 41 warnings (16 duplicates) (run `cargo fix --bin "slang" --tests` to apply 9 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.12s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: traitobject v0.1.0, typemap v0.3.3
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/slang-91254690661a5b20)
[INFO] [stdout] 
[INFO] [stdout] running 15 tests
[INFO] [stdout] test assembler::test_new_assembler ... ok
[INFO] [stdout] test program::test_next_byte ... ok
[INFO] [stdout] test program::test_jump_to ... ok
[INFO] [stdout] test assembler::test_to_bytes_32 ... ok
[INFO] [stdout] test program::test_load_bytes ... ok
[INFO] [stdout] test program::test_reset ... ok
[INFO] [stdout] test stack::test_stack_peek ... ok
[INFO] [stdout] test stack::test_stack_init ... ok
[INFO] [stdout] test program::test_next_code ... ok
[INFO] [stdout] test stack::test_stack_pull ... ok
[INFO] [stdout] test stack::test_stack_push ... ok
[INFO] [stdout] test vm::test_fetch_instruction ... ok
[INFO] [stdout] test vm::test_swap_instruction ... ok
[INFO] [stdout] test vm::test_vm_new ... ok
[INFO] [stdout] test program::test_next_halfword ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "0cbd05bc4fe688af2731897631ff5059df9a09147331a0c34038073a599a33a0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0cbd05bc4fe688af2731897631ff5059df9a09147331a0c34038073a599a33a0", kill_on_drop: false }`
[INFO] [stdout] 0cbd05bc4fe688af2731897631ff5059df9a09147331a0c34038073a599a33a0
