[INFO] updating cached repository https://github.com/mariosangiorgio/rulox
[INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"`
[INFO] running `"git" "rev-parse" "HEAD"`
[INFO] [stdout] 9e9e44f1143aa74b62e43452a35cd4786aecabcf
[INFO] checking mariosangiorgio/rulox against master#bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc for pr-70917
[INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmariosangiorgio%2Frulox" "/workspace/builds/worker-11/source"`
[INFO] [stderr] Cloning into '/workspace/builds/worker-11/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/mariosangiorgio/rulox on toolchain bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc
[INFO] running `"/workspace/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "read-manifest" "--manifest-path" "Cargo.toml"`
[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-11/source/Cargo.toml
[INFO] crate git repo https://github.com/mariosangiorgio/rulox already has a lockfile, it will not be regenerated
[INFO] running `"/workspace/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "fetch" "--locked" "--manifest-path" "Cargo.toml"`
[INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "check" "--frozen" "--all" "--all-targets"`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 95386f2fdc4b686101cfd66379b2d73108d089127b70a11e2129cfe6f8c86c05
[INFO] running `"docker" "start" "-a" "95386f2fdc4b686101cfd66379b2d73108d089127b70a11e2129cfe6f8c86c05"`
[INFO] [stderr]     Checking bit-vec v0.5.0
[INFO] [stderr]     Checking byteorder v1.2.7
[INFO] [stderr]     Checking wait-timeout v0.1.5
[INFO] [stderr]    Compiling proc-macro2 v0.4.20
[INFO] [stderr]     Checking rand v0.5.5
[INFO] [stderr]     Checking bit-set v0.5.0
[INFO] [stderr]    Compiling quote v0.6.8
[INFO] [stderr]     Checking tempfile v3.0.4
[INFO] [stderr]    Compiling syn v0.15.14
[INFO] [stderr]     Checking rusty-fork v0.2.1
[INFO] [stderr]     Checking proptest v0.8.7
[INFO] [stderr]    Compiling num-derive v0.2.4
[INFO] [stderr]     Checking rulox v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/treewalk/interpreter.rs:94:21
[INFO] [stderr]    |
[INFO] [stderr] 94 |                     try!(
[INFO] [stderr]    |                     ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/treewalk/interpreter.rs:357:33
[INFO] [stderr]     |
[INFO] [stderr] 357 |                     let value = try!(s.value.interpret(environment, scopes));
[INFO] [stderr]     |                                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/treewalk/interpreter.rs:419:21
[INFO] [stderr]     |
[INFO] [stderr] 419 |         let value = try!(self.right.interpret(environment, scopes));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/treewalk/interpreter.rs:436:20
[INFO] [stderr]     |
[INFO] [stderr] 436 |         let left = try!(self.left.interpret(environment, scopes));
[INFO] [stderr]     |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/treewalk/interpreter.rs:437:21
[INFO] [stderr]     |
[INFO] [stderr] 437 |         let right = try!(self.right.interpret(environment, scopes));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/treewalk/interpreter.rs:488:28
[INFO] [stderr]     |
[INFO] [stderr] 488 |                 let left = try!(self.left.interpret(environment, scopes));
[INFO] [stderr]     |                            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/treewalk/interpreter.rs:496:28
[INFO] [stderr]     |
[INFO] [stderr] 496 |                 let left = try!(self.left.interpret(environment, scopes));
[INFO] [stderr]     |                            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/treewalk/interpreter.rs:565:34
[INFO] [stderr]     |
[INFO] [stderr] 565 |                     let result = try!(statement.execute(&environment, scopes));
[INFO] [stderr]     |                                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/treewalk/interpreter.rs:573:33
[INFO] [stderr]     |
[INFO] [stderr] 573 |                 let condition = try!{c.condition.interpret(environment, scopes)
[INFO] [stderr]     |                                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/treewalk/interpreter.rs:582:33
[INFO] [stderr]     |
[INFO] [stderr] 582 |                 let condition = try!{c.condition.interpret(environment, scopes)
[INFO] [stderr]     |                                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/treewalk/interpreter.rs:591:23
[INFO] [stderr]     |
[INFO] [stderr] 591 |                 while try!{l.condition.interpret(environment, scopes)
[INFO] [stderr]     |                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/treewalk/interpreter.rs:594:21
[INFO] [stderr]     |
[INFO] [stderr] 594 |                     try!{l.body.execute(environment, scopes)};
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/treewalk/interpreter.rs:610:37
[INFO] [stderr]     |
[INFO] [stderr] 610 |                         let value = try!(superclass.interpret(environment, scopes));
[INFO] [stderr]     |                                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/treewalk/lexical_scope_resolver.rs:149:21
[INFO] [stderr]     |
[INFO] [stderr] 149 |                     try!(statement.resolve(resolver));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/treewalk/lexical_scope_resolver.rs:155:17
[INFO] [stderr]     |
[INFO] [stderr] 155 |                 try!(resolver.declare(*identifier));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/treewalk/lexical_scope_resolver.rs:160:17
[INFO] [stderr]     |
[INFO] [stderr] 160 |                 try!(resolver.declare(*identifier));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/treewalk/lexical_scope_resolver.rs:161:17
[INFO] [stderr]     |
[INFO] [stderr] 161 |                 try!(initializer.resolve(resolver));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/treewalk/lexical_scope_resolver.rs:167:17
[INFO] [stderr]     |
[INFO] [stderr] 167 |                 try!(resolver.declare(c.name));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/treewalk/lexical_scope_resolver.rs:173:21
[INFO] [stderr]     |
[INFO] [stderr] 173 |                     try!(superclass.resolve(resolver));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/treewalk/lexical_scope_resolver.rs:180:21
[INFO] [stderr]     |
[INFO] [stderr] 180 |                     try!(method.resolve(resolver));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/treewalk/lexical_scope_resolver.rs:270:17
[INFO] [stderr]     |
[INFO] [stderr] 270 |                 try!(e.callee.resolve(resolver));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/treewalk/lexical_scope_resolver.rs:272:21
[INFO] [stderr]     |
[INFO] [stderr] 272 |                     try!(argument.resolve(resolver));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/treewalk/lexical_scope_resolver.rs:277:17
[INFO] [stderr]     |
[INFO] [stderr] 277 |                 try!(g.instance.resolve(resolver));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/treewalk/lexical_scope_resolver.rs:281:17
[INFO] [stderr]     |
[INFO] [stderr] 281 |                 try!(s.value.resolve(resolver));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/treewalk/lexical_scope_resolver.rs:282:17
[INFO] [stderr]     |
[INFO] [stderr] 282 |                 try!(s.instance.resolve(resolver));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/treewalk/lexical_scope_resolver.rs:294:9
[INFO] [stderr]     |
[INFO] [stderr] 294 |         try!{self.rvalue.resolve(resolver)};
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/treewalk/lexical_scope_resolver.rs:306:9
[INFO] [stderr]     |
[INFO] [stderr] 306 |         try!(resolver.declare(self.name));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/treewalk/lexical_scope_resolver.rs:312:13
[INFO] [stderr]     |
[INFO] [stderr] 312 |             try!(resolver.declare(*argument));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/treewalk/lexical_scope_resolver.rs:315:9
[INFO] [stderr]     |
[INFO] [stderr] 315 |         try!(self.body.resolve(resolver));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/treewalk/parser.rs:950:9
[INFO] [stderr]     |
[INFO] [stderr] 950 |         try!(consume_expected_token!(
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/treewalk/parser.rs:976:9
[INFO] [stderr]     |
[INFO] [stderr] 976 |         try!(consume_expected_token!(
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/vm/bytecode.rs:142:5
[INFO] [stderr]     |
[INFO] [stderr] 142 |     try!(writeln!(out, "== {} ==", name));
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/vm/bytecode.rs:148:9
[INFO] [stderr]     |
[INFO] [stderr] 148 |         try!(write!(out, "{:04}", i));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/vm/bytecode.rs:150:13
[INFO] [stderr]     |
[INFO] [stderr] 150 |             try!(write!(out, "   |"));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/vm/bytecode.rs:153:13
[INFO] [stderr]     |
[INFO] [stderr] 153 |             try!(write!(out, "{:4}", line));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/vm/bytecode.rs:155:9
[INFO] [stderr]     |
[INFO] [stderr] 155 |         try!(write!(out, " "));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/vm/bytecode.rs:156:9
[INFO] [stderr]     |
[INFO] [stderr] 156 |         try!{disassemble_instruction(instruction, chunk, out)};
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/frontend/scanner.rs:130:38
[INFO] [stderr]     |
[INFO] [stderr] 130 |     fn peek_check(&mut self, check: &Fn(char) -> bool) -> bool {
[INFO] [stderr]     |                                      ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(char) -> bool`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/frontend/scanner.rs:138:40
[INFO] [stderr]     |
[INFO] [stderr] 138 |     fn peek_check2(&mut self, check1: &Fn(char) -> bool, check2: &Fn(char) -> bool) -> bool {
[INFO] [stderr]     |                                        ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(char) -> bool`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/frontend/scanner.rs:138:67
[INFO] [stderr]     |
[INFO] [stderr] 138 |     fn peek_check2(&mut self, check1: &Fn(char) -> bool, check2: &Fn(char) -> bool) -> bool {
[INFO] [stderr]     |                                                                   ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(char) -> bool`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/frontend/scanner.rs:156:58
[INFO] [stderr]     |
[INFO] [stderr] 156 |                 self.current_position.increment_column();;
[INFO] [stderr]     |                                                          ^ help: remove this semicolon
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/frontend/scanner.rs:171:45
[INFO] [stderr]     |
[INFO] [stderr] 171 |     fn advance_while(&mut self, condition: &Fn(char) -> bool) -> () {
[INFO] [stderr]     |                                             ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(char) -> bool`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/treewalk/parser.rs:170:27
[INFO] [stderr]     |
[INFO] [stderr] 170 |           parse_statement: &Fn(&mut Parser, &mut Peekable<I>)
[INFO] [stderr]     |  ___________________________^
[INFO] [stderr] 171 | |             -> Option<Result<Statement, ParseError>>,
[INFO] [stderr]     | |____________________________________________________^
[INFO] [stderr]     |
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 170 |         parse_statement: &dyn Fn(&mut Parser, &mut Peekable<I>)
[INFO] [stderr] 171 |             -> Option<Result<Statement, ParseError>>,
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/treewalk/parser.rs:646:24
[INFO] [stderr]     |
[INFO] [stderr] 646 |         map_operator: &Fn(&Token) -> Option<LogicOperator>,
[INFO] [stderr]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&Token) -> Option<LogicOperator>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/treewalk/parser.rs:647:31
[INFO] [stderr]     |
[INFO] [stderr] 647 |         parse_subexpression: &Fn(&mut Parser, &mut Peekable<I>) -> Option<Result<Expr, ParseError>>,
[INFO] [stderr]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&mut Parser, &mut Peekable<I>) -> Option<Result<Expr, ParseError>>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/treewalk/parser.rs:688:24
[INFO] [stderr]     |
[INFO] [stderr] 688 |         map_operator: &Fn(&Token) -> Option<BinaryOperator>,
[INFO] [stderr]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&Token) -> Option<BinaryOperator>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/treewalk/parser.rs:689:31
[INFO] [stderr]     |
[INFO] [stderr] 689 |         parse_subexpression: &Fn(&mut Parser, &mut Peekable<I>) -> Option<Result<Expr, ParseError>>,
[INFO] [stderr]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&mut Parser, &mut Peekable<I>) -> Option<Result<Expr, ParseError>>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/treewalk/parser.rs:945:26
[INFO] [stderr]     |
[INFO] [stderr] 945 |         parse_argument: &Fn(&mut Parser, &mut Peekable<I>) -> Option<Result<A, ParseError>>,
[INFO] [stderr]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&mut Parser, &mut Peekable<I>) -> Option<Result<A, ParseError>>`
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/treewalk/interpreter.rs:94:21
[INFO] [stderr]    |
[INFO] [stderr] 94 |                     try!(
[INFO] [stderr]    |                     ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/treewalk/interpreter.rs:357:33
[INFO] [stderr]     |
[INFO] [stderr] 357 |                     let value = try!(s.value.interpret(environment, scopes));
[INFO] [stderr]     |                                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/treewalk/interpreter.rs:419:21
[INFO] [stderr]     |
[INFO] [stderr] 419 |         let value = try!(self.right.interpret(environment, scopes));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/treewalk/interpreter.rs:436:20
[INFO] [stderr]     |
[INFO] [stderr] 436 |         let left = try!(self.left.interpret(environment, scopes));
[INFO] [stderr]     |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/treewalk/interpreter.rs:437:21
[INFO] [stderr]     |
[INFO] [stderr] 437 |         let right = try!(self.right.interpret(environment, scopes));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/treewalk/interpreter.rs:488:28
[INFO] [stderr]     |
[INFO] [stderr] 488 |                 let left = try!(self.left.interpret(environment, scopes));
[INFO] [stderr]     |                            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/treewalk/interpreter.rs:496:28
[INFO] [stderr]     |
[INFO] [stderr] 496 |                 let left = try!(self.left.interpret(environment, scopes));
[INFO] [stderr]     |                            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/treewalk/interpreter.rs:565:34
[INFO] [stderr]     |
[INFO] [stderr] 565 |                     let result = try!(statement.execute(&environment, scopes));
[INFO] [stderr]     |                                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/treewalk/interpreter.rs:573:33
[INFO] [stderr]     |
[INFO] [stderr] 573 |                 let condition = try!{c.condition.interpret(environment, scopes)
[INFO] [stderr]     |                                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/treewalk/interpreter.rs:582:33
[INFO] [stderr]     |
[INFO] [stderr] 582 |                 let condition = try!{c.condition.interpret(environment, scopes)
[INFO] [stderr]     |                                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/treewalk/interpreter.rs:591:23
[INFO] [stderr]     |
[INFO] [stderr] 591 |                 while try!{l.condition.interpret(environment, scopes)
[INFO] [stderr]     |                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/treewalk/interpreter.rs:594:21
[INFO] [stderr]     |
[INFO] [stderr] 594 |                     try!{l.body.execute(environment, scopes)};
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/treewalk/interpreter.rs:610:37
[INFO] [stderr]     |
[INFO] [stderr] 610 |                         let value = try!(superclass.interpret(environment, scopes));
[INFO] [stderr]     |                                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/treewalk/lexical_scope_resolver.rs:149:21
[INFO] [stderr]     |
[INFO] [stderr] 149 |                     try!(statement.resolve(resolver));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/treewalk/lexical_scope_resolver.rs:155:17
[INFO] [stderr]     |
[INFO] [stderr] 155 |                 try!(resolver.declare(*identifier));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/treewalk/lexical_scope_resolver.rs:160:17
[INFO] [stderr]     |
[INFO] [stderr] 160 |                 try!(resolver.declare(*identifier));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/treewalk/lexical_scope_resolver.rs:161:17
[INFO] [stderr]     |
[INFO] [stderr] 161 |                 try!(initializer.resolve(resolver));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/treewalk/lexical_scope_resolver.rs:167:17
[INFO] [stderr]     |
[INFO] [stderr] 167 |                 try!(resolver.declare(c.name));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/treewalk/lexical_scope_resolver.rs:173:21
[INFO] [stderr]     |
[INFO] [stderr] 173 |                     try!(superclass.resolve(resolver));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/treewalk/lexical_scope_resolver.rs:180:21
[INFO] [stderr]     |
[INFO] [stderr] 180 |                     try!(method.resolve(resolver));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/treewalk/lexical_scope_resolver.rs:270:17
[INFO] [stderr]     |
[INFO] [stderr] 270 |                 try!(e.callee.resolve(resolver));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/treewalk/lexical_scope_resolver.rs:272:21
[INFO] [stderr]     |
[INFO] [stderr] 272 |                     try!(argument.resolve(resolver));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/treewalk/lexical_scope_resolver.rs:277:17
[INFO] [stderr]     |
[INFO] [stderr] 277 |                 try!(g.instance.resolve(resolver));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/treewalk/lexical_scope_resolver.rs:281:17
[INFO] [stderr]     |
[INFO] [stderr] 281 |                 try!(s.value.resolve(resolver));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/treewalk/lexical_scope_resolver.rs:282:17
[INFO] [stderr]     |
[INFO] [stderr] 282 |                 try!(s.instance.resolve(resolver));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/treewalk/lexical_scope_resolver.rs:294:9
[INFO] [stderr]     |
[INFO] [stderr] 294 |         try!{self.rvalue.resolve(resolver)};
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/treewalk/lexical_scope_resolver.rs:306:9
[INFO] [stderr]     |
[INFO] [stderr] 306 |         try!(resolver.declare(self.name));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/treewalk/lexical_scope_resolver.rs:312:13
[INFO] [stderr]     |
[INFO] [stderr] 312 |             try!(resolver.declare(*argument));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/treewalk/lexical_scope_resolver.rs:315:9
[INFO] [stderr]     |
[INFO] [stderr] 315 |         try!(self.body.resolve(resolver));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/treewalk/parser.rs:950:9
[INFO] [stderr]     |
[INFO] [stderr] 950 |         try!(consume_expected_token!(
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/treewalk/parser.rs:976:9
[INFO] [stderr]     |
[INFO] [stderr] 976 |         try!(consume_expected_token!(
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/vm/bytecode.rs:142:5
[INFO] [stderr]     |
[INFO] [stderr] 142 |     try!(writeln!(out, "== {} ==", name));
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/vm/bytecode.rs:148:9
[INFO] [stderr]     |
[INFO] [stderr] 148 |         try!(write!(out, "{:04}", i));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/vm/bytecode.rs:150:13
[INFO] [stderr]     |
[INFO] [stderr] 150 |             try!(write!(out, "   |"));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/vm/bytecode.rs:153:13
[INFO] [stderr]     |
[INFO] [stderr] 153 |             try!(write!(out, "{:4}", line));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/vm/bytecode.rs:155:9
[INFO] [stderr]     |
[INFO] [stderr] 155 |         try!(write!(out, " "));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/vm/bytecode.rs:156:9
[INFO] [stderr]     |
[INFO] [stderr] 156 |         try!{disassemble_instruction(instruction, chunk, out)};
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/frontend/scanner.rs:130:38
[INFO] [stderr]     |
[INFO] [stderr] 130 |     fn peek_check(&mut self, check: &Fn(char) -> bool) -> bool {
[INFO] [stderr]     |                                      ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(char) -> bool`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/frontend/scanner.rs:138:40
[INFO] [stderr]     |
[INFO] [stderr] 138 |     fn peek_check2(&mut self, check1: &Fn(char) -> bool, check2: &Fn(char) -> bool) -> bool {
[INFO] [stderr]     |                                        ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(char) -> bool`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/frontend/scanner.rs:138:67
[INFO] [stderr]     |
[INFO] [stderr] 138 |     fn peek_check2(&mut self, check1: &Fn(char) -> bool, check2: &Fn(char) -> bool) -> bool {
[INFO] [stderr]     |                                                                   ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(char) -> bool`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/frontend/scanner.rs:156:58
[INFO] [stderr]     |
[INFO] [stderr] 156 |                 self.current_position.increment_column();;
[INFO] [stderr]     |                                                          ^ help: remove this semicolon
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/frontend/scanner.rs:171:45
[INFO] [stderr]     |
[INFO] [stderr] 171 |     fn advance_while(&mut self, condition: &Fn(char) -> bool) -> () {
[INFO] [stderr]     |                                             ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(char) -> bool`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/treewalk/parser.rs:170:27
[INFO] [stderr]     |
[INFO] [stderr] 170 |           parse_statement: &Fn(&mut Parser, &mut Peekable<I>)
[INFO] [stderr]     |  ___________________________^
[INFO] [stderr] 171 | |             -> Option<Result<Statement, ParseError>>,
[INFO] [stderr]     | |____________________________________________________^
[INFO] [stderr]     |
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 170 |         parse_statement: &dyn Fn(&mut Parser, &mut Peekable<I>)
[INFO] [stderr] 171 |             -> Option<Result<Statement, ParseError>>,
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/treewalk/parser.rs:646:24
[INFO] [stderr]     |
[INFO] [stderr] 646 |         map_operator: &Fn(&Token) -> Option<LogicOperator>,
[INFO] [stderr]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&Token) -> Option<LogicOperator>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/treewalk/parser.rs:647:31
[INFO] [stderr]     |
[INFO] [stderr] 647 |         parse_subexpression: &Fn(&mut Parser, &mut Peekable<I>) -> Option<Result<Expr, ParseError>>,
[INFO] [stderr]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&mut Parser, &mut Peekable<I>) -> Option<Result<Expr, ParseError>>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/treewalk/parser.rs:688:24
[INFO] [stderr]     |
[INFO] [stderr] 688 |         map_operator: &Fn(&Token) -> Option<BinaryOperator>,
[INFO] [stderr]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&Token) -> Option<BinaryOperator>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/treewalk/parser.rs:689:31
[INFO] [stderr]     |
[INFO] [stderr] 689 |         parse_subexpression: &Fn(&mut Parser, &mut Peekable<I>) -> Option<Result<Expr, ParseError>>,
[INFO] [stderr]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&mut Parser, &mut Peekable<I>) -> Option<Result<Expr, ParseError>>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/treewalk/parser.rs:945:26
[INFO] [stderr]     |
[INFO] [stderr] 945 |         parse_argument: &Fn(&mut Parser, &mut Peekable<I>) -> Option<Result<A, ParseError>>,
[INFO] [stderr]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&mut Parser, &mut Peekable<I>) -> Option<Result<A, ParseError>>`
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/treewalk/mod.rs:99:5
[INFO] [stderr]     |
[INFO] [stderr] 99  | /     proptest! {
[INFO] [stderr] 100 | |     #[test]
[INFO] [stderr] 101 | |     fn doesnt_crash(ref input in "\\PC*") {
[INFO] [stderr] 102 | |         let mut lox_vm = TreeWalkRuloxInterpreter::default();
[INFO] [stderr] 103 | |         lox_vm.run(input)
[INFO] [stderr] 104 | |     }
[INFO] [stderr] 105 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]   --> src/vm/mod.rs:27:5
[INFO] [stderr]    |
[INFO] [stderr] 27 | /     proptest! {
[INFO] [stderr] 28 | |     #[test]
[INFO] [stderr] 29 | |     #[ignore]
[INFO] [stderr] 30 | |     fn doesnt_crash(ref input in "\\PC*") {
[INFO] [stderr] ...  |
[INFO] [stderr] 33 | |     }
[INFO] [stderr] 34 | |     }
[INFO] [stderr]    | |_____^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 26.20s
[INFO] running `"docker" "inspect" "95386f2fdc4b686101cfd66379b2d73108d089127b70a11e2129cfe6f8c86c05"`
[INFO] running `"docker" "rm" "-f" "95386f2fdc4b686101cfd66379b2d73108d089127b70a11e2129cfe6f8c86c05"`
[INFO] [stdout] 95386f2fdc4b686101cfd66379b2d73108d089127b70a11e2129cfe6f8c86c05
