[INFO] cloning repository https://github.com/golergka/rs-lox
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/golergka/rs-lox" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgolergka%2Frs-lox", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgolergka%2Frs-lox'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 1869487814ace2f6d4f2add164c1c37c3fc7f35b
[INFO] testing golergka/rs-lox against 1.69.0 for beta-1.70-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgolergka%2Frs-lox" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/golergka/rs-lox on toolchain 1.69.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.69.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/golergka/rs-lox
[INFO] finished tweaking git repo https://github.com/golergka/rs-lox
[INFO] tweaked toml for git repo https://github.com/golergka/rs-lox written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/golergka/rs-lox already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.69.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded text_io v0.1.9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+1.69.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 6dfe09f03d2fe6d96e5432fe96800e07dcca71997b2a3dc831df04d951cc8586
[INFO] running `Command { std: "docker" "start" "-a" "6dfe09f03d2fe6d96e5432fe96800e07dcca71997b2a3dc831df04d951cc8586", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6dfe09f03d2fe6d96e5432fe96800e07dcca71997b2a3dc831df04d951cc8586", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6dfe09f03d2fe6d96e5432fe96800e07dcca71997b2a3dc831df04d951cc8586", kill_on_drop: false }`
[INFO] [stdout] 6dfe09f03d2fe6d96e5432fe96800e07dcca71997b2a3dc831df04d951cc8586
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--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:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+1.69.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f58a50e67d3d2fdeb1c4f2293e4696d175ba1e716d5373c1cd073a605fc59176
[INFO] running `Command { std: "docker" "start" "-a" "f58a50e67d3d2fdeb1c4f2293e4696d175ba1e716d5373c1cd073a605fc59176", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.29
[INFO] [stderr]    Compiling unicode-xid v0.2.2
[INFO] [stderr]    Compiling syn v1.0.76
[INFO] [stderr]    Compiling autocfg v1.0.1
[INFO] [stderr]    Compiling text_io v0.1.9
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling quote v1.0.9
[INFO] [stderr]    Compiling num-derive v0.3.3
[INFO] [stderr]    Compiling rs-lox v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Obj`
[INFO] [stdout]  --> src/compiler.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::gc::{Obj, GC};
[INFO] [stdout]   |                 ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::value::Value::Number`
[INFO] [stdout]  --> src/debug.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::value::Value::Number;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::value::*`
[INFO] [stdout]  --> src/debug.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::value::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::value::Value`
[INFO] [stdout]  --> src/gc.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::value::Value;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/table.rs:4:16
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::ptr::{self, null_mut};
[INFO] [stdout]   |                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/gc.rs:42:13
[INFO] [stdout]    |
[INFO] [stdout] 42 |             _ => panic!("Expected Obj::String"),
[INFO] [stdout]    |             ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/gc.rs:120:20
[INFO] [stdout]     |
[INFO] [stdout] 120 |                 if let Obj::String(inner_string) = &self.refs.as_ref().unwrap().value {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout]     = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k`
[INFO] [stdout]   --> src/table.rs:68:37
[INFO] [stdout]    |
[INFO] [stdout] 68 |             Entry::Tombstone { key: k } => {
[INFO] [stdout]    |                                     ^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/table.rs:147:21
[INFO] [stdout]     |
[INFO] [stdout] 147 |                 let mut dest = get_entry(new_ptr, new_cap, *key);
[INFO] [stdout]     |                     ----^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/table.rs:175:17
[INFO] [stdout]     |
[INFO] [stdout] 175 |             let mut entry = get_entry(self.ptr, self.cap, key);
[INFO] [stdout]     |                 ----^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/table.rs:176:17
[INFO] [stdout]     |
[INFO] [stdout] 176 |             let mut result: bool = match *entry {
[INFO] [stdout]     |                 ----^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `error` is never used
[INFO] [stdout]    --> src/compiler.rs:279:8
[INFO] [stdout]     |
[INFO] [stdout] 279 |     fn error(&mut self, message: String) {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `disassemble_chunk` is never used
[INFO] [stdout]  --> src/debug.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn disassemble_chunk(chunk: &Chunk, name: &str) -> String {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `unwrap_string` is never used
[INFO] [stdout]   --> src/gc.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 39 |     pub fn unwrap_string(&self) -> &ObjString {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Tombstone` is never constructed
[INFO] [stdout]  --> src/table.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | enum Entry<T> {
[INFO] [stdout]   |      ----- variant in this enum
[INFO] [stdout] 7 |     Empty,
[INFO] [stdout] 8 |     Tombstone { key: *const ObjString },
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `print` is never used
[INFO] [stdout]   --> src/table.rs:98:8
[INFO] [stdout]    |
[INFO] [stdout] 98 |     fn print(&self) {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `delete` is never used
[INFO] [stdout]    --> src/table.rs:238:12
[INFO] [stdout]     |
[INFO] [stdout] 238 |     pub fn delete(&mut self, key: &ObjString) -> bool {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 17 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 3.88s
[INFO] running `Command { std: "docker" "inspect" "f58a50e67d3d2fdeb1c4f2293e4696d175ba1e716d5373c1cd073a605fc59176", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f58a50e67d3d2fdeb1c4f2293e4696d175ba1e716d5373c1cd073a605fc59176", kill_on_drop: false }`
[INFO] [stdout] f58a50e67d3d2fdeb1c4f2293e4696d175ba1e716d5373c1cd073a605fc59176
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--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:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+1.69.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ab678d1a4a9297bc0b16621a49e6903b6fb2b84ed50dcdfd52e8aae1b5c69ceb
[INFO] running `Command { std: "docker" "start" "-a" "ab678d1a4a9297bc0b16621a49e6903b6fb2b84ed50dcdfd52e8aae1b5c69ceb", kill_on_drop: false }`
[INFO] [stderr]    Compiling rs-lox v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::gc::ObjString`
[INFO] [stdout]    --> src/compiler.rs:563:13
[INFO] [stdout]     |
[INFO] [stdout] 563 |         use crate::gc::ObjString;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::value::*`
[INFO] [stdout]  --> src/debug.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::value::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::value::Value`
[INFO] [stdout]  --> src/gc.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::value::Value;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/table.rs:4:16
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::ptr::{self, null_mut};
[INFO] [stdout]   |                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[macro_use]` only has an effect on `extern crate` and modules
[INFO] [stdout]    --> src/gc.rs:167:5
[INFO] [stdout]     |
[INFO] [stdout] 167 |     #[macro_use]
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_attributes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/gc.rs:159:13
[INFO] [stdout]     |
[INFO] [stdout] 159 |             _ => panic!("Expected string"),
[INFO] [stdout]     |             ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/compiler.rs:599:37
[INFO] [stdout]     |
[INFO] [stdout] 599 |                 Value::Object(o) => assert_eq_str!(o, "hello world"),
[INFO] [stdout]     |                                     -------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `assert_eq_str` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/gc.rs:159:13
[INFO] [stdout]     |
[INFO] [stdout] 159 |             _ => panic!("Expected string"),
[INFO] [stdout]     |             ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/compiler.rs:696:37
[INFO] [stdout]     |
[INFO] [stdout] 696 |                 Value::Object(o) => assert_eq_str!(o, "x"),
[INFO] [stdout]     |                                     ---------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `assert_eq_str` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/gc.rs:159:13
[INFO] [stdout]     |
[INFO] [stdout] 159 |             _ => panic!("Expected string"),
[INFO] [stdout]     |             ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/compiler.rs:707:37
[INFO] [stdout]     |
[INFO] [stdout] 707 |                 Value::Object(o) => assert_eq_str!(o, "x"),
[INFO] [stdout]     |                                     ---------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `assert_eq_str` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/gc.rs:159:13
[INFO] [stdout]     |
[INFO] [stdout] 159 |             _ => panic!("Expected string"),
[INFO] [stdout]     |             ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/compiler.rs:719:37
[INFO] [stdout]     |
[INFO] [stdout] 719 |                 Value::Object(o) => assert_eq_str!(o, "x"),
[INFO] [stdout]     |                                     ---------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `assert_eq_str` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/gc.rs:159:13
[INFO] [stdout]     |
[INFO] [stdout] 159 |             _ => panic!("Expected string"),
[INFO] [stdout]     |             ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/compiler.rs:724:37
[INFO] [stdout]     |
[INFO] [stdout] 724 |                 Value::Object(o) => assert_eq_str!(o, "x"),
[INFO] [stdout]     |                                     ---------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `assert_eq_str` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/gc.rs:159:13
[INFO] [stdout]     |
[INFO] [stdout] 159 |             _ => panic!("Expected string"),
[INFO] [stdout]     |             ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/vm.rs:486:39
[INFO] [stdout]     |
[INFO] [stdout] 486 |             Ok(Value::Object(obj)) => assert_eq_str!(obj, "hello world"),
[INFO] [stdout]     |                                       ---------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `assert_eq_str` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/gc.rs:159:13
[INFO] [stdout]     |
[INFO] [stdout] 159 |             _ => panic!("Expected string"),
[INFO] [stdout]     |             ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/vm.rs:546:39
[INFO] [stdout]     |
[INFO] [stdout] 546 |             Ok(Value::Object(obj)) => assert_eq_str!(obj, "helloworld"),
[INFO] [stdout]     |                                       --------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `assert_eq_str` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/gc.rs:42:13
[INFO] [stdout]    |
[INFO] [stdout] 42 |             _ => panic!("Expected Obj::String"),
[INFO] [stdout]    |             ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/gc.rs:120:20
[INFO] [stdout]     |
[INFO] [stdout] 120 |                 if let Obj::String(inner_string) = &self.refs.as_ref().unwrap().value {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout]     = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/gc.rs:159:13
[INFO] [stdout]     |
[INFO] [stdout] 159 |             _ => panic!("Expected string"),
[INFO] [stdout]     |             ^
[INFO] [stdout] ...
[INFO] [stdout] 174 |         assert_eq_str!(r, "hello world");
[INFO] [stdout]     |         -------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `assert_eq_str` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/gc.rs:159:13
[INFO] [stdout]     |
[INFO] [stdout] 159 |             _ => panic!("Expected string"),
[INFO] [stdout]     |             ^
[INFO] [stdout] ...
[INFO] [stdout] 183 |         assert_eq_str!(s1, "hello world");
[INFO] [stdout]     |         --------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `assert_eq_str` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/gc.rs:159:13
[INFO] [stdout]     |
[INFO] [stdout] 159 |             _ => panic!("Expected string"),
[INFO] [stdout]     |             ^
[INFO] [stdout] ...
[INFO] [stdout] 184 |         assert_eq_str!(s2, "hello world");
[INFO] [stdout]     |         --------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `assert_eq_str` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k`
[INFO] [stdout]   --> src/table.rs:68:37
[INFO] [stdout]    |
[INFO] [stdout] 68 |             Entry::Tombstone { key: k } => {
[INFO] [stdout]    |                                     ^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/table.rs:147:21
[INFO] [stdout]     |
[INFO] [stdout] 147 |                 let mut dest = get_entry(new_ptr, new_cap, *key);
[INFO] [stdout]     |                     ----^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/table.rs:175:17
[INFO] [stdout]     |
[INFO] [stdout] 175 |             let mut entry = get_entry(self.ptr, self.cap, key);
[INFO] [stdout]     |                 ----^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/table.rs:176:17
[INFO] [stdout]     |
[INFO] [stdout] 176 |             let mut result: bool = match *entry {
[INFO] [stdout]     |                 ----^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/table.rs:492:13
[INFO] [stdout]     |
[INFO] [stdout] 492 |         let mut table: Table<()> = Table::new();
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `error` is never used
[INFO] [stdout]    --> src/compiler.rs:279:8
[INFO] [stdout]     |
[INFO] [stdout] 279 |     fn error(&mut self, message: String) {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `unwrap_string` is never used
[INFO] [stdout]   --> src/gc.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 39 |     pub fn unwrap_string(&self) -> &ObjString {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 24 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 1.03s
[INFO] running `Command { std: "docker" "inspect" "ab678d1a4a9297bc0b16621a49e6903b6fb2b84ed50dcdfd52e8aae1b5c69ceb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ab678d1a4a9297bc0b16621a49e6903b6fb2b84ed50dcdfd52e8aae1b5c69ceb", kill_on_drop: false }`
[INFO] [stdout] ab678d1a4a9297bc0b16621a49e6903b6fb2b84ed50dcdfd52e8aae1b5c69ceb
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--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:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+1.69.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] d6680240d6008c5ee79a05cb3ff6304274849189fd4e6d8ae316d7a57df736c7
[INFO] running `Command { std: "docker" "start" "-a" "d6680240d6008c5ee79a05cb3ff6304274849189fd4e6d8ae316d7a57df736c7", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `crate::gc::ObjString`
[INFO] [stderr]    --> src/compiler.rs:563:13
[INFO] [stderr]     |
[INFO] [stderr] 563 |         use crate::gc::ObjString;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::value::*`
[INFO] [stderr]  --> src/debug.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use crate::value::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::value::Value`
[INFO] [stderr]  --> src/gc.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use crate::value::Value;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `self`
[INFO] [stderr]  --> src/table.rs:4:16
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::ptr::{self, null_mut};
[INFO] [stderr]   |                ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `#[macro_use]` only has an effect on `extern crate` and modules
[INFO] [stderr]    --> src/gc.rs:167:5
[INFO] [stderr]     |
[INFO] [stderr] 167 |     #[macro_use]
[INFO] [stderr]     |     ^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_attributes)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/gc.rs:159:13
[INFO] [stderr]     |
[INFO] [stderr] 159 |             _ => panic!("Expected string"),
[INFO] [stderr]     |             ^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/compiler.rs:599:37
[INFO] [stderr]     |
[INFO] [stderr] 599 |                 Value::Object(o) => assert_eq_str!(o, "hello world"),
[INFO] [stderr]     |                                     -------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stderr]     = note: this warning originates in the macro `assert_eq_str` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/gc.rs:159:13
[INFO] [stderr]     |
[INFO] [stderr] 159 |             _ => panic!("Expected string"),
[INFO] [stderr]     |             ^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/compiler.rs:696:37
[INFO] [stderr]     |
[INFO] [stderr] 696 |                 Value::Object(o) => assert_eq_str!(o, "x"),
[INFO] [stderr]     |                                     ---------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `assert_eq_str` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/gc.rs:159:13
[INFO] [stderr]     |
[INFO] [stderr] 159 |             _ => panic!("Expected string"),
[INFO] [stderr]     |             ^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/compiler.rs:707:37
[INFO] [stderr]     |
[INFO] [stderr] 707 |                 Value::Object(o) => assert_eq_str!(o, "x"),
[INFO] [stderr]     |                                     ---------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `assert_eq_str` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/gc.rs:159:13
[INFO] [stderr]     |
[INFO] [stderr] 159 |             _ => panic!("Expected string"),
[INFO] [stderr]     |             ^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/compiler.rs:719:37
[INFO] [stderr]     |
[INFO] [stderr] 719 |                 Value::Object(o) => assert_eq_str!(o, "x"),
[INFO] [stderr]     |                                     ---------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `assert_eq_str` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/gc.rs:159:13
[INFO] [stderr]     |
[INFO] [stderr] 159 |             _ => panic!("Expected string"),
[INFO] [stderr]     |             ^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/compiler.rs:724:37
[INFO] [stderr]     |
[INFO] [stderr] 724 |                 Value::Object(o) => assert_eq_str!(o, "x"),
[INFO] [stderr]     |                                     ---------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `assert_eq_str` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/gc.rs:159:13
[INFO] [stderr]     |
[INFO] [stderr] 159 |             _ => panic!("Expected string"),
[INFO] [stderr]     |             ^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/vm.rs:486:39
[INFO] [stderr]     |
[INFO] [stderr] 486 |             Ok(Value::Object(obj)) => assert_eq_str!(obj, "hello world"),
[INFO] [stderr]     |                                       ---------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `assert_eq_str` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/gc.rs:159:13
[INFO] [stderr]     |
[INFO] [stderr] 159 |             _ => panic!("Expected string"),
[INFO] [stderr]     |             ^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/vm.rs:546:39
[INFO] [stderr]     |
[INFO] [stderr] 546 |             Ok(Value::Object(obj)) => assert_eq_str!(obj, "helloworld"),
[INFO] [stderr]     |                                       --------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `assert_eq_str` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]   --> src/gc.rs:42:13
[INFO] [stderr]    |
[INFO] [stderr] 42 |             _ => panic!("Expected Obj::String"),
[INFO] [stderr]    |             ^
[INFO] [stderr] 
[INFO] [stderr] warning: irrefutable `if let` pattern
[INFO] [stderr]    --> src/gc.rs:120:20
[INFO] [stderr]     |
[INFO] [stderr] 120 |                 if let Obj::String(inner_string) = &self.refs.as_ref().unwrap().value {
[INFO] [stderr]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stderr]     = help: consider replacing the `if let` with a `let`
[INFO] [stderr]     = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/gc.rs:159:13
[INFO] [stderr]     |
[INFO] [stderr] 159 |             _ => panic!("Expected string"),
[INFO] [stderr]     |             ^
[INFO] [stderr] ...
[INFO] [stderr] 174 |         assert_eq_str!(r, "hello world");
[INFO] [stderr]     |         -------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `assert_eq_str` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/gc.rs:159:13
[INFO] [stderr]     |
[INFO] [stderr] 159 |             _ => panic!("Expected string"),
[INFO] [stderr]     |             ^
[INFO] [stderr] ...
[INFO] [stderr] 183 |         assert_eq_str!(s1, "hello world");
[INFO] [stderr]     |         --------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `assert_eq_str` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/gc.rs:159:13
[INFO] [stderr]     |
[INFO] [stderr] 159 |             _ => panic!("Expected string"),
[INFO] [stderr]     |             ^
[INFO] [stderr] ...
[INFO] [stderr] 184 |         assert_eq_str!(s2, "hello world");
[INFO] [stderr]     |         --------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `assert_eq_str` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `k`
[INFO] [stderr]   --> src/table.rs:68:37
[INFO] [stderr]    |
[INFO] [stderr] 68 |             Entry::Tombstone { key: k } => {
[INFO] [stderr]    |                                     ^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/table.rs:147:21
[INFO] [stderr]     |
[INFO] [stderr] 147 |                 let mut dest = get_entry(new_ptr, new_cap, *key);
[INFO] [stderr]     |                     ----^^^^
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/table.rs:175:17
[INFO] [stderr]     |
[INFO] [stderr] 175 |             let mut entry = get_entry(self.ptr, self.cap, key);
[INFO] [stderr]     |                 ----^^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/table.rs:176:17
[INFO] [stderr]     |
[INFO] [stderr] 176 |             let mut result: bool = match *entry {
[INFO] [stderr]     |                 ----^^^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/table.rs:492:13
[INFO] [stderr]     |
[INFO] [stderr] 492 |         let mut table: Table<()> = Table::new();
[INFO] [stderr]     |             ----^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: method `error` is never used
[INFO] [stderr]    --> src/compiler.rs:279:8
[INFO] [stderr]     |
[INFO] [stderr] 279 |     fn error(&mut self, message: String) {
[INFO] [stderr]     |        ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: method `unwrap_string` is never used
[INFO] [stderr]   --> src/gc.rs:39:12
[INFO] [stderr]    |
[INFO] [stderr] 39 |     pub fn unwrap_string(&self) -> &ObjString {
[INFO] [stderr]    |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `rs-lox` (bin "rs-lox" test) generated 24 warnings (run `cargo fix --bin "rs-lox" --tests` to apply 9 suggestions)
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.01s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/rs_lox-b1ee554841c70acd)
[INFO] [stdout] 
[INFO] [stdout] running 145 tests
[INFO] [stdout] test chunk::tests::adds_correct_constant ... ok
[INFO] [stdout] test chunk::tests::returns_correct_code ... ok
[INFO] [stdout] test chunk::tests::returns_correct_line ... ok
[INFO] [stdout] test chunk::tests::returns_none_for_out_of_bounds_line ... ok
[INFO] [stdout] test chunk::tests::writes_300_constants ... ok
[INFO] [stdout] test chunk::tests::writes_constant ... ok
[INFO] [stdout] test compiler::tests::can_use_gc_after_compiling ... ok
[INFO] [stdout] test compiler::tests::bang_equal ... ok
[INFO] [stdout] test compiler::tests::equal_equal ... ok
[INFO] [stdout] test compiler::tests::literals::nil_literal ... ok
[INFO] [stdout] test compiler::tests::literals::false_literal ... ok
[INFO] [stdout] test compiler::tests::literals::number_literal ... ok
[INFO] [stdout] test compiler::tests::negate ... ok
[INFO] [stdout] test compiler::tests::literals::string_literal ... ok
[INFO] [stdout] test compiler::tests::literals::true_literal ... ok
[INFO] [stdout] test compiler::tests::not ... ok
[INFO] [stdout] test compiler::tests::statements::expression_statement ... ok
[INFO] [stdout] test compiler::tests::statements::print_statement ... ok
[INFO] [stderr] error: test failed, to rerun pass `--bin rs-lox`
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/target/debug/deps/rs_lox-b1ee554841c70acd` (signal: 11, SIGSEGV: invalid memory reference)
[INFO] running `Command { std: "docker" "inspect" "d6680240d6008c5ee79a05cb3ff6304274849189fd4e6d8ae316d7a57df736c7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d6680240d6008c5ee79a05cb3ff6304274849189fd4e6d8ae316d7a57df736c7", kill_on_drop: false }`
[INFO] [stdout] d6680240d6008c5ee79a05cb3ff6304274849189fd4e6d8ae316d7a57df736c7
