[INFO] cloning repository https://github.com/djmill0326/basic [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/djmill0326/basic" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdjmill0326%2Fbasic", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdjmill0326%2Fbasic'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] dae8af4c815268ba66c0786767551b9cd7b7552c [INFO] checking djmill0326/basic/dae8af4c815268ba66c0786767551b9cd7b7552c against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdjmill0326%2Fbasic" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/djmill0326/basic on toolchain ccf408f4326a858c00dd845a64a86b16f360a801 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/djmill0326/basic [INFO] finished tweaking git repo https://github.com/djmill0326/basic [INFO] tweaked toml for git repo https://github.com/djmill0326/basic written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/djmill0326/basic 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" "+ccf408f4326a858c00dd845a64a86b16f360a801" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/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:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] cd816ab94a267a4442309b38813ee8487fd5a6995b371e77349cd0b85499903b [INFO] running `Command { std: "docker" "start" "-a" "cd816ab94a267a4442309b38813ee8487fd5a6995b371e77349cd0b85499903b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "cd816ab94a267a4442309b38813ee8487fd5a6995b371e77349cd0b85499903b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "cd816ab94a267a4442309b38813ee8487fd5a6995b371e77349cd0b85499903b", kill_on_drop: false }` [INFO] [stdout] cd816ab94a267a4442309b38813ee8487fd5a6995b371e77349cd0b85499903b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/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:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] e9977192d7681173e47ebd5d6e5f67f25816fdf9685fc6866b8684fbf9b17156 [INFO] running `Command { std: "docker" "start" "-a" "e9977192d7681173e47ebd5d6e5f67f25816fdf9685fc6866b8684fbf9b17156", kill_on_drop: false }` [INFO] [stderr] Copying to /tmp/fixit [INFO] [stderr] Running `cargo fix --edition` [INFO] [stderr] Migrating Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Checking basic v0.1.0 (/tmp/fixit) [INFO] [stderr] Migrating src/main.rs from 2021 edition to 2024 [INFO] [stderr] Fixed src/main.rs (1 fix) [INFO] [stderr] Fixed src/render.rs (1 fix) [INFO] [stderr] Fixed src/memory/object.rs (1 fix) [INFO] [stderr] Fixed src/memory/list.rs (1 fix) [INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged [INFO] [stdout] --> src/memory/object.rs:27:14 [INFO] [stdout] | [INFO] [stdout] 27 | unsafe { &mut CALL_TABLE } [INFO] [stdout] | ^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] = note: `--force-warn static-mut-refs` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 27 | unsafe { addr_of_mut!(CALL_TABLE) } [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/memory/string.rs:10:16 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn str<'a>(x: impl From<&'a str>) -> Object { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `send` and `recv` are never read [INFO] [stdout] --> src/main.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 25 | struct Io<'a, 'b> { [INFO] [stdout] | -- fields in this struct [INFO] [stdout] 26 | send: File<'a>, [INFO] [stdout] | ^^^^ [INFO] [stdout] 27 | recv: File<'b> [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Io` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `io` is never read [INFO] [stdout] --> src/main.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 31 | struct Device<'a> { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] 32 | io: Io<'a, 'a> [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `Device` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `stdin` and `stderr` are never read [INFO] [stdout] --> src/main.rs:38:5 [INFO] [stdout] | [INFO] [stdout] 36 | struct Logger<'a> { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 37 | stdout: File<'a>, [INFO] [stdout] 38 | stdin: File<'a>, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 39 | stderr: File<'a> [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Logger` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `device` and `data` are never read [INFO] [stdout] --> src/main.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 43 | struct Storage { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 44 | device: Device<'static>, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 45 | data: Memory [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Storage` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `root_device` and `storage` are never read [INFO] [stdout] --> src/main.rs:50:5 [INFO] [stdout] | [INFO] [stdout] 49 | struct System { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 50 | root_device: Device<'static>, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 51 | storage: Storage, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `System` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `warn` and `err` are never used [INFO] [stdout] --> src/main.rs:116:8 [INFO] [stdout] | [INFO] [stdout] 111 | impl<'a> Logger<'a> { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 116 | fn warn(&self, x: &str) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 120 | fn err(&self, x: &str) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `TypeShitHost` is never used [INFO] [stdout] --> src/typeshit.rs:3:10 [INFO] [stdout] | [INFO] [stdout] 3 | pub type TypeShitHost = PhantomData; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TypeShit` is never constructed [INFO] [stdout] --> src/typeshit.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct TypeShit(pub Vec>>); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get`, `push`, and `pop` are never used [INFO] [stdout] --> src/typeshit.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 6 | impl TypeShit { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] 7 | pub fn get(&mut self, id: usize) -> Option> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 11 | pub fn push(&mut self, b: Box) -> usize { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 17 | pub fn pop(&mut self, id: usize) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/memory/mod.rs:13:17 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct Page(pub [usize; PAGE_SIZE]); [INFO] [stdout] | ---- ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `Page` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/memory/mod.rs:16:18 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct Stack(pub [usize; STACK_SIZE]); [INFO] [stdout] | ----- ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `Stack` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/memory/mod.rs:19:17 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct Heap(pub Vec); [INFO] [stdout] | ---- ^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `Heap` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/memory/mod.rs:26:36 [INFO] [stdout] | [INFO] [stdout] 26 | Page(Page), Stack(Stack), Heap(Heap), Dynamic(Dynamic) [INFO] [stdout] | ---- ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Memory` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 26 | Page(Page), Stack(Stack), Heap(()), Dynamic(Dynamic) [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Page`, `Stack`, and `Dynamic` are never constructed [INFO] [stdout] --> src/memory/mod.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 25 | pub enum Memory { [INFO] [stdout] | ------ variants in this enum [INFO] [stdout] 26 | Page(Page), Stack(Stack), Heap(Heap), Dynamic(Dynamic) [INFO] [stdout] | ^^^^ ^^^^^ ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Memory` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `root_page` is never used [INFO] [stdout] --> src/memory/mod.rs:60:8 [INFO] [stdout] | [INFO] [stdout] 60 | pub fn root_page() -> &'static mut Page { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `root_stack` is never used [INFO] [stdout] --> src/memory/mod.rs:64:8 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn root_stack() -> &'static mut Stack { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `root_heap` is never used [INFO] [stdout] --> src/memory/mod.rs:68:8 [INFO] [stdout] | [INFO] [stdout] 68 | pub fn root_heap() -> &'static mut Heap { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_page` is never used [INFO] [stdout] --> src/memory/mod.rs:72:8 [INFO] [stdout] | [INFO] [stdout] 72 | pub fn get_page<'a>(x: usize) -> Option<&'a mut Page> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `alloc_page` is never used [INFO] [stdout] --> src/memory/mod.rs:76:8 [INFO] [stdout] | [INFO] [stdout] 76 | pub fn alloc_page<'a>() -> (Option<&'a mut Page>, usize) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dealloc_page` is never used [INFO] [stdout] --> src/memory/mod.rs:83:8 [INFO] [stdout] | [INFO] [stdout] 83 | pub fn dealloc_page<'a>(index: usize) -> Result<(), &'static str> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `LIST_PROTO` is never used [INFO] [stdout] --> src/memory/list.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | static mut LIST_PROTO: Option = None; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `LISTS` is never used [INFO] [stdout] --> src/memory/list.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | static mut LISTS: Vec> = Vec::new(); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `type_erase` is never used [INFO] [stdout] --> src/memory/list.rs:8:4 [INFO] [stdout] | [INFO] [stdout] 8 | fn type_erase(x: Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `list_proto` is never used [INFO] [stdout] --> src/memory/list.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn list_proto() -> &'static Object { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `list` is never used [INFO] [stdout] --> src/memory/list.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn list<'a, T>(x: Vec) -> Object { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `index` is never used [INFO] [stdout] --> src/memory/list.rs:25:8 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn index(x: Option<&Object>) -> Generic { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `init` is never used [INFO] [stdout] --> src/memory/list.rs:30:15 [INFO] [stdout] | [INFO] [stdout] 30 | pub(crate) fn init() { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/memory/object.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 30 | impl Object { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 40 | pub fn from(x: &Object) -> Object { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | pub fn get_usize(&self, index: usize) -> Output { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | pub fn get_object<'a>(&self, index: usize) -> Output<&'a Object> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn get_fn(&self, index: usize) -> Output) -> Generic> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 95 | pub fn call<'a>(&self, x: Option<&'a Object>) -> Generic<'a> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn prototype(&self) -> &Object { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 103 | pub fn str(&self) -> String { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `STR_PTOTO` is never used [INFO] [stdout] --> src/memory/string.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | static mut STR_PTOTO: Option = None; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `str_proto` is never used [INFO] [stdout] --> src/memory/string.rs:6:4 [INFO] [stdout] | [INFO] [stdout] 6 | fn str_proto() -> &'static Object { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `str` is never used [INFO] [stdout] --> src/memory/string.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn str<'a>(x: impl From<&'a str>) -> Object { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `proto_call` is never used [INFO] [stdout] --> src/memory/string.rs:15:4 [INFO] [stdout] | [INFO] [stdout] 15 | fn proto_call(x: Option<&Object>) -> Generic { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `init` is never used [INFO] [stdout] --> src/memory/string.rs:20:15 [INFO] [stdout] | [INFO] [stdout] 20 | pub(crate) fn init() { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get` and `remove` are never used [INFO] [stdout] --> src/memory/table.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 9 | impl<'a> Table<'a> { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 14 | pub fn get(&self, key: impl Into<&'a str>) -> Option<&&'a mut Object> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | pub fn remove(&mut self, key: impl Into<&'a str>) -> Option<&'a mut Object> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/memory/object.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | obj.set_object(0, x); [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)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 42 | let _ = obj.set_object(0, x); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 37 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged [INFO] [stdout] --> src/memory/object.rs:27:14 [INFO] [stdout] | [INFO] [stdout] 27 | unsafe { &mut CALL_TABLE } [INFO] [stdout] | ^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] = note: `--force-warn static-mut-refs` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 27 | unsafe { addr_of_mut!(CALL_TABLE) } [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/memory/string.rs:10:16 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn str<'a>(x: impl From<&'a str>) -> Object { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `send` and `recv` are never read [INFO] [stdout] --> src/main.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 25 | struct Io<'a, 'b> { [INFO] [stdout] | -- fields in this struct [INFO] [stdout] 26 | send: File<'a>, [INFO] [stdout] | ^^^^ [INFO] [stdout] 27 | recv: File<'b> [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Io` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `io` is never read [INFO] [stdout] --> src/main.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 31 | struct Device<'a> { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] 32 | io: Io<'a, 'a> [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `Device` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `stdin` and `stderr` are never read [INFO] [stdout] --> src/main.rs:38:5 [INFO] [stdout] | [INFO] [stdout] 36 | struct Logger<'a> { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 37 | stdout: File<'a>, [INFO] [stdout] 38 | stdin: File<'a>, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 39 | stderr: File<'a> [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Logger` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `device` and `data` are never read [INFO] [stdout] --> src/main.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 43 | struct Storage { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 44 | device: Device<'static>, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 45 | data: Memory [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Storage` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `root_device` and `storage` are never read [INFO] [stdout] --> src/main.rs:50:5 [INFO] [stdout] | [INFO] [stdout] 49 | struct System { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 50 | root_device: Device<'static>, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 51 | storage: Storage, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `System` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `warn` and `err` are never used [INFO] [stdout] --> src/main.rs:116:8 [INFO] [stdout] | [INFO] [stdout] 111 | impl<'a> Logger<'a> { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 116 | fn warn(&self, x: &str) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 120 | fn err(&self, x: &str) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `TypeShitHost` is never used [INFO] [stdout] --> src/typeshit.rs:3:10 [INFO] [stdout] | [INFO] [stdout] 3 | pub type TypeShitHost = PhantomData; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TypeShit` is never constructed [INFO] [stdout] --> src/typeshit.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct TypeShit(pub Vec>>); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get`, `push`, and `pop` are never used [INFO] [stdout] --> src/typeshit.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 6 | impl TypeShit { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] 7 | pub fn get(&mut self, id: usize) -> Option> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 11 | pub fn push(&mut self, b: Box) -> usize { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 17 | pub fn pop(&mut self, id: usize) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/memory/mod.rs:13:17 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct Page(pub [usize; PAGE_SIZE]); [INFO] [stdout] | ---- ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `Page` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/memory/mod.rs:16:18 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct Stack(pub [usize; STACK_SIZE]); [INFO] [stdout] | ----- ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `Stack` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/memory/mod.rs:19:17 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct Heap(pub Vec); [INFO] [stdout] | ---- ^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `Heap` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/memory/mod.rs:26:36 [INFO] [stdout] | [INFO] [stdout] 26 | Page(Page), Stack(Stack), Heap(Heap), Dynamic(Dynamic) [INFO] [stdout] | ---- ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Memory` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 26 | Page(Page), Stack(Stack), Heap(()), Dynamic(Dynamic) [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Page`, `Stack`, and `Dynamic` are never constructed [INFO] [stdout] --> src/memory/mod.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 25 | pub enum Memory { [INFO] [stdout] | ------ variants in this enum [INFO] [stdout] 26 | Page(Page), Stack(Stack), Heap(Heap), Dynamic(Dynamic) [INFO] [stdout] | ^^^^ ^^^^^ ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Memory` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `root_page` is never used [INFO] [stdout] --> src/memory/mod.rs:60:8 [INFO] [stdout] | [INFO] [stdout] 60 | pub fn root_page() -> &'static mut Page { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `root_stack` is never used [INFO] [stdout] --> src/memory/mod.rs:64:8 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn root_stack() -> &'static mut Stack { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `root_heap` is never used [INFO] [stdout] --> src/memory/mod.rs:68:8 [INFO] [stdout] | [INFO] [stdout] 68 | pub fn root_heap() -> &'static mut Heap { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_page` is never used [INFO] [stdout] --> src/memory/mod.rs:72:8 [INFO] [stdout] | [INFO] [stdout] 72 | pub fn get_page<'a>(x: usize) -> Option<&'a mut Page> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `alloc_page` is never used [INFO] [stdout] --> src/memory/mod.rs:76:8 [INFO] [stdout] | [INFO] [stdout] 76 | pub fn alloc_page<'a>() -> (Option<&'a mut Page>, usize) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dealloc_page` is never used [INFO] [stdout] --> src/memory/mod.rs:83:8 [INFO] [stdout] | [INFO] [stdout] 83 | pub fn dealloc_page<'a>(index: usize) -> Result<(), &'static str> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `LIST_PROTO` is never used [INFO] [stdout] --> src/memory/list.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | static mut LIST_PROTO: Option = None; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `LISTS` is never used [INFO] [stdout] --> src/memory/list.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | static mut LISTS: Vec> = Vec::new(); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `type_erase` is never used [INFO] [stdout] --> src/memory/list.rs:8:4 [INFO] [stdout] | [INFO] [stdout] 8 | fn type_erase(x: Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `list_proto` is never used [INFO] [stdout] --> src/memory/list.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn list_proto() -> &'static Object { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `list` is never used [INFO] [stdout] --> src/memory/list.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn list<'a, T>(x: Vec) -> Object { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `index` is never used [INFO] [stdout] --> src/memory/list.rs:25:8 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn index(x: Option<&Object>) -> Generic { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `init` is never used [INFO] [stdout] --> src/memory/list.rs:30:15 [INFO] [stdout] | [INFO] [stdout] 30 | pub(crate) fn init() { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/memory/object.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 30 | impl Object { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 40 | pub fn from(x: &Object) -> Object { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | pub fn get_usize(&self, index: usize) -> Output { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | pub fn get_object<'a>(&self, index: usize) -> Output<&'a Object> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn get_fn(&self, index: usize) -> Output) -> Generic> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 95 | pub fn call<'a>(&self, x: Option<&'a Object>) -> Generic<'a> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn prototype(&self) -> &Object { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 103 | pub fn str(&self) -> String { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `STR_PTOTO` is never used [INFO] [stdout] --> src/memory/string.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | static mut STR_PTOTO: Option = None; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `str_proto` is never used [INFO] [stdout] --> src/memory/string.rs:6:4 [INFO] [stdout] | [INFO] [stdout] 6 | fn str_proto() -> &'static Object { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `str` is never used [INFO] [stdout] --> src/memory/string.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn str<'a>(x: impl From<&'a str>) -> Object { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `proto_call` is never used [INFO] [stdout] --> src/memory/string.rs:15:4 [INFO] [stdout] | [INFO] [stdout] 15 | fn proto_call(x: Option<&Object>) -> Generic { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `init` is never used [INFO] [stdout] --> src/memory/string.rs:20:15 [INFO] [stdout] | [INFO] [stdout] 20 | pub(crate) fn init() { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get` and `remove` are never used [INFO] [stdout] --> src/memory/table.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 9 | impl<'a> Table<'a> { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 14 | pub fn get(&self, key: impl Into<&'a str>) -> Option<&&'a mut Object> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | pub fn remove(&mut self, key: impl Into<&'a str>) -> Option<&'a mut Object> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/memory/object.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | obj.set_object(0, x); [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)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 42 | let _ = obj.set_object(0, x); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 37 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.25s [INFO] [stderr] Running `cargo check` to verify 2024 [INFO] [stderr] Checking basic v0.1.0 (/tmp/fixit) [INFO] [stdout] error[E0796]: creating a mutable reference to a mutable static [INFO] [stdout] --> src/memory/object.rs:27:14 [INFO] [stdout] | [INFO] [stdout] 27 | unsafe { &mut CALL_TABLE } [INFO] [stdout] | ^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 27 | unsafe { addr_of_mut!(CALL_TABLE) } [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0796]: creating a mutable reference to a mutable static [INFO] [stdout] --> src/memory/object.rs:27:14 [INFO] [stdout] | [INFO] [stdout] 27 | unsafe { &mut CALL_TABLE } [INFO] [stdout] | ^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 27 | unsafe { addr_of_mut!(CALL_TABLE) } [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/memory/string.rs:10:16 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn str<'a>(x: impl From<&'a str>) -> Object { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/memory/string.rs:10:16 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn str<'a>(x: impl From<&'a str>) -> Object { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error; 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0796`. [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error; 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0796`. [INFO] [stdout] [INFO] [stderr] error: could not compile `basic` (bin "basic" test) due to 2 previous errors; 1 warning emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: could not compile `basic` (bin "basic") due to 2 previous errors; 1 warning emitted [INFO] [stderr] error: failed to check after updating to 2024 [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `cargo check --frozen --all --all-targets --message-format=json` (exit status: 101) [INFO] running `Command { std: "docker" "inspect" "e9977192d7681173e47ebd5d6e5f67f25816fdf9685fc6866b8684fbf9b17156", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e9977192d7681173e47ebd5d6e5f67f25816fdf9685fc6866b8684fbf9b17156", kill_on_drop: false }` [INFO] [stdout] e9977192d7681173e47ebd5d6e5f67f25816fdf9685fc6866b8684fbf9b17156