[INFO] cloning repository https://github.com/Bestra/lox-vm
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Bestra/lox-vm" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBestra%2Flox-vm", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBestra%2Flox-vm'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 082c631f35893c92c013d95545e0b15cb4c111a8
[INFO] checking Bestra/lox-vm against try#438eb4c1a1c3841523d7f672601e8adbe04cff28 for pr-147589-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBestra%2Flox-vm" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Bestra/lox-vm
[INFO] finished tweaking git repo https://github.com/Bestra/lox-vm
[INFO] tweaked toml for git repo https://github.com/Bestra/lox-vm written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Bestra/lox-vm on toolchain 438eb4c1a1c3841523d7f672601e8adbe04cff28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+438eb4c1a1c3841523d7f672601e8adbe04cff28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Bestra/lox-vm already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+438eb4c1a1c3841523d7f672601e8adbe04cff28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: the cargo feature `edition` has been stabilized in the 1.31 release and is no longer necessary to be listed in the manifest
[INFO] [stderr]   See https://doc.rust-lang.org/nightly/cargo/reference/manifest.html#the-edition-field for more information about using this feature.
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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" "+438eb4c1a1c3841523d7f672601e8adbe04cff28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 8f03a795780811b75c36c54cf4ab4c495e9cd03f4a37b1ec475d882949a41b2d
[INFO] running `Command { std: "docker" "start" "-a" "8f03a795780811b75c36c54cf4ab4c495e9cd03f4a37b1ec475d882949a41b2d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8f03a795780811b75c36c54cf4ab4c495e9cd03f4a37b1ec475d882949a41b2d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8f03a795780811b75c36c54cf4ab4c495e9cd03f4a37b1ec475d882949a41b2d", kill_on_drop: false }`
[INFO] [stdout] 8f03a795780811b75c36c54cf4ab4c495e9cd03f4a37b1ec475d882949a41b2d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+438eb4c1a1c3841523d7f672601e8adbe04cff28" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] abf7809579087eae2ece1745811138d00f660c060e2079a2e816869ff665345a
[INFO] running `Command { std: "docker" "start" "-a" "abf7809579087eae2ece1745811138d00f660c060e2079a2e816869ff665345a", kill_on_drop: false }`
[INFO] [stderr] warning: the cargo feature `edition` has been stabilized in the 1.31 release and is no longer necessary to be listed in the manifest
[INFO] [stderr]   See https://doc.rust-lang.org/nightly/cargo/reference/manifest.html#the-edition-field for more information about using this feature.
[INFO] [stderr]     Checking rprompt v1.0.3
[INFO] [stderr]     Checking lox v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]  --> src/lib.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(rust_2018_preview)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^ feature has been removed
[INFO] [stdout]   |
[INFO] [stdout]   = note: removed in 1.76.0
[INFO] [stdout]   = note: 2018 Edition preview is no longer relevant
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0261]: use of undeclared lifetime name `'c`
[INFO] [stdout]   --> src/compiler.rs:42:15
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl Compiler<'c> {
[INFO] [stdout]    |               ^^ undeclared lifetime
[INFO] [stdout]    |
[INFO] [stdout] help: consider introducing lifetime `'c` here
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl<'c> Compiler<'c> {
[INFO] [stdout]    |     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0261]: use of undeclared lifetime name `'c`
[INFO] [stdout]   --> src/compiler.rs:43:25
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub fn new(source: &'c str, options: Options) -> Compiler<'c> {
[INFO] [stdout]    |                         ^^ undeclared lifetime
[INFO] [stdout]    |
[INFO] [stdout] help: consider introducing lifetime `'c` here
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub fn new<'c>(source: &'c str, options: Options) -> Compiler<'c> {
[INFO] [stdout]    |               ++++
[INFO] [stdout] help: consider introducing lifetime `'c` here
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl<'c> Compiler<'c> {
[INFO] [stdout]    |     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0261]: use of undeclared lifetime name `'c`
[INFO] [stdout]   --> src/compiler.rs:43:63
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub fn new(source: &'c str, options: Options) -> Compiler<'c> {
[INFO] [stdout]    |                                                               ^^ undeclared lifetime
[INFO] [stdout]    |
[INFO] [stdout] help: consider introducing lifetime `'c` here
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub fn new<'c>(source: &'c str, options: Options) -> Compiler<'c> {
[INFO] [stdout]    |               ++++
[INFO] [stdout] help: consider introducing lifetime `'c` here
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl<'c> Compiler<'c> {
[INFO] [stdout]    |     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0261]: use of undeclared lifetime name `'a`
[INFO] [stdout]  --> src/scanner.rs:9:14
[INFO] [stdout]   |
[INFO] [stdout] 9 | impl Scanner<'a> {
[INFO] [stdout]   |              ^^ undeclared lifetime
[INFO] [stdout]   |
[INFO] [stdout] help: consider introducing lifetime `'a` here
[INFO] [stdout]   |
[INFO] [stdout] 9 | impl<'a> Scanner<'a> {
[INFO] [stdout]   |     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0261]: use of undeclared lifetime name `'a`
[INFO] [stdout]   --> src/scanner.rs:10:25
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn new(source: &'a str) -> Scanner {
[INFO] [stdout]    |                         ^^ undeclared lifetime
[INFO] [stdout]    |
[INFO] [stdout] help: consider introducing lifetime `'a` here
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn new<'a>(source: &'a str) -> Scanner {
[INFO] [stdout]    |               ++++
[INFO] [stdout] help: consider introducing lifetime `'a` here
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl<'a> Scanner<'a> {
[INFO] [stdout]    |     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0106]: missing lifetime specifier
[INFO] [stdout]   --> src/scanner.rs:10:36
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn new(source: &'a str) -> Scanner {
[INFO] [stdout]    |                                    ^^^^^^^ expected named lifetime parameter
[INFO] [stdout]    |
[INFO] [stdout]    = help: this function's return type contains a borrowed value, but there is no value for it to be borrowed from
[INFO] [stdout] help: consider using the `'static` lifetime, but this is uncommon unless you're returning a borrowed value from a `const` or a `static`, or if you will only have owned values
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn new(source: &'a str) -> Scanner<'static> {
[INFO] [stdout]    |                                           +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0261]: use of undeclared lifetime name `'a`
[INFO] [stdout]   --> src/scanner.rs:39:43
[INFO] [stdout]    |
[INFO] [stdout] 39 |     pub fn scan_token(&mut self) -> Token<'a> {
[INFO] [stdout]    |                                           ^^ undeclared lifetime
[INFO] [stdout]    |
[INFO] [stdout] help: consider introducing lifetime `'a` here
[INFO] [stdout]    |
[INFO] [stdout] 39 |     pub fn scan_token<'a>(&mut self) -> Token<'a> {
[INFO] [stdout]    |                      ++++
[INFO] [stdout] help: consider introducing lifetime `'a` here
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl<'a> Scanner<'a> {
[INFO] [stdout]    |     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0261]: use of undeclared lifetime name `'a`
[INFO] [stdout]    --> src/scanner.rs:140:53
[INFO] [stdout]     |
[INFO] [stdout] 140 |     fn make_token(&mut self, t: TokenType) -> Token<'a> {
[INFO] [stdout]     |                                                     ^^ undeclared lifetime
[INFO] [stdout]     |
[INFO] [stdout] help: consider introducing lifetime `'a` here
[INFO] [stdout]     |
[INFO] [stdout] 140 |     fn make_token<'a>(&mut self, t: TokenType) -> Token<'a> {
[INFO] [stdout]     |                  ++++
[INFO] [stdout] help: consider introducing lifetime `'a` here
[INFO] [stdout]     |
[INFO] [stdout]   9 | impl<'a> Scanner<'a> {
[INFO] [stdout]     |     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0261]: use of undeclared lifetime name `'a`
[INFO] [stdout]    --> src/scanner.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |     pub fn string(&mut self) -> Token<'a> {
[INFO] [stdout]     |                                       ^^ undeclared lifetime
[INFO] [stdout]     |
[INFO] [stdout] help: consider introducing lifetime `'a` here
[INFO] [stdout]     |
[INFO] [stdout] 162 |     pub fn string<'a>(&mut self) -> Token<'a> {
[INFO] [stdout]     |                  ++++
[INFO] [stdout] help: consider introducing lifetime `'a` here
[INFO] [stdout]     |
[INFO] [stdout]   9 | impl<'a> Scanner<'a> {
[INFO] [stdout]     |     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0261]: use of undeclared lifetime name `'a`
[INFO] [stdout]    --> src/scanner.rs:179:39
[INFO] [stdout]     |
[INFO] [stdout] 179 |     pub fn number(&mut self) -> Token<'a> {
[INFO] [stdout]     |                                       ^^ undeclared lifetime
[INFO] [stdout]     |
[INFO] [stdout] help: consider introducing lifetime `'a` here
[INFO] [stdout]     |
[INFO] [stdout] 179 |     pub fn number<'a>(&mut self) -> Token<'a> {
[INFO] [stdout]     |                  ++++
[INFO] [stdout] help: consider introducing lifetime `'a` here
[INFO] [stdout]     |
[INFO] [stdout]   9 | impl<'a> Scanner<'a> {
[INFO] [stdout]     |     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0261]: use of undeclared lifetime name `'a`
[INFO] [stdout]    --> src/scanner.rs:196:43
[INFO] [stdout]     |
[INFO] [stdout] 196 |     pub fn identifier(&mut self) -> Token<'a> {
[INFO] [stdout]     |                                           ^^ undeclared lifetime
[INFO] [stdout]     |
[INFO] [stdout] help: consider introducing lifetime `'a` here
[INFO] [stdout]     |
[INFO] [stdout] 196 |     pub fn identifier<'a>(&mut self) -> Token<'a> {
[INFO] [stdout]     |                      ++++
[INFO] [stdout] help: consider introducing lifetime `'a` here
[INFO] [stdout]     |
[INFO] [stdout]   9 | impl<'a> Scanner<'a> {
[INFO] [stdout]     |     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0261]: use of undeclared lifetime name `'a`
[INFO] [stdout]   --> src/token.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 63 | impl Token<'a> {
[INFO] [stdout]    |            ^^ undeclared lifetime
[INFO] [stdout]    |
[INFO] [stdout] help: consider introducing lifetime `'a` here
[INFO] [stdout]    |
[INFO] [stdout] 63 | impl<'a> Token<'a> {
[INFO] [stdout]    |     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/scanner.rs:230:12
[INFO] [stdout]     |
[INFO] [stdout] 230 |         '0'...'9' => true,
[INFO] [stdout]     |            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) 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/scanner.rs:237:12
[INFO] [stdout]     |
[INFO] [stdout] 237 |         's'...'z' | 'S'...'Z' | '_' => true,
[INFO] [stdout]     |            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) 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/scanner.rs:237:24
[INFO] [stdout]     |
[INFO] [stdout] 237 |         's'...'z' | 'S'...'Z' | '_' => true,
[INFO] [stdout]     |                        ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) 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: the feature `nll` has been stable since 1.63.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(nll)]
[INFO] [stdout]   |            ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]  --> src/lib.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(rust_2018_preview)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^ feature has been removed
[INFO] [stdout]   |
[INFO] [stdout]   = note: removed in 1.76.0
[INFO] [stdout]   = note: 2018 Edition preview is no longer relevant
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0261]: use of undeclared lifetime name `'c`
[INFO] [stdout]   --> src/compiler.rs:42:15
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl Compiler<'c> {
[INFO] [stdout]    |               ^^ undeclared lifetime
[INFO] [stdout]    |
[INFO] [stdout] help: consider introducing lifetime `'c` here
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl<'c> Compiler<'c> {
[INFO] [stdout]    |     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0261]: use of undeclared lifetime name `'c`
[INFO] [stdout]   --> src/compiler.rs:43:25
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub fn new(source: &'c str, options: Options) -> Compiler<'c> {
[INFO] [stdout]    |                         ^^ undeclared lifetime
[INFO] [stdout]    |
[INFO] [stdout] help: consider introducing lifetime `'c` here
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub fn new<'c>(source: &'c str, options: Options) -> Compiler<'c> {
[INFO] [stdout]    |               ++++
[INFO] [stdout] help: consider introducing lifetime `'c` here
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl<'c> Compiler<'c> {
[INFO] [stdout]    |     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0261]: use of undeclared lifetime name `'c`
[INFO] [stdout]   --> src/compiler.rs:43:63
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub fn new(source: &'c str, options: Options) -> Compiler<'c> {
[INFO] [stdout]    |                                                               ^^ undeclared lifetime
[INFO] [stdout]    |
[INFO] [stdout] help: consider introducing lifetime `'c` here
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub fn new<'c>(source: &'c str, options: Options) -> Compiler<'c> {
[INFO] [stdout]    |               ++++
[INFO] [stdout] help: consider introducing lifetime `'c` here
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl<'c> Compiler<'c> {
[INFO] [stdout]    |     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0261]: use of undeclared lifetime name `'a`
[INFO] [stdout]  --> src/scanner.rs:9:14
[INFO] [stdout]   |
[INFO] [stdout] 9 | impl Scanner<'a> {
[INFO] [stdout]   |              ^^ undeclared lifetime
[INFO] [stdout]   |
[INFO] [stdout] help: consider introducing lifetime `'a` here
[INFO] [stdout]   |
[INFO] [stdout] 9 | impl<'a> Scanner<'a> {
[INFO] [stdout]   |     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0261]: use of undeclared lifetime name `'a`
[INFO] [stdout]   --> src/scanner.rs:10:25
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn new(source: &'a str) -> Scanner {
[INFO] [stdout]    |                         ^^ undeclared lifetime
[INFO] [stdout]    |
[INFO] [stdout] help: consider introducing lifetime `'a` here
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn new<'a>(source: &'a str) -> Scanner {
[INFO] [stdout]    |               ++++
[INFO] [stdout] help: consider introducing lifetime `'a` here
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl<'a> Scanner<'a> {
[INFO] [stdout]    |     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0106]: missing lifetime specifier
[INFO] [stdout]   --> src/scanner.rs:10:36
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn new(source: &'a str) -> Scanner {
[INFO] [stdout]    |                                    ^^^^^^^ expected named lifetime parameter
[INFO] [stdout]    |
[INFO] [stdout]    = help: this function's return type contains a borrowed value, but there is no value for it to be borrowed from
[INFO] [stdout] help: consider using the `'static` lifetime, but this is uncommon unless you're returning a borrowed value from a `const` or a `static`, or if you will only have owned values
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn new(source: &'a str) -> Scanner<'static> {
[INFO] [stdout]    |                                           +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0261]: use of undeclared lifetime name `'a`
[INFO] [stdout]   --> src/scanner.rs:39:43
[INFO] [stdout]    |
[INFO] [stdout] 39 |     pub fn scan_token(&mut self) -> Token<'a> {
[INFO] [stdout]    |                                           ^^ undeclared lifetime
[INFO] [stdout]    |
[INFO] [stdout] help: consider introducing lifetime `'a` here
[INFO] [stdout]    |
[INFO] [stdout] 39 |     pub fn scan_token<'a>(&mut self) -> Token<'a> {
[INFO] [stdout]    |                      ++++
[INFO] [stdout] help: consider introducing lifetime `'a` here
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl<'a> Scanner<'a> {
[INFO] [stdout]    |     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0261]: use of undeclared lifetime name `'a`
[INFO] [stdout]    --> src/scanner.rs:140:53
[INFO] [stdout]     |
[INFO] [stdout] 140 |     fn make_token(&mut self, t: TokenType) -> Token<'a> {
[INFO] [stdout]     |                                                     ^^ undeclared lifetime
[INFO] [stdout]     |
[INFO] [stdout] help: consider introducing lifetime `'a` here
[INFO] [stdout]     |
[INFO] [stdout] 140 |     fn make_token<'a>(&mut self, t: TokenType) -> Token<'a> {
[INFO] [stdout]     |                  ++++
[INFO] [stdout] help: consider introducing lifetime `'a` here
[INFO] [stdout]     |
[INFO] [stdout]   9 | impl<'a> Scanner<'a> {
[INFO] [stdout]     |     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0261]: use of undeclared lifetime name `'a`
[INFO] [stdout]    --> src/scanner.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |     pub fn string(&mut self) -> Token<'a> {
[INFO] [stdout]     |                                       ^^ undeclared lifetime
[INFO] [stdout]     |
[INFO] [stdout] help: consider introducing lifetime `'a` here
[INFO] [stdout]     |
[INFO] [stdout] 162 |     pub fn string<'a>(&mut self) -> Token<'a> {
[INFO] [stdout]     |                  ++++
[INFO] [stdout] help: consider introducing lifetime `'a` here
[INFO] [stdout]     |
[INFO] [stdout]   9 | impl<'a> Scanner<'a> {
[INFO] [stdout]     |     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0261]: use of undeclared lifetime name `'a`
[INFO] [stdout]    --> src/scanner.rs:179:39
[INFO] [stdout]     |
[INFO] [stdout] 179 |     pub fn number(&mut self) -> Token<'a> {
[INFO] [stdout]     |                                       ^^ undeclared lifetime
[INFO] [stdout]     |
[INFO] [stdout] help: consider introducing lifetime `'a` here
[INFO] [stdout]     |
[INFO] [stdout] 179 |     pub fn number<'a>(&mut self) -> Token<'a> {
[INFO] [stdout]     |                  ++++
[INFO] [stdout] help: consider introducing lifetime `'a` here
[INFO] [stdout]     |
[INFO] [stdout]   9 | impl<'a> Scanner<'a> {
[INFO] [stdout]     |     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0261]: use of undeclared lifetime name `'a`
[INFO] [stdout]    --> src/scanner.rs:196:43
[INFO] [stdout]     |
[INFO] [stdout] 196 |     pub fn identifier(&mut self) -> Token<'a> {
[INFO] [stdout]     |                                           ^^ undeclared lifetime
[INFO] [stdout]     |
[INFO] [stdout] help: consider introducing lifetime `'a` here
[INFO] [stdout]     |
[INFO] [stdout] 196 |     pub fn identifier<'a>(&mut self) -> Token<'a> {
[INFO] [stdout]     |                      ++++
[INFO] [stdout] help: consider introducing lifetime `'a` here
[INFO] [stdout]     |
[INFO] [stdout]   9 | impl<'a> Scanner<'a> {
[INFO] [stdout]     |     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0261]: use of undeclared lifetime name `'a`
[INFO] [stdout]   --> src/token.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 63 | impl Token<'a> {
[INFO] [stdout]    |            ^^ undeclared lifetime
[INFO] [stdout]    |
[INFO] [stdout] help: consider introducing lifetime `'a` here
[INFO] [stdout]    |
[INFO] [stdout] 63 | impl<'a> Token<'a> {
[INFO] [stdout]    |     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/scanner.rs:230:12
[INFO] [stdout]     |
[INFO] [stdout] 230 |         '0'...'9' => true,
[INFO] [stdout]     |            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) 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/scanner.rs:237:12
[INFO] [stdout]     |
[INFO] [stdout] 237 |         's'...'z' | 'S'...'Z' | '_' => true,
[INFO] [stdout]     |            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) 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/scanner.rs:237:24
[INFO] [stdout]     |
[INFO] [stdout] 237 |         's'...'z' | 'S'...'Z' | '_' => true,
[INFO] [stdout]     |                        ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) 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: the feature `nll` has been stable since 1.63.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(nll)]
[INFO] [stdout]   |            ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0004]: non-exhaustive patterns: `OpCode::Nil`, `OpCode::True` and `OpCode::False` not covered
[INFO] [stdout]    --> src/vm.rs:108:19
[INFO] [stdout]     |
[INFO] [stdout] 108 |             match OpCode::from_int(instruction) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ patterns `OpCode::Nil`, `OpCode::True` and `OpCode::False` not covered
[INFO] [stdout]     |
[INFO] [stdout] note: `OpCode` defined here
[INFO] [stdout]    --> src/chunk.rs:4:10
[INFO] [stdout]     |
[INFO] [stdout]   4 | pub enum OpCode {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  13 |     Nil = 8,
[INFO] [stdout]     |     --- not covered
[INFO] [stdout]  14 |     True = 9,
[INFO] [stdout]     |     ---- not covered
[INFO] [stdout]  15 |     False = 10,
[INFO] [stdout]     |     ----- not covered
[INFO] [stdout]     = note: the matched value is of type `OpCode`
[INFO] [stdout] help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern, a match arm with multiple or-patterns as shown, or multiple match arms
[INFO] [stdout]     |
[INFO] [stdout] 134 ~                 OpCode::Unknown => return Err(InterpretError::RuntimeError),
[INFO] [stdout] 135 ~                 OpCode::Nil | OpCode::True | OpCode::False => todo!(),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0004, E0106, E0261, E0557.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0004`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `lox` (lib test) due to 14 previous errors; 4 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0004]: non-exhaustive patterns: `OpCode::Nil`, `OpCode::True` and `OpCode::False` not covered
[INFO] [stdout]    --> src/vm.rs:108:19
[INFO] [stdout]     |
[INFO] [stdout] 108 |             match OpCode::from_int(instruction) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ patterns `OpCode::Nil`, `OpCode::True` and `OpCode::False` not covered
[INFO] [stdout]     |
[INFO] [stdout] note: `OpCode` defined here
[INFO] [stdout]    --> src/chunk.rs:4:10
[INFO] [stdout]     |
[INFO] [stdout]   4 | pub enum OpCode {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  13 |     Nil = 8,
[INFO] [stdout]     |     --- not covered
[INFO] [stdout]  14 |     True = 9,
[INFO] [stdout]     |     ---- not covered
[INFO] [stdout]  15 |     False = 10,
[INFO] [stdout]     |     ----- not covered
[INFO] [stdout]     = note: the matched value is of type `OpCode`
[INFO] [stdout] help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern, a match arm with multiple or-patterns as shown, or multiple match arms
[INFO] [stdout]     |
[INFO] [stdout] 134 ~                 OpCode::Unknown => return Err(InterpretError::RuntimeError),
[INFO] [stdout] 135 ~                 OpCode::Nil | OpCode::True | OpCode::False => todo!(),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0004, E0106, E0261, E0557.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0004`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `lox` (lib) due to 14 previous errors; 4 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "abf7809579087eae2ece1745811138d00f660c060e2079a2e816869ff665345a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "abf7809579087eae2ece1745811138d00f660c060e2079a2e816869ff665345a", kill_on_drop: false }`
[INFO] [stdout] abf7809579087eae2ece1745811138d00f660c060e2079a2e816869ff665345a
