[INFO] fetching crate gbas 0.1.0...
[INFO] testing gbas-0.1.0 against try#c2e32f1c9652b13ed99608599c1e855462f421f3 for pr-146098-7
[INFO] extracting crate gbas 0.1.0 into /workspace/builds/worker-0-tc2/source
[INFO] started tweaking crates.io crate gbas 0.1.0
[INFO] finished tweaking crates.io crate gbas 0.1.0
[INFO] tweaked toml for crates.io crate gbas 0.1.0 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate gbas 0.1.0 on toolchain c2e32f1c9652b13ed99608599c1e855462f421f3
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 759725d176dc6341b204f91dd7dca0477188295b2864f49d07887978c27c880a
[INFO] running `Command { std: "docker" "start" "-a" "759725d176dc6341b204f91dd7dca0477188295b2864f49d07887978c27c880a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "759725d176dc6341b204f91dd7dca0477188295b2864f49d07887978c27c880a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "759725d176dc6341b204f91dd7dca0477188295b2864f49d07887978c27c880a", kill_on_drop: false }`
[INFO] [stdout] 759725d176dc6341b204f91dd7dca0477188295b2864f49d07887978c27c880a
[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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1cba0b8804f631ed097d3b256a085f0f73b92c0f47821712bc834de36db9630f
[INFO] running `Command { std: "docker" "start" "-a" "1cba0b8804f631ed097d3b256a085f0f73b92c0f47821712bc834de36db9630f", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling gbas v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/frontend/syntax/lexer.rs:106:16
[INFO] [stdout]     |
[INFO] [stdout] 106 |             '0'...'9' => self.lex_decimal_number(),
[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: unused import: `BinaryOperator`
[INFO] [stdout]  --> src/instruction.rs:1:19
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub use backend::{BinaryOperator, RelocExpr};
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::trim_right`: superseded by `trim_end`
[INFO] [stdout]    --> src/diagnostics.rs:342:43
[INFO] [stdout]     |
[INFO] [stdout] 342 |                     .map(|(_, line)| line.trim_right())
[INFO] [stdout]     |                                           ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]     |
[INFO] [stdout] 342 -                     .map(|(_, line)| line.trim_right())
[INFO] [stdout] 342 +                     .map(|(_, line)| line.trim_end())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/codebase.rs:113:18
[INFO] [stdout]     |
[INFO] [stdout] 113 |     pub fn lines(&self, line_range: impl ops::RangeBounds<LineIndex>) -> TextLines {
[INFO] [stdout]     |                  ^^^^^ the lifetime is elided here                       ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 113 |     pub fn lines(&self, line_range: impl ops::RangeBounds<LineIndex>) -> TextLines<'_> {
[INFO] [stdout]     |                                                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/codebase.rs:268:35
[INFO] [stdout]     |
[INFO] [stdout] 268 |     pub fn new(fs: &'a mut FS) -> FileCodebase<FS> {
[INFO] [stdout]     |                     --            ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 268 |     pub fn new(fs: &'a mut FS) -> FileCodebase<'a, FS> {
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/frontend/mod.rs:390:51
[INFO] [stdout]     |
[INFO] [stdout] 390 |     fn new(codebase: &'a C, token_tracker: TT) -> TokenStreamSource<C, TT> {
[INFO] [stdout]     |                       --                          ^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 390 |     fn new(codebase: &'a C, token_tracker: TT) -> TokenStreamSource<'a, C, TT> {
[INFO] [stdout]     |                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/frontend/syntax/mod.rs:30:22
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn tokenize(src: &str) -> self::lexer::Lexer {
[INFO] [stdout]    |                      ^^^^     ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn tokenize(src: &str) -> self::lexer::Lexer<'_> {
[INFO] [stdout]    |                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.03s
[INFO] running `Command { std: "docker" "inspect" "1cba0b8804f631ed097d3b256a085f0f73b92c0f47821712bc834de36db9630f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1cba0b8804f631ed097d3b256a085f0f73b92c0f47821712bc834de36db9630f", kill_on_drop: false }`
[INFO] [stdout] 1cba0b8804f631ed097d3b256a085f0f73b92c0f47821712bc834de36db9630f
[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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e4989a1651fcc2c806d5f70a2238947ae1b2ba6c0d2a684855829dd4addb94f0
[INFO] running `Command { std: "docker" "start" "-a" "e4989a1651fcc2c806d5f70a2238947ae1b2ba6c0d2a684855829dd4addb94f0", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/frontend/syntax/lexer.rs:106:16
[INFO] [stdout]     |
[INFO] [stdout] 106 |             '0'...'9' => self.lex_decimal_number(),
[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: unused import: `BinaryOperator`
[INFO] [stdout]  --> src/instruction.rs:1:19
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub use backend::{BinaryOperator, RelocExpr};
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::trim_right`: superseded by `trim_end`
[INFO] [stdout]    --> src/diagnostics.rs:342:43
[INFO] [stdout]     |
[INFO] [stdout] 342 |                     .map(|(_, line)| line.trim_right())
[INFO] [stdout]     |                                           ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]     |
[INFO] [stdout] 342 -                     .map(|(_, line)| line.trim_right())
[INFO] [stdout] 342 +                     .map(|(_, line)| line.trim_end())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/codebase.rs:113:18
[INFO] [stdout]     |
[INFO] [stdout] 113 |     pub fn lines(&self, line_range: impl ops::RangeBounds<LineIndex>) -> TextLines {
[INFO] [stdout]     |                  ^^^^^ the lifetime is elided here                       ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 113 |     pub fn lines(&self, line_range: impl ops::RangeBounds<LineIndex>) -> TextLines<'_> {
[INFO] [stdout]     |                                                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/codebase.rs:268:35
[INFO] [stdout]     |
[INFO] [stdout] 268 |     pub fn new(fs: &'a mut FS) -> FileCodebase<FS> {
[INFO] [stdout]     |                     --            ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 268 |     pub fn new(fs: &'a mut FS) -> FileCodebase<'a, FS> {
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/frontend/mod.rs:390:51
[INFO] [stdout]     |
[INFO] [stdout] 390 |     fn new(codebase: &'a C, token_tracker: TT) -> TokenStreamSource<C, TT> {
[INFO] [stdout]     |                       --                          ^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 390 |     fn new(codebase: &'a C, token_tracker: TT) -> TokenStreamSource<'a, C, TT> {
[INFO] [stdout]     |                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/frontend/syntax/mod.rs:30:22
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn tokenize(src: &str) -> self::lexer::Lexer {
[INFO] [stdout]    |                      ^^^^     ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn tokenize(src: &str) -> self::lexer::Lexer<'_> {
[INFO] [stdout]    |                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling gbas v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/frontend/syntax/lexer.rs:106:16
[INFO] [stdout]     |
[INFO] [stdout] 106 |             '0'...'9' => self.lex_decimal_number(),
[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: use of deprecated method `core::str::<impl str>::trim_right`: superseded by `trim_end`
[INFO] [stdout]    --> src/diagnostics.rs:342:43
[INFO] [stdout]     |
[INFO] [stdout] 342 |                     .map(|(_, line)| line.trim_right())
[INFO] [stdout]     |                                           ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]     |
[INFO] [stdout] 342 -                     .map(|(_, line)| line.trim_right())
[INFO] [stdout] 342 +                     .map(|(_, line)| line.trim_end())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/codebase.rs:113:18
[INFO] [stdout]     |
[INFO] [stdout] 113 |     pub fn lines(&self, line_range: impl ops::RangeBounds<LineIndex>) -> TextLines {
[INFO] [stdout]     |                  ^^^^^ the lifetime is elided here                       ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 113 |     pub fn lines(&self, line_range: impl ops::RangeBounds<LineIndex>) -> TextLines<'_> {
[INFO] [stdout]     |                                                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/codebase.rs:268:35
[INFO] [stdout]     |
[INFO] [stdout] 268 |     pub fn new(fs: &'a mut FS) -> FileCodebase<FS> {
[INFO] [stdout]     |                     --            ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 268 |     pub fn new(fs: &'a mut FS) -> FileCodebase<'a, FS> {
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/frontend/mod.rs:390:51
[INFO] [stdout]     |
[INFO] [stdout] 390 |     fn new(codebase: &'a C, token_tracker: TT) -> TokenStreamSource<C, TT> {
[INFO] [stdout]     |                       --                          ^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 390 |     fn new(codebase: &'a C, token_tracker: TT) -> TokenStreamSource<'a, C, TT> {
[INFO] [stdout]     |                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/frontend/syntax/mod.rs:30:22
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn tokenize(src: &str) -> self::lexer::Lexer {
[INFO] [stdout]    |                      ^^^^     ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn tokenize(src: &str) -> self::lexer::Lexer<'_> {
[INFO] [stdout]    |                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 5.15s
[INFO] running `Command { std: "docker" "inspect" "e4989a1651fcc2c806d5f70a2238947ae1b2ba6c0d2a684855829dd4addb94f0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e4989a1651fcc2c806d5f70a2238947ae1b2ba6c0d2a684855829dd4addb94f0", kill_on_drop: false }`
[INFO] [stdout] e4989a1651fcc2c806d5f70a2238947ae1b2ba6c0d2a684855829dd4addb94f0
[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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 4a051ccbce0a6b5fc88a50c34e9a74f0ee632f61edb8ea50c3ea7df1d85a2af8
[INFO] running `Command { std: "docker" "start" "-a" "4a051ccbce0a6b5fc88a50c34e9a74f0ee632f61edb8ea50c3ea7df1d85a2af8", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/frontend/syntax/lexer.rs:106:16
[INFO] [stderr]     |
[INFO] [stderr] 106 |             '0'...'9' => self.lex_decimal_number(),
[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: unused import: `BinaryOperator`
[INFO] [stderr]  --> src/instruction.rs:1:19
[INFO] [stderr]   |
[INFO] [stderr] 1 | pub use backend::{BinaryOperator, RelocExpr};
[INFO] [stderr]   |                   ^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `core::str::<impl str>::trim_right`: superseded by `trim_end`
[INFO] [stderr]    --> src/diagnostics.rs:342:43
[INFO] [stderr]     |
[INFO] [stderr] 342 |                     .map(|(_, line)| line.trim_right())
[INFO] [stderr]     |                                           ^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] help: replace the use of the deprecated method
[INFO] [stderr]     |
[INFO] [stderr] 342 -                     .map(|(_, line)| line.trim_right())
[INFO] [stderr] 342 +                     .map(|(_, line)| line.trim_end())
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/codebase.rs:113:18
[INFO] [stderr]     |
[INFO] [stderr] 113 |     pub fn lines(&self, line_range: impl ops::RangeBounds<LineIndex>) -> TextLines {
[INFO] [stderr]     |                  ^^^^^ the lifetime is elided here                       ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 113 |     pub fn lines(&self, line_range: impl ops::RangeBounds<LineIndex>) -> TextLines<'_> {
[INFO] [stderr]     |                                                                                   ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stderr]    --> src/codebase.rs:268:35
[INFO] [stderr]     |
[INFO] [stderr] 268 |     pub fn new(fs: &'a mut FS) -> FileCodebase<FS> {
[INFO] [stderr]     |                     --            ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     the lifetime is named here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: consistently use `'a`
[INFO] [stderr]     |
[INFO] [stderr] 268 |     pub fn new(fs: &'a mut FS) -> FileCodebase<'a, FS> {
[INFO] [stderr]     |                                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stderr]    --> src/frontend/mod.rs:390:51
[INFO] [stderr]     |
[INFO] [stderr] 390 |     fn new(codebase: &'a C, token_tracker: TT) -> TokenStreamSource<C, TT> {
[INFO] [stderr]     |                       --                          ^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                       |
[INFO] [stderr]     |                       the lifetime is named here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: consistently use `'a`
[INFO] [stderr]     |
[INFO] [stderr] 390 |     fn new(codebase: &'a C, token_tracker: TT) -> TokenStreamSource<'a, C, TT> {
[INFO] [stderr]     |                                                                     +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/frontend/syntax/mod.rs:30:22
[INFO] [stderr]    |
[INFO] [stderr] 30 | pub fn tokenize(src: &str) -> self::lexer::Lexer {
[INFO] [stderr]    |                      ^^^^     ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                      |
[INFO] [stderr]    |                      the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 30 | pub fn tokenize(src: &str) -> self::lexer::Lexer<'_> {
[INFO] [stderr]    |                                                 ++++
[INFO] [stderr] 
[INFO] [stderr] warning: `gbas` (lib) generated 7 warnings (run `cargo fix --lib -p gbas` to apply 7 suggestions)
[INFO] [stderr] warning: `gbas` (lib test) generated 6 warnings (6 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.05s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/gbas-d1faa844e1f6e8af)
[INFO] [stdout] 
[INFO] [stdout] running 230 tests
[INFO] [stdout] test backend::lowering::tests::encode_call ... ok
[INFO] [stdout] test backend::lowering::tests::encode_add_hl ... ok
[INFO] [stdout] test backend::lowering::tests::encode_daa ... ok
[INFO] [stdout] test backend::lowering::tests::encode_8_bit_register_transfers ... ok
[INFO] [stdout] test backend::lowering::tests::encode_alu_immediate ... ok
[INFO] [stdout] test backend::lowering::tests::encode_halt ... ok
[INFO] [stdout] test backend::lowering::tests::encode_jr ... ok
[INFO] [stdout] test backend::lowering::tests::encode_ei ... ok
[INFO] [stdout] test backend::lowering::tests::encode_jp_hl ... ok
[INFO] [stdout] test backend::lowering::tests::encode_ld_immediate16 ... ok
[INFO] [stdout] test backend::lowering::tests::encode_jp ... ok
[INFO] [stdout] test backend::lowering::tests::encode_ld_deref_c_a ... ok
[INFO] [stdout] test backend::lowering::tests::encode_di ... ok
[INFO] [stdout] test backend::lowering::tests::encode_inc_dec16 ... ok
[INFO] [stdout] test backend::lowering::tests::encode_inc_dec8 ... ok
[INFO] [stdout] test backend::lowering::tests::encode_ld_a_deref_c ... ok
[INFO] [stdout] test backend::lowering::tests::encode_ld_simple_immediate ... ok
[INFO] [stdout] test backend::lowering::tests::encode_nop ... ok
[INFO] [stdout] test backend::lowering::tests::encode_pop ... ok
[INFO] [stdout] test backend::lowering::tests::encode_simple_adc ... ok
[INFO] [stdout] test backend::lowering::tests::encode_simple_add ... ok
[INFO] [stdout] test backend::lowering::tests::encode_reti ... ok
[INFO] [stdout] test backend::lowering::tests::encode_simple_or ... ok
[INFO] [stdout] test backend::lowering::tests::encode_simple_sbc ... ok
[INFO] [stdout] test backend::lowering::tests::encode_simple_xor ... ok
[INFO] [stdout] test backend::lowering::tests::encode_stop ... ok
[INFO] [stdout] test backend::lowering::tests::lower_bit_operations ... ok
[INFO] [stdout] test backend::lowering::tests::lower_ld_deref_ptr_reg ... ok
[INFO] [stdout] test backend::lowering::tests::lower_ld_sp_hl ... ok
[INFO] [stdout] test backend::lowering::tests::lower_cpl ... ok
[INFO] [stdout] test backend::lowering::tests::lower_ldhl_sp_expr ... ok
[INFO] [stdout] test backend::lowering::tests::lower_misc_operations ... ok
[INFO] [stdout] test backend::lowering::tests::lower_rla ... ok
[INFO] [stdout] test backend::lowering::tests::lower_rlca ... ok
[INFO] [stdout] test backend::lowering::tests::lower_rra ... ok
[INFO] [stdout] test backend::lowering::tests::lower_simple_sub ... ok
[INFO] [stdout] test backend::object::resolve::tests::chunk_with_const_inline_addr_ld_has_size_three ... ok
[INFO] [stdout] test backend::object::resolve::tests::chunk_with_const_inline_addr_ld_has_size_two ... ok
[INFO] [stdout] test backend::lowering::tests::lower_rst ... ok
[INFO] [stdout] test backend::lowering::tests::lower_rrca ... ok
[INFO] [stdout] test backend::object::resolve::tests::empty_chunk_has_size_zero ... ok
[INFO] [stdout] test backend::object::resolve::tests::label_defined_as_chunk_origin_plus_offset ... ok
[INFO] [stdout] test backend::object::resolve::tests::ld_inline_addr_with_symbol_after_instruction_has_size_three ... ok
[INFO] [stdout] test backend::object::tests::constrain_origin_determines_origin_of_new_chunk ... ok
[INFO] [stdout] test backend::lowering::tests::encode_ld_inline_addr ... ok
[INFO] [stdout] test backend::lowering::tests::encode_push ... ok
[INFO] [stdout] test backend::object::tests::resolve_origin_relative_to_previous_chunk ... ok
[INFO] [stdout] test backend::object::translate::tests::location_counter_starts_from_chunk_origin ... ok
[INFO] [stdout] test backend::lowering::tests::encode_ret ... ok
[INFO] [stdout] test backend::lowering::tests::encode_simple_cp ... ok
[INFO] [stdout] test backend::object::resolve::tests::chunk_with_one_byte_has_size_one ... ok
[INFO] [stdout] test backend::lowering::tests::encode_simple_and ... ok
[INFO] [stdout] test backend::object::translate::tests::translate_embedded ... ok
[INFO] [stdout] test backend::object::translate::tests::translate_expr_with_location_counter ... ok
[INFO] [stdout] test backend::object::translate::tests::translate_expr_with_subtraction ... ok
[INFO] [stdout] test backend::object::translate::tests::translate_ld_a_deref_addr_with_low_addr ... ok
[INFO] [stdout] test backend::object::translate::tests::translate_ld_deref_addr_a_with_high_addr ... ok
[INFO] [stdout] test backend::object::translate::tests::translate_ld_deref_addr_a_with_low_addr ... ok
[INFO] [stdout] test backend::tests::diagnose_unresolved_symbol ... ok
[INFO] [stdout] test backend::object::tests::new_object_has_no_chunks ... ok
[INFO] [stdout] test backend::tests::diagnose_two_unresolved_symbols_in_one_expr ... ok
[INFO] [stdout] test backend::tests::emit_defined_symbol ... ok
[INFO] [stdout] test backend::object::tests::no_origin_by_default ... ok
[INFO] [stdout] test backend::tests::emit_diagnostic_when_byte_item_out_of_range ... ok
[INFO] [stdout] test backend::tests::emit_literal_byte_item ... ok
[INFO] [stdout] test backend::tests::emit_stop ... ok
[INFO] [stdout] test backend::tests::emit_symbol_defined_after_use ... ok
[INFO] [stdout] test backend::tests::emit_two_literal_byte_item ... ok
[INFO] [stdout] test backend::tests::empty_chunk_does_not_extend_rom ... ok
[INFO] [stdout] test codebase::tests::line_ranges ... ok
[INFO] [stdout] test codebase::tests::borrow_some_lines ... ok
[INFO] [stdout] test codebase::tests::iterate_src ... ok
[INFO] [stdout] test backend::object::translate::tests::set_origin_of_translated_chunk ... ok
[INFO] [stdout] test backend::object::translate::tests::translate_ld_a_deref_addr_with_high_addr ... ok
[INFO] [stdout] test backend::tests::empty_object_converted_to_all_zero_rom ... ok
[INFO] [stdout] test codebase::tests::text_range_in_middle_of_line ... ok
[INFO] [stdout] test diagnostics::tests::highlight_eof_with_one_tilde ... ok
[INFO] [stdout] test backend::tests::chunk_placed_in_rom_starting_at_origin ... ok
[INFO] [stdout] test frontend::semantics::directive::tests::data_with_malformed_expr ... ok
[INFO] [stdout] test frontend::semantics::directive::tests::build_include_item ... ok
[INFO] [stdout] test diagnostics::tests::expect_1_operand ... ok
[INFO] [stdout] test diagnostics::tests::mk_message_for_undefined_macro ... ok
[INFO] [stdout] test diagnostics::tests::get_snippet ... ok
[INFO] [stdout] test diagnostics::tests::render_elaborated_diagnostic ... ok
[INFO] [stdout] test diagnostics::tests::render_diagnostic_without_source ... ok
[INFO] [stdout] test frontend::semantics::directive::tests::include_nonexistent_file ... ok
[INFO] [stdout] test frontend::semantics::directive::tests::ds_without_args ... ok
[INFO] [stdout] test frontend::semantics::directive::tests::emit_byte_items ... ok
[INFO] [stdout] test frontend::semantics::directive::tests::emit_word_items ... ok
[INFO] [stdout] test frontend::semantics::directive::tests::include_file_with_invalid_utf8 ... ok
[INFO] [stdout] test frontend::semantics::directive::tests::include_with_number ... ok
[INFO] [stdout] test frontend::semantics::directive::tests::include_without_args ... ok
[INFO] [stdout] test frontend::semantics::directive::tests::org_without_args ... ok
[INFO] [stdout] test frontend::semantics::directive::tests::reserve_3_bytes ... ok
[INFO] [stdout] test frontend::semantics::directive::tests::set_origin ... ok
[INFO] [stdout] test frontend::semantics::instruction::branch::tests::analyze_jp_c_deref_hl ... ok
[INFO] [stdout] test frontend::semantics::instruction::branch::tests::analyze_jp_z ... ok
[INFO] [stdout] test frontend::semantics::instruction::branch::tests::analyze_legal_branch_instructions ... ok
[INFO] [stdout] test frontend::semantics::instruction::branch::tests::analyze_ret_z_ident ... ok
[INFO] [stdout] test frontend::semantics::instruction::branch::tests::analyze_ret_a ... ok
[INFO] [stdout] test frontend::semantics::instruction::ld::tests::analyze_ld_a ... ok
[INFO] [stdout] test frontend::semantics::instruction::branch::tests::analyze_reti_z ... ok
[INFO] [stdout] test frontend::semantics::instruction::ld::tests::analyze_ld_a_bc ... ok
[INFO] [stdout] test frontend::semantics::instruction::ld::tests::analyze_ld_a_deref_c ... ok
[INFO] [stdout] test frontend::semantics::instruction::branch::tests::analyze_call_deref_hl ... ok
[INFO] [stdout] test frontend::semantics::instruction::ld::tests::analyze_ld_a_deref_symbol ... ok
[INFO] [stdout] test frontend::semantics::instruction::ld::tests::analyze_ld ... ok
[INFO] [stdout] test frontend::semantics::instruction::ld::tests::analyze_ld_a_z ... ok
[INFO] [stdout] test frontend::semantics::instruction::ld::tests::analyze_ld_bc_a ... ok
[INFO] [stdout] test frontend::semantics::instruction::ld::tests::analyze_ld_const_const ... ok
[INFO] [stdout] test frontend::semantics::instruction::ld::tests::analyze_ld_deref_c_4 ... ok
[INFO] [stdout] test frontend::semantics::instruction::ld::tests::analyze_ld_deref_c_a ... ok
[INFO] [stdout] test frontend::semantics::instruction::ld::tests::analyze_ld_deref_c_b ... ok
[INFO] [stdout] test frontend::semantics::instruction::ld::tests::analyze_ld_deref_hl_deref_hl ... ok
[INFO] [stdout] test frontend::semantics::instruction::ld::tests::analyze_ld_deref_symbol_a ... ok
[INFO] [stdout] test frontend::semantics::instruction::ld::tests::analyze_ld_hl_sp ... ok
[INFO] [stdout] test frontend::semantics::instruction::ld::tests::analyze_ld_sp_af ... ok
[INFO] [stdout] test frontend::semantics::instruction::tests::analyze_add ... ok
[INFO] [stdout] test frontend::semantics::instruction::tests::analyze_add_a ... ok
[INFO] [stdout] test frontend::semantics::instruction::tests::analyze_add_b_a ... ok
[INFO] [stdout] test frontend::semantics::instruction::tests::analyze_add_bc_de ... ok
[INFO] [stdout] test frontend::semantics::instruction::ld::tests::analyze_legal_ld_instructions ... ok
[INFO] [stdout] test frontend::semantics::instruction::tests::analyze_add_hl ... ok
[INFO] [stdout] test frontend::semantics::instruction::tests::analyze_add_a_a_a ... ok
[INFO] [stdout] test frontend::semantics::instruction::tests::analyze_add_hl_const ... ok
[INFO] [stdout] test frontend::semantics::instruction::tests::analyze_add_hl_af ... ok
[INFO] [stdout] test frontend::semantics::instruction::tests::analyze_bit_7_bc ... ok
[INFO] [stdout] test frontend::semantics::instruction::tests::analyze_add_a_bc_deref ... ok
[INFO] [stdout] test frontend::semantics::instruction::tests::analyze_bit_a_b ... ok
[INFO] [stdout] test frontend::semantics::instruction::tests::analyze_cp_literal ... ok
[INFO] [stdout] test frontend::semantics::instruction::tests::analyze_cp_symbol ... ok
[INFO] [stdout] test frontend::semantics::instruction::tests::analyze_inc ... ok
[INFO] [stdout] test frontend::semantics::instruction::tests::analyze_ldhl_bc_7 ... ok
[INFO] [stdout] test frontend::semantics::instruction::tests::analyze_ldhl_sp_a ... ok
[INFO] [stdout] test frontend::semantics::instruction::tests::analyze_nop_a ... ok
[INFO] [stdout] test frontend::semantics::instruction::tests::analyze_rst_a ... ok
[INFO] [stdout] test frontend::semantics::instruction::tests::analyze_inc_7 ... ok
[INFO] [stdout] test frontend::semantics::instruction::tests::analyze_swap_bc ... ok
[INFO] [stdout] test frontend::semantics::instruction::tests::analyze_push_a ... ok
[INFO] [stdout] test frontend::semantics::directive::tests::ds_with_malformed_expr ... ok
[INFO] [stdout] test frontend::semantics::operand::tests::analyze_deref_af ... ok
[INFO] [stdout] test frontend::semantics::instruction::tests::analyze_legal_instructions ... ok
[INFO] [stdout] test frontend::semantics::operand::tests::analyze_bare_hli ... ok
[INFO] [stdout] test frontend::semantics::instruction::tests::analyze_push ... ok
[INFO] [stdout] test frontend::semantics::operand::tests::analyze_deref_de ... ok
[INFO] [stdout] test frontend::semantics::operand::tests::analyze_deref_bc ... ok
[INFO] [stdout] test frontend::semantics::instruction::tests::analyze_rst ... ok
[INFO] [stdout] test frontend::semantics::operand::tests::analyze_bare_hld ... ok
[INFO] [stdout] test frontend::semantics::operand::tests::analyze_deref_hli ... ok
[INFO] [stdout] test frontend::semantics::operand::tests::analyze_reg_in_expr ... ok
[INFO] [stdout] test frontend::semantics::tests::analyze_label ... ok
[INFO] [stdout] test frontend::semantics::tests::define_nameless_macro ... ok
[INFO] [stdout] test frontend::semantics::tests::define_nullary_macro ... ok
[INFO] [stdout] test frontend::semantics::operand::tests::analyze_deref_hld ... ok
[INFO] [stdout] test frontend::semantics::operand::tests::analyze_repeated_parentheses ... ok
[INFO] [stdout] test frontend::semantics::tests::emit_label_word ... ok
[INFO] [stdout] test frontend::semantics::operand::tests::analyze_string_in_instruction ... ok
[INFO] [stdout] test frontend::semantics::tests::diagnose_wrong_operand_count ... ok
[INFO] [stdout] test frontend::semantics::tests::define_unary_macro ... ok
[INFO] [stdout] test frontend::semantics::tests::diagnose_parsing_error ... ok
[INFO] [stdout] test frontend::semantics::tests::emit_rst_1_plus_1 ... ok
[INFO] [stdout] test frontend::semantics::tests::invoke_nullary_macro ... ok
[INFO] [stdout] test frontend::syntax::ast::tests::test_token_macro ... ok
[INFO] [stdout] test frontend::syntax::lexer::tests::ignore_comment_at_end_of_input ... ok
[INFO] [stdout] test frontend::semantics::tests::emit_ld_b_deref_hl ... ok
[INFO] [stdout] test frontend::syntax::lexer::tests::ignore_comment_at_end_of_line ... ok
[INFO] [stdout] test frontend::semantics::tests::invoke_unary_macro ... ok
[INFO] [stdout] test frontend::semantics::tests::recover_from_malformed_expr ... ok
[INFO] [stdout] test frontend::syntax::lexer::tests::ignore_comment ... ok
[INFO] [stdout] test frontend::syntax::lexer::tests::lex_brackets ... ok
[INFO] [stdout] test frontend::syntax::lexer::tests::lex_comma ... ok
[INFO] [stdout] test frontend::syntax::lexer::tests::lex_empty_str ... ok
[INFO] [stdout] test frontend::syntax::lexer::tests::lex_eol ... ok
[INFO] [stdout] test frontend::syntax::lexer::tests::lex_decimal_number ... ok
[INFO] [stdout] test frontend::syntax::lexer::tests::lex_ident_after_whitespace ... ok
[INFO] [stdout] test frontend::syntax::lexer::tests::lex_hex_number ... ok
[INFO] [stdout] test frontend::syntax::lexer::tests::lex_ident ... ok
[INFO] [stdout] test frontend::syntax::lexer::tests::lex_ident_after_eol ... ok
[INFO] [stdout] test frontend::syntax::lexer::tests::lex_label ... ok
[INFO] [stdout] test frontend::syntax::lexer::tests::lex_plus ... ok
[INFO] [stdout] test frontend::syntax::lexer::tests::lex_number_without_digits ... ok
[INFO] [stdout] test frontend::syntax::lexer::tests::lex_keywords_lowercase ... ok
[INFO] [stdout] test frontend::syntax::lexer::tests::lex_ident_with_underscore ... ok
[INFO] [stdout] test frontend::syntax::lexer::tests::lex_keywords_uppercase ... ok
[INFO] [stdout] test frontend::syntax::lexer::tests::lex_quoted_string ... ok
[INFO] [stdout] test frontend::syntax::lexer::tests::lex_unterminated_string ... ok
[INFO] [stdout] test frontend::syntax::lexer::tests::lex_two_keywords ... ok
[INFO] [stdout] test frontend::syntax::lexer::tests::range_of_eof_after_ident ... ok
[INFO] [stdout] test frontend::syntax::lexer::tests::range_of_eof_after_trailing_whitespace ... ok
[INFO] [stdout] test frontend::syntax::lexer::tests::range_of_eof_in_empty_str ... ok
[INFO] [stdout] test frontend::syntax::parser::tests::diagnose_eof_after_macro_param_list ... ok
[INFO] [stdout] test frontend::syntax::parser::tests::diagnose_missing_comma_in_arg_list ... ok
[INFO] [stdout] test frontend::syntax::parser::tests::diagnose_unexpected_token_in_macro_param ... ok
[INFO] [stdout] test frontend::syntax::parser::tests::diagnose_stmt_starting_with_literal ... ok
[INFO] [stdout] test frontend::syntax::parser::tests::diagnose_eof_in_macro_body ... ok
[INFO] [stdout] test frontend::syntax::parser::tests::diagnose_eof_for_rhs_operand ... ok
[INFO] [stdout] test frontend::syntax::parser::tests::diagnose_unexpected_token_in_expr ... ok
[INFO] [stdout] test frontend::syntax::parser::tests::diagnose_unmatched_parentheses ... ok
[INFO] [stdout] test frontend::syntax::parser::tests::diagnose_unmatched_parenthesis_at_eol ... ok
[INFO] [stdout] test frontend::syntax::parser::tests::parse_binary_instruction ... ok
[INFO] [stdout] test frontend::syntax::parser::tests::parse_labeled_instruction ... ok
[INFO] [stdout] test frontend::syntax::parser::tests::parse_deref_operand ... ok
[INFO] [stdout] test frontend::syntax::parser::tests::parse_long_sum_arg ... ok
[INFO] [stdout] test frontend::syntax::parser::tests::parse_empty_macro_definition ... ok
[INFO] [stdout] test frontend::syntax::parser::tests::parse_empty_src ... ok
[INFO] [stdout] test frontend::syntax::parser::tests::parse_empty_stmt ... ok
[INFO] [stdout] test frontend::syntax::parser::tests::parse_label ... ok
[INFO] [stdout] test frontend::syntax::parser::tests::parse_nonempty_macro_def_with_two_params ... ok
[INFO] [stdout] test frontend::syntax::parser::tests::parse_nullary_instruction ... ok
[INFO] [stdout] test frontend::syntax::parser::tests::parse_nullary_macro_invocation ... ok
[INFO] [stdout] test frontend::syntax::parser::tests::parse_macro_definition_with_instruction ... ok
[INFO] [stdout] test frontend::syntax::parser::tests::parse_nullary_instruction_after_eol ... ok
[INFO] [stdout] test frontend::syntax::parser::tests::parse_nullary_instruction_followed_by_eol ... ok
[INFO] [stdout] test frontend::syntax::parser::tests::parse_two_instructions_separated_by_blank_line ... ok
[INFO] [stdout] test frontend::syntax::parser::tests::parse_two_instructions ... ok
[INFO] [stdout] test frontend::syntax::parser::tests::parse_unary_instruction ... ok
[INFO] [stdout] test frontend::syntax::parser::tests::parse_unary_macro_invocation ... ok
[INFO] [stdout] test frontend::syntax::parser::tests::parse_unary_macro_invocation_with_multiple_terminals ... ok
[INFO] [stdout] test frontend::tests::define_and_invoke_macro ... ok
[INFO] [stdout] test frontend::syntax::parser::tests::recover_from_unexpected_token_in_expr ... ok
[INFO] [stdout] test frontend::syntax::parser::tests::parse_sum_arg ... ok
[INFO] [stdout] test frontend::tests::define_and_invoke_macro_with_param ... ok
[INFO] [stdout] test frontend::tests::diagnose_undefined_macro ... ok
[INFO] [stdout] test frontend::tests::emit_instruction_item ... ok
[INFO] [stdout] test frontend::tests::include_source_file ... ok
[INFO] [stdout] test tests::nonexistent_file ... ok
[INFO] [stdout] test frontend::tests::define_label ... ok
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/gbas-c40951e8fcbebe5c)
[INFO] [stdout] test span::tests::extend_span ... ok
[INFO] [stdout] test tests::invalid_utf8 ... ok
[INFO] [stdout] test frontend::syntax::parser::tests::parse_binary_macro_invocation_with_multiple_terminals ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 230 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.22s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests gbas
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/frontend/syntax/lexer.rs:106:16
[INFO] [stderr]     |
[INFO] [stderr] 106 |             '0'...'9' => self.lex_decimal_number(),
[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: 1 warning 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" "4a051ccbce0a6b5fc88a50c34e9a74f0ee632f61edb8ea50c3ea7df1d85a2af8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4a051ccbce0a6b5fc88a50c34e9a74f0ee632f61edb8ea50c3ea7df1d85a2af8", kill_on_drop: false }`
[INFO] [stdout] 4a051ccbce0a6b5fc88a50c34e9a74f0ee632f61edb8ea50c3ea7df1d85a2af8
