[INFO] cloning repository https://github.com/evomassiny/rlox
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/evomassiny/rlox" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fevomassiny%2Frlox", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fevomassiny%2Frlox'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 9b2dca12f23ccb2f32b456aa7468516d69848e61
[INFO] checking evomassiny/rlox against 1.95.0 for pr-155915
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fevomassiny%2Frlox" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/evomassiny/rlox
[INFO] finished tweaking git repo https://github.com/evomassiny/rlox
[INFO] tweaked toml for git repo https://github.com/evomassiny/rlox written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/evomassiny/rlox on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/evomassiny/rlox 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.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded proc-macro2 v1.0.46
[INFO] [stderr]   Downloaded syn v1.0.102
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] cc9642276483dcc47a1b31047ba349ad5d0f708355364d6a73201dbf9efbf46f
[INFO] running `Command { std: "docker" "start" "-a" "cc9642276483dcc47a1b31047ba349ad5d0f708355364d6a73201dbf9efbf46f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "cc9642276483dcc47a1b31047ba349ad5d0f708355364d6a73201dbf9efbf46f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cc9642276483dcc47a1b31047ba349ad5d0f708355364d6a73201dbf9efbf46f", kill_on_drop: false }`
[INFO] [stdout] cc9642276483dcc47a1b31047ba349ad5d0f708355364d6a73201dbf9efbf46f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ed2415d6da75b5f8f9f3802cda1d9a2bda67685c7b1f799828378902a8d0eb24
[INFO] running `Command { std: "docker" "start" "-a" "ed2415d6da75b5f8f9f3802cda1d9a2bda67685c7b1f799828378902a8d0eb24", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr]    Compiling proc-macro2 v1.0.46
[INFO] [stderr]    Compiling unicode-ident v1.0.4
[INFO] [stderr]     Checking lexer v0.1.0 (/opt/rustwide/workdir/lexer)
[INFO] [stderr]    Compiling syn v1.0.102
[INFO] [stderr]    Compiling libc v0.2.134
[INFO] [stderr]     Checking once_cell v1.15.0
[INFO] [stderr]     Checking heap v0.1.0 (/opt/rustwide/workdir/heap)
[INFO] [stderr]     Checking indexmap v1.9.1
[INFO] [stdout] warning: unused import: `std::convert::AsRef`
[INFO] [stdout]  --> heap/src/arrays.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::convert::AsRef;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::heap_objects::Header`
[INFO] [stdout]  --> heap/src/blocks.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::heap_objects::Header;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Block` and `LINE_COUNT`
[INFO] [stdout]  --> heap/src/compactor.rs:4:14
[INFO] [stdout]   |
[INFO] [stdout] 4 |     blocks::{Block, LINE_COUNT},
[INFO] [stdout]   |              ^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr::NonNull`
[INFO] [stdout]   --> heap/src/compactor.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::ptr::NonNull;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::arrays::Array`
[INFO] [stdout]  --> heap/src/heap.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::arrays::Array;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::boxed_values::BoxedValue`
[INFO] [stdout]  --> heap/src/heap.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::boxed_values::BoxedValue;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Header`, `Markable`, and `Object`
[INFO] [stdout]  --> heap/src/heap.rs:5:27
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::heap_objects::{Header, Markable, Object};
[INFO] [stdout]   |                           ^^^^^^  ^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::lists::List`
[INFO] [stdout]  --> heap/src/heap.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::lists::List;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::strings::Str`
[INFO] [stdout]  --> heap/src/heap.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::strings::Str;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tombstones::Tombstone`
[INFO] [stdout]  --> heap/src/heap.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::tombstones::Tombstone;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `values::Value`
[INFO] [stdout]  --> heap/src/heap_objects.rs:3:55
[INFO] [stdout]   |
[INFO] [stdout] 3 |     lists::List, strings::Str, tombstones::Tombstone, values::Value,
[INFO] [stdout]   |                                                       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> heap/src/lists.rs:134:9
[INFO] [stdout]     |
[INFO] [stdout] 134 | /         /// SAFETY:
[INFO] [stdout] 135 | |         /// safe because both &self and self.array_ptr are non Null
[INFO] [stdout]     | |___________________________________________________________________^
[INFO] [stdout] 136 | /         unsafe {
[INFO] [stdout] 137 | |             let array_header_ptr = addr_of!((*self.array_ptr).header);
[INFO] [stdout] 138 | |             let self_ptr =
[INFO] [stdout] 139 | |                 Some(NonNull::new_unchecked(self as *const _ as *mut Header));
[INFO] [stdout] ...   |
[INFO] [stdout] 143 | |             });
[INFO] [stdout] 144 | |         }
[INFO] [stdout]     | |_________- rustdoc does not generate documentation for expressions
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::blocks::InBlockPtr`
[INFO] [stdout]  --> heap/src/tombstones.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::blocks::InBlockPtr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::heap::Heap`
[INFO] [stdout]  --> heap/src/tombstones.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::heap::Heap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::memory::MemoryError`
[INFO] [stdout]  --> heap/src/tombstones.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::memory::MemoryError;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::AsRef`
[INFO] [stdout]  --> heap/src/arrays.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::convert::AsRef;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::heap_objects::Header`
[INFO] [stdout]  --> heap/src/blocks.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::heap_objects::Header;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Block` and `LINE_COUNT`
[INFO] [stdout]  --> heap/src/compactor.rs:4:14
[INFO] [stdout]   |
[INFO] [stdout] 4 |     blocks::{Block, LINE_COUNT},
[INFO] [stdout]   |              ^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr::NonNull`
[INFO] [stdout]   --> heap/src/compactor.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::ptr::NonNull;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::arrays::Array`
[INFO] [stdout]  --> heap/src/heap.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::arrays::Array;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::boxed_values::BoxedValue`
[INFO] [stdout]  --> heap/src/heap.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::boxed_values::BoxedValue;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Header`, `Markable`, and `Object`
[INFO] [stdout]  --> heap/src/heap.rs:5:27
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::heap_objects::{Header, Markable, Object};
[INFO] [stdout]   |                           ^^^^^^  ^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::lists::List`
[INFO] [stdout]  --> heap/src/heap.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::lists::List;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::strings::Str`
[INFO] [stdout]  --> heap/src/heap.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::strings::Str;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tombstones::Tombstone`
[INFO] [stdout]  --> heap/src/heap.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::tombstones::Tombstone;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `values::Value`
[INFO] [stdout]  --> heap/src/heap_objects.rs:3:55
[INFO] [stdout]   |
[INFO] [stdout] 3 |     lists::List, strings::Str, tombstones::Tombstone, values::Value,
[INFO] [stdout]   |                                                       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> heap/src/lists.rs:134:9
[INFO] [stdout]     |
[INFO] [stdout] 134 | /         /// SAFETY:
[INFO] [stdout] 135 | |         /// safe because both &self and self.array_ptr are non Null
[INFO] [stdout]     | |___________________________________________________________________^
[INFO] [stdout] 136 | /         unsafe {
[INFO] [stdout] 137 | |             let array_header_ptr = addr_of!((*self.array_ptr).header);
[INFO] [stdout] 138 | |             let self_ptr =
[INFO] [stdout] 139 | |                 Some(NonNull::new_unchecked(self as *const _ as *mut Header));
[INFO] [stdout] ...   |
[INFO] [stdout] 143 | |             });
[INFO] [stdout] 144 | |         }
[INFO] [stdout]     | |_________- rustdoc does not generate documentation for expressions
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::blocks::InBlockPtr`
[INFO] [stdout]  --> heap/src/tombstones.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::blocks::InBlockPtr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::heap::Heap`
[INFO] [stdout]  --> heap/src/tombstones.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::heap::Heap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::memory::MemoryError`
[INFO] [stdout]  --> heap/src/tombstones.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::memory::MemoryError;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> heap/src/boxed_values.rs:23:17
[INFO] [stdout]    |
[INFO] [stdout] 23 |             let mut boxed_value = ptr.as_ptr().cast::<Self>();
[INFO] [stdout]    |                 ----^^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> heap/src/lists.rs:35:17
[INFO] [stdout]    |
[INFO] [stdout] 35 |             let mut list = ptr.as_ptr().cast::<Self>();
[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]   --> heap/src/strings.rs:39:17
[INFO] [stdout]    |
[INFO] [stdout] 39 |             let mut string = ptr.as_ptr().cast::<Self>();
[INFO] [stdout]    |                 ----^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `TooBig` is never constructed
[INFO] [stdout]   --> heap/src/blocks.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub enum BlockError {
[INFO] [stdout]    |          ---------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 17 |     TooBig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BlockError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> heap/src/boxed_values.rs:23:17
[INFO] [stdout]    |
[INFO] [stdout] 23 |             let mut boxed_value = ptr.as_ptr().cast::<Self>();
[INFO] [stdout]    |                 ----^^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> heap/src/lists.rs:35:17
[INFO] [stdout]    |
[INFO] [stdout] 35 |             let mut list = ptr.as_ptr().cast::<Self>();
[INFO] [stdout]    |                 ----^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking parser v0.1.0 (/opt/rustwide/workdir/parser)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> heap/src/strings.rs:39:17
[INFO] [stdout]    |
[INFO] [stdout] 39 |             let mut string = ptr.as_ptr().cast::<Self>();
[INFO] [stdout]    |                 ----^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `TooBig` is never constructed
[INFO] [stdout]   --> heap/src/blocks.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub enum BlockError {
[INFO] [stdout]    |          ---------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 17 |     TooBig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BlockError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> parser/src/stmt_parser.rs:104:13
[INFO] [stdout]     |
[INFO] [stdout] 100 |             TokenKind::For => {
[INFO] [stdout]     |             -------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 104 |             TokenKind::For => {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Primary` is never constructed
[INFO] [stdout]   --> parser/src/expr_parser.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub enum Precedence {
[INFO] [stdout]    |          ---------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 37 |     Primary = 9,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Precedence` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking resolver v0.1.0 (/opt/rustwide/workdir/resolver)
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> parser/src/stmt_parser.rs:104:13
[INFO] [stdout]     |
[INFO] [stdout] 100 |             TokenKind::For => {
[INFO] [stdout]     |             -------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 104 |             TokenKind::For => {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking type_checker v0.1.0 (/opt/rustwide/workdir/type_checker)
[INFO] [stdout] warning: variant `Primary` is never constructed
[INFO] [stdout]   --> parser/src/expr_parser.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub enum Precedence {
[INFO] [stdout]    |          ---------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 37 |     Primary = 9,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Precedence` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `condition`
[INFO] [stdout]    --> type_checker/src/type_check.rs:572:12
[INFO] [stdout]     |
[INFO] [stdout] 572 |         If(condition, then, maybe_else) => todo!("If stmt"),
[INFO] [stdout]     |            ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_condition`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `then`
[INFO] [stdout]    --> type_checker/src/type_check.rs:572:23
[INFO] [stdout]     |
[INFO] [stdout] 572 |         If(condition, then, maybe_else) => todo!("If stmt"),
[INFO] [stdout]     |                       ^^^^ help: if this is intentional, prefix it with an underscore: `_then`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `maybe_else`
[INFO] [stdout]    --> type_checker/src/type_check.rs:572:29
[INFO] [stdout]     |
[INFO] [stdout] 572 |         If(condition, then, maybe_else) => todo!("If stmt"),
[INFO] [stdout]     |                             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_maybe_else`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> type_checker/src/type_check.rs:573:18
[INFO] [stdout]     |
[INFO] [stdout] 573 |         Function(name, args, body) => todo!("Function"),
[INFO] [stdout]     |                  ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> type_checker/src/type_check.rs:573:24
[INFO] [stdout]     |
[INFO] [stdout] 573 |         Function(name, args, body) => todo!("Function"),
[INFO] [stdout]     |                        ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `body`
[INFO] [stdout]    --> type_checker/src/type_check.rs:573:30
[INFO] [stdout]     |
[INFO] [stdout] 573 |         Function(name, args, body) => todo!("Function"),
[INFO] [stdout]     |                              ^^^^ help: if this is intentional, prefix it with an underscore: `_body`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `maybe_expr`
[INFO] [stdout]    --> type_checker/src/type_check.rs:580:16
[INFO] [stdout]     |
[INFO] [stdout] 580 |         Return(maybe_expr) => todo!("Return"),
[INFO] [stdout]     |                ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_maybe_expr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `condition`
[INFO] [stdout]    --> type_checker/src/type_check.rs:585:15
[INFO] [stdout]     |
[INFO] [stdout] 585 |         While(condition, body) => todo!("While loops"),
[INFO] [stdout]     |               ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_condition`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `body`
[INFO] [stdout]    --> type_checker/src/type_check.rs:585:26
[INFO] [stdout]     |
[INFO] [stdout] 585 |         While(condition, body) => todo!("While loops"),
[INFO] [stdout]     |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_body`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `maybe_initializer`
[INFO] [stdout]    --> type_checker/src/type_check.rs:586:13
[INFO] [stdout]     |
[INFO] [stdout] 586 |         For(maybe_initializer, maybe_condition, maybe_increment, body) => {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_maybe_initializer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `maybe_condition`
[INFO] [stdout]    --> type_checker/src/type_check.rs:586:32
[INFO] [stdout]     |
[INFO] [stdout] 586 |         For(maybe_initializer, maybe_condition, maybe_increment, body) => {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_maybe_condition`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `maybe_increment`
[INFO] [stdout]    --> type_checker/src/type_check.rs:586:49
[INFO] [stdout]     |
[INFO] [stdout] 586 |         For(maybe_initializer, maybe_condition, maybe_increment, body) => {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_maybe_increment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `body`
[INFO] [stdout]    --> type_checker/src/type_check.rs:586:66
[INFO] [stdout]     |
[INFO] [stdout] 586 |         For(maybe_initializer, maybe_condition, maybe_increment, body) => {
[INFO] [stdout]     |                                                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_body`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `types`
[INFO] [stdout]    --> type_checker/src/type_check.rs:630:9
[INFO] [stdout]     |
[INFO] [stdout] 630 |     let types = TypeTable::new();
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_types`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ConcreteType` is more private than the item `TypeError::ShouldBe::1`
[INFO] [stdout]   --> type_checker/src/type_check.rs:15:22
[INFO] [stdout]    |
[INFO] [stdout] 15 |     ShouldBe(NodeId, ConcreteType),
[INFO] [stdout]    |                      ^^^^^^^^^^^^ field `TypeError::ShouldBe::1` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `ConcreteType` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> type_checker/src/type_check.rs:57:1
[INFO] [stdout]    |
[INFO] [stdout] 57 | enum ConcreteType {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ConcreteType` is more private than the item `Fact::SymbolCanHoldType::1`
[INFO] [stdout]   --> type_checker/src/type_check.rs:44:33
[INFO] [stdout]    |
[INFO] [stdout] 44 |     SymbolCanHoldType(SymbolId, ConcreteType),
[INFO] [stdout]    |                                 ^^^^^^^^^^^^ field `Fact::SymbolCanHoldType::1` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `ConcreteType` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> type_checker/src/type_check.rs:57:1
[INFO] [stdout]    |
[INFO] [stdout] 57 | enum ConcreteType {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ExprHasAttr` is never constructed
[INFO] [stdout]   --> type_checker/src/type_check.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub enum Fact {
[INFO] [stdout]    |          ---- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 50 |     ExprHasAttr(NodeId, String),
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Fact` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `condition`
[INFO] [stdout]    --> type_checker/src/type_check.rs:572:12
[INFO] [stdout]     |
[INFO] [stdout] 572 |         If(condition, then, maybe_else) => todo!("If stmt"),
[INFO] [stdout]     |            ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_condition`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `then`
[INFO] [stdout]    --> type_checker/src/type_check.rs:572:23
[INFO] [stdout]     |
[INFO] [stdout] 572 |         If(condition, then, maybe_else) => todo!("If stmt"),
[INFO] [stdout]     |                       ^^^^ help: if this is intentional, prefix it with an underscore: `_then`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `maybe_else`
[INFO] [stdout]    --> type_checker/src/type_check.rs:572:29
[INFO] [stdout]     |
[INFO] [stdout] 572 |         If(condition, then, maybe_else) => todo!("If stmt"),
[INFO] [stdout]     |                             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_maybe_else`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> type_checker/src/type_check.rs:573:18
[INFO] [stdout]     |
[INFO] [stdout] 573 |         Function(name, args, body) => todo!("Function"),
[INFO] [stdout]     |                  ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> type_checker/src/type_check.rs:573:24
[INFO] [stdout]     |
[INFO] [stdout] 573 |         Function(name, args, body) => todo!("Function"),
[INFO] [stdout]     |                        ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `body`
[INFO] [stdout]    --> type_checker/src/type_check.rs:573:30
[INFO] [stdout]     |
[INFO] [stdout] 573 |         Function(name, args, body) => todo!("Function"),
[INFO] [stdout]     |                              ^^^^ help: if this is intentional, prefix it with an underscore: `_body`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `maybe_expr`
[INFO] [stdout]    --> type_checker/src/type_check.rs:580:16
[INFO] [stdout]     |
[INFO] [stdout] 580 |         Return(maybe_expr) => todo!("Return"),
[INFO] [stdout]     |                ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_maybe_expr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `condition`
[INFO] [stdout]    --> type_checker/src/type_check.rs:585:15
[INFO] [stdout]     |
[INFO] [stdout] 585 |         While(condition, body) => todo!("While loops"),
[INFO] [stdout]     |               ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_condition`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `body`
[INFO] [stdout]    --> type_checker/src/type_check.rs:585:26
[INFO] [stdout]     |
[INFO] [stdout] 585 |         While(condition, body) => todo!("While loops"),
[INFO] [stdout]     |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_body`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `maybe_initializer`
[INFO] [stdout]    --> type_checker/src/type_check.rs:586:13
[INFO] [stdout]     |
[INFO] [stdout] 586 |         For(maybe_initializer, maybe_condition, maybe_increment, body) => {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_maybe_initializer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `maybe_condition`
[INFO] [stdout]    --> type_checker/src/type_check.rs:586:32
[INFO] [stdout]     |
[INFO] [stdout] 586 |         For(maybe_initializer, maybe_condition, maybe_increment, body) => {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_maybe_condition`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `maybe_increment`
[INFO] [stdout]    --> type_checker/src/type_check.rs:586:49
[INFO] [stdout]     |
[INFO] [stdout] 586 |         For(maybe_initializer, maybe_condition, maybe_increment, body) => {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_maybe_increment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `body`
[INFO] [stdout]    --> type_checker/src/type_check.rs:586:66
[INFO] [stdout]     |
[INFO] [stdout] 586 |         For(maybe_initializer, maybe_condition, maybe_increment, body) => {
[INFO] [stdout]     |                                                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_body`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `types`
[INFO] [stdout]    --> type_checker/src/type_check.rs:630:9
[INFO] [stdout]     |
[INFO] [stdout] 630 |     let types = TypeTable::new();
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_types`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ConcreteType` is more private than the item `TypeError::ShouldBe::1`
[INFO] [stdout]   --> type_checker/src/type_check.rs:15:22
[INFO] [stdout]    |
[INFO] [stdout] 15 |     ShouldBe(NodeId, ConcreteType),
[INFO] [stdout]    |                      ^^^^^^^^^^^^ field `TypeError::ShouldBe::1` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `ConcreteType` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> type_checker/src/type_check.rs:57:1
[INFO] [stdout]    |
[INFO] [stdout] 57 | enum ConcreteType {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ConcreteType` is more private than the item `Fact::SymbolCanHoldType::1`
[INFO] [stdout]   --> type_checker/src/type_check.rs:44:33
[INFO] [stdout]    |
[INFO] [stdout] 44 |     SymbolCanHoldType(SymbolId, ConcreteType),
[INFO] [stdout]    |                                 ^^^^^^^^^^^^ field `Fact::SymbolCanHoldType::1` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `ConcreteType` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> type_checker/src/type_check.rs:57:1
[INFO] [stdout]    |
[INFO] [stdout] 57 | enum ConcreteType {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ExprHasAttr` is never constructed
[INFO] [stdout]   --> type_checker/src/type_check.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub enum Fact {
[INFO] [stdout]    |          ---- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 50 |     ExprHasAttr(NodeId, String),
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Fact` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling quote v1.0.21
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling clap_derive v3.2.18
[INFO] [stderr]     Checking clap v3.2.22
[INFO] [stderr]     Checking rlox v0.1.0 (/opt/rustwide/workdir/rlox)
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> rlox/src/main.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 86 |     dbg!(res);
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 86 |     let _ = dbg!(res);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> rlox/src/main.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 86 |     dbg!(res);
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 86 |     let _ = dbg!(res);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.32s
[INFO] running `Command { std: "docker" "inspect" "ed2415d6da75b5f8f9f3802cda1d9a2bda67685c7b1f799828378902a8d0eb24", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ed2415d6da75b5f8f9f3802cda1d9a2bda67685c7b1f799828378902a8d0eb24", kill_on_drop: false }`
[INFO] [stdout] ed2415d6da75b5f8f9f3802cda1d9a2bda67685c7b1f799828378902a8d0eb24
