[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] testing mariosangiorgio/rulox against beta-2022-04-10 for beta-1.61-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmariosangiorgio%2Frulox" "/workspace/builds/worker-94/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-94/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/mariosangiorgio/rulox on toolchain beta-2022-04-10 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-04-10" "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-94/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: "/workspace/cargo-home/bin/cargo" "+beta-2022-04-10" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-94/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-94/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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 4df92873daa07f3ad2e2e33bc3ce3cba44df175d3a767c8b97c007b6ea0d2e9a [INFO] running `Command { std: "docker" "start" "-a" "4df92873daa07f3ad2e2e33bc3ce3cba44df175d3a767c8b97c007b6ea0d2e9a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "4df92873daa07f3ad2e2e33bc3ce3cba44df175d3a767c8b97c007b6ea0d2e9a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4df92873daa07f3ad2e2e33bc3ce3cba44df175d3a767c8b97c007b6ea0d2e9a", kill_on_drop: false }` [INFO] [stdout] 4df92873daa07f3ad2e2e33bc3ce3cba44df175d3a767c8b97c007b6ea0d2e9a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-94/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-94/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] fb3c6d5cf9b1e3fcccff06ce2f81855356e52e9f21bbc929f6fb155a82e2c33c [INFO] running `Command { std: "docker" "start" "-a" "fb3c6d5cf9b1e3fcccff06ce2f81855356e52e9f21bbc929f6fb155a82e2c33c", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v0.4.20 [INFO] [stderr] Compiling unicode-xid v0.1.0 [INFO] [stderr] Compiling num-traits v0.2.6 [INFO] [stderr] Compiling num-derive v0.2.4 [INFO] [stderr] Compiling either v1.5.0 [INFO] [stderr] Compiling fnv v1.0.6 [INFO] [stderr] Compiling itertools v0.8.0 [INFO] [stderr] Compiling quote v0.6.8 [INFO] [stderr] Compiling syn v0.15.14 [INFO] [stderr] Compiling 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; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &LexicalScopes` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(anonymous_parameters)]` on by default [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 [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 [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] = note: `#[warn(bare_trait_objects)]` on by default [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 130 - fn peek_check(&mut self, check: &Fn(char) -> bool) -> bool { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 138 - fn peek_check2(&mut self, check1: &Fn(char) -> bool, check2: &Fn(char) -> bool) -> bool { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 138 - fn peek_check2(&mut self, check1: &Fn(char) -> bool, check2: &Fn(char) -> bool) -> bool { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 171 - fn advance_while(&mut self, condition: &Fn(char) -> bool) -> () { [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) [INFO] [stdout] | ___________________________^ [INFO] [stdout] 171 | | -> Option>, [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 170 ~ parse_statement: &dyn Fn(&mut Parser, &mut Peekable) [INFO] [stdout] 171 ~ -> Option>, [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, [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 646 - map_operator: &Fn(&Token) -> Option, [INFO] [stdout] 646 + map_operator: &dyn Fn(&Token) -> Option, [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) -> Option>, [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 647 - parse_subexpression: &Fn(&mut Parser, &mut Peekable) -> Option>, [INFO] [stdout] 647 + parse_subexpression: &dyn Fn(&mut Parser, &mut Peekable) -> Option>, [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, [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 688 - map_operator: &Fn(&Token) -> Option, [INFO] [stdout] 688 + map_operator: &dyn Fn(&Token) -> Option, [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) -> Option>, [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 689 - parse_subexpression: &Fn(&mut Parser, &mut Peekable) -> Option>, [INFO] [stdout] 689 + parse_subexpression: &dyn Fn(&mut Parser, &mut Peekable) -> Option>, [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) -> Option>, [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 945 - parse_argument: &Fn(&mut Parser, &mut Peekable) -> Option>, [INFO] [stdout] 945 + parse_argument: &dyn Fn(&mut Parser, &mut Peekable) -> Option>, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 53 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 38.65s [INFO] running `Command { std: "docker" "inspect" "fb3c6d5cf9b1e3fcccff06ce2f81855356e52e9f21bbc929f6fb155a82e2c33c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fb3c6d5cf9b1e3fcccff06ce2f81855356e52e9f21bbc929f6fb155a82e2c33c", kill_on_drop: false }` [INFO] [stdout] fb3c6d5cf9b1e3fcccff06ce2f81855356e52e9f21bbc929f6fb155a82e2c33c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-94/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-94/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 3a0f97a82086eefe6798bea426af1079cff61f56d09ef8d3ae6d26b562c275ae [INFO] running `Command { std: "docker" "start" "-a" "3a0f97a82086eefe6798bea426af1079cff61f56d09ef8d3ae6d26b562c275ae", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling libc v0.2.43 [INFO] [stderr] Compiling rand_core v0.3.0 [INFO] [stderr] Compiling version_check v0.1.5 [INFO] [stderr] Compiling remove_dir_all v0.5.1 [INFO] [stderr] Compiling cfg-if v0.1.6 [INFO] [stderr] Compiling bit-vec v0.5.0 [INFO] [stderr] Compiling ucd-util v0.1.1 [INFO] [stderr] Compiling quick-error v1.2.2 [INFO] [stderr] Compiling byteorder v1.2.7 [INFO] [stderr] Compiling bitflags v1.0.4 [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; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &LexicalScopes` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(anonymous_parameters)]` on by default [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 [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 [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] = note: `#[warn(bare_trait_objects)]` on by default [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 130 - fn peek_check(&mut self, check: &Fn(char) -> bool) -> bool { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 138 - fn peek_check2(&mut self, check1: &Fn(char) -> bool, check2: &Fn(char) -> bool) -> bool { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 138 - fn peek_check2(&mut self, check1: &Fn(char) -> bool, check2: &Fn(char) -> bool) -> bool { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 171 - fn advance_while(&mut self, condition: &Fn(char) -> bool) -> () { [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) [INFO] [stdout] | ___________________________^ [INFO] [stdout] 171 | | -> Option>, [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 170 ~ parse_statement: &dyn Fn(&mut Parser, &mut Peekable) [INFO] [stdout] 171 ~ -> Option>, [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, [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 646 - map_operator: &Fn(&Token) -> Option, [INFO] [stdout] 646 + map_operator: &dyn Fn(&Token) -> Option, [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) -> Option>, [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 647 - parse_subexpression: &Fn(&mut Parser, &mut Peekable) -> Option>, [INFO] [stdout] 647 + parse_subexpression: &dyn Fn(&mut Parser, &mut Peekable) -> Option>, [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, [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 688 - map_operator: &Fn(&Token) -> Option, [INFO] [stdout] 688 + map_operator: &dyn Fn(&Token) -> Option, [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) -> Option>, [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 689 - parse_subexpression: &Fn(&mut Parser, &mut Peekable) -> Option>, [INFO] [stdout] 689 + parse_subexpression: &dyn Fn(&mut Parser, &mut Peekable) -> Option>, [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) -> Option>, [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 945 - parse_argument: &Fn(&mut Parser, &mut Peekable) -> Option>, [INFO] [stdout] 945 + parse_argument: &dyn Fn(&mut Parser, &mut Peekable) -> Option>, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 53 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling regex-syntax v0.6.2 [INFO] [stderr] Compiling bit-set v0.5.0 [INFO] [stderr] Compiling rand_core v0.2.2 [INFO] [stderr] Compiling rand v0.5.5 [INFO] [stderr] Compiling wait-timeout v0.1.5 [INFO] [stderr] Compiling lazy_static v1.1.0 [INFO] [stderr] Compiling tempfile v3.0.4 [INFO] [stderr] Compiling rusty-fork v0.2.1 [INFO] [stderr] Compiling proptest v0.8.7 [INFO] [stderr] Compiling 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; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &LexicalScopes` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(anonymous_parameters)]` on by default [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 [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 [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] = note: `#[warn(bare_trait_objects)]` on by default [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 130 - fn peek_check(&mut self, check: &Fn(char) -> bool) -> bool { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 138 - fn peek_check2(&mut self, check1: &Fn(char) -> bool, check2: &Fn(char) -> bool) -> bool { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 138 - fn peek_check2(&mut self, check1: &Fn(char) -> bool, check2: &Fn(char) -> bool) -> bool { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 171 - fn advance_while(&mut self, condition: &Fn(char) -> bool) -> () { [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) [INFO] [stdout] | ___________________________^ [INFO] [stdout] 171 | | -> Option>, [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 170 ~ parse_statement: &dyn Fn(&mut Parser, &mut Peekable) [INFO] [stdout] 171 ~ -> Option>, [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, [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 646 - map_operator: &Fn(&Token) -> Option, [INFO] [stdout] 646 + map_operator: &dyn Fn(&Token) -> Option, [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) -> Option>, [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 647 - parse_subexpression: &Fn(&mut Parser, &mut Peekable) -> Option>, [INFO] [stdout] 647 + parse_subexpression: &dyn Fn(&mut Parser, &mut Peekable) -> Option>, [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, [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 688 - map_operator: &Fn(&Token) -> Option, [INFO] [stdout] 688 + map_operator: &dyn Fn(&Token) -> Option, [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) -> Option>, [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 689 - parse_subexpression: &Fn(&mut Parser, &mut Peekable) -> Option>, [INFO] [stdout] 689 + parse_subexpression: &dyn Fn(&mut Parser, &mut Peekable) -> Option>, [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) -> Option>, [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 945 - parse_argument: &Fn(&mut Parser, &mut Peekable) -> Option>, [INFO] [stdout] 945 + parse_argument: &dyn Fn(&mut Parser, &mut Peekable) -> Option>, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/treewalk/mod.rs:99:5 [INFO] [stdout] | [INFO] [stdout] 99 | / proptest! { [INFO] [stdout] 100 | | #[test] [INFO] [stdout] 101 | | fn doesnt_crash(ref input in "\\PC*") { [INFO] [stdout] 102 | | let mut lox_vm = TreeWalkRuloxInterpreter::default(); [INFO] [stdout] 103 | | lox_vm.run(input) [INFO] [stdout] 104 | | } [INFO] [stdout] 105 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `proptest_helper` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/vm/mod.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | / proptest! { [INFO] [stdout] 28 | | #[test] [INFO] [stdout] 29 | | #[ignore] [INFO] [stdout] 30 | | fn doesnt_crash(ref input in "\\PC*") { [INFO] [stdout] ... | [INFO] [stdout] 33 | | } [INFO] [stdout] 34 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `proptest_helper` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 56 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 23.70s [INFO] [stderr] Executable unittests src/lib.rs (/opt/rustwide/target/debug/deps/rulox-b662d870923bd00c) [INFO] [stderr] Executable unittests src/bin/rulox.rs (/opt/rustwide/target/debug/deps/rulox-3f870d119d217083) [INFO] [stderr] Executable unittests src/bin/ruloxvm.rs (/opt/rustwide/target/debug/deps/ruloxvm-104d01decdf7a67f) [INFO] running `Command { std: "docker" "inspect" "3a0f97a82086eefe6798bea426af1079cff61f56d09ef8d3ae6d26b562c275ae", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3a0f97a82086eefe6798bea426af1079cff61f56d09ef8d3ae6d26b562c275ae", kill_on_drop: false }` [INFO] [stdout] 3a0f97a82086eefe6798bea426af1079cff61f56d09ef8d3ae6d26b562c275ae [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-94/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-94/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 12210820c684beeed75bc3b5db328b3ccdb2184b1634751d4e69cc71a1416470 [INFO] running `Command { std: "docker" "start" "-a" "12210820c684beeed75bc3b5db328b3ccdb2184b1634751d4e69cc71a1416470", kill_on_drop: false }` [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: use of deprecated macro `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: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stderr] --> src/treewalk/interpreter.rs:301:52 [INFO] [stderr] | [INFO] [stderr] 301 | fn interpret(&self, environment: &Environment, &LexicalScopes) -> Result; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &LexicalScopes` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(anonymous_parameters)]` on by default [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stderr] = note: for more information, see issue #41686 [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `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 macro `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 macro `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 macro `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 macro `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 macro `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 macro `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 macro `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 macro `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 macro `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 macro `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 macro `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: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stderr] --> src/treewalk/lexical_scope_resolver.rs:35:23 [INFO] [stderr] | [INFO] [stderr] 35 | fn resolve(&self, &mut LexicalScopesResolver) -> Result<(), LexicalScopesResolutionError>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut LexicalScopesResolver` [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stderr] = note: for more information, see issue #41686 [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `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 macro `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 macro `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 macro `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 macro `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 macro `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 macro `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 macro `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 macro `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 macro `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 macro `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 macro `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 macro `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 macro `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 macro `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 macro `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: unnecessary trailing semicolon [INFO] [stderr] --> src/treewalk/parser.rs:136:10 [INFO] [stderr] | [INFO] [stderr] 136 | }; [INFO] [stderr] | ^ help: remove this semicolon [INFO] [stderr] [INFO] [stderr] warning: unnecessary trailing semicolon [INFO] [stderr] --> src/treewalk/parser.rs:315:10 [INFO] [stderr] | [INFO] [stderr] 315 | }; [INFO] [stderr] | ^ help: remove this semicolon [INFO] [stderr] [INFO] [stderr] warning: unnecessary trailing semicolon [INFO] [stderr] --> src/treewalk/parser.rs:385:10 [INFO] [stderr] | [INFO] [stderr] 385 | }; [INFO] [stderr] | ^ help: remove this semicolon [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `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 macro `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 macro `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 macro `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 macro `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 macro `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: use of deprecated macro `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 macro `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: 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] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 130 - fn peek_check(&mut self, check: &Fn(char) -> bool) -> bool { [INFO] [stderr] 130 + fn peek_check(&mut self, check: &dyn Fn(char) -> bool) -> bool { [INFO] [stderr] | [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] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 138 - fn peek_check2(&mut self, check1: &Fn(char) -> bool, check2: &Fn(char) -> bool) -> bool { [INFO] [stderr] 138 + fn peek_check2(&mut self, check1: &dyn Fn(char) -> bool, check2: &Fn(char) -> bool) -> bool { [INFO] [stderr] | [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] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 138 - fn peek_check2(&mut self, check1: &Fn(char) -> bool, check2: &Fn(char) -> bool) -> bool { [INFO] [stderr] 138 + fn peek_check2(&mut self, check1: &Fn(char) -> bool, check2: &dyn Fn(char) -> bool) -> bool { [INFO] [stderr] | [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] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 171 - fn advance_while(&mut self, condition: &Fn(char) -> bool) -> () { [INFO] [stderr] 171 + fn advance_while(&mut self, condition: &dyn Fn(char) -> bool) -> () { [INFO] [stderr] | [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) [INFO] [stderr] | ___________________________^ [INFO] [stderr] 171 | | -> Option>, [INFO] [stderr] | |____________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 170 ~ parse_statement: &dyn Fn(&mut Parser, &mut Peekable) [INFO] [stderr] 171 ~ -> Option>, [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, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 646 - map_operator: &Fn(&Token) -> Option, [INFO] [stderr] 646 + map_operator: &dyn Fn(&Token) -> Option, [INFO] [stderr] | [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) -> Option>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 647 - parse_subexpression: &Fn(&mut Parser, &mut Peekable) -> Option>, [INFO] [stderr] 647 + parse_subexpression: &dyn Fn(&mut Parser, &mut Peekable) -> Option>, [INFO] [stderr] | [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, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 688 - map_operator: &Fn(&Token) -> Option, [INFO] [stderr] 688 + map_operator: &dyn Fn(&Token) -> Option, [INFO] [stderr] | [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) -> Option>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 689 - parse_subexpression: &Fn(&mut Parser, &mut Peekable) -> Option>, [INFO] [stderr] 689 + parse_subexpression: &dyn Fn(&mut Parser, &mut Peekable) -> Option>, [INFO] [stderr] | [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) -> Option>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 945 - parse_argument: &Fn(&mut Parser, &mut Peekable) -> Option>, [INFO] [stderr] 945 + parse_argument: &dyn Fn(&mut Parser, &mut Peekable) -> Option>, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `rulox` (lib) generated 53 warnings [INFO] [stderr] warning: unnecessary trailing semicolon [INFO] [stderr] --> src/treewalk/interpreter.rs:1040:10 [INFO] [stderr] | [INFO] [stderr] 1040 | }; [INFO] [stderr] | ^ help: remove this semicolon [INFO] [stderr] [INFO] [stderr] warning: unused `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 the macro `proptest_helper` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused `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 the macro `proptest_helper` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: `rulox` (lib test) generated 56 warnings (53 duplicates) [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.07s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rulox-b662d870923bd00c) [INFO] [stdout] [INFO] [stdout] running 85 tests [INFO] [stdout] test frontend::scanner::tests::assignement_with_comment ... ok [INFO] [stdout] test frontend::scanner::tests::expression_with_whitespaces ... ok [INFO] [stdout] test frontend::scanner::tests::single_token ... ok [INFO] [stdout] test frontend::scanner::tests::multiline_statements ... ok [INFO] [stdout] test treewalk::interpreter::tests::binary ... ok [INFO] [stdout] test treewalk::interpreter::tests::binary_expression_with_mismatching_types ... ok [INFO] [stdout] test treewalk::interpreter::tests::block_affects_outer_scope ... ok [INFO] [stdout] test treewalk::interpreter::tests::expression_statement ... ok [INFO] [stdout] test treewalk::interpreter::tests::error_assigning_undefined_variable ... ok [INFO] [stdout] test frontend::scanner::tests::expression_with_bad_character ... ok [INFO] [stdout] test frontend::scanner::tests::expression ... ok [INFO] [stdout] test treewalk::interpreter::tests::complex_expression_statement ... ok [INFO] [stdout] test treewalk::interpreter::tests::class_constructor ... ok [INFO] [stdout] test treewalk::interpreter::tests::error_accessing_undefined_variable ... ok [INFO] [stdout] test frontend::scanner::tests::statements_with_unterminated_string ... ok [INFO] [stdout] test treewalk::interpreter::tests::class_properties ... ok [INFO] [stdout] test treewalk::interpreter::tests::custom_initializer ... ok [INFO] [stdout] test treewalk::interpreter::tests::block_variable_dont_escape_scope ... ok [INFO] [stdout] test treewalk::interpreter::tests::grouping ... ok [INFO] [stdout] test treewalk::interpreter::tests::if_then_else ... ok [INFO] [stdout] test treewalk::interpreter::tests::function_declaration_and_call ... ok [INFO] [stdout] test treewalk::interpreter::tests::literal ... ok [INFO] [stdout] test treewalk::interpreter::tests::function_declaration_and_call_no_return ... ok [INFO] [stdout] test treewalk::interpreter::tests::string_concatenation ... ok [INFO] [stdout] test treewalk::interpreter::tests::method_execution ... ok [INFO] [stdout] test treewalk::interpreter::tests::to_string ... ok [INFO] [stdout] test treewalk::interpreter::tests::local_variables_dont_pollute_outer_scope ... ok [INFO] [stdout] test treewalk::interpreter::tests::truth_table ... ok [INFO] [stdout] test treewalk::interpreter::tests::unary ... ok [INFO] [stdout] test treewalk::interpreter::tests::unary_minus_only_applies_to_numbers ... ok [INFO] [stdout] test treewalk::interpreter::tests::variable_definition ... ok [INFO] [stdout] test treewalk::interpreter::tests::variable_definition_with_initializer ... ok [INFO] [stdout] test treewalk::interpreter::tests::while_loop ... ok [INFO] [stdout] test treewalk::lexical_scope_resolver::tests::captured_variable ... ok [INFO] [stdout] test treewalk::lexical_scope_resolver::tests::error_on_local_redeclaration ... ok [INFO] [stdout] test treewalk::lexical_scope_resolver::tests::error_on_return_outside_a_function ... ok [INFO] [stdout] test treewalk::lexical_scope_resolver::tests::error_on_shadowing ... ok [INFO] [stdout] test treewalk::lexical_scope_resolver::tests::global_redeclaration_is_allowed ... ok [INFO] [stdout] test treewalk::parser::tests::assignment ... ok [INFO] [stdout] test treewalk::lexical_scope_resolver::tests::global_variable ... ok [INFO] [stdout] test treewalk::lexical_scope_resolver::tests::lexical_capture ... ok [INFO] [stdout] test treewalk::parser::tests::class ... ok [INFO] [stdout] test treewalk::parser::tests::binary ... ok [INFO] [stdout] test treewalk::parser::tests::expr_with_equality ... ok [INFO] [stdout] test treewalk::parser::tests::for_statement ... ok [INFO] [stdout] test treewalk::parser::tests::for_statement_no_condition ... ok [INFO] [stdout] test treewalk::parser::tests::for_statement_no_increment ... ok [INFO] [stdout] test treewalk::parser::tests::for_statement_no_initializer ... ok [INFO] [stdout] test treewalk::parser::tests::function_with_one_argument ... ok [INFO] [stdout] test treewalk::parser::tests::function_with_no_arguments ... ok [INFO] [stdout] test treewalk::parser::tests::function_with_two_arguments ... ok [INFO] [stdout] test treewalk::parser::tests::get ... ok [INFO] [stdout] test treewalk::parser::tests::if_then_statement ... ok [INFO] [stdout] test treewalk::parser::tests::if_then_else_statement ... ok [INFO] [stdout] test treewalk::parser::tests::literal ... ok [INFO] [stdout] test treewalk::parser::tests::missing_initializer ... ok [INFO] [stdout] test treewalk::parser::tests::logic ... ok [INFO] [stdout] test treewalk::parser::tests::multiple_statements ... ok [INFO] [stdout] test treewalk::parser::tests::precedence_mul_add ... ok [INFO] [stdout] test treewalk::parser::tests::precedence_mul_add_unary ... ok [INFO] [stdout] test treewalk::parser::tests::precedence_add_mul ... ok [INFO] [stdout] test treewalk::parser::tests::precedence_or_and ... ok [INFO] [stdout] test treewalk::parser::tests::set ... ok [INFO] [stdout] test treewalk::parser::tests::unclosed_group ... ok [INFO] [stdout] test treewalk::parser::tests::unfinished_block ... ok [INFO] [stdout] test treewalk::parser::tests::unopened_group ... ok [INFO] [stdout] test treewalk::parser::tests::wrong_variable_declaration_target ... ok [INFO] [stdout] test treewalk::parser::tests::while_statement ... ok [INFO] [stdout] test treewalk::parser::tests::wrong_assigment_target ... ok [INFO] [stdout] test treewalk::pretty_printer::tests::block ... ok [INFO] [stdout] test treewalk::pretty_printer::tests::literal ... ok [INFO] [stdout] test treewalk::pretty_printer::tests::complex_expression ... ok [INFO] [stdout] test vm::interpreter::end_to_end_tests::binary ... ok [INFO] [stdout] test vm::interpreter::end_to_end_tests::binary_bool ... ok [INFO] [stdout] test vm::interpreter::end_to_end_tests::complex ... ok [INFO] [stdout] test vm::interpreter::end_to_end_tests::number ... ok [INFO] [stdout] test vm::interpreter::end_to_end_tests::unary ... ok [INFO] [stdout] test vm::interpreter::end_to_end_tests::precedence ... ok [INFO] [stdout] test vm::interpreter::end_to_end_tests::grouping ... ok [INFO] [stdout] test vm::tests::doesnt_crash ... ignored [INFO] [stdout] test vm::interpreter::end_to_end_tests::unary_bool ... ok [INFO] [stdout] test vm::interpreter::tests::trace_doesnt_crash ... ok [INFO] [stdout] test vm::interpreter::tests::interpret_doesnt_crash ... ok [INFO] [stdout] test vm::interpreter::tests::disassemble_doesnt_crash ... ok [INFO] [stdout] test treewalk::tests::doesnt_crash ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 84 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.25s [INFO] [stdout] [INFO] [stderr] Running unittests src/bin/rulox.rs (/opt/rustwide/target/debug/deps/rulox-3f870d119d217083) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running unittests src/bin/ruloxvm.rs (/opt/rustwide/target/debug/deps/ruloxvm-104d01decdf7a67f) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests rulox [INFO] [stderr] warning: unnecessary trailing semicolon [INFO] [stderr] --> /opt/rustwide/workdir/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: unnecessary trailing semicolon [INFO] [stderr] --> /opt/rustwide/workdir/src/treewalk/parser.rs:136:10 [INFO] [stderr] | [INFO] [stderr] 136 | }; [INFO] [stderr] | ^ help: remove this semicolon [INFO] [stderr] [INFO] [stderr] warning: unnecessary trailing semicolon [INFO] [stderr] --> /opt/rustwide/workdir/src/treewalk/parser.rs:315:10 [INFO] [stderr] | [INFO] [stderr] 315 | }; [INFO] [stderr] | ^ help: remove this semicolon [INFO] [stderr] [INFO] [stderr] warning: unnecessary trailing semicolon [INFO] [stderr] --> /opt/rustwide/workdir/src/treewalk/parser.rs:385:10 [INFO] [stderr] | [INFO] [stderr] 385 | }; [INFO] [stderr] | ^ help: remove this semicolon [INFO] [stderr] [INFO] [stderr] warning: 4 warnings emitted [INFO] [stderr] [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test src/vm/bytecode.rs - vm::bytecode::Chunk::add_instruction (line 62) ... ok [INFO] [stdout] test src/vm/bytecode.rs - vm::bytecode::Chunk::add_constant (line 81) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.33s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "12210820c684beeed75bc3b5db328b3ccdb2184b1634751d4e69cc71a1416470", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "12210820c684beeed75bc3b5db328b3ccdb2184b1634751d4e69cc71a1416470", kill_on_drop: false }` [INFO] [stdout] 12210820c684beeed75bc3b5db328b3ccdb2184b1634751d4e69cc71a1416470