[INFO] cloning repository https://github.com/panditdhamdhere/EVM [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/panditdhamdhere/EVM" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpanditdhamdhere%2FEVM", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpanditdhamdhere%2FEVM'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] e891588da0f9b68e318d70b674642566950f2e57 [INFO] checking panditdhamdhere/EVM against master#c720f49c46ec3e70bbc2bbb3e0dd1fe7fc0a47f2 for pr-142712 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpanditdhamdhere%2FEVM" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/panditdhamdhere/EVM [INFO] finished tweaking git repo https://github.com/panditdhamdhere/EVM [INFO] tweaked toml for git repo https://github.com/panditdhamdhere/EVM written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/panditdhamdhere/EVM on toolchain c720f49c46ec3e70bbc2bbb3e0dd1fe7fc0a47f2 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c720f49c46ec3e70bbc2bbb3e0dd1fe7fc0a47f2" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/panditdhamdhere/EVM 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" "+c720f49c46ec3e70bbc2bbb3e0dd1fe7fc0a47f2" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+c720f49c46ec3e70bbc2bbb3e0dd1fe7fc0a47f2" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 4db4042841c799829ee59b0390754f5b1296e422b6f750914492a3d117dc1207 [INFO] running `Command { std: "docker" "start" "-a" "4db4042841c799829ee59b0390754f5b1296e422b6f750914492a3d117dc1207", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "4db4042841c799829ee59b0390754f5b1296e422b6f750914492a3d117dc1207", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4db4042841c799829ee59b0390754f5b1296e422b6f750914492a3d117dc1207", kill_on_drop: false }` [INFO] [stdout] 4db4042841c799829ee59b0390754f5b1296e422b6f750914492a3d117dc1207 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+c720f49c46ec3e70bbc2bbb3e0dd1fe7fc0a47f2" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d3850fa730ffca186f22c56f74382a1aef090aeee731adf58f64ff55a9315b6a [INFO] running `Command { std: "docker" "start" "-a" "d3850fa730ffca186f22c56f74382a1aef090aeee731adf58f64ff55a9315b6a", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.86 [INFO] [stderr] Compiling unicode-ident v1.0.12 [INFO] [stderr] Compiling libc v0.2.158 [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Compiling typenum v1.17.0 [INFO] [stderr] Compiling version_check v0.9.5 [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Compiling crunchy v0.2.2 [INFO] [stderr] Checking static_assertions v1.1.0 [INFO] [stderr] Checking hex v0.4.3 [INFO] [stderr] Checking rustc-hex v2.1.0 [INFO] [stderr] Checking keccak v0.1.5 [INFO] [stderr] Checking uint v0.9.5 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling quote v1.0.37 [INFO] [stderr] Compiling syn v2.0.77 [INFO] [stderr] Checking getrandom v0.2.15 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking block-buffer v0.10.4 [INFO] [stderr] Checking crypto-common v0.1.6 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Checking sha3 v0.10.8 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Checking zerocopy v0.7.35 [INFO] [stderr] Checking ppv-lite86 v0.2.20 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking fixed-hash v0.8.0 [INFO] [stderr] Checking primitive-types v0.12.2 [INFO] [stderr] Checking evm v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] error[E0432]: unresolved import `sha2` [INFO] [stdout] --> src/main.rs:475:13 [INFO] [stdout] | [INFO] [stdout] 475 | use sha2::{Sha256, Digest}; [INFO] [stdout] | ^^^^ use of unresolved module or unlinked crate `sha2` [INFO] [stdout] | [INFO] [stdout] help: there is a crate or module with a similar name [INFO] [stdout] | [INFO] [stdout] 475 - use sha2::{Sha256, Digest}; [INFO] [stdout] 475 + use sha3::{Sha256, Digest}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `ripemd` [INFO] [stdout] --> src/main.rs:492:13 [INFO] [stdout] | [INFO] [stdout] 492 | use ripemd::{Ripemd160, Digest}; [INFO] [stdout] | ^^^^^^ use of unresolved module or unlinked crate `ripemd` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `ripemd`, use `cargo add ripemd` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `sha2` [INFO] [stdout] --> src/main.rs:475:13 [INFO] [stdout] | [INFO] [stdout] 475 | use sha2::{Sha256, Digest}; [INFO] [stdout] | ^^^^ use of unresolved module or unlinked crate `sha2` [INFO] [stdout] | [INFO] [stdout] help: there is a crate or module with a similar name [INFO] [stdout] | [INFO] [stdout] 475 - use sha2::{Sha256, Digest}; [INFO] [stdout] 475 + use sha3::{Sha256, Digest}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `ripemd` [INFO] [stdout] --> src/main.rs:492:13 [INFO] [stdout] | [INFO] [stdout] 492 | use ripemd::{Ripemd160, Digest}; [INFO] [stdout] | ^^^^^^ use of unresolved module or unlinked crate `ripemd` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `ripemd`, use `cargo add ripemd` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `get` exists for struct `HashMap
`, but its trait bounds were not satisfied [INFO] [stdout] --> src/main.rs:52:39 [INFO] [stdout] | [INFO] [stdout] 6 | struct Address([u8; 20]); [INFO] [stdout] | -------------- doesn't satisfy `Address: Eq` or `Address: Hash` [INFO] [stdout] ... [INFO] [stdout] 52 | let contract = self.contracts.get(&address).ok_or("Contract not found")?; [INFO] [stdout] | ^^^ method cannot be called on `HashMap` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `Address: Eq` [INFO] [stdout] `Address: Hash` [INFO] [stdout] help: consider annotating `Address` with `#[derive(Eq, Hash, PartialEq)]` [INFO] [stdout] | [INFO] [stdout] 6 + #[derive(Eq, Hash, PartialEq)] [INFO] [stdout] 7 | struct Address([u8; 20]); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:123:33 [INFO] [stdout] | [INFO] [stdout] 123 | self.stack.push(if b == 0 { 0.into() } else { a / b.into() }); [INFO] [stdout] | - ^ expected `U256`, found integer [INFO] [stdout] | | [INFO] [stdout] | expected because this is `U256` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0605]: non-primitive cast: `U256` as `usize` [INFO] [stdout] --> src/main.rs:133:22 [INFO] [stdout] | [INFO] [stdout] 133 | let offset = self.stack.pop().ok_or("Stack underflow")? as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ an `as` expression can only be used to convert between primitive types or to coerce to a specific trait object [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0605]: non-primitive cast: `U256` as `usize` [INFO] [stdout] --> src/main.rs:140:22 [INFO] [stdout] | [INFO] [stdout] 140 | let offset = self.stack.pop().ok_or("Stack underflow")? as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ an `as` expression can only be used to convert between primitive types or to coerce to a specific trait object [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `get` exists for struct `HashMap`, but its trait bounds were not satisfied [INFO] [stdout] --> src/main.rs:149:36 [INFO] [stdout] | [INFO] [stdout] 6 | struct Address([u8; 20]); [INFO] [stdout] | -------------- doesn't satisfy `Address: Eq` or `Address: Hash` [INFO] [stdout] ... [INFO] [stdout] 149 | let value = self.contracts.get(&self.current_contract) [INFO] [stdout] | ^^^ method cannot be called on `HashMap` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `Address: Eq` [INFO] [stdout] `Address: Hash` [INFO] [stdout] help: consider annotating `Address` with `#[derive(Eq, Hash, PartialEq)]` [INFO] [stdout] | [INFO] [stdout] 6 + #[derive(Eq, Hash, PartialEq)] [INFO] [stdout] 7 | struct Address([u8; 20]); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `get_mut` exists for struct `HashMap`, but its trait bounds were not satisfied [INFO] [stdout] --> src/main.rs:162:39 [INFO] [stdout] | [INFO] [stdout] 6 | struct Address([u8; 20]); [INFO] [stdout] | -------------- doesn't satisfy `Address: Eq` or `Address: Hash` [INFO] [stdout] ... [INFO] [stdout] 162 | let contract = self.contracts.get_mut(&self.current_contract) [INFO] [stdout] | ^^^^^^^ method cannot be called on `HashMap` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `Address: Eq` [INFO] [stdout] `Address: Hash` [INFO] [stdout] help: consider annotating `Address` with `#[derive(Eq, Hash, PartialEq)]` [INFO] [stdout] | [INFO] [stdout] 6 + #[derive(Eq, Hash, PartialEq)] [INFO] [stdout] 7 | struct Address([u8; 20]); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `insert` exists for struct `HashMap`, but its trait bounds were not satisfied [INFO] [stdout] --> src/main.rs:237:24 [INFO] [stdout] | [INFO] [stdout] 6 | struct Address([u8; 20]); [INFO] [stdout] | -------------- doesn't satisfy `Address: Eq` or `Address: Hash` [INFO] [stdout] ... [INFO] [stdout] 237 | self.contracts.insert(new_address.clone(), new_contract); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `Address: Eq` [INFO] [stdout] `Address: Hash` [INFO] [stdout] help: consider annotating `Address` with `#[derive(Eq, Hash, PartialEq)]` [INFO] [stdout] | [INFO] [stdout] 6 + #[derive(Eq, Hash, PartialEq)] [INFO] [stdout] 7 | struct Address([u8; 20]); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0605]: non-primitive cast: `U256` as `usize` [INFO] [stdout] --> src/main.rs:226:22 [INFO] [stdout] | [INFO] [stdout] 226 | let offset = self.stack.pop().ok_or("Stack underflow")? as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ an `as` expression can only be used to convert between primitive types or to coerce to a specific trait object [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0605]: non-primitive cast: `U256` as `usize` [INFO] [stdout] --> src/main.rs:227:22 [INFO] [stdout] | [INFO] [stdout] 227 | let length = self.stack.pop().ok_or("Stack underflow")? as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ an `as` expression can only be used to convert between primitive types or to coerce to a specific trait object [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `to_be_bytes` found for struct `U256` in the current scope [INFO] [stdout] --> src/main.rs:245:74 [INFO] [stdout] | [INFO] [stdout] 245 | let address = Address(self.stack.pop().ok_or("Stack underflow")?.to_be_bytes()[12..].try_into().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^ method not found in `U256` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `clone` exists for struct `HashMap`, but its trait bounds were not satisfied [INFO] [stdout] --> src/main.rs:274:48 [INFO] [stdout] | [INFO] [stdout] 14 | struct Contract { [INFO] [stdout] | --------------- doesn't satisfy `Contract: Clone` [INFO] [stdout] ... [INFO] [stdout] 274 | sub_evm.contracts = self.contracts.clone(); [INFO] [stdout] | ^^^^^ method cannot be called on `HashMap` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `Contract: Clone` [INFO] [stdout] which is required by `HashMap: Clone` [INFO] [stdout] help: consider annotating `Contract` with `#[derive(Clone)]` [INFO] [stdout] | [INFO] [stdout] 14 + #[derive(Clone)] [INFO] [stdout] 15 | struct Contract { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0605]: non-primitive cast: `U256` as `usize` [INFO] [stdout] --> src/main.rs:247:27 [INFO] [stdout] | [INFO] [stdout] 247 | let args_offset = self.stack.pop().ok_or("Stack underflow")? as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ an `as` expression can only be used to convert between primitive types or to coerce to a specific trait object [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0605]: non-primitive cast: `U256` as `usize` [INFO] [stdout] --> src/main.rs:248:27 [INFO] [stdout] | [INFO] [stdout] 248 | let args_length = self.stack.pop().ok_or("Stack underflow")? as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ an `as` expression can only be used to convert between primitive types or to coerce to a specific trait object [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0605]: non-primitive cast: `U256` as `usize` [INFO] [stdout] --> src/main.rs:249:26 [INFO] [stdout] | [INFO] [stdout] 249 | let ret_offset = self.stack.pop().ok_or("Stack underflow")? as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ an `as` expression can only be used to convert between primitive types or to coerce to a specific trait object [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `get` exists for struct `HashMap`, but its trait bounds were not satisfied [INFO] [stdout] --> src/main.rs:52:39 [INFO] [stdout] | [INFO] [stdout] 6 | struct Address([u8; 20]); [INFO] [stdout] | -------------- doesn't satisfy `Address: Eq` or `Address: Hash` [INFO] [stdout] ... [INFO] [stdout] 52 | let contract = self.contracts.get(&address).ok_or("Contract not found")?; [INFO] [stdout] | ^^^ method cannot be called on `HashMap` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `Address: Eq` [INFO] [stdout] `Address: Hash` [INFO] [stdout] help: consider annotating `Address` with `#[derive(Eq, Hash, PartialEq)]` [INFO] [stdout] | [INFO] [stdout] 6 + #[derive(Eq, Hash, PartialEq)] [INFO] [stdout] 7 | struct Address([u8; 20]); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0605]: non-primitive cast: `U256` as `usize` [INFO] [stdout] --> src/main.rs:250:26 [INFO] [stdout] | [INFO] [stdout] 250 | let ret_length = self.stack.pop().ok_or("Stack underflow")? as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ an `as` expression can only be used to convert between primitive types or to coerce to a specific trait object [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0605]: non-primitive cast: `U256` as `usize` [INFO] [stdout] --> src/main.rs:299:22 [INFO] [stdout] | [INFO] [stdout] 299 | let offset = self.stack.pop().ok_or("Stack underflow")? as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ an `as` expression can only be used to convert between primitive types or to coerce to a specific trait object [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0605]: non-primitive cast: `U256` as `usize` [INFO] [stdout] --> src/main.rs:300:22 [INFO] [stdout] | [INFO] [stdout] 300 | let length = self.stack.pop().ok_or("Stack underflow")? as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ an `as` expression can only be used to convert between primitive types or to coerce to a specific trait object [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0605]: non-primitive cast: `U256` as `usize` [INFO] [stdout] --> src/main.rs:319:22 [INFO] [stdout] | [INFO] [stdout] 319 | let offset = self.stack.pop().ok_or("Stack underflow")? as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ an `as` expression can only be used to convert between primitive types or to coerce to a specific trait object [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0605]: non-primitive cast: `U256` as `usize` [INFO] [stdout] --> src/main.rs:320:22 [INFO] [stdout] | [INFO] [stdout] 320 | let length = self.stack.pop().ok_or("Stack underflow")? as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ an `as` expression can only be used to convert between primitive types or to coerce to a specific trait object [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0605]: non-primitive cast: `U256` as `usize` [INFO] [stdout] --> src/main.rs:343:22 [INFO] [stdout] | [INFO] [stdout] 343 | let offset = self.stack.pop().ok_or("Stack underflow")? as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ an `as` expression can only be used to convert between primitive types or to coerce to a specific trait object [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0605]: non-primitive cast: `U256` as `usize` [INFO] [stdout] --> src/main.rs:344:22 [INFO] [stdout] | [INFO] [stdout] 344 | let length = self.stack.pop().ok_or("Stack underflow")? as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ an `as` expression can only be used to convert between primitive types or to coerce to a specific trait object [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `to_be_bytes` found for struct `U256` in the current scope [INFO] [stdout] --> src/main.rs:363:74 [INFO] [stdout] | [INFO] [stdout] 363 | let address = Address(self.stack.pop().ok_or("Stack underflow")?.to_be_bytes()[12..].try_into().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^ method not found in `U256` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `get` exists for struct `HashMap`, but its trait bounds were not satisfied [INFO] [stdout] --> src/main.rs:371:46 [INFO] [stdout] | [INFO] [stdout] 6 | struct Address([u8; 20]); [INFO] [stdout] | -------------- doesn't satisfy `Address: Eq` or `Address: Hash` [INFO] [stdout] ... [INFO] [stdout] 371 | let called_contract = self.contracts.get(&address).ok_or("Contract not found")?; [INFO] [stdout] | ^^^ method cannot be called on `HashMap` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `Address: Eq` [INFO] [stdout] `Address: Hash` [INFO] [stdout] help: consider annotating `Address` with `#[derive(Eq, Hash, PartialEq)]` [INFO] [stdout] | [INFO] [stdout] 6 + #[derive(Eq, Hash, PartialEq)] [INFO] [stdout] 7 | struct Address([u8; 20]); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `clone` exists for struct `HashMap`, but its trait bounds were not satisfied [INFO] [stdout] --> src/main.rs:380:44 [INFO] [stdout] | [INFO] [stdout] 14 | struct Contract { [INFO] [stdout] | --------------- doesn't satisfy `Contract: Clone` [INFO] [stdout] ... [INFO] [stdout] 380 | sub_evm.contracts = self.contracts.clone(); [INFO] [stdout] | ^^^^^ method cannot be called on `HashMap` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `Contract: Clone` [INFO] [stdout] which is required by `HashMap: Clone` [INFO] [stdout] help: consider annotating `Contract` with `#[derive(Clone)]` [INFO] [stdout] | [INFO] [stdout] 14 + #[derive(Clone)] [INFO] [stdout] 15 | struct Contract { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `get_mut` exists for struct `HashMap`, but its trait bounds were not satisfied [INFO] [stdout] --> src/main.rs:392:56 [INFO] [stdout] | [INFO] [stdout] 6 | struct Address([u8; 20]); [INFO] [stdout] | -------------- doesn't satisfy `Address: Eq` or `Address: Hash` [INFO] [stdout] ... [INFO] [stdout] 392 | if let Some(contract) = self.contracts.get_mut(&self.current_contract) { [INFO] [stdout] | ^^^^^^^ method cannot be called on `HashMap` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `Address: Eq` [INFO] [stdout] `Address: Hash` [INFO] [stdout] help: consider annotating `Address` with `#[derive(Eq, Hash, PartialEq)]` [INFO] [stdout] | [INFO] [stdout] 6 + #[derive(Eq, Hash, PartialEq)] [INFO] [stdout] 7 | struct Address([u8; 20]); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:123:33 [INFO] [stdout] | [INFO] [stdout] 123 | self.stack.push(if b == 0 { 0.into() } else { a / b.into() }); [INFO] [stdout] | - ^ expected `U256`, found integer [INFO] [stdout] | | [INFO] [stdout] | expected because this is `U256` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `get` exists for struct `HashMap`, but its trait bounds were not satisfied [INFO] [stdout] --> src/main.rs:393:58 [INFO] [stdout] | [INFO] [stdout] 6 | struct Address([u8; 20]); [INFO] [stdout] | -------------- doesn't satisfy `Address: Eq` or `Address: Hash` [INFO] [stdout] ... [INFO] [stdout] 393 | contract.storage = sub_evm.contracts.get(&self.current_contract).unwrap().storage.clone(); [INFO] [stdout] | ^^^ method cannot be called on `HashMap` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `Address: Eq` [INFO] [stdout] `Address: Hash` [INFO] [stdout] help: consider annotating `Address` with `#[derive(Eq, Hash, PartialEq)]` [INFO] [stdout] | [INFO] [stdout] 6 + #[derive(Eq, Hash, PartialEq)] [INFO] [stdout] 7 | struct Address([u8; 20]); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0605]: non-primitive cast: `U256` as `usize` [INFO] [stdout] --> src/main.rs:364:27 [INFO] [stdout] | [INFO] [stdout] 364 | let args_offset = self.stack.pop().ok_or("Stack underflow")? as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ an `as` expression can only be used to convert between primitive types or to coerce to a specific trait object [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0605]: non-primitive cast: `U256` as `usize` [INFO] [stdout] --> src/main.rs:365:27 [INFO] [stdout] | [INFO] [stdout] 365 | let args_length = self.stack.pop().ok_or("Stack underflow")? as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ an `as` expression can only be used to convert between primitive types or to coerce to a specific trait object [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0605]: non-primitive cast: `U256` as `usize` [INFO] [stdout] --> src/main.rs:133:22 [INFO] [stdout] | [INFO] [stdout] 133 | let offset = self.stack.pop().ok_or("Stack underflow")? as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ an `as` expression can only be used to convert between primitive types or to coerce to a specific trait object [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0605]: non-primitive cast: `U256` as `usize` [INFO] [stdout] --> src/main.rs:140:22 [INFO] [stdout] | [INFO] [stdout] 140 | let offset = self.stack.pop().ok_or("Stack underflow")? as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ an `as` expression can only be used to convert between primitive types or to coerce to a specific trait object [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0605]: non-primitive cast: `U256` as `usize` [INFO] [stdout] --> src/main.rs:366:26 [INFO] [stdout] | [INFO] [stdout] 366 | let ret_offset = self.stack.pop().ok_or("Stack underflow")? as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ an `as` expression can only be used to convert between primitive types or to coerce to a specific trait object [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0605]: non-primitive cast: `U256` as `usize` [INFO] [stdout] --> src/main.rs:367:26 [INFO] [stdout] | [INFO] [stdout] 367 | let ret_length = self.stack.pop().ok_or("Stack underflow")? as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ an `as` expression can only be used to convert between primitive types or to coerce to a specific trait object [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `get` exists for struct `HashMap`, but its trait bounds were not satisfied [INFO] [stdout] --> src/main.rs:149:36 [INFO] [stdout] | [INFO] [stdout] 6 | struct Address([u8; 20]); [INFO] [stdout] | -------------- doesn't satisfy `Address: Eq` or `Address: Hash` [INFO] [stdout] ... [INFO] [stdout] 149 | let value = self.contracts.get(&self.current_contract) [INFO] [stdout] | ^^^ method cannot be called on `HashMap` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `Address: Eq` [INFO] [stdout] `Address: Hash` [INFO] [stdout] help: consider annotating `Address` with `#[derive(Eq, Hash, PartialEq)]` [INFO] [stdout] | [INFO] [stdout] 6 + #[derive(Eq, Hash, PartialEq)] [INFO] [stdout] 7 | struct Address([u8; 20]); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `get_mut` exists for struct `HashMap`, but its trait bounds were not satisfied [INFO] [stdout] --> src/main.rs:162:39 [INFO] [stdout] | [INFO] [stdout] 6 | struct Address([u8; 20]); [INFO] [stdout] | -------------- doesn't satisfy `Address: Eq` or `Address: Hash` [INFO] [stdout] ... [INFO] [stdout] 162 | let contract = self.contracts.get_mut(&self.current_contract) [INFO] [stdout] | ^^^^^^^ method cannot be called on `HashMap` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `Address: Eq` [INFO] [stdout] `Address: Hash` [INFO] [stdout] help: consider annotating `Address` with `#[derive(Eq, Hash, PartialEq)]` [INFO] [stdout] | [INFO] [stdout] 6 + #[derive(Eq, Hash, PartialEq)] [INFO] [stdout] 7 | struct Address([u8; 20]); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:473:41 [INFO] [stdout] | [INFO] [stdout] 473 | self.gas = self.gas.checked_sub(60 + 12 * ((size + 31) / 32)).ok_or("Out of gas")?; [INFO] [stdout] | ----------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `u64`, found `usize` [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] note: method defined here [INFO] [stdout] --> /rustc/c720f49c46ec3e70bbc2bbb3e0dd1fe7fc0a47f2/library/core/src/num/mod.rs:1151:5 [INFO] [stdout] = note: this error originates in the macro `uint_impl` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: you can convert a `usize` to a `u64` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 473 | self.gas = self.gas.checked_sub((60 + 12 * ((size + 31) / 32)).try_into().unwrap()).ok_or("Out of gas")?; [INFO] [stdout] | + +++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0605]: non-primitive cast: `U256` as `usize` [INFO] [stdout] --> src/main.rs:469:22 [INFO] [stdout] | [INFO] [stdout] 469 | let offset = self.stack.pop().ok_or("Stack underflow")? as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ an `as` expression can only be used to convert between primitive types or to coerce to a specific trait object [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `insert` exists for struct `HashMap`, but its trait bounds were not satisfied [INFO] [stdout] --> src/main.rs:237:24 [INFO] [stdout] | [INFO] [stdout] 6 | struct Address([u8; 20]); [INFO] [stdout] | -------------- doesn't satisfy `Address: Eq` or `Address: Hash` [INFO] [stdout] ... [INFO] [stdout] 237 | self.contracts.insert(new_address.clone(), new_contract); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `Address: Eq` [INFO] [stdout] `Address: Hash` [INFO] [stdout] help: consider annotating `Address` with `#[derive(Eq, Hash, PartialEq)]` [INFO] [stdout] | [INFO] [stdout] 6 + #[derive(Eq, Hash, PartialEq)] [INFO] [stdout] 7 | struct Address([u8; 20]); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0605]: non-primitive cast: `U256` as `usize` [INFO] [stdout] --> src/main.rs:226:22 [INFO] [stdout] | [INFO] [stdout] 226 | let offset = self.stack.pop().ok_or("Stack underflow")? as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ an `as` expression can only be used to convert between primitive types or to coerce to a specific trait object [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0605]: non-primitive cast: `U256` as `usize` [INFO] [stdout] --> src/main.rs:227:22 [INFO] [stdout] | [INFO] [stdout] 227 | let length = self.stack.pop().ok_or("Stack underflow")? as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ an `as` expression can only be used to convert between primitive types or to coerce to a specific trait object [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `to_be_bytes` found for struct `U256` in the current scope [INFO] [stdout] --> src/main.rs:245:74 [INFO] [stdout] | [INFO] [stdout] 245 | let address = Address(self.stack.pop().ok_or("Stack underflow")?.to_be_bytes()[12..].try_into().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^ method not found in `U256` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `clone` exists for struct `HashMap`, but its trait bounds were not satisfied [INFO] [stdout] --> src/main.rs:274:48 [INFO] [stdout] | [INFO] [stdout] 14 | struct Contract { [INFO] [stdout] | --------------- doesn't satisfy `Contract: Clone` [INFO] [stdout] ... [INFO] [stdout] 274 | sub_evm.contracts = self.contracts.clone(); [INFO] [stdout] | ^^^^^ method cannot be called on `HashMap` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `Contract: Clone` [INFO] [stdout] which is required by `HashMap: Clone` [INFO] [stdout] help: consider annotating `Contract` with `#[derive(Clone)]` [INFO] [stdout] | [INFO] [stdout] 14 + #[derive(Clone)] [INFO] [stdout] 15 | struct Contract { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0605]: non-primitive cast: `U256` as `usize` [INFO] [stdout] --> src/main.rs:247:27 [INFO] [stdout] | [INFO] [stdout] 247 | let args_offset = self.stack.pop().ok_or("Stack underflow")? as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ an `as` expression can only be used to convert between primitive types or to coerce to a specific trait object [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0605]: non-primitive cast: `U256` as `usize` [INFO] [stdout] --> src/main.rs:248:27 [INFO] [stdout] | [INFO] [stdout] 248 | let args_length = self.stack.pop().ok_or("Stack underflow")? as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ an `as` expression can only be used to convert between primitive types or to coerce to a specific trait object [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0605]: non-primitive cast: `U256` as `usize` [INFO] [stdout] --> src/main.rs:249:26 [INFO] [stdout] | [INFO] [stdout] 249 | let ret_offset = self.stack.pop().ok_or("Stack underflow")? as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ an `as` expression can only be used to convert between primitive types or to coerce to a specific trait object [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0605]: non-primitive cast: `U256` as `usize` [INFO] [stdout] --> src/main.rs:250:26 [INFO] [stdout] | [INFO] [stdout] 250 | let ret_length = self.stack.pop().ok_or("Stack underflow")? as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ an `as` expression can only be used to convert between primitive types or to coerce to a specific trait object [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0605]: non-primitive cast: `U256` as `usize` [INFO] [stdout] --> src/main.rs:299:22 [INFO] [stdout] | [INFO] [stdout] 299 | let offset = self.stack.pop().ok_or("Stack underflow")? as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ an `as` expression can only be used to convert between primitive types or to coerce to a specific trait object [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0605]: non-primitive cast: `U256` as `usize` [INFO] [stdout] --> src/main.rs:300:22 [INFO] [stdout] | [INFO] [stdout] 300 | let length = self.stack.pop().ok_or("Stack underflow")? as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ an `as` expression can only be used to convert between primitive types or to coerce to a specific trait object [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0605]: non-primitive cast: `U256` as `usize` [INFO] [stdout] --> src/main.rs:319:22 [INFO] [stdout] | [INFO] [stdout] 319 | let offset = self.stack.pop().ok_or("Stack underflow")? as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ an `as` expression can only be used to convert between primitive types or to coerce to a specific trait object [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0605]: non-primitive cast: `U256` as `usize` [INFO] [stdout] --> src/main.rs:320:22 [INFO] [stdout] | [INFO] [stdout] 320 | let length = self.stack.pop().ok_or("Stack underflow")? as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ an `as` expression can only be used to convert between primitive types or to coerce to a specific trait object [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0605]: non-primitive cast: `U256` as `usize` [INFO] [stdout] --> src/main.rs:343:22 [INFO] [stdout] | [INFO] [stdout] 343 | let offset = self.stack.pop().ok_or("Stack underflow")? as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ an `as` expression can only be used to convert between primitive types or to coerce to a specific trait object [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0605]: non-primitive cast: `U256` as `usize` [INFO] [stdout] --> src/main.rs:344:22 [INFO] [stdout] | [INFO] [stdout] 344 | let length = self.stack.pop().ok_or("Stack underflow")? as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ an `as` expression can only be used to convert between primitive types or to coerce to a specific trait object [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `to_be_bytes` found for struct `U256` in the current scope [INFO] [stdout] --> src/main.rs:363:74 [INFO] [stdout] | [INFO] [stdout] 363 | let address = Address(self.stack.pop().ok_or("Stack underflow")?.to_be_bytes()[12..].try_into().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^ method not found in `U256` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `get` exists for struct `HashMap`, but its trait bounds were not satisfied [INFO] [stdout] --> src/main.rs:371:46 [INFO] [stdout] | [INFO] [stdout] 6 | struct Address([u8; 20]); [INFO] [stdout] | -------------- doesn't satisfy `Address: Eq` or `Address: Hash` [INFO] [stdout] ... [INFO] [stdout] 371 | let called_contract = self.contracts.get(&address).ok_or("Contract not found")?; [INFO] [stdout] | ^^^ method cannot be called on `HashMap` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `Address: Eq` [INFO] [stdout] `Address: Hash` [INFO] [stdout] help: consider annotating `Address` with `#[derive(Eq, Hash, PartialEq)]` [INFO] [stdout] | [INFO] [stdout] 6 + #[derive(Eq, Hash, PartialEq)] [INFO] [stdout] 7 | struct Address([u8; 20]); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `evm` (bin "evm") due to 34 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: could not compile `evm` (bin "evm" test) due to 25 previous errors [INFO] running `Command { std: "docker" "inspect" "d3850fa730ffca186f22c56f74382a1aef090aeee731adf58f64ff55a9315b6a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d3850fa730ffca186f22c56f74382a1aef090aeee731adf58f64ff55a9315b6a", kill_on_drop: false }` [INFO] [stdout] d3850fa730ffca186f22c56f74382a1aef090aeee731adf58f64ff55a9315b6a