[INFO] cloning repository https://github.com/mariosangiorgio/rulox
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mariosangiorgio/rulox" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmariosangiorgio%2Frulox", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmariosangiorgio%2Frulox'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 9e9e44f1143aa74b62e43452a35cd4786aecabcf
[INFO] checking mariosangiorgio/rulox against master#5518eaa946291f00471af8b254b2a1715f234882 for pr-120393-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmariosangiorgio%2Frulox" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/mariosangiorgio/rulox on toolchain 5518eaa946291f00471af8b254b2a1715f234882
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/mariosangiorgio/rulox
[INFO] finished tweaking git repo https://github.com/mariosangiorgio/rulox
[INFO] tweaked toml for git repo https://github.com/mariosangiorgio/rulox written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/mariosangiorgio/rulox 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" "+5518eaa946291f00471af8b254b2a1715f234882" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded num-derive v0.2.4
[INFO] [stderr]   Downloaded remove_dir_all v0.5.1
[INFO] [stderr]   Downloaded wait-timeout v0.1.5
[INFO] [stderr]   Downloaded rusty-fork v0.2.1
[INFO] [stderr]   Downloaded bit-vec v0.5.0
[INFO] [stderr]   Downloaded tempfile v3.0.4
[INFO] [stderr]   Downloaded bit-set v0.5.0
[INFO] [stderr]   Downloaded syn v0.15.14
[INFO] [stderr]   Downloaded proptest v0.8.7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] cabee10f02f4d43f90f09191d427869a95ac33a32eed06a91e69a26768d2c9a2
[INFO] running `Command { std: "docker" "start" "-a" "cabee10f02f4d43f90f09191d427869a95ac33a32eed06a91e69a26768d2c9a2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "cabee10f02f4d43f90f09191d427869a95ac33a32eed06a91e69a26768d2c9a2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cabee10f02f4d43f90f09191d427869a95ac33a32eed06a91e69a26768d2c9a2", kill_on_drop: false }`
[INFO] [stdout] cabee10f02f4d43f90f09191d427869a95ac33a32eed06a91e69a26768d2c9a2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a300dd910a172f2c5f981d6608aecb4dc180ca9843db1a38348544d946e5b62e
[INFO] running `Command { std: "docker" "start" "-a" "a300dd910a172f2c5f981d6608aecb4dc180ca9843db1a38348544d946e5b62e", kill_on_drop: false }`
[INFO] [stderr]     Checking rand_core v0.3.0
[INFO] [stderr]    Compiling num-derive v0.2.4
[INFO] [stderr]     Checking libc v0.2.43
[INFO] [stderr]     Checking remove_dir_all v0.5.1
[INFO] [stderr]     Checking cfg-if v0.1.6
[INFO] [stderr]     Checking bit-vec v0.5.0
[INFO] [stderr]     Checking byteorder v1.2.7
[INFO] [stderr]    Compiling lazy_static v1.1.0
[INFO] [stderr]     Checking itertools v0.8.0
[INFO] [stderr]     Checking regex-syntax v0.6.2
[INFO] [stderr]    Compiling syn v0.15.14
[INFO] [stderr]     Checking rand_core v0.2.2
[INFO] [stderr]     Checking bit-set v0.5.0
[INFO] [stderr]     Checking rand v0.5.5
[INFO] [stderr]     Checking wait-timeout v0.1.5
[INFO] [stderr]     Checking tempfile v3.0.4
[INFO] [stderr]     Checking rusty-fork v0.2.1
[INFO] [stderr]     Checking proptest v0.8.7
[INFO] [stderr]     Checking rulox v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/frontend/scanner.rs:156:58
[INFO] [stdout]     |
[INFO] [stdout] 156 |                 self.current_position.increment_column();;
[INFO] [stdout]     |                                                          ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/treewalk/interpreter.rs:94:21
[INFO] [stdout]    |
[INFO] [stdout] 94 |                     try!(
[INFO] [stdout]    |                     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/treewalk/interpreter.rs:301:52
[INFO] [stdout]     |
[INFO] [stdout] 301 |     fn interpret(&self, environment: &Environment, &LexicalScopes) -> Result<Value, RuntimeError>;
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &LexicalScopes`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout]     = note: `#[warn(anonymous_parameters)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/treewalk/interpreter.rs:357:33
[INFO] [stdout]     |
[INFO] [stdout] 357 |                     let value = try!(s.value.interpret(environment, scopes));
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/treewalk/interpreter.rs:419:21
[INFO] [stdout]     |
[INFO] [stdout] 419 |         let value = try!(self.right.interpret(environment, scopes));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/treewalk/interpreter.rs:436:20
[INFO] [stdout]     |
[INFO] [stdout] 436 |         let left = try!(self.left.interpret(environment, scopes));
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/treewalk/interpreter.rs:437:21
[INFO] [stdout]     |
[INFO] [stdout] 437 |         let right = try!(self.right.interpret(environment, scopes));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/treewalk/interpreter.rs:488:28
[INFO] [stdout]     |
[INFO] [stdout] 488 |                 let left = try!(self.left.interpret(environment, scopes));
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/treewalk/interpreter.rs:496:28
[INFO] [stdout]     |
[INFO] [stdout] 496 |                 let left = try!(self.left.interpret(environment, scopes));
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/treewalk/interpreter.rs:565:34
[INFO] [stdout]     |
[INFO] [stdout] 565 |                     let result = try!(statement.execute(&environment, scopes));
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/treewalk/interpreter.rs:573:33
[INFO] [stdout]     |
[INFO] [stdout] 573 |                 let condition = try!{c.condition.interpret(environment, scopes)
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/treewalk/interpreter.rs:582:33
[INFO] [stdout]     |
[INFO] [stdout] 582 |                 let condition = try!{c.condition.interpret(environment, scopes)
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/treewalk/interpreter.rs:591:23
[INFO] [stdout]     |
[INFO] [stdout] 591 |                 while try!{l.condition.interpret(environment, scopes)
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/treewalk/interpreter.rs:594:21
[INFO] [stdout]     |
[INFO] [stdout] 594 |                     try!{l.body.execute(environment, scopes)};
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/treewalk/interpreter.rs:610:37
[INFO] [stdout]     |
[INFO] [stdout] 610 |                         let value = try!(superclass.interpret(environment, scopes));
[INFO] [stdout]     |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/treewalk/lexical_scope_resolver.rs:35:23
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn resolve(&self, &mut LexicalScopesResolver) -> Result<(), LexicalScopesResolutionError>;
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut LexicalScopesResolver`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/treewalk/lexical_scope_resolver.rs:149:21
[INFO] [stdout]     |
[INFO] [stdout] 149 |                     try!(statement.resolve(resolver));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/treewalk/lexical_scope_resolver.rs:155:17
[INFO] [stdout]     |
[INFO] [stdout] 155 |                 try!(resolver.declare(*identifier));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/treewalk/lexical_scope_resolver.rs:160:17
[INFO] [stdout]     |
[INFO] [stdout] 160 |                 try!(resolver.declare(*identifier));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/treewalk/lexical_scope_resolver.rs:161:17
[INFO] [stdout]     |
[INFO] [stdout] 161 |                 try!(initializer.resolve(resolver));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/treewalk/lexical_scope_resolver.rs:167:17
[INFO] [stdout]     |
[INFO] [stdout] 167 |                 try!(resolver.declare(c.name));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/treewalk/lexical_scope_resolver.rs:173:21
[INFO] [stdout]     |
[INFO] [stdout] 173 |                     try!(superclass.resolve(resolver));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/treewalk/lexical_scope_resolver.rs:180:21
[INFO] [stdout]     |
[INFO] [stdout] 180 |                     try!(method.resolve(resolver));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/treewalk/lexical_scope_resolver.rs:270:17
[INFO] [stdout]     |
[INFO] [stdout] 270 |                 try!(e.callee.resolve(resolver));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/treewalk/lexical_scope_resolver.rs:272:21
[INFO] [stdout]     |
[INFO] [stdout] 272 |                     try!(argument.resolve(resolver));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/treewalk/lexical_scope_resolver.rs:277:17
[INFO] [stdout]     |
[INFO] [stdout] 277 |                 try!(g.instance.resolve(resolver));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/treewalk/lexical_scope_resolver.rs:281:17
[INFO] [stdout]     |
[INFO] [stdout] 281 |                 try!(s.value.resolve(resolver));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/treewalk/lexical_scope_resolver.rs:282:17
[INFO] [stdout]     |
[INFO] [stdout] 282 |                 try!(s.instance.resolve(resolver));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/treewalk/lexical_scope_resolver.rs:294:9
[INFO] [stdout]     |
[INFO] [stdout] 294 |         try!{self.rvalue.resolve(resolver)};
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/treewalk/lexical_scope_resolver.rs:306:9
[INFO] [stdout]     |
[INFO] [stdout] 306 |         try!(resolver.declare(self.name));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/treewalk/lexical_scope_resolver.rs:315:9
[INFO] [stdout]     |
[INFO] [stdout] 315 |         try!(self.body.resolve(resolver));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/treewalk/lexical_scope_resolver.rs:312:13
[INFO] [stdout]     |
[INFO] [stdout] 312 |             try!(resolver.declare(*argument));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/treewalk/parser.rs:136:10
[INFO] [stdout]     |
[INFO] [stdout] 136 |         };
[INFO] [stdout]     |          ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/treewalk/parser.rs:315:10
[INFO] [stdout]     |
[INFO] [stdout] 315 |         };
[INFO] [stdout]     |          ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/treewalk/parser.rs:385:10
[INFO] [stdout]     |
[INFO] [stdout] 385 |         };
[INFO] [stdout]     |          ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/treewalk/parser.rs:950:9
[INFO] [stdout]     |
[INFO] [stdout] 950 |         try!(consume_expected_token!(
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/treewalk/parser.rs:976:9
[INFO] [stdout]     |
[INFO] [stdout] 976 |         try!(consume_expected_token!(
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/vm/bytecode.rs:142:5
[INFO] [stdout]     |
[INFO] [stdout] 142 |     try!(writeln!(out, "== {} ==", name));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/vm/bytecode.rs:148:9
[INFO] [stdout]     |
[INFO] [stdout] 148 |         try!(write!(out, "{:04}", i));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/vm/bytecode.rs:155:9
[INFO] [stdout]     |
[INFO] [stdout] 155 |         try!(write!(out, " "));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/vm/bytecode.rs:156:9
[INFO] [stdout]     |
[INFO] [stdout] 156 |         try!{disassemble_instruction(instruction, chunk, out)};
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/vm/bytecode.rs:150:13
[INFO] [stdout]     |
[INFO] [stdout] 150 |             try!(write!(out, "   |"));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/vm/bytecode.rs:153:13
[INFO] [stdout]     |
[INFO] [stdout] 153 |             try!(write!(out, "{:4}", line));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/frontend/scanner.rs:130:38
[INFO] [stdout]     |
[INFO] [stdout] 130 |     fn peek_check(&mut self, check: &Fn(char) -> bool) -> bool {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 130 |     fn peek_check(&mut self, check: &dyn Fn(char) -> bool) -> bool {
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/frontend/scanner.rs:138:40
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn peek_check2(&mut self, check1: &Fn(char) -> bool, check2: &Fn(char) -> bool) -> bool {
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn peek_check2(&mut self, check1: &dyn Fn(char) -> bool, check2: &Fn(char) -> bool) -> bool {
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/frontend/scanner.rs:138:67
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn peek_check2(&mut self, check1: &Fn(char) -> bool, check2: &Fn(char) -> bool) -> bool {
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn peek_check2(&mut self, check1: &Fn(char) -> bool, check2: &dyn Fn(char) -> bool) -> bool {
[INFO] [stdout]     |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/frontend/scanner.rs:171:45
[INFO] [stdout]     |
[INFO] [stdout] 171 |     fn advance_while(&mut self, condition: &Fn(char) -> bool) -> () {
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 171 |     fn advance_while(&mut self, condition: &dyn Fn(char) -> bool) -> () {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/treewalk/parser.rs:170:27
[INFO] [stdout]     |
[INFO] [stdout] 170 |           parse_statement: &Fn(&mut Parser, &mut Peekable<I>)
[INFO] [stdout]     |  ___________________________^
[INFO] [stdout] 171 | |             -> Option<Result<Statement, ParseError>>,
[INFO] [stdout]     | |____________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 170 |         parse_statement: &dyn Fn(&mut Parser, &mut Peekable<I>)
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/treewalk/parser.rs:646:24
[INFO] [stdout]     |
[INFO] [stdout] 646 |         map_operator: &Fn(&Token) -> Option<LogicOperator>,
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 646 |         map_operator: &dyn Fn(&Token) -> Option<LogicOperator>,
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/treewalk/parser.rs:647:31
[INFO] [stdout]     |
[INFO] [stdout] 647 |         parse_subexpression: &Fn(&mut Parser, &mut Peekable<I>) -> Option<Result<Expr, ParseError>>,
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 647 |         parse_subexpression: &dyn Fn(&mut Parser, &mut Peekable<I>) -> Option<Result<Expr, ParseError>>,
[INFO] [stdout]     |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/treewalk/parser.rs:688:24
[INFO] [stdout]     |
[INFO] [stdout] 688 |         map_operator: &Fn(&Token) -> Option<BinaryOperator>,
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 688 |         map_operator: &dyn Fn(&Token) -> Option<BinaryOperator>,
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/treewalk/parser.rs:689:31
[INFO] [stdout]     |
[INFO] [stdout] 689 |         parse_subexpression: &Fn(&mut Parser, &mut Peekable<I>) -> Option<Result<Expr, ParseError>>,
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 689 |         parse_subexpression: &dyn Fn(&mut Parser, &mut Peekable<I>) -> Option<Result<Expr, ParseError>>,
[INFO] [stdout]     |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/treewalk/parser.rs:945:26
[INFO] [stdout]     |
[INFO] [stdout] 945 |         parse_argument: &Fn(&mut Parser, &mut Peekable<I>) -> Option<Result<A, ParseError>>,
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 945 |         parse_argument: &dyn Fn(&mut Parser, &mut Peekable<I>) -> Option<Result<A, ParseError>>,
[INFO] [stdout]     |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/treewalk/mod.rs:16:16
[INFO] [stdout]    |
[INFO] [stdout] 16 |     InputError(Vec<InputError>),
[INFO] [stdout]    |     ---------- ^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 16 |     InputError(()),
[INFO] [stdout]    |                ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/treewalk/mod.rs:17:34
[INFO] [stdout]    |
[INFO] [stdout] 17 |     LexicalScopesResolutionError(Vec<LexicalScopesResolutionError>),
[INFO] [stdout]    |     ---------------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 17 |     LexicalScopesResolutionError(()),
[INFO] [stdout]    |                                  ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/treewalk/mod.rs:18:18
[INFO] [stdout]    |
[INFO] [stdout] 18 |     RuntimeError(RuntimeError),
[INFO] [stdout]    |     ------------ ^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 18 |     RuntimeError(()),
[INFO] [stdout]    |                  ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/treewalk/mod.rs:23:18
[INFO] [stdout]    |
[INFO] [stdout] 23 |     ScannerError(scanner::ScannerError),
[INFO] [stdout]    |     ------------ ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 23 |     ScannerError(()),
[INFO] [stdout]    |                  ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/treewalk/mod.rs:24:17
[INFO] [stdout]    |
[INFO] [stdout] 24 |     ParserError(ParseError),
[INFO] [stdout]    |     ----------- ^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 24 |     ParserError(()),
[INFO] [stdout]    |                 ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 58 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/frontend/scanner.rs:156:58
[INFO] [stdout]     |
[INFO] [stdout] 156 |                 self.current_position.increment_column();;
[INFO] [stdout]     |                                                          ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/treewalk/interpreter.rs:94:21
[INFO] [stdout]    |
[INFO] [stdout] 94 |                     try!(
[INFO] [stdout]    |                     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/treewalk/interpreter.rs:301:52
[INFO] [stdout]     |
[INFO] [stdout] 301 |     fn interpret(&self, environment: &Environment, &LexicalScopes) -> Result<Value, RuntimeError>;
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &LexicalScopes`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout]     = note: `#[warn(anonymous_parameters)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/treewalk/interpreter.rs:357:33
[INFO] [stdout]     |
[INFO] [stdout] 357 |                     let value = try!(s.value.interpret(environment, scopes));
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/treewalk/interpreter.rs:419:21
[INFO] [stdout]     |
[INFO] [stdout] 419 |         let value = try!(self.right.interpret(environment, scopes));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/treewalk/interpreter.rs:436:20
[INFO] [stdout]     |
[INFO] [stdout] 436 |         let left = try!(self.left.interpret(environment, scopes));
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/treewalk/interpreter.rs:437:21
[INFO] [stdout]     |
[INFO] [stdout] 437 |         let right = try!(self.right.interpret(environment, scopes));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/treewalk/interpreter.rs:488:28
[INFO] [stdout]     |
[INFO] [stdout] 488 |                 let left = try!(self.left.interpret(environment, scopes));
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/treewalk/interpreter.rs:496:28
[INFO] [stdout]     |
[INFO] [stdout] 496 |                 let left = try!(self.left.interpret(environment, scopes));
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/treewalk/interpreter.rs:565:34
[INFO] [stdout]     |
[INFO] [stdout] 565 |                     let result = try!(statement.execute(&environment, scopes));
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/treewalk/interpreter.rs:573:33
[INFO] [stdout]     |
[INFO] [stdout] 573 |                 let condition = try!{c.condition.interpret(environment, scopes)
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/treewalk/interpreter.rs:582:33
[INFO] [stdout]     |
[INFO] [stdout] 582 |                 let condition = try!{c.condition.interpret(environment, scopes)
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/treewalk/interpreter.rs:591:23
[INFO] [stdout]     |
[INFO] [stdout] 591 |                 while try!{l.condition.interpret(environment, scopes)
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/treewalk/interpreter.rs:594:21
[INFO] [stdout]     |
[INFO] [stdout] 594 |                     try!{l.body.execute(environment, scopes)};
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/treewalk/interpreter.rs:610:37
[INFO] [stdout]     |
[INFO] [stdout] 610 |                         let value = try!(superclass.interpret(environment, scopes));
[INFO] [stdout]     |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]     --> src/treewalk/interpreter.rs:1040:10
[INFO] [stdout]      |
[INFO] [stdout] 1040 |         };
[INFO] [stdout]      |          ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/treewalk/lexical_scope_resolver.rs:35:23
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn resolve(&self, &mut LexicalScopesResolver) -> Result<(), LexicalScopesResolutionError>;
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut LexicalScopesResolver`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/treewalk/lexical_scope_resolver.rs:149:21
[INFO] [stdout]     |
[INFO] [stdout] 149 |                     try!(statement.resolve(resolver));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/treewalk/lexical_scope_resolver.rs:155:17
[INFO] [stdout]     |
[INFO] [stdout] 155 |                 try!(resolver.declare(*identifier));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/treewalk/lexical_scope_resolver.rs:160:17
[INFO] [stdout]     |
[INFO] [stdout] 160 |                 try!(resolver.declare(*identifier));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/treewalk/lexical_scope_resolver.rs:161:17
[INFO] [stdout]     |
[INFO] [stdout] 161 |                 try!(initializer.resolve(resolver));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/treewalk/lexical_scope_resolver.rs:167:17
[INFO] [stdout]     |
[INFO] [stdout] 167 |                 try!(resolver.declare(c.name));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/treewalk/lexical_scope_resolver.rs:173:21
[INFO] [stdout]     |
[INFO] [stdout] 173 |                     try!(superclass.resolve(resolver));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/treewalk/lexical_scope_resolver.rs:180:21
[INFO] [stdout]     |
[INFO] [stdout] 180 |                     try!(method.resolve(resolver));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/treewalk/lexical_scope_resolver.rs:270:17
[INFO] [stdout]     |
[INFO] [stdout] 270 |                 try!(e.callee.resolve(resolver));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/treewalk/lexical_scope_resolver.rs:272:21
[INFO] [stdout]     |
[INFO] [stdout] 272 |                     try!(argument.resolve(resolver));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/treewalk/lexical_scope_resolver.rs:277:17
[INFO] [stdout]     |
[INFO] [stdout] 277 |                 try!(g.instance.resolve(resolver));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/treewalk/lexical_scope_resolver.rs:281:17
[INFO] [stdout]     |
[INFO] [stdout] 281 |                 try!(s.value.resolve(resolver));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/treewalk/lexical_scope_resolver.rs:282:17
[INFO] [stdout]     |
[INFO] [stdout] 282 |                 try!(s.instance.resolve(resolver));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/treewalk/lexical_scope_resolver.rs:294:9
[INFO] [stdout]     |
[INFO] [stdout] 294 |         try!{self.rvalue.resolve(resolver)};
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/treewalk/lexical_scope_resolver.rs:306:9
[INFO] [stdout]     |
[INFO] [stdout] 306 |         try!(resolver.declare(self.name));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/treewalk/lexical_scope_resolver.rs:315:9
[INFO] [stdout]     |
[INFO] [stdout] 315 |         try!(self.body.resolve(resolver));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/treewalk/lexical_scope_resolver.rs:312:13
[INFO] [stdout]     |
[INFO] [stdout] 312 |             try!(resolver.declare(*argument));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/treewalk/parser.rs:136:10
[INFO] [stdout]     |
[INFO] [stdout] 136 |         };
[INFO] [stdout]     |          ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/treewalk/parser.rs:315:10
[INFO] [stdout]     |
[INFO] [stdout] 315 |         };
[INFO] [stdout]     |          ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/treewalk/parser.rs:385:10
[INFO] [stdout]     |
[INFO] [stdout] 385 |         };
[INFO] [stdout]     |          ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/treewalk/parser.rs:950:9
[INFO] [stdout]     |
[INFO] [stdout] 950 |         try!(consume_expected_token!(
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/treewalk/parser.rs:976:9
[INFO] [stdout]     |
[INFO] [stdout] 976 |         try!(consume_expected_token!(
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/vm/bytecode.rs:142:5
[INFO] [stdout]     |
[INFO] [stdout] 142 |     try!(writeln!(out, "== {} ==", name));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/vm/bytecode.rs:148:9
[INFO] [stdout]     |
[INFO] [stdout] 148 |         try!(write!(out, "{:04}", i));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/vm/bytecode.rs:155:9
[INFO] [stdout]     |
[INFO] [stdout] 155 |         try!(write!(out, " "));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/vm/bytecode.rs:156:9
[INFO] [stdout]     |
[INFO] [stdout] 156 |         try!{disassemble_instruction(instruction, chunk, out)};
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/vm/bytecode.rs:150:13
[INFO] [stdout]     |
[INFO] [stdout] 150 |             try!(write!(out, "   |"));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/vm/bytecode.rs:153:13
[INFO] [stdout]     |
[INFO] [stdout] 153 |             try!(write!(out, "{:4}", line));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/frontend/scanner.rs:130:38
[INFO] [stdout]     |
[INFO] [stdout] 130 |     fn peek_check(&mut self, check: &Fn(char) -> bool) -> bool {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 130 |     fn peek_check(&mut self, check: &dyn Fn(char) -> bool) -> bool {
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/frontend/scanner.rs:138:40
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn peek_check2(&mut self, check1: &Fn(char) -> bool, check2: &Fn(char) -> bool) -> bool {
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn peek_check2(&mut self, check1: &dyn Fn(char) -> bool, check2: &Fn(char) -> bool) -> bool {
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/frontend/scanner.rs:138:67
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn peek_check2(&mut self, check1: &Fn(char) -> bool, check2: &Fn(char) -> bool) -> bool {
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn peek_check2(&mut self, check1: &Fn(char) -> bool, check2: &dyn Fn(char) -> bool) -> bool {
[INFO] [stdout]     |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/frontend/scanner.rs:171:45
[INFO] [stdout]     |
[INFO] [stdout] 171 |     fn advance_while(&mut self, condition: &Fn(char) -> bool) -> () {
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 171 |     fn advance_while(&mut self, condition: &dyn Fn(char) -> bool) -> () {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/treewalk/parser.rs:170:27
[INFO] [stdout]     |
[INFO] [stdout] 170 |           parse_statement: &Fn(&mut Parser, &mut Peekable<I>)
[INFO] [stdout]     |  ___________________________^
[INFO] [stdout] 171 | |             -> Option<Result<Statement, ParseError>>,
[INFO] [stdout]     | |____________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 170 |         parse_statement: &dyn Fn(&mut Parser, &mut Peekable<I>)
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/treewalk/parser.rs:646:24
[INFO] [stdout]     |
[INFO] [stdout] 646 |         map_operator: &Fn(&Token) -> Option<LogicOperator>,
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 646 |         map_operator: &dyn Fn(&Token) -> Option<LogicOperator>,
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/treewalk/parser.rs:647:31
[INFO] [stdout]     |
[INFO] [stdout] 647 |         parse_subexpression: &Fn(&mut Parser, &mut Peekable<I>) -> Option<Result<Expr, ParseError>>,
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 647 |         parse_subexpression: &dyn Fn(&mut Parser, &mut Peekable<I>) -> Option<Result<Expr, ParseError>>,
[INFO] [stdout]     |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/treewalk/parser.rs:688:24
[INFO] [stdout]     |
[INFO] [stdout] 688 |         map_operator: &Fn(&Token) -> Option<BinaryOperator>,
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 688 |         map_operator: &dyn Fn(&Token) -> Option<BinaryOperator>,
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/treewalk/parser.rs:689:31
[INFO] [stdout]     |
[INFO] [stdout] 689 |         parse_subexpression: &Fn(&mut Parser, &mut Peekable<I>) -> Option<Result<Expr, ParseError>>,
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 689 |         parse_subexpression: &dyn Fn(&mut Parser, &mut Peekable<I>) -> Option<Result<Expr, ParseError>>,
[INFO] [stdout]     |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/treewalk/parser.rs:945:26
[INFO] [stdout]     |
[INFO] [stdout] 945 |         parse_argument: &Fn(&mut Parser, &mut Peekable<I>) -> Option<Result<A, ParseError>>,
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 945 |         parse_argument: &dyn Fn(&mut Parser, &mut Peekable<I>) -> Option<Result<A, ParseError>>,
[INFO] [stdout]     |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/treewalk/mod.rs:16:16
[INFO] [stdout]    |
[INFO] [stdout] 16 |     InputError(Vec<InputError>),
[INFO] [stdout]    |     ---------- ^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 16 |     InputError(()),
[INFO] [stdout]    |                ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/treewalk/mod.rs:17:34
[INFO] [stdout]    |
[INFO] [stdout] 17 |     LexicalScopesResolutionError(Vec<LexicalScopesResolutionError>),
[INFO] [stdout]    |     ---------------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 17 |     LexicalScopesResolutionError(()),
[INFO] [stdout]    |                                  ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/treewalk/mod.rs:18:18
[INFO] [stdout]    |
[INFO] [stdout] 18 |     RuntimeError(RuntimeError),
[INFO] [stdout]    |     ------------ ^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 18 |     RuntimeError(()),
[INFO] [stdout]    |                  ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/treewalk/mod.rs:23:18
[INFO] [stdout]    |
[INFO] [stdout] 23 |     ScannerError(scanner::ScannerError),
[INFO] [stdout]    |     ------------ ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 23 |     ScannerError(()),
[INFO] [stdout]    |                  ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/treewalk/mod.rs:24:17
[INFO] [stdout]    |
[INFO] [stdout] 24 |     ParserError(ParseError),
[INFO] [stdout]    |     ----------- ^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 24 |     ParserError(()),
[INFO] [stdout]    |                 ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/treewalk/mod.rs:103:9
[INFO] [stdout]     |
[INFO] [stdout] 103 |         lox_vm.run(input)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 103 |         let _ = lox_vm.run(input);
[INFO] [stdout]     |         +++++++                  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/vm/mod.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 |         lox_vm.run(input)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 32 |         let _ = lox_vm.run(input);
[INFO] [stdout]    |         +++++++                  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 61 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 8.23s
[INFO] running `Command { std: "docker" "inspect" "a300dd910a172f2c5f981d6608aecb4dc180ca9843db1a38348544d946e5b62e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a300dd910a172f2c5f981d6608aecb4dc180ca9843db1a38348544d946e5b62e", kill_on_drop: false }`
[INFO] [stdout] a300dd910a172f2c5f981d6608aecb4dc180ca9843db1a38348544d946e5b62e
