[INFO] cloning repository https://github.com/cakebaker/rlox [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/cakebaker/rlox" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcakebaker%2Frlox", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcakebaker%2Frlox'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] c13865ad093a4ec99e6b9a5e289a4ee1963a786f [INFO] testing cakebaker/rlox against 1.60.0 for beta-1.61-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcakebaker%2Frlox" "/workspace/builds/worker-3/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/cakebaker/rlox on toolchain 1.60.0 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/cakebaker/rlox [INFO] finished tweaking git repo https://github.com/cakebaker/rlox [INFO] tweaked toml for git repo https://github.com/cakebaker/rlox written to /workspace/builds/worker-3/source/Cargo.toml [INFO] crate git repo https://github.com/cakebaker/rlox already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/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:eaef2f80f755933c374d2ae5edccceec0c1312ceb8a4e0b6404e8ab76561e1e5" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 9f8a968e243c1a8a99342bda5040cc2fd191a77971265c3e4d2383a1f850f009 [INFO] running `Command { std: "docker" "start" "-a" "9f8a968e243c1a8a99342bda5040cc2fd191a77971265c3e4d2383a1f850f009", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "9f8a968e243c1a8a99342bda5040cc2fd191a77971265c3e4d2383a1f850f009", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9f8a968e243c1a8a99342bda5040cc2fd191a77971265c3e4d2383a1f850f009", kill_on_drop: false }` [INFO] [stdout] 9f8a968e243c1a8a99342bda5040cc2fd191a77971265c3e4d2383a1f850f009 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/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:eaef2f80f755933c374d2ae5edccceec0c1312ceb8a4e0b6404e8ab76561e1e5" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 99396ff2d2aa89afc6dd5ec462f61e514e730d5b6a2d797d1ca55733eaa8bac4 [INFO] running `Command { std: "docker" "start" "-a" "99396ff2d2aa89afc6dd5ec462f61e514e730d5b6a2d797d1ca55733eaa8bac4", kill_on_drop: false }` [INFO] [stderr] Compiling rlox v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/interpreter.rs:39:25 [INFO] [stdout] | [INFO] [stdout] 39 | Stmt::Class(name, methods) => {} // TODO implement [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `methods` [INFO] [stdout] --> src/interpreter.rs:39:31 [INFO] [stdout] | [INFO] [stdout] 39 | Stmt::Class(name, methods) => {} // TODO implement [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_methods` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `paren` [INFO] [stdout] --> src/interpreter.rs:120:17 [INFO] [stdout] | [INFO] [stdout] 120 | paren, [INFO] [stdout] | ^^^^^ help: try ignoring the field: `paren: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `object` [INFO] [stdout] --> src/interpreter.rs:138:25 [INFO] [stdout] | [INFO] [stdout] 138 | Expr::Get { object, name } => Err(RuntimeError::InvalidOperator(name.clone())), // TODO implement [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `object: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `object` [INFO] [stdout] --> src/interpreter.rs:163:17 [INFO] [stdout] | [INFO] [stdout] 163 | object, [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `object: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/interpreter.rs:165:17 [INFO] [stdout] | [INFO] [stdout] 165 | value, [INFO] [stdout] | ^^^^^ help: try ignoring the field: `value: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `equals` [INFO] [stdout] --> src/parser.rs:298:17 [INFO] [stdout] | [INFO] [stdout] 298 | let equals = self.previous(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_equals` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `name` [INFO] [stdout] --> src/lox_function.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | name: Token, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] note: `LoxFunction` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/lox_function.rs:9:10 [INFO] [stdout] | [INFO] [stdout] 9 | #[derive(Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 8 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 4.12s [INFO] running `Command { std: "docker" "inspect" "99396ff2d2aa89afc6dd5ec462f61e514e730d5b6a2d797d1ca55733eaa8bac4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "99396ff2d2aa89afc6dd5ec462f61e514e730d5b6a2d797d1ca55733eaa8bac4", kill_on_drop: false }` [INFO] [stdout] 99396ff2d2aa89afc6dd5ec462f61e514e730d5b6a2d797d1ca55733eaa8bac4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/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:eaef2f80f755933c374d2ae5edccceec0c1312ceb8a4e0b6404e8ab76561e1e5" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] f683fd54c30be3d746985c5481427df7751173c53bd59328c64cbbe11d49fd05 [INFO] running `Command { std: "docker" "start" "-a" "f683fd54c30be3d746985c5481427df7751173c53bd59328c64cbbe11d49fd05", kill_on_drop: false }` [INFO] [stderr] Compiling rlox v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/interpreter.rs:39:25 [INFO] [stdout] | [INFO] [stdout] 39 | Stmt::Class(name, methods) => {} // TODO implement [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `methods` [INFO] [stdout] --> src/interpreter.rs:39:31 [INFO] [stdout] | [INFO] [stdout] 39 | Stmt::Class(name, methods) => {} // TODO implement [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_methods` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `paren` [INFO] [stdout] --> src/interpreter.rs:120:17 [INFO] [stdout] | [INFO] [stdout] 120 | paren, [INFO] [stdout] | ^^^^^ help: try ignoring the field: `paren: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `object` [INFO] [stdout] --> src/interpreter.rs:138:25 [INFO] [stdout] | [INFO] [stdout] 138 | Expr::Get { object, name } => Err(RuntimeError::InvalidOperator(name.clone())), // TODO implement [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `object: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `object` [INFO] [stdout] --> src/interpreter.rs:163:17 [INFO] [stdout] | [INFO] [stdout] 163 | object, [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `object: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/interpreter.rs:165:17 [INFO] [stdout] | [INFO] [stdout] 165 | value, [INFO] [stdout] | ^^^^^ help: try ignoring the field: `value: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `equals` [INFO] [stdout] --> src/parser.rs:298:17 [INFO] [stdout] | [INFO] [stdout] 298 | let equals = self.previous(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_equals` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `name` [INFO] [stdout] --> src/lox_function.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | name: Token, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] note: `LoxFunction` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/lox_function.rs:9:10 [INFO] [stdout] | [INFO] [stdout] 9 | #[derive(Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (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/interpreter.rs:470:9 [INFO] [stdout] | [INFO] [stdout] 470 | interpreter.interpret(vec![stmt]); [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] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/interpreter.rs:501:9 [INFO] [stdout] | [INFO] [stdout] 501 | interpreter.interpret(vec![def_stmt, assign_stmt]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 10 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 3.85s [INFO] running `Command { std: "docker" "inspect" "f683fd54c30be3d746985c5481427df7751173c53bd59328c64cbbe11d49fd05", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f683fd54c30be3d746985c5481427df7751173c53bd59328c64cbbe11d49fd05", kill_on_drop: false }` [INFO] [stdout] f683fd54c30be3d746985c5481427df7751173c53bd59328c64cbbe11d49fd05 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/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:eaef2f80f755933c374d2ae5edccceec0c1312ceb8a4e0b6404e8ab76561e1e5" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] a2084dde47ac057c7fc87a05c65be7582495f7e37b1df42718a8bbd89b08927c [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "a2084dde47ac057c7fc87a05c65be7582495f7e37b1df42718a8bbd89b08927c", kill_on_drop: false }` [INFO] [stderr] warning: unused variable: `name` [INFO] [stderr] --> src/interpreter.rs:39:25 [INFO] [stderr] | [INFO] [stderr] 39 | Stmt::Class(name, methods) => {} // TODO implement [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `methods` [INFO] [stderr] --> src/interpreter.rs:39:31 [INFO] [stderr] | [INFO] [stderr] 39 | Stmt::Class(name, methods) => {} // TODO implement [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_methods` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `paren` [INFO] [stderr] --> src/interpreter.rs:120:17 [INFO] [stderr] | [INFO] [stderr] 120 | paren, [INFO] [stderr] | ^^^^^ help: try ignoring the field: `paren: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `object` [INFO] [stderr] --> src/interpreter.rs:138:25 [INFO] [stderr] | [INFO] [stderr] 138 | Expr::Get { object, name } => Err(RuntimeError::InvalidOperator(name.clone())), // TODO implement [INFO] [stderr] | ^^^^^^ help: try ignoring the field: `object: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `object` [INFO] [stderr] --> src/interpreter.rs:163:17 [INFO] [stderr] | [INFO] [stderr] 163 | object, [INFO] [stderr] | ^^^^^^ help: try ignoring the field: `object: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `value` [INFO] [stderr] --> src/interpreter.rs:165:17 [INFO] [stderr] | [INFO] [stderr] 165 | value, [INFO] [stderr] | ^^^^^ help: try ignoring the field: `value: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `equals` [INFO] [stderr] --> src/parser.rs:298:17 [INFO] [stderr] | [INFO] [stderr] 298 | let equals = self.previous(); [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_equals` [INFO] [stderr] [INFO] [stderr] warning: field is never read: `name` [INFO] [stderr] --> src/lox_function.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | name: Token, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] note: `LoxFunction` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/lox_function.rs:9:10 [INFO] [stderr] | [INFO] [stderr] 9 | #[derive(Clone)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Clone` (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/interpreter.rs:470:9 [INFO] [stderr] | [INFO] [stderr] 470 | interpreter.interpret(vec![stmt]); [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] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/interpreter.rs:501:9 [INFO] [stderr] | [INFO] [stderr] 501 | interpreter.interpret(vec![def_stmt, assign_stmt]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: `rlox` (bin "rlox" test) generated 10 warnings [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.04s [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/rlox-19c5ca597afc311c) [INFO] [stdout] [INFO] [stdout] running 50 tests [INFO] [stdout] test interpreter::tests::evaluate_logical_and ... ok [INFO] [stdout] test interpreter::tests::evaluate_literals ... ok [INFO] [stdout] test interpreter::tests::evaluate_equality_operators ... ok [INFO] [stdout] test interpreter::tests::evaluate_logical_or ... ok [INFO] [stdout] test interpreter::tests::evaluate_negation ... ok [INFO] [stdout] test interpreter::tests::evaluate_negation_of_invalid_type ... ok [INFO] [stdout] test environment::tests::take_parent_if_there_is_none ... ok [INFO] [stdout] test interpreter::tests::evaluate_addition_of_strings ... ok [INFO] [stdout] test environment::tests::take_parent ... ok [INFO] [stdout] test interpreter::tests::evaluate_undefined_variable ... ok [INFO] [stdout] test interpreter::tests::evaluate_variable ... ok [INFO] [stdout] test interpreter::tests::evaluate_variable_assignment ... ok [INFO] [stdout] test environment::tests::get_value_of_var_from_parent_environment ... ok [INFO] [stdout] test parser::tests::parse_class_with_missing_right_brace ... ok [INFO] [stdout] test parser::tests::parse_class ... ok [INFO] [stdout] test parser::tests::parse_class_with_missing_left_brace ... ok [INFO] [stdout] test environment::tests::get_value_of_undefined_var ... ok [INFO] [stdout] test parser::tests::parse_class_without_name ... ok [INFO] [stdout] test parser::tests::parse_getter ... ok [INFO] [stdout] test parser::tests::parse_getter_with_missing_name ... ok [INFO] [stdout] test interpreter::tests::evaluate_grouping ... ok [INFO] [stdout] test interpreter::tests::evaluate_arithmetic_operators ... ok [INFO] [stdout] test interpreter::tests::evaluate_comparison_operators ... ok [INFO] [stdout] test parser::tests::parse_setter ... ok [INFO] [stdout] test interpreter::tests::evaluate_logical_not ... ok [INFO] [stdout] test parser::tests::parse_unary_bang ... ok [INFO] [stdout] test parser::tests::parse_this ... ok [INFO] [stdout] test environment::tests::assign_value_to_var_from_parent_environment ... ok [INFO] [stdout] test parser::tests::parse_invalid_statements ... ok [INFO] [stdout] test parser::tests::parse_unary_minus ... ok [INFO] [stdout] test scanner::tests::ignore_comments ... ok [INFO] [stdout] test scanner::tests::ignore_whitespace ... ok [INFO] [stdout] test scanner::tests::scan_empty_string ... ok [INFO] [stdout] test scanner::tests::increase_line_counter_after_linebreak ... ok [INFO] [stdout] test scanner::tests::scan_identifiers ... ok [INFO] [stdout] test environment::tests::assign_value_to_var ... ok [INFO] [stdout] test environment::tests::assign_value_to_undefined_var ... ok [INFO] [stdout] test environment::tests::get_value_of_var ... ok [INFO] [stdout] test scanner::tests::scan_invalid_character ... ok [INFO] [stdout] test scanner::tests::scan_one_or_two_char_tokens ... ok [INFO] [stdout] test scanner::tests::scan_invalid_number ... ok [INFO] [stdout] test scanner::tests::scan_keywords ... ok [INFO] [stdout] test scanner::tests::scan_multiline_strings ... ok [INFO] [stdout] test scanner::tests::scan_number_literals ... ok [INFO] [stdout] test scanner::tests::scan_string_literals ... ok [INFO] [stdout] test scanner::tests::scan_unterminated_string ... ok [INFO] [stdout] test token::tests::new_with_string_token_type ... ok [INFO] [stdout] test value::tests::display ... ok [INFO] [stdout] test value::tests::is_truthy ... ok [INFO] [stdout] test scanner::tests::scan_single_char_tokens ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 50 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "a2084dde47ac057c7fc87a05c65be7582495f7e37b1df42718a8bbd89b08927c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a2084dde47ac057c7fc87a05c65be7582495f7e37b1df42718a8bbd89b08927c", kill_on_drop: false }` [INFO] [stdout] a2084dde47ac057c7fc87a05c65be7582495f7e37b1df42718a8bbd89b08927c