[INFO] cloning repository https://github.com/jrvidal/r5.rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jrvidal/r5.rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjrvidal%2Fr5.rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjrvidal%2Fr5.rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] ae715768cf6c46ab228ede11aaddbb7f8f428260
[INFO] testing jrvidal/r5.rs against beta-2025-09-21 for beta-1.91-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjrvidal%2Fr5.rs" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/jrvidal/r5.rs
[INFO] finished tweaking git repo https://github.com/jrvidal/r5.rs
[INFO] tweaked toml for git repo https://github.com/jrvidal/r5.rs written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/jrvidal/r5.rs on toolchain beta-2025-09-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/jrvidal/r5.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" "+beta-2025-09-21" "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] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 2e7a7247f84b5581939b3b13d85a026608634b6ecaa5771d65f9382ba00fb0b4
[INFO] running `Command { std: "docker" "start" "-a" "2e7a7247f84b5581939b3b13d85a026608634b6ecaa5771d65f9382ba00fb0b4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2e7a7247f84b5581939b3b13d85a026608634b6ecaa5771d65f9382ba00fb0b4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2e7a7247f84b5581939b3b13d85a026608634b6ecaa5771d65f9382ba00fb0b4", kill_on_drop: false }`
[INFO] [stdout] 2e7a7247f84b5581939b3b13d85a026608634b6ecaa5771d65f9382ba00fb0b4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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=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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e9630892dbfa87cb9733b7ea6f930a7b406bd7c006e615f1835b59f97ebe3d5a
[INFO] running `Command { std: "docker" "start" "-a" "e9630892dbfa87cb9733b7ea6f930a7b406bd7c006e615f1835b59f97ebe3d5a", 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.36
[INFO] [stderr]    Compiling regex v1.0.0
[INFO] [stderr]    Compiling ucd-util v0.1.1
[INFO] [stderr]    Compiling lazy_static v1.0.0
[INFO] [stderr]    Compiling quick-error v1.2.1
[INFO] [stderr]    Compiling bitflags v0.4.0
[INFO] [stderr]    Compiling utf8-ranges v1.0.0
[INFO] [stderr]    Compiling cfg-if v0.1.2
[INFO] [stderr]    Compiling termcolor v0.3.6
[INFO] [stderr]    Compiling encode_unicode v0.1.3
[INFO] [stderr]    Compiling unicode-width v0.1.4
[INFO] [stderr]    Compiling gc v0.3.2
[INFO] [stderr]    Compiling unreachable v1.0.0
[INFO] [stderr]    Compiling log v0.4.1
[INFO] [stderr]    Compiling thread_local v0.3.5
[INFO] [stderr]    Compiling humantime v1.1.1
[INFO] [stderr]    Compiling regex-syntax v0.6.0
[INFO] [stderr]    Compiling memchr v2.0.1
[INFO] [stderr]    Compiling nix v0.5.1
[INFO] [stderr]    Compiling atty v0.2.10
[INFO] [stderr]    Compiling aho-corasick v0.6.4
[INFO] [stderr]    Compiling rustyline v1.0.0
[INFO] [stderr]    Compiling env_logger v0.5.10
[INFO] [stderr]    Compiling r5rs v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/compiler/mod.rs:771:20
[INFO] [stdout]     |
[INFO] [stdout] 771 | ) -> Result<Option<(Vec<Instruction>)>, CompilerError> {
[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] 771 - ) -> Result<Option<(Vec<Instruction>)>, CompilerError> {
[INFO] [stdout] 771 + ) -> Result<Option<Vec<Instruction>>, CompilerError> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `wtf`
[INFO] [stdout]    --> src/lexer/number/mod.rs:348:11
[INFO] [stdout]     |
[INFO] [stdout] 348 |     #[cfg(wtf)]
[INFO] [stdout]     |           ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: expected names are: `docsrs`, `feature`, and `test` and 31 more
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(wtf)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(wtf)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `wtf`
[INFO] [stdout]    --> src/lexer/number/mod.rs:378:11
[INFO] [stdout]     |
[INFO] [stdout] 378 |     #[cfg(wtf)]
[INFO] [stdout]     |           ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(wtf)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(wtf)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `wtf`
[INFO] [stdout]    --> src/lexer/number/mod.rs:385:11
[INFO] [stdout]     |
[INFO] [stdout] 385 |     #[cfg(wtf)]
[INFO] [stdout]     |           ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(wtf)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(wtf)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `wtf`
[INFO] [stdout]    --> src/lexer/number/mod.rs:392:11
[INFO] [stdout]     |
[INFO] [stdout] 392 |     #[cfg(wtf)]
[INFO] [stdout]     |           ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(wtf)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(wtf)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/lexer/number/mod.rs:622:21
[INFO] [stdout]     |
[INFO] [stdout] 622 |             Some('0'...'9') | Some('a'...'f') | Some('s') | Some('l') => if pounds == 0
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/lexer/number/mod.rs:622:39
[INFO] [stdout]     |
[INFO] [stdout] 622 |             Some('0'...'9') | Some('a'...'f') | Some('s') | Some('l') => if pounds == 0
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/lexer/number/mod.rs:579:20
[INFO] [stdout]     |
[INFO] [stdout] 579 |                 'a'...'f' if !$decimal && $radix == 16 => true,
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 623 |                 && is_valid_digit!(peek.unwrap(), radix, num_type == Number::Dec)
[INFO] [stdout]     |                    -------------------------------------------------------------- in this macro invocation
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `is_valid_digit` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/lexer/number/mod.rs:581:20
[INFO] [stdout]     |
[INFO] [stdout] 581 |                 '2'...'7' if $radix >= 8 => true,
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 623 |                 && is_valid_digit!(peek.unwrap(), radix, num_type == Number::Dec)
[INFO] [stdout]     |                    -------------------------------------------------------------- in this macro invocation
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `is_valid_digit` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/lexer/macros.rs:27:16
[INFO] [stdout]     |
[INFO] [stdout]  27 |             '0'...'9' => true,
[INFO] [stdout]     |                ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lexer/number/mod.rs:686:24
[INFO] [stdout]     |
[INFO] [stdout] 686 |             Some(x) if is_digit!(x) => {
[INFO] [stdout]     |                        ------------ in this macro invocation
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `is_digit` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/lexer/token.rs:128:28
[INFO] [stdout]     |
[INFO] [stdout] 128 |                 | (Some('0'...'9'), _)
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/lexer/token.rs:129:39
[INFO] [stdout]     |
[INFO] [stdout] 129 |                 | (Some('+'), Some('0'...'9'))
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/lexer/token.rs:130:39
[INFO] [stdout]     |
[INFO] [stdout] 130 |                 | (Some('-'), Some('0'...'9'))
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/lexer/token.rs:131:39
[INFO] [stdout]     |
[INFO] [stdout] 131 |                 | (Some('.'), Some('0'...'9')) => match NumberToken::parse(stream) {
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/helpers.rs:50:28
[INFO] [stdout]     |
[INFO] [stdout]  50 |         return ok_some!($x);
[INFO] [stdout]     |                            ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lexer/token.rs:132:31
[INFO] [stdout]     |
[INFO] [stdout] 132 |                     Ok(nt) => ret_val!(Token::Number(nt)),
[INFO] [stdout]     |                               --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: `#[warn(semicolon_in_expressions_from_macros)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout]     = note: this warning originates in the macro `ret_val` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/helpers.rs:50:28
[INFO] [stdout]     |
[INFO] [stdout]  50 |         return ok_some!($x);
[INFO] [stdout]     |                            ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lexer/token.rs:162:28
[INFO] [stdout]     |
[INFO] [stdout] 162 |                     '(' => ret_val!(Token::Open),
[INFO] [stdout]     |                            --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `ret_val` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/helpers.rs:50:28
[INFO] [stdout]     |
[INFO] [stdout]  50 |         return ok_some!($x);
[INFO] [stdout]     |                            ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lexer/token.rs:163:28
[INFO] [stdout]     |
[INFO] [stdout] 163 |                     ')' => ret_val!(Token::Close),
[INFO] [stdout]     |                            ---------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `ret_val` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/helpers.rs:50:28
[INFO] [stdout]     |
[INFO] [stdout]  50 |         return ok_some!($x);
[INFO] [stdout]     |                            ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lexer/token.rs:164:28
[INFO] [stdout]     |
[INFO] [stdout] 164 |                     '`' => ret_val!(Token::BackQuote),
[INFO] [stdout]     |                            -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `ret_val` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/helpers.rs:50:28
[INFO] [stdout]     |
[INFO] [stdout]  50 |         return ok_some!($x);
[INFO] [stdout]     |                            ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lexer/token.rs:165:29
[INFO] [stdout]     |
[INFO] [stdout] 165 |                     '\'' => ret_val!(Token::SingleQuote),
[INFO] [stdout]     |                             ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `ret_val` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/helpers.rs:50:28
[INFO] [stdout]     |
[INFO] [stdout]  50 |         return ok_some!($x);
[INFO] [stdout]     |                            ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lexer/token.rs:173:55
[INFO] [stdout]     |
[INFO] [stdout] 173 |                         (x, _) if is_delimiter!(x) => ret_val!(Token::Dot),
[INFO] [stdout]     |                                                       -------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `ret_val` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/helpers.rs:50:28
[INFO] [stdout]     |
[INFO] [stdout]  50 |         return ok_some!($x);
[INFO] [stdout]     |                            ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lexer/token.rs:197:33
[INFO] [stdout]     |
[INFO] [stdout] 197 | ...                   ret_val!(Token::Character(next.unwrap()))
[INFO] [stdout]     |                       ----------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `ret_val`
[INFO] [stdout]     = note: this warning originates in the macro `ret_val` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/helpers.rs:50:28
[INFO] [stdout]     |
[INFO] [stdout]  50 |         return ok_some!($x);
[INFO] [stdout]     |                            ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lexer/token.rs:205:25
[INFO] [stdout]     |
[INFO] [stdout] 205 |                         ret_val!(Token::Identifier(c.to_string()))
[INFO] [stdout]     |                         ------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `ret_val`
[INFO] [stdout]     = note: this warning originates in the macro `ret_val` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/helpers.rs:50:28
[INFO] [stdout]     |
[INFO] [stdout]  50 |         return ok_some!($x);
[INFO] [stdout]     |                            ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lexer/token.rs:212:29
[INFO] [stdout]     |
[INFO] [stdout] 212 | ...                   ret_val!(Token::CommaAt)
[INFO] [stdout]     |                       ------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `ret_val`
[INFO] [stdout]     = note: this warning originates in the macro `ret_val` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/helpers.rs:50:28
[INFO] [stdout]     |
[INFO] [stdout]  50 |         return ok_some!($x);
[INFO] [stdout]     |                            ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lexer/token.rs:214:30
[INFO] [stdout]     |
[INFO] [stdout] 214 |                         _ => ret_val!(Token::Comma),
[INFO] [stdout]     |                              ---------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `ret_val` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/helpers.rs:50:28
[INFO] [stdout]     |
[INFO] [stdout]  50 |         return ok_some!($x);
[INFO] [stdout]     |                            ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lexer/token.rs:222:30
[INFO] [stdout]     |
[INFO] [stdout] 222 |                         _ => ret_val!(Token::Identifier(d.to_string())),
[INFO] [stdout]     |                              ------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `ret_val` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/helpers.rs:50:28
[INFO] [stdout]     |
[INFO] [stdout]  50 |         return ok_some!($x);
[INFO] [stdout]     |                            ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lexer/token.rs:261:24
[INFO] [stdout]     |
[INFO] [stdout] 261 |                 '"' => ret_val!(Token::String(string_buf.clone())),
[INFO] [stdout]     |                        ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `ret_val` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/helpers.rs:50:28
[INFO] [stdout]     |
[INFO] [stdout]  50 |         return ok_some!($x);
[INFO] [stdout]     |                            ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lexer/token.rs:276:26
[INFO] [stdout]     |
[INFO] [stdout] 276 |                     _ => ret_val!(Token::Identifier(string_buf.clone())),
[INFO] [stdout]     |                          ----------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `ret_val` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/lexer/macros.rs:27:16
[INFO] [stdout]     |
[INFO] [stdout]  27 |             '0'...'9' => true,
[INFO] [stdout]     |                ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lexer/token.rs:290:22
[INFO] [stdout]     |
[INFO] [stdout] 290 |     is_initial(c) || is_digit!(c) || is_special_subsequent(c)
[INFO] [stdout]     |                      ------------ in this macro invocation
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `is_digit` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/lexer/token.rs:296:12
[INFO] [stdout]     |
[INFO] [stdout] 296 |         '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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Tuple2Helper` is never used
[INFO] [stdout]  --> src/helpers.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub trait Tuple2Helper<A, B, E> {
[INFO] [stdout]   |           ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Tuple3Helper` is never used
[INFO] [stdout]   --> src/helpers.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub trait Tuple3Helper<A, B, C, E> {
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ResultHelper` is never used
[INFO] [stdout]   --> src/helpers.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub trait ResultHelper {
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReversedIterator` is never constructed
[INFO] [stdout]     --> src/compiler/mod.rs:1254:8
[INFO] [stdout]      |
[INFO] [stdout] 1254 | struct ReversedIterator<I: DoubleEndedIterator> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Reverse` is never used
[INFO] [stdout]     --> src/compiler/mod.rs:1269:7
[INFO] [stdout]      |
[INFO] [stdout] 1269 | trait Reverse
[INFO] [stdout]      |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `error` is never read
[INFO] [stdout]   --> src/lexer/token.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub struct TokenizerError {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 41 |     error: TokenErrorClass,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TokenizerError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `parent` and `bindings` are never read
[INFO] [stdout]   --> src/vm/environment.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | struct FmtEnvironment<'a, V: Trace + Debug + 'static> {
[INFO] [stdout]    |        -------------- fields in this struct
[INFO] [stdout] 25 |     parent: Option<&'a GcShared<Environment<V>>>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 26 |     bindings: hash_map::Keys<'a, ImmutableString, V>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FmtEnvironment` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.78s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: bitflags v0.4.0, r5rs v0.2.0 (/opt/rustwide/workdir)
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] running `Command { std: "docker" "inspect" "e9630892dbfa87cb9733b7ea6f930a7b406bd7c006e615f1835b59f97ebe3d5a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e9630892dbfa87cb9733b7ea6f930a7b406bd7c006e615f1835b59f97ebe3d5a", kill_on_drop: false }`
[INFO] [stdout] e9630892dbfa87cb9733b7ea6f930a7b406bd7c006e615f1835b59f97ebe3d5a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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=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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f4060ad0c657792b151068c1a857f667525530bdbb90ac7f306491b9376761c6
[INFO] running `Command { std: "docker" "start" "-a" "f4060ad0c657792b151068c1a857f667525530bdbb90ac7f306491b9376761c6", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/compiler/mod.rs:771:20
[INFO] [stdout]     |
[INFO] [stdout] 771 | ) -> Result<Option<(Vec<Instruction>)>, CompilerError> {
[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] 771 - ) -> Result<Option<(Vec<Instruction>)>, CompilerError> {
[INFO] [stdout] 771 + ) -> Result<Option<Vec<Instruction>>, CompilerError> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `wtf`
[INFO] [stdout]    --> src/lexer/number/mod.rs:348:11
[INFO] [stdout]     |
[INFO] [stdout] 348 |     #[cfg(wtf)]
[INFO] [stdout]     |           ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: expected names are: `docsrs`, `feature`, and `test` and 31 more
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(wtf)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(wtf)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `wtf`
[INFO] [stdout]    --> src/lexer/number/mod.rs:378:11
[INFO] [stdout]     |
[INFO] [stdout] 378 |     #[cfg(wtf)]
[INFO] [stdout]     |           ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(wtf)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(wtf)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `wtf`
[INFO] [stdout]    --> src/lexer/number/mod.rs:385:11
[INFO] [stdout]     |
[INFO] [stdout] 385 |     #[cfg(wtf)]
[INFO] [stdout]     |           ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(wtf)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(wtf)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `wtf`
[INFO] [stdout]    --> src/lexer/number/mod.rs:392:11
[INFO] [stdout]     |
[INFO] [stdout] 392 |     #[cfg(wtf)]
[INFO] [stdout]     |           ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(wtf)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(wtf)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/lexer/number/mod.rs:622:21
[INFO] [stdout]     |
[INFO] [stdout] 622 |             Some('0'...'9') | Some('a'...'f') | Some('s') | Some('l') => if pounds == 0
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/lexer/number/mod.rs:622:39
[INFO] [stdout]     |
[INFO] [stdout] 622 |             Some('0'...'9') | Some('a'...'f') | Some('s') | Some('l') => if pounds == 0
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/lexer/number/mod.rs:579:20
[INFO] [stdout]     |
[INFO] [stdout] 579 |                 'a'...'f' if !$decimal && $radix == 16 => true,
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 623 |                 && is_valid_digit!(peek.unwrap(), radix, num_type == Number::Dec)
[INFO] [stdout]     |                    -------------------------------------------------------------- in this macro invocation
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `is_valid_digit` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/lexer/number/mod.rs:581:20
[INFO] [stdout]     |
[INFO] [stdout] 581 |                 '2'...'7' if $radix >= 8 => true,
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 623 |                 && is_valid_digit!(peek.unwrap(), radix, num_type == Number::Dec)
[INFO] [stdout]     |                    -------------------------------------------------------------- in this macro invocation
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `is_valid_digit` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/lexer/macros.rs:27:16
[INFO] [stdout]     |
[INFO] [stdout]  27 |             '0'...'9' => true,
[INFO] [stdout]     |                ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lexer/number/mod.rs:686:24
[INFO] [stdout]     |
[INFO] [stdout] 686 |             Some(x) if is_digit!(x) => {
[INFO] [stdout]     |                        ------------ in this macro invocation
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `is_digit` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/lexer/token.rs:128:28
[INFO] [stdout]     |
[INFO] [stdout] 128 |                 | (Some('0'...'9'), _)
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/lexer/token.rs:129:39
[INFO] [stdout]     |
[INFO] [stdout] 129 |                 | (Some('+'), Some('0'...'9'))
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/lexer/token.rs:130:39
[INFO] [stdout]     |
[INFO] [stdout] 130 |                 | (Some('-'), Some('0'...'9'))
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/lexer/token.rs:131:39
[INFO] [stdout]     |
[INFO] [stdout] 131 |                 | (Some('.'), Some('0'...'9')) => match NumberToken::parse(stream) {
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/helpers.rs:50:28
[INFO] [stdout]     |
[INFO] [stdout]  50 |         return ok_some!($x);
[INFO] [stdout]     |                            ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lexer/token.rs:132:31
[INFO] [stdout]     |
[INFO] [stdout] 132 |                     Ok(nt) => ret_val!(Token::Number(nt)),
[INFO] [stdout]     |                               --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: `#[warn(semicolon_in_expressions_from_macros)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout]     = note: this warning originates in the macro `ret_val` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/helpers.rs:50:28
[INFO] [stdout]     |
[INFO] [stdout]  50 |         return ok_some!($x);
[INFO] [stdout]     |                            ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lexer/token.rs:162:28
[INFO] [stdout]     |
[INFO] [stdout] 162 |                     '(' => ret_val!(Token::Open),
[INFO] [stdout]     |                            --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `ret_val` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/helpers.rs:50:28
[INFO] [stdout]     |
[INFO] [stdout]  50 |         return ok_some!($x);
[INFO] [stdout]     |                            ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lexer/token.rs:163:28
[INFO] [stdout]     |
[INFO] [stdout] 163 |                     ')' => ret_val!(Token::Close),
[INFO] [stdout]     |                            ---------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `ret_val` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/helpers.rs:50:28
[INFO] [stdout]     |
[INFO] [stdout]  50 |         return ok_some!($x);
[INFO] [stdout]     |                            ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lexer/token.rs:164:28
[INFO] [stdout]     |
[INFO] [stdout] 164 |                     '`' => ret_val!(Token::BackQuote),
[INFO] [stdout]     |                            -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `ret_val` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/helpers.rs:50:28
[INFO] [stdout]     |
[INFO] [stdout]  50 |         return ok_some!($x);
[INFO] [stdout]     |                            ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lexer/token.rs:165:29
[INFO] [stdout]     |
[INFO] [stdout] 165 |                     '\'' => ret_val!(Token::SingleQuote),
[INFO] [stdout]     |                             ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `ret_val` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/helpers.rs:50:28
[INFO] [stdout]     |
[INFO] [stdout]  50 |         return ok_some!($x);
[INFO] [stdout]     |                            ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lexer/token.rs:173:55
[INFO] [stdout]     |
[INFO] [stdout] 173 |                         (x, _) if is_delimiter!(x) => ret_val!(Token::Dot),
[INFO] [stdout]     |                                                       -------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `ret_val` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/helpers.rs:50:28
[INFO] [stdout]     |
[INFO] [stdout]  50 |         return ok_some!($x);
[INFO] [stdout]     |                            ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lexer/token.rs:197:33
[INFO] [stdout]     |
[INFO] [stdout] 197 | ...                   ret_val!(Token::Character(next.unwrap()))
[INFO] [stdout]     |                       ----------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `ret_val`
[INFO] [stdout]     = note: this warning originates in the macro `ret_val` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/helpers.rs:50:28
[INFO] [stdout]     |
[INFO] [stdout]  50 |         return ok_some!($x);
[INFO] [stdout]     |                            ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lexer/token.rs:205:25
[INFO] [stdout]     |
[INFO] [stdout] 205 |                         ret_val!(Token::Identifier(c.to_string()))
[INFO] [stdout]     |                         ------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `ret_val`
[INFO] [stdout]     = note: this warning originates in the macro `ret_val` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling r5rs v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/helpers.rs:50:28
[INFO] [stdout]     |
[INFO] [stdout]  50 |         return ok_some!($x);
[INFO] [stdout]     |                            ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lexer/token.rs:212:29
[INFO] [stdout]     |
[INFO] [stdout] 212 | ...                   ret_val!(Token::CommaAt)
[INFO] [stdout]     |                       ------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `ret_val`
[INFO] [stdout]     = note: this warning originates in the macro `ret_val` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/helpers.rs:50:28
[INFO] [stdout]     |
[INFO] [stdout]  50 |         return ok_some!($x);
[INFO] [stdout]     |                            ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lexer/token.rs:214:30
[INFO] [stdout]     |
[INFO] [stdout] 214 |                         _ => ret_val!(Token::Comma),
[INFO] [stdout]     |                              ---------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `ret_val` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/helpers.rs:50:28
[INFO] [stdout]     |
[INFO] [stdout]  50 |         return ok_some!($x);
[INFO] [stdout]     |                            ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lexer/token.rs:222:30
[INFO] [stdout]     |
[INFO] [stdout] 222 |                         _ => ret_val!(Token::Identifier(d.to_string())),
[INFO] [stdout]     |                              ------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `ret_val` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/helpers.rs:50:28
[INFO] [stdout]     |
[INFO] [stdout]  50 |         return ok_some!($x);
[INFO] [stdout]     |                            ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lexer/token.rs:261:24
[INFO] [stdout]     |
[INFO] [stdout] 261 |                 '"' => ret_val!(Token::String(string_buf.clone())),
[INFO] [stdout]     |                        ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `ret_val` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/helpers.rs:50:28
[INFO] [stdout]     |
[INFO] [stdout]  50 |         return ok_some!($x);
[INFO] [stdout]     |                            ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lexer/token.rs:276:26
[INFO] [stdout]     |
[INFO] [stdout] 276 |                     _ => ret_val!(Token::Identifier(string_buf.clone())),
[INFO] [stdout]     |                          ----------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `ret_val` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/lexer/macros.rs:27:16
[INFO] [stdout]     |
[INFO] [stdout]  27 |             '0'...'9' => true,
[INFO] [stdout]     |                ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lexer/token.rs:290:22
[INFO] [stdout]     |
[INFO] [stdout] 290 |     is_initial(c) || is_digit!(c) || is_special_subsequent(c)
[INFO] [stdout]     |                      ------------ in this macro invocation
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `is_digit` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/lexer/token.rs:296:12
[INFO] [stdout]     |
[INFO] [stdout] 296 |         '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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Tuple2Helper` is never used
[INFO] [stdout]  --> src/helpers.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub trait Tuple2Helper<A, B, E> {
[INFO] [stdout]   |           ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Tuple3Helper` is never used
[INFO] [stdout]   --> src/helpers.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub trait Tuple3Helper<A, B, C, E> {
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ResultHelper` is never used
[INFO] [stdout]   --> src/helpers.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub trait ResultHelper {
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReversedIterator` is never constructed
[INFO] [stdout]     --> src/compiler/mod.rs:1254:8
[INFO] [stdout]      |
[INFO] [stdout] 1254 | struct ReversedIterator<I: DoubleEndedIterator> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Reverse` is never used
[INFO] [stdout]     --> src/compiler/mod.rs:1269:7
[INFO] [stdout]      |
[INFO] [stdout] 1269 | trait Reverse
[INFO] [stdout]      |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `error` is never read
[INFO] [stdout]   --> src/lexer/token.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub struct TokenizerError {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 41 |     error: TokenErrorClass,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TokenizerError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `parent` and `bindings` are never read
[INFO] [stdout]   --> src/vm/environment.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | struct FmtEnvironment<'a, V: Trace + Debug + 'static> {
[INFO] [stdout]    |        -------------- fields in this struct
[INFO] [stdout] 25 |     parent: Option<&'a GcShared<Environment<V>>>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 26 |     bindings: hash_map::Keys<'a, ImmutableString, V>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FmtEnvironment` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/compiler/mod.rs:771:20
[INFO] [stdout]     |
[INFO] [stdout] 771 | ) -> Result<Option<(Vec<Instruction>)>, CompilerError> {
[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] 771 - ) -> Result<Option<(Vec<Instruction>)>, CompilerError> {
[INFO] [stdout] 771 + ) -> Result<Option<Vec<Instruction>>, CompilerError> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `wtf`
[INFO] [stdout]    --> src/lexer/number/mod.rs:348:11
[INFO] [stdout]     |
[INFO] [stdout] 348 |     #[cfg(wtf)]
[INFO] [stdout]     |           ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: expected names are: `docsrs`, `feature`, and `test` and 31 more
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(wtf)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(wtf)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `wtf`
[INFO] [stdout]    --> src/lexer/number/mod.rs:378:11
[INFO] [stdout]     |
[INFO] [stdout] 378 |     #[cfg(wtf)]
[INFO] [stdout]     |           ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(wtf)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(wtf)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `wtf`
[INFO] [stdout]    --> src/lexer/number/mod.rs:385:11
[INFO] [stdout]     |
[INFO] [stdout] 385 |     #[cfg(wtf)]
[INFO] [stdout]     |           ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(wtf)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(wtf)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `wtf`
[INFO] [stdout]    --> src/lexer/number/mod.rs:392:11
[INFO] [stdout]     |
[INFO] [stdout] 392 |     #[cfg(wtf)]
[INFO] [stdout]     |           ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(wtf)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(wtf)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/lexer/number/mod.rs:622:21
[INFO] [stdout]     |
[INFO] [stdout] 622 |             Some('0'...'9') | Some('a'...'f') | Some('s') | Some('l') => if pounds == 0
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/lexer/number/mod.rs:622:39
[INFO] [stdout]     |
[INFO] [stdout] 622 |             Some('0'...'9') | Some('a'...'f') | Some('s') | Some('l') => if pounds == 0
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/lexer/number/mod.rs:579:20
[INFO] [stdout]     |
[INFO] [stdout] 579 |                 'a'...'f' if !$decimal && $radix == 16 => true,
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 623 |                 && is_valid_digit!(peek.unwrap(), radix, num_type == Number::Dec)
[INFO] [stdout]     |                    -------------------------------------------------------------- in this macro invocation
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `is_valid_digit` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/lexer/number/mod.rs:581:20
[INFO] [stdout]     |
[INFO] [stdout] 581 |                 '2'...'7' if $radix >= 8 => true,
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 623 |                 && is_valid_digit!(peek.unwrap(), radix, num_type == Number::Dec)
[INFO] [stdout]     |                    -------------------------------------------------------------- in this macro invocation
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `is_valid_digit` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/lexer/macros.rs:27:16
[INFO] [stdout]     |
[INFO] [stdout]  27 |             '0'...'9' => true,
[INFO] [stdout]     |                ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lexer/number/mod.rs:686:24
[INFO] [stdout]     |
[INFO] [stdout] 686 |             Some(x) if is_digit!(x) => {
[INFO] [stdout]     |                        ------------ in this macro invocation
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `is_digit` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/lexer/token.rs:128:28
[INFO] [stdout]     |
[INFO] [stdout] 128 |                 | (Some('0'...'9'), _)
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/lexer/token.rs:129:39
[INFO] [stdout]     |
[INFO] [stdout] 129 |                 | (Some('+'), Some('0'...'9'))
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/lexer/token.rs:130:39
[INFO] [stdout]     |
[INFO] [stdout] 130 |                 | (Some('-'), Some('0'...'9'))
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/lexer/token.rs:131:39
[INFO] [stdout]     |
[INFO] [stdout] 131 |                 | (Some('.'), Some('0'...'9')) => match NumberToken::parse(stream) {
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/helpers.rs:50:28
[INFO] [stdout]     |
[INFO] [stdout]  50 |         return ok_some!($x);
[INFO] [stdout]     |                            ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lexer/token.rs:132:31
[INFO] [stdout]     |
[INFO] [stdout] 132 |                     Ok(nt) => ret_val!(Token::Number(nt)),
[INFO] [stdout]     |                               --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: `#[warn(semicolon_in_expressions_from_macros)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout]     = note: this warning originates in the macro `ret_val` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/helpers.rs:50:28
[INFO] [stdout]     |
[INFO] [stdout]  50 |         return ok_some!($x);
[INFO] [stdout]     |                            ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lexer/token.rs:162:28
[INFO] [stdout]     |
[INFO] [stdout] 162 |                     '(' => ret_val!(Token::Open),
[INFO] [stdout]     |                            --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `ret_val` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/helpers.rs:50:28
[INFO] [stdout]     |
[INFO] [stdout]  50 |         return ok_some!($x);
[INFO] [stdout]     |                            ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lexer/token.rs:163:28
[INFO] [stdout]     |
[INFO] [stdout] 163 |                     ')' => ret_val!(Token::Close),
[INFO] [stdout]     |                            ---------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `ret_val` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/helpers.rs:50:28
[INFO] [stdout]     |
[INFO] [stdout]  50 |         return ok_some!($x);
[INFO] [stdout]     |                            ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lexer/token.rs:164:28
[INFO] [stdout]     |
[INFO] [stdout] 164 |                     '`' => ret_val!(Token::BackQuote),
[INFO] [stdout]     |                            -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `ret_val` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/helpers.rs:50:28
[INFO] [stdout]     |
[INFO] [stdout]  50 |         return ok_some!($x);
[INFO] [stdout]     |                            ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lexer/token.rs:165:29
[INFO] [stdout]     |
[INFO] [stdout] 165 |                     '\'' => ret_val!(Token::SingleQuote),
[INFO] [stdout]     |                             ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `ret_val` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/helpers.rs:50:28
[INFO] [stdout]     |
[INFO] [stdout]  50 |         return ok_some!($x);
[INFO] [stdout]     |                            ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lexer/token.rs:173:55
[INFO] [stdout]     |
[INFO] [stdout] 173 |                         (x, _) if is_delimiter!(x) => ret_val!(Token::Dot),
[INFO] [stdout]     |                                                       -------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `ret_val` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/helpers.rs:50:28
[INFO] [stdout]     |
[INFO] [stdout]  50 |         return ok_some!($x);
[INFO] [stdout]     |                            ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lexer/token.rs:197:33
[INFO] [stdout]     |
[INFO] [stdout] 197 | ...                   ret_val!(Token::Character(next.unwrap()))
[INFO] [stdout]     |                       ----------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `ret_val`
[INFO] [stdout]     = note: this warning originates in the macro `ret_val` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/helpers.rs:50:28
[INFO] [stdout]     |
[INFO] [stdout]  50 |         return ok_some!($x);
[INFO] [stdout]     |                            ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lexer/token.rs:205:25
[INFO] [stdout]     |
[INFO] [stdout] 205 |                         ret_val!(Token::Identifier(c.to_string()))
[INFO] [stdout]     |                         ------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `ret_val`
[INFO] [stdout]     = note: this warning originates in the macro `ret_val` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/helpers.rs:50:28
[INFO] [stdout]     |
[INFO] [stdout]  50 |         return ok_some!($x);
[INFO] [stdout]     |                            ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lexer/token.rs:212:29
[INFO] [stdout]     |
[INFO] [stdout] 212 | ...                   ret_val!(Token::CommaAt)
[INFO] [stdout]     |                       ------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `ret_val`
[INFO] [stdout]     = note: this warning originates in the macro `ret_val` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/helpers.rs:50:28
[INFO] [stdout]     |
[INFO] [stdout]  50 |         return ok_some!($x);
[INFO] [stdout]     |                            ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lexer/token.rs:214:30
[INFO] [stdout]     |
[INFO] [stdout] 214 |                         _ => ret_val!(Token::Comma),
[INFO] [stdout]     |                              ---------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `ret_val` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/helpers.rs:50:28
[INFO] [stdout]     |
[INFO] [stdout]  50 |         return ok_some!($x);
[INFO] [stdout]     |                            ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lexer/token.rs:222:30
[INFO] [stdout]     |
[INFO] [stdout] 222 |                         _ => ret_val!(Token::Identifier(d.to_string())),
[INFO] [stdout]     |                              ------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `ret_val` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/helpers.rs:50:28
[INFO] [stdout]     |
[INFO] [stdout]  50 |         return ok_some!($x);
[INFO] [stdout]     |                            ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lexer/token.rs:261:24
[INFO] [stdout]     |
[INFO] [stdout] 261 |                 '"' => ret_val!(Token::String(string_buf.clone())),
[INFO] [stdout]     |                        ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `ret_val` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/helpers.rs:50:28
[INFO] [stdout]     |
[INFO] [stdout]  50 |         return ok_some!($x);
[INFO] [stdout]     |                            ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lexer/token.rs:276:26
[INFO] [stdout]     |
[INFO] [stdout] 276 |                     _ => ret_val!(Token::Identifier(string_buf.clone())),
[INFO] [stdout]     |                          ----------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `ret_val` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/lexer/macros.rs:27:16
[INFO] [stdout]     |
[INFO] [stdout]  27 |             '0'...'9' => true,
[INFO] [stdout]     |                ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lexer/token.rs:290:22
[INFO] [stdout]     |
[INFO] [stdout] 290 |     is_initial(c) || is_digit!(c) || is_special_subsequent(c)
[INFO] [stdout]     |                      ------------ in this macro invocation
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `is_digit` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/lexer/token.rs:296:12
[INFO] [stdout]     |
[INFO] [stdout] 296 |         '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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Tuple2Helper` is never used
[INFO] [stdout]  --> src/helpers.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub trait Tuple2Helper<A, B, E> {
[INFO] [stdout]   |           ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Tuple3Helper` is never used
[INFO] [stdout]   --> src/helpers.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub trait Tuple3Helper<A, B, C, E> {
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ResultHelper` is never used
[INFO] [stdout]   --> src/helpers.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub trait ResultHelper {
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReversedIterator` is never constructed
[INFO] [stdout]     --> src/compiler/mod.rs:1254:8
[INFO] [stdout]      |
[INFO] [stdout] 1254 | struct ReversedIterator<I: DoubleEndedIterator> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Reverse` is never used
[INFO] [stdout]     --> src/compiler/mod.rs:1269:7
[INFO] [stdout]      |
[INFO] [stdout] 1269 | trait Reverse
[INFO] [stdout]      |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `error` is never read
[INFO] [stdout]   --> src/lexer/token.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub struct TokenizerError {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 41 |     error: TokenErrorClass,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TokenizerError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `parent` and `bindings` are never read
[INFO] [stdout]   --> src/vm/environment.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | struct FmtEnvironment<'a, V: Trace + Debug + 'static> {
[INFO] [stdout]    |        -------------- fields in this struct
[INFO] [stdout] 25 |     parent: Option<&'a GcShared<Environment<V>>>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 26 |     bindings: hash_map::Keys<'a, ImmutableString, V>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FmtEnvironment` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2.42s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: bitflags v0.4.0, r5rs v0.2.0 (/opt/rustwide/workdir)
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 3`
[INFO] running `Command { std: "docker" "inspect" "f4060ad0c657792b151068c1a857f667525530bdbb90ac7f306491b9376761c6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f4060ad0c657792b151068c1a857f667525530bdbb90ac7f306491b9376761c6", kill_on_drop: false }`
[INFO] [stdout] f4060ad0c657792b151068c1a857f667525530bdbb90ac7f306491b9376761c6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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=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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 5fde37c980f70611ac732ec70e99403a064f1d822514a08168763e0d2e3b6d33
[INFO] running `Command { std: "docker" "start" "-a" "5fde37c980f70611ac732ec70e99403a064f1d822514a08168763e0d2e3b6d33", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]    --> src/compiler/mod.rs:771:20
[INFO] [stderr]     |
[INFO] [stderr] 771 | ) -> Result<Option<(Vec<Instruction>)>, CompilerError> {
[INFO] [stderr]     |                    ^                ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 771 - ) -> Result<Option<(Vec<Instruction>)>, CompilerError> {
[INFO] [stderr] 771 + ) -> Result<Option<Vec<Instruction>>, CompilerError> {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition name: `wtf`
[INFO] [stderr]    --> src/lexer/number/mod.rs:348:11
[INFO] [stderr]     |
[INFO] [stderr] 348 |     #[cfg(wtf)]
[INFO] [stderr]     |           ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: expected names are: `docsrs`, `feature`, and `test` and 31 more
[INFO] [stderr]     = help: consider using a Cargo feature instead
[INFO] [stderr]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stderr]              [lints.rust]
[INFO] [stderr]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(wtf)'] }
[INFO] [stderr]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(wtf)");` to the top of the `build.rs`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition name: `wtf`
[INFO] [stderr]    --> src/lexer/number/mod.rs:378:11
[INFO] [stderr]     |
[INFO] [stderr] 378 |     #[cfg(wtf)]
[INFO] [stderr]     |           ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a Cargo feature instead
[INFO] [stderr]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stderr]              [lints.rust]
[INFO] [stderr]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(wtf)'] }
[INFO] [stderr]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(wtf)");` to the top of the `build.rs`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition name: `wtf`
[INFO] [stderr]    --> src/lexer/number/mod.rs:385:11
[INFO] [stderr]     |
[INFO] [stderr] 385 |     #[cfg(wtf)]
[INFO] [stderr]     |           ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a Cargo feature instead
[INFO] [stderr]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stderr]              [lints.rust]
[INFO] [stderr]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(wtf)'] }
[INFO] [stderr]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(wtf)");` to the top of the `build.rs`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition name: `wtf`
[INFO] [stderr]    --> src/lexer/number/mod.rs:392:11
[INFO] [stderr]     |
[INFO] [stderr] 392 |     #[cfg(wtf)]
[INFO] [stderr]     |           ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a Cargo feature instead
[INFO] [stderr]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stderr]              [lints.rust]
[INFO] [stderr]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(wtf)'] }
[INFO] [stderr]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(wtf)");` to the top of the `build.rs`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/lexer/number/mod.rs:622:21
[INFO] [stderr]     |
[INFO] [stderr] 622 |             Some('0'...'9') | Some('a'...'f') | Some('s') | Some('l') => if pounds == 0
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/lexer/number/mod.rs:622:39
[INFO] [stderr]     |
[INFO] [stderr] 622 |             Some('0'...'9') | Some('a'...'f') | Some('s') | Some('l') => if pounds == 0
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/lexer/number/mod.rs:579:20
[INFO] [stderr]     |
[INFO] [stderr] 579 |                 'a'...'f' if !$decimal && $radix == 16 => true,
[INFO] [stderr]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] ...
[INFO] [stderr] 623 |                 && is_valid_digit!(peek.unwrap(), radix, num_type == Number::Dec)
[INFO] [stderr]     |                    -------------------------------------------------------------- in this macro invocation
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]     = note: this warning originates in the macro `is_valid_digit` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/lexer/number/mod.rs:581:20
[INFO] [stderr]     |
[INFO] [stderr] 581 |                 '2'...'7' if $radix >= 8 => true,
[INFO] [stderr]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] ...
[INFO] [stderr] 623 |                 && is_valid_digit!(peek.unwrap(), radix, num_type == Number::Dec)
[INFO] [stderr]     |                    -------------------------------------------------------------- in this macro invocation
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]     = note: this warning originates in the macro `is_valid_digit` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/lexer/macros.rs:27:16
[INFO] [stderr]     |
[INFO] [stderr]  27 |             '0'...'9' => true,
[INFO] [stderr]     |                ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/lexer/number/mod.rs:686:24
[INFO] [stderr]     |
[INFO] [stderr] 686 |             Some(x) if is_digit!(x) => {
[INFO] [stderr]     |                        ------------ in this macro invocation
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]     = note: this warning originates in the macro `is_digit` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/lexer/token.rs:128:28
[INFO] [stderr]     |
[INFO] [stderr] 128 |                 | (Some('0'...'9'), _)
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/lexer/token.rs:129:39
[INFO] [stderr]     |
[INFO] [stderr] 129 |                 | (Some('+'), Some('0'...'9'))
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/lexer/token.rs:130:39
[INFO] [stderr]     |
[INFO] [stderr] 130 |                 | (Some('-'), Some('0'...'9'))
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/lexer/token.rs:131:39
[INFO] [stderr]     |
[INFO] [stderr] 131 |                 | (Some('.'), Some('0'...'9')) => match NumberToken::parse(stream) {
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/helpers.rs:50:28
[INFO] [stderr]     |
[INFO] [stderr]  50 |         return ok_some!($x);
[INFO] [stderr]     |                            ^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/lexer/token.rs:132:31
[INFO] [stderr]     |
[INFO] [stderr] 132 |                     Ok(nt) => ret_val!(Token::Number(nt)),
[INFO] [stderr]     |                               --------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: `#[warn(semicolon_in_expressions_from_macros)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stderr]     = note: this warning originates in the macro `ret_val` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/helpers.rs:50:28
[INFO] [stderr]     |
[INFO] [stderr]  50 |         return ok_some!($x);
[INFO] [stderr]     |                            ^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/lexer/token.rs:162:28
[INFO] [stderr]     |
[INFO] [stderr] 162 |                     '(' => ret_val!(Token::Open),
[INFO] [stderr]     |                            --------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `ret_val` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/helpers.rs:50:28
[INFO] [stderr]     |
[INFO] [stderr]  50 |         return ok_some!($x);
[INFO] [stderr]     |                            ^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/lexer/token.rs:163:28
[INFO] [stderr]     |
[INFO] [stderr] 163 |                     ')' => ret_val!(Token::Close),
[INFO] [stderr]     |                            ---------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `ret_val` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/helpers.rs:50:28
[INFO] [stderr]     |
[INFO] [stderr]  50 |         return ok_some!($x);
[INFO] [stderr]     |                            ^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/lexer/token.rs:164:28
[INFO] [stderr]     |
[INFO] [stderr] 164 |                     '`' => ret_val!(Token::BackQuote),
[INFO] [stderr]     |                            -------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `ret_val` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/helpers.rs:50:28
[INFO] [stderr]     |
[INFO] [stderr]  50 |         return ok_some!($x);
[INFO] [stderr]     |                            ^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/lexer/token.rs:165:29
[INFO] [stderr]     |
[INFO] [stderr] 165 |                     '\'' => ret_val!(Token::SingleQuote),
[INFO] [stderr]     |                             ---------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `ret_val` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/helpers.rs:50:28
[INFO] [stderr]     |
[INFO] [stderr]  50 |         return ok_some!($x);
[INFO] [stderr]     |                            ^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/lexer/token.rs:173:55
[INFO] [stderr]     |
[INFO] [stderr] 173 |                         (x, _) if is_delimiter!(x) => ret_val!(Token::Dot),
[INFO] [stderr]     |                                                       -------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `ret_val` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/helpers.rs:50:28
[INFO] [stderr]     |
[INFO] [stderr]  50 |         return ok_some!($x);
[INFO] [stderr]     |                            ^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/lexer/token.rs:197:33
[INFO] [stderr]     |
[INFO] [stderr] 197 | ...                   ret_val!(Token::Character(next.unwrap()))
[INFO] [stderr]     |                       ----------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stderr]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `ret_val`
[INFO] [stderr]     = note: this warning originates in the macro `ret_val` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/helpers.rs:50:28
[INFO] [stderr]     |
[INFO] [stderr]  50 |         return ok_some!($x);
[INFO] [stderr]     |                            ^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/lexer/token.rs:205:25
[INFO] [stderr]     |
[INFO] [stderr] 205 |                         ret_val!(Token::Identifier(c.to_string()))
[INFO] [stderr]     |                         ------------------------------------------ in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stderr]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `ret_val`
[INFO] [stderr]     = note: this warning originates in the macro `ret_val` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/helpers.rs:50:28
[INFO] [stderr]     |
[INFO] [stderr]  50 |         return ok_some!($x);
[INFO] [stderr]     |                            ^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/lexer/token.rs:212:29
[INFO] [stderr]     |
[INFO] [stderr] 212 | ...                   ret_val!(Token::CommaAt)
[INFO] [stderr]     |                       ------------------------ in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stderr]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `ret_val`
[INFO] [stderr]     = note: this warning originates in the macro `ret_val` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/helpers.rs:50:28
[INFO] [stderr]     |
[INFO] [stderr]  50 |         return ok_some!($x);
[INFO] [stderr]     |                            ^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/lexer/token.rs:214:30
[INFO] [stderr]     |
[INFO] [stderr] 214 |                         _ => ret_val!(Token::Comma),
[INFO] [stderr]     |                              ---------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `ret_val` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/helpers.rs:50:28
[INFO] [stderr]     |
[INFO] [stderr]  50 |         return ok_some!($x);
[INFO] [stderr]     |                            ^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/lexer/token.rs:222:30
[INFO] [stderr]     |
[INFO] [stderr] 222 |                         _ => ret_val!(Token::Identifier(d.to_string())),
[INFO] [stderr]     |                              ------------------------------------------ in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `ret_val` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/helpers.rs:50:28
[INFO] [stderr]     |
[INFO] [stderr]  50 |         return ok_some!($x);
[INFO] [stderr]     |                            ^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/lexer/token.rs:261:24
[INFO] [stderr]     |
[INFO] [stderr] 261 |                 '"' => ret_val!(Token::String(string_buf.clone())),
[INFO] [stderr]     |                        ------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `ret_val` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/helpers.rs:50:28
[INFO] [stderr]     |
[INFO] [stderr]  50 |         return ok_some!($x);
[INFO] [stderr]     |                            ^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/lexer/token.rs:276:26
[INFO] [stderr]     |
[INFO] [stderr] 276 |                     _ => ret_val!(Token::Identifier(string_buf.clone())),
[INFO] [stderr]     |                          ----------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `ret_val` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/lexer/macros.rs:27:16
[INFO] [stderr]     |
[INFO] [stderr]  27 |             '0'...'9' => true,
[INFO] [stderr]     |                ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/lexer/token.rs:290:22
[INFO] [stderr]     |
[INFO] [stderr] 290 |     is_initial(c) || is_digit!(c) || is_special_subsequent(c)
[INFO] [stderr]     |                      ------------ in this macro invocation
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]     = note: this warning originates in the macro `is_digit` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/lexer/token.rs:296:12
[INFO] [stderr]     |
[INFO] [stderr] 296 |         '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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: trait `Tuple2Helper` is never used
[INFO] [stderr]  --> src/helpers.rs:5:11
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub trait Tuple2Helper<A, B, E> {
[INFO] [stderr]   |           ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait `Tuple3Helper` is never used
[INFO] [stderr]   --> src/helpers.rs:18:11
[INFO] [stderr]    |
[INFO] [stderr] 18 | pub trait Tuple3Helper<A, B, C, E> {
[INFO] [stderr]    |           ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `ResultHelper` is never used
[INFO] [stderr]   --> src/helpers.rs:31:11
[INFO] [stderr]    |
[INFO] [stderr] 31 | pub trait ResultHelper {
[INFO] [stderr]    |           ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ReversedIterator` is never constructed
[INFO] [stderr]     --> src/compiler/mod.rs:1254:8
[INFO] [stderr]      |
[INFO] [stderr] 1254 | struct ReversedIterator<I: DoubleEndedIterator> {
[INFO] [stderr]      |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `Reverse` is never used
[INFO] [stderr]     --> src/compiler/mod.rs:1269:7
[INFO] [stderr]      |
[INFO] [stderr] 1269 | trait Reverse
[INFO] [stderr]      |       ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `error` is never read
[INFO] [stderr]   --> src/lexer/token.rs:41:5
[INFO] [stderr]    |
[INFO] [stderr] 40 | pub struct TokenizerError {
[INFO] [stderr]    |            -------------- field in this struct
[INFO] [stderr] 41 |     error: TokenErrorClass,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `TokenizerError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `parent` and `bindings` are never read
[INFO] [stderr]   --> src/vm/environment.rs:25:5
[INFO] [stderr]    |
[INFO] [stderr] 24 | struct FmtEnvironment<'a, V: Trace + Debug + 'static> {
[INFO] [stderr]    |        -------------- fields in this struct
[INFO] [stderr] 25 |     parent: Option<&'a GcShared<Environment<V>>>,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 26 |     bindings: hash_map::Keys<'a, ImmutableString, V>,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `FmtEnvironment` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: `r5rs` (lib) generated 36 warnings (run `cargo fix --lib -p r5rs` to apply 12 suggestions)
[INFO] [stderr] warning: `r5rs` (lib test) generated 36 warnings (36 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.05s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: bitflags v0.4.0, r5rs v0.2.0 (/opt/rustwide/workdir)
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 3`
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/r5rs-7baa927d93221684)
[INFO] [stdout] 
[INFO] [stdout] running 85 tests
[INFO] [stdout] test interpreter::test::basic_call ... ok
[INFO] [stdout] test interpreter::test::basic_call_varargs ... ok
[INFO] [stdout] test interpreter::test::case_basic ... ok
[INFO] [stdout] test interpreter::test::and_simple ... ok
[INFO] [stdout] test interpreter::test::case_nil ... ok
[INFO] [stdout] test interpreter::test::case_with_else ... ok
[INFO] [stdout] test interpreter::test::cond_arrow ... ok
[INFO] [stdout] test interpreter::test::cond_arity_check ... ok
[INFO] [stdout] test interpreter::test::cond_else ... ok
[INFO] [stdout] test interpreter::test::cond_cascade ... ok
[INFO] [stdout] test interpreter::test::cond_empty ... ok
[INFO] [stdout] test interpreter::test::delay_is_delayed ... ok
[INFO] [stdout] test interpreter::test::delay_basic ... ok
[INFO] [stdout] test interpreter::test::quasiquotation_nested ... ok
[INFO] [stdout] test interpreter::test::let_order ... ok
[INFO] [stdout] test interpreter::test::named_let_basic ... ok
[INFO] [stdout] test interpreter::test::delay_no_clobber ... ok
[INFO] [stdout] test interpreter::test::quasiquotation_with_splicing ... ok
[INFO] [stdout] test interpreter::test::quasiquoted_spliced_pairs ... ok
[INFO] [stdout] test interpreter::test::quasiquotation_simple ... ok
[INFO] [stdout] test interpreter::test::or_value ... ok
[INFO] [stdout] test interpreter::test::let_basic ... ok
[INFO] [stdout] test interpreter::test::or_simple ... ok
[INFO] [stdout] test interpreter::test::quotation_pair ... ok
[INFO] [stdout] test interpreter::test::cond_basic ... ok
[INFO] [stdout] test interpreter::test::cond_arrow_false ... ok
[INFO] [stdout] test interpreter::test::cond_test_only ... ok
[INFO] [stdout] test interpreter::test::stdlib_apply_argtype ... ok
[INFO] [stdout] test interpreter::test::stdlib_cons ... ok
[INFO] [stdout] test interpreter::test::let_star_order ... ok
[INFO] [stdout] test interpreter::test::stdlib_apply_argc ... ok
[INFO] [stdout] test interpreter::test::stdlib_apply_basic_native ... ok
[INFO] [stdout] test interpreter::test::stdlib_eqv_empty_lists ... ok
[INFO] [stdout] test interpreter::test::stdlib_apply_basic ... ok
[INFO] [stdout] test interpreter::test::stdlib_leq_than_simple ... ok
[INFO] [stdout] test interpreter::test::symbol ... ok
[INFO] [stdout] test interpreter::test::stdlib_list_empty ... ok
[INFO] [stdout] test interpreter::test::two_expressions ... ok
[INFO] [stdout] test lexer::number::test::parse_complex_error ... ok
[INFO] [stdout] test interpreter::test::stdlib_cons_argc ... ok
[INFO] [stdout] test lexer::number::test::parse_complex_with_cartesian ... ok
[INFO] [stdout] test interpreter::test::stdlib_eqv_lists ... ok
[INFO] [stdout] test interpreter::test::stdlib_substraction_simple ... ok
[INFO] [stdout] test interpreter::test::case_multiple ... ok
[INFO] [stdout] test interpreter::test::stdlib_eqv_native_procs ... ok
[INFO] [stdout] test interpreter::test::stdlib_eqv_strings ... ok
[INFO] [stdout] test lexer::number::test::parse_complex_with_polar ... ok
[INFO] [stdout] test lexer::number::test::parse_real_with_decimal ... ok
[INFO] [stdout] test lexer::number::test::parse_real_with_integer ... ok
[INFO] [stdout] test lexer::number::test::parse_real_with_integer_error ... ok
[INFO] [stdout] test lexer::number::test::parse_real_with_fraction ... ok
[INFO] [stdout] test lexer::number::test::prefix ... ok
[INFO] [stdout] test interpreter::test::stdlib_equal_simple ... ok
[INFO] [stdout] test interpreter::test::unquoted_vectors ... ok
[INFO] [stdout] test interpreter::test::stdlib_eqv_lambdas ... ok
[INFO] [stdout] test lexer::number::test::parse_real_with_decimal_error ... ok
[INFO] [stdout] test lexer::number::test::suffix ... ok
[INFO] [stdout] test lexer::number::test::parse_real_with_fraction_error ... ok
[INFO] [stdout] test lexer::token_test::backquote_test ... ok
[INFO] [stdout] test lexer::token_test::clopen_test ... ok
[INFO] [stdout] test lexer::token_test::chars_test ... ok
[INFO] [stdout] test lexer::token_test::dot_test ... ok
[INFO] [stdout] test lexer::token_test::open_vector_test ... ok
[INFO] [stdout] test lexer::token_test::single_quote_test ... ok
[INFO] [stdout] test lexer::token_test::whitespace_test ... ok
[INFO] [stdout] test reader::datum::test::double_tail_list_test ... ok
[INFO] [stdout] test reader::datum::test::empty_tail_list_test ... ok
[INFO] [stdout] test reader::datum::test::empty_head_list_test ... ok
[INFO] [stdout] test reader::datum::test::incomplete_list_test ... ok
[INFO] [stdout] test lexer::token_test::strings_test ... ok
[INFO] [stdout] test lexer::token_test::identifiers_test ... ok
[INFO] [stdout] test reader::datum::test::abbreviation_test ... ok
[INFO] [stdout] test lexer::token_test::special_identifiers_test ... ok
[INFO] [stdout] test reader::datum::test::boolean_datum_test ... ok
[INFO] [stdout] test reader::datum::test::incomplete_abbreviation_test ... ok
[INFO] [stdout] test lexer::token_test::commas_test ... ok
[INFO] [stdout] test lexer::token_test::comments_whitespace_test ... ok
[INFO] [stdout] test lexer::token_test::booleans_test ... ok
[INFO] [stdout] test reader::datum::test::list_pair_test ... ok
[INFO] [stdout] test lexer::token_test::comments_test ... ok
[INFO] [stdout] test reader::datum::test::list_test ... ok
[INFO] [stdout] test reader::datum::test::vector_test ... ok
[INFO] [stdout] test lexer::number::test::suffix_bad_marker_empty - should panic ... ok
[INFO] [stdout] test lexer::number::test::suffix_bad_marker_nonexistant - should panic ... ok
[INFO] [stdout] test interpreter::test::man_or_boy ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 85 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/compiler.rs (/opt/rustwide/target/debug/deps/compiler-427c7a515ede3fd4)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stderr]      Running unittests src/bin/interpreter.rs (/opt/rustwide/target/debug/deps/interpreter-065934e0874db619)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/lexer.rs (/opt/rustwide/target/debug/deps/lexer-f10f300be2627d46)
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/reader.rs (/opt/rustwide/target/debug/deps/reader-86036a946d54624b)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/web.rs (/opt/rustwide/target/debug/deps/web-1fdc52c687052a52)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests r5rs
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]    --> src/compiler/mod.rs:771:20
[INFO] [stderr]     |
[INFO] [stderr] 771 | ) -> Result<Option<(Vec<Instruction>)>, CompilerError> {
[INFO] [stderr]     |                    ^                ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 771 - ) -> Result<Option<(Vec<Instruction>)>, CompilerError> {
[INFO] [stderr] 771 + ) -> Result<Option<Vec<Instruction>>, CompilerError> {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/lexer/number/mod.rs:622:21
[INFO] [stderr]     |
[INFO] [stderr] 622 |             Some('0'...'9') | Some('a'...'f') | Some('s') | Some('l') => if pounds == 0
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/lexer/number/mod.rs:622:39
[INFO] [stderr]     |
[INFO] [stderr] 622 |             Some('0'...'9') | Some('a'...'f') | Some('s') | Some('l') => if pounds == 0
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/lexer/number/mod.rs:579:20
[INFO] [stderr]     |
[INFO] [stderr] 579 |                 'a'...'f' if !$decimal && $radix == 16 => true,
[INFO] [stderr]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] ...
[INFO] [stderr] 623 |                 && is_valid_digit!(peek.unwrap(), radix, num_type == Number::Dec)
[INFO] [stderr]     |                    -------------------------------------------------------------- in this macro invocation
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]     = note: this warning originates in the macro `is_valid_digit` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/lexer/number/mod.rs:581:20
[INFO] [stderr]     |
[INFO] [stderr] 581 |                 '2'...'7' if $radix >= 8 => true,
[INFO] [stderr]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] ...
[INFO] [stderr] 623 |                 && is_valid_digit!(peek.unwrap(), radix, num_type == Number::Dec)
[INFO] [stderr]     |                    -------------------------------------------------------------- in this macro invocation
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]     = note: this warning originates in the macro `is_valid_digit` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/lexer/macros.rs:27:16
[INFO] [stderr]     |
[INFO] [stderr]  27 |             '0'...'9' => true,
[INFO] [stderr]     |                ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/lexer/number/mod.rs:686:24
[INFO] [stderr]     |
[INFO] [stderr] 686 |             Some(x) if is_digit!(x) => {
[INFO] [stderr]     |                        ------------ in this macro invocation
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]     = note: this warning originates in the macro `is_digit` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/lexer/token.rs:128:28
[INFO] [stderr]     |
[INFO] [stderr] 128 |                 | (Some('0'...'9'), _)
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/lexer/token.rs:129:39
[INFO] [stderr]     |
[INFO] [stderr] 129 |                 | (Some('+'), Some('0'...'9'))
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/lexer/token.rs:130:39
[INFO] [stderr]     |
[INFO] [stderr] 130 |                 | (Some('-'), Some('0'...'9'))
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/lexer/token.rs:131:39
[INFO] [stderr]     |
[INFO] [stderr] 131 |                 | (Some('.'), Some('0'...'9')) => match NumberToken::parse(stream) {
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/lexer/macros.rs:27:16
[INFO] [stderr]     |
[INFO] [stderr]  27 |             '0'...'9' => true,
[INFO] [stderr]     |                ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/lexer/token.rs:290:22
[INFO] [stderr]     |
[INFO] [stderr] 290 |     is_initial(c) || is_digit!(c) || is_special_subsequent(c)
[INFO] [stderr]     |                      ------------ in this macro invocation
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]     = note: this warning originates in the macro `is_digit` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/lexer/token.rs:296:12
[INFO] [stderr]     |
[INFO] [stderr] 296 |         '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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: 12 warnings emitted
[INFO] [stderr] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "5fde37c980f70611ac732ec70e99403a064f1d822514a08168763e0d2e3b6d33", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5fde37c980f70611ac732ec70e99403a064f1d822514a08168763e0d2e3b6d33", kill_on_drop: false }`
[INFO] [stdout] 5fde37c980f70611ac732ec70e99403a064f1d822514a08168763e0d2e3b6d33
