[INFO] cloning repository https://github.com/justinDeu/rust-ebpf [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/justinDeu/rust-ebpf" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FjustinDeu%2Frust-ebpf", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FjustinDeu%2Frust-ebpf'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 004bb9bfbec93eff1e5f984b14d8eb1765d7af22 [INFO] testing justinDeu/rust-ebpf against try#b83b707f97d809763b7861afa7638871f3339a33 for pr-145838-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FjustinDeu%2Frust-ebpf" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/justinDeu/rust-ebpf [INFO] finished tweaking git repo https://github.com/justinDeu/rust-ebpf [INFO] tweaked toml for git repo https://github.com/justinDeu/rust-ebpf written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/justinDeu/rust-ebpf on toolchain b83b707f97d809763b7861afa7638871f3339a33 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/justinDeu/rust-ebpf 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" "+b83b707f97d809763b7861afa7638871f3339a33" "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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 717c940dd7c0cf99885dfccb4bb69926116fcdbe07d6c7a80b0d8e237a93e609 [INFO] running `Command { std: "docker" "start" "-a" "717c940dd7c0cf99885dfccb4bb69926116fcdbe07d6c7a80b0d8e237a93e609", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "717c940dd7c0cf99885dfccb4bb69926116fcdbe07d6c7a80b0d8e237a93e609", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "717c940dd7c0cf99885dfccb4bb69926116fcdbe07d6c7a80b0d8e237a93e609", kill_on_drop: false }` [INFO] [stdout] 717c940dd7c0cf99885dfccb4bb69926116fcdbe07d6c7a80b0d8e237a93e609 [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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b98c07e301c23c4d97fdb0fd1d93c252731e15440f4effbdd55e2fd2bf7f8789 [INFO] running `Command { std: "docker" "start" "-a" "b98c07e301c23c4d97fdb0fd1d93c252731e15440f4effbdd55e2fd2bf7f8789", kill_on_drop: false }` [INFO] [stderr] Compiling ebpf-vm v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused variable: `vm` [INFO] [stdout] --> src/vm/instructions/arithmetic.rs:16:23 [INFO] [stdout] | [INFO] [stdout] 16 | fn execute(&self, vm: &mut VirtualMachine) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_vm` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `vm` [INFO] [stdout] --> src/vm/instructions/arithmetic.rs:32:23 [INFO] [stdout] | [INFO] [stdout] 32 | fn execute(&self, vm: &mut VirtualMachine) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_vm` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `vm` [INFO] [stdout] --> src/vm/instructions/jump.rs:16:23 [INFO] [stdout] | [INFO] [stdout] 16 | fn execute(&self, vm: &mut VirtualMachine) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_vm` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `vm` [INFO] [stdout] --> src/vm/instructions/jump.rs:32:23 [INFO] [stdout] | [INFO] [stdout] 32 | fn execute(&self, vm: &mut VirtualMachine) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_vm` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `vm` [INFO] [stdout] --> src/vm/instructions/load.rs:16:23 [INFO] [stdout] | [INFO] [stdout] 16 | fn execute(&self, vm: &mut VirtualMachine) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_vm` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `vm` [INFO] [stdout] --> src/vm/instructions/load.rs:32:23 [INFO] [stdout] | [INFO] [stdout] 32 | fn execute(&self, vm: &mut VirtualMachine) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_vm` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `vm` [INFO] [stdout] --> src/vm/instructions/store.rs:18:23 [INFO] [stdout] | [INFO] [stdout] 18 | fn execute(&self, vm: &mut VirtualMachine) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_vm` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `vm` [INFO] [stdout] --> src/vm/instructions/store.rs:48:23 [INFO] [stdout] | [INFO] [stdout] 48 | fn execute(&self, vm: &mut VirtualMachine) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_vm` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `instruction` [INFO] [stdout] --> src/vm/vm.rs:37:33 [INFO] [stdout] | [INFO] [stdout] 37 | fn handle_jump32(&mut self, instruction: Instruction) { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instruction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `instruction` [INFO] [stdout] --> src/vm/vm.rs:40:33 [INFO] [stdout] | [INFO] [stdout] 40 | fn handle_jump64(&mut self, instruction: Instruction) { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instruction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `instruction` [INFO] [stdout] --> src/vm/vm.rs:82:41 [INFO] [stdout] | [INFO] [stdout] 82 | fn handle_storeimmediate(&mut self, instruction: Instruction) { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instruction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `instruction` [INFO] [stdout] --> src/vm/vm.rs:85:40 [INFO] [stdout] | [INFO] [stdout] 85 | fn handle_storeregister(&mut self, instruction: Instruction) { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instruction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `instruction` [INFO] [stdout] --> src/vm/vm.rs:88:39 [INFO] [stdout] | [INFO] [stdout] 88 | fn handle_arithmetic32(&mut self, instruction: Instruction) { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instruction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `instruction` [INFO] [stdout] --> src/vm/vm.rs:91:39 [INFO] [stdout] | [INFO] [stdout] 91 | fn handle_arithmetic64(&mut self, instruction: Instruction) { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instruction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BPFAtomicOp` is never used [INFO] [stdout] --> src/vm/enums.rs:57:6 [INFO] [stdout] | [INFO] [stdout] 57 | enum BPFAtomicOp { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BPFJumpCode` is never used [INFO] [stdout] --> src/vm/enums.rs:77:6 [INFO] [stdout] | [INFO] [stdout] 77 | enum BPFJumpCode { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BPFByteSwap` is never used [INFO] [stdout] --> src/vm/enums.rs:117:6 [INFO] [stdout] | [INFO] [stdout] 117 | enum BPFByteSwap { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `instruction` is never read [INFO] [stdout] --> src/vm/instructions/arithmetic.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Arithmetic32Instruction { [INFO] [stdout] | ----------------------- field in this struct [INFO] [stdout] 6 | instruction: Instruction, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `instruction` is never read [INFO] [stdout] --> src/vm/instructions/arithmetic.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct Arithmetic64Instruction { [INFO] [stdout] | ----------------------- field in this struct [INFO] [stdout] 22 | instruction: Instruction, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `instruction` is never read [INFO] [stdout] --> src/vm/instructions/jump.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Jump32 { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] 6 | instruction: Instruction, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `instruction` is never read [INFO] [stdout] --> src/vm/instructions/jump.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct Jump64 { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] 22 | instruction: Instruction, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `instruction` is never read [INFO] [stdout] --> src/vm/instructions/load.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct LoadRegisterInstruction { [INFO] [stdout] | ----------------------- field in this struct [INFO] [stdout] 6 | instruction: Instruction, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `instruction` is never read [INFO] [stdout] --> src/vm/instructions/load.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct LoadNonStandardInstruction { [INFO] [stdout] | -------------------------- field in this struct [INFO] [stdout] 22 | instruction: Instruction, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `instruction` is never read [INFO] [stdout] --> src/vm/instructions/store.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct StoreImmediateInstruction { [INFO] [stdout] | ------------------------- field in this struct [INFO] [stdout] 6 | instruction: Instruction, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `StoreInstruction` is never used [INFO] [stdout] --> src/vm/instructions/store.rs:9:7 [INFO] [stdout] | [INFO] [stdout] 9 | trait StoreInstruction {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `mode`, `size`, and `class` are never used [INFO] [stdout] --> src/vm/instructions/store.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 23 | impl StoreImmediateInstruction { [INFO] [stdout] | ------------------------------ methods in this implementation [INFO] [stdout] 24 | fn mode(&self) -> u8 { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | fn size(&self) -> u8 { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | fn class(&self) -> u8 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `instruction` is never read [INFO] [stdout] --> src/vm/instructions/store.rs:38:5 [INFO] [stdout] | [INFO] [stdout] 37 | pub struct StoreRegisterInstruction { [INFO] [stdout] | ------------------------ field in this struct [INFO] [stdout] 38 | instruction: Instruction, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `mode`, `size`, and `class` are never used [INFO] [stdout] --> src/vm/instructions/store.rs:53:8 [INFO] [stdout] | [INFO] [stdout] 52 | impl StoreRegisterInstruction { [INFO] [stdout] | ----------------------------- methods in this implementation [INFO] [stdout] 53 | fn mode(&self) -> u8 { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | fn size(&self) -> u8 { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | fn class(&self) -> u8 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.28s [INFO] running `Command { std: "docker" "inspect" "b98c07e301c23c4d97fdb0fd1d93c252731e15440f4effbdd55e2fd2bf7f8789", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b98c07e301c23c4d97fdb0fd1d93c252731e15440f4effbdd55e2fd2bf7f8789", kill_on_drop: false }` [INFO] [stdout] b98c07e301c23c4d97fdb0fd1d93c252731e15440f4effbdd55e2fd2bf7f8789 [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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 3efd79c2a8af104f4dacb39d6576835ae383e27a24e941c615e8c1f9673ebcd3 [INFO] running `Command { std: "docker" "start" "-a" "3efd79c2a8af104f4dacb39d6576835ae383e27a24e941c615e8c1f9673ebcd3", kill_on_drop: false }` [INFO] [stdout] warning: unused variable: `vm` [INFO] [stdout] --> src/vm/instructions/arithmetic.rs:16:23 [INFO] [stdout] | [INFO] [stdout] 16 | fn execute(&self, vm: &mut VirtualMachine) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_vm` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `vm` [INFO] [stdout] --> src/vm/instructions/arithmetic.rs:32:23 [INFO] [stdout] | [INFO] [stdout] 32 | fn execute(&self, vm: &mut VirtualMachine) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_vm` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `vm` [INFO] [stdout] --> src/vm/instructions/jump.rs:16:23 [INFO] [stdout] | [INFO] [stdout] 16 | fn execute(&self, vm: &mut VirtualMachine) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_vm` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `vm` [INFO] [stdout] --> src/vm/instructions/jump.rs:32:23 [INFO] [stdout] | [INFO] [stdout] 32 | fn execute(&self, vm: &mut VirtualMachine) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_vm` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `vm` [INFO] [stdout] --> src/vm/instructions/load.rs:16:23 [INFO] [stdout] | [INFO] [stdout] 16 | fn execute(&self, vm: &mut VirtualMachine) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_vm` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `vm` [INFO] [stdout] --> src/vm/instructions/load.rs:32:23 [INFO] [stdout] | [INFO] [stdout] 32 | fn execute(&self, vm: &mut VirtualMachine) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_vm` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `vm` [INFO] [stdout] --> src/vm/instructions/store.rs:18:23 [INFO] [stdout] | [INFO] [stdout] 18 | fn execute(&self, vm: &mut VirtualMachine) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_vm` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `vm` [INFO] [stdout] --> src/vm/instructions/store.rs:48:23 [INFO] [stdout] | [INFO] [stdout] 48 | fn execute(&self, vm: &mut VirtualMachine) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_vm` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `instruction` [INFO] [stdout] --> src/vm/vm.rs:37:33 [INFO] [stdout] | [INFO] [stdout] 37 | fn handle_jump32(&mut self, instruction: Instruction) { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instruction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `instruction` [INFO] [stdout] --> src/vm/vm.rs:40:33 [INFO] [stdout] | [INFO] [stdout] 40 | fn handle_jump64(&mut self, instruction: Instruction) { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instruction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `instruction` [INFO] [stdout] --> src/vm/vm.rs:82:41 [INFO] [stdout] | [INFO] [stdout] 82 | fn handle_storeimmediate(&mut self, instruction: Instruction) { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instruction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `instruction` [INFO] [stdout] --> src/vm/vm.rs:85:40 [INFO] [stdout] | [INFO] [stdout] 85 | fn handle_storeregister(&mut self, instruction: Instruction) { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instruction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `instruction` [INFO] [stdout] --> src/vm/vm.rs:88:39 [INFO] [stdout] | [INFO] [stdout] 88 | fn handle_arithmetic32(&mut self, instruction: Instruction) { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instruction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `instruction` [INFO] [stdout] --> src/vm/vm.rs:91:39 [INFO] [stdout] | [INFO] [stdout] 91 | fn handle_arithmetic64(&mut self, instruction: Instruction) { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instruction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BPFAtomicOp` is never used [INFO] [stdout] --> src/vm/enums.rs:57:6 [INFO] [stdout] | [INFO] [stdout] 57 | enum BPFAtomicOp { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BPFJumpCode` is never used [INFO] [stdout] --> src/vm/enums.rs:77:6 [INFO] [stdout] | [INFO] [stdout] 77 | enum BPFJumpCode { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BPFByteSwap` is never used [INFO] [stdout] --> src/vm/enums.rs:117:6 [INFO] [stdout] | [INFO] [stdout] 117 | enum BPFByteSwap { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `instruction` is never read [INFO] [stdout] --> src/vm/instructions/arithmetic.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Arithmetic32Instruction { [INFO] [stdout] | ----------------------- field in this struct [INFO] [stdout] 6 | instruction: Instruction, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `instruction` is never read [INFO] [stdout] --> src/vm/instructions/arithmetic.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct Arithmetic64Instruction { [INFO] [stdout] | ----------------------- field in this struct [INFO] [stdout] 22 | instruction: Instruction, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `instruction` is never read [INFO] [stdout] --> src/vm/instructions/jump.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Jump32 { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] 6 | instruction: Instruction, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `instruction` is never read [INFO] [stdout] --> src/vm/instructions/jump.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct Jump64 { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] 22 | instruction: Instruction, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `instruction` is never read [INFO] [stdout] --> src/vm/instructions/load.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct LoadRegisterInstruction { [INFO] [stdout] | ----------------------- field in this struct [INFO] [stdout] 6 | instruction: Instruction, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `instruction` is never read [INFO] [stdout] --> src/vm/instructions/load.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct LoadNonStandardInstruction { [INFO] [stdout] | -------------------------- field in this struct [INFO] [stdout] 22 | instruction: Instruction, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `instruction` is never read [INFO] [stdout] --> src/vm/instructions/store.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct StoreImmediateInstruction { [INFO] [stdout] | ------------------------- field in this struct [INFO] [stdout] 6 | instruction: Instruction, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `StoreInstruction` is never used [INFO] [stdout] --> src/vm/instructions/store.rs:9:7 [INFO] [stdout] | [INFO] [stdout] 9 | trait StoreInstruction {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `mode`, `size`, and `class` are never used [INFO] [stdout] --> src/vm/instructions/store.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 23 | impl StoreImmediateInstruction { [INFO] [stdout] | ------------------------------ methods in this implementation [INFO] [stdout] 24 | fn mode(&self) -> u8 { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | fn size(&self) -> u8 { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | fn class(&self) -> u8 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `instruction` is never read [INFO] [stdout] --> src/vm/instructions/store.rs:38:5 [INFO] [stdout] | [INFO] [stdout] 37 | pub struct StoreRegisterInstruction { [INFO] [stdout] | ------------------------ field in this struct [INFO] [stdout] 38 | instruction: Instruction, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `mode`, `size`, and `class` are never used [INFO] [stdout] --> src/vm/instructions/store.rs:53:8 [INFO] [stdout] | [INFO] [stdout] 52 | impl StoreRegisterInstruction { [INFO] [stdout] | ----------------------------- methods in this implementation [INFO] [stdout] 53 | fn mode(&self) -> u8 { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | fn size(&self) -> u8 { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | fn class(&self) -> u8 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling ebpf-vm v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused variable: `vm` [INFO] [stdout] --> src/vm/instructions/arithmetic.rs:16:23 [INFO] [stdout] | [INFO] [stdout] 16 | fn execute(&self, vm: &mut VirtualMachine) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_vm` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `vm` [INFO] [stdout] --> src/vm/instructions/arithmetic.rs:32:23 [INFO] [stdout] | [INFO] [stdout] 32 | fn execute(&self, vm: &mut VirtualMachine) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_vm` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `vm` [INFO] [stdout] --> src/vm/instructions/jump.rs:16:23 [INFO] [stdout] | [INFO] [stdout] 16 | fn execute(&self, vm: &mut VirtualMachine) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_vm` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `vm` [INFO] [stdout] --> src/vm/instructions/jump.rs:32:23 [INFO] [stdout] | [INFO] [stdout] 32 | fn execute(&self, vm: &mut VirtualMachine) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_vm` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `vm` [INFO] [stdout] --> src/vm/instructions/load.rs:16:23 [INFO] [stdout] | [INFO] [stdout] 16 | fn execute(&self, vm: &mut VirtualMachine) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_vm` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `vm` [INFO] [stdout] --> src/vm/instructions/load.rs:32:23 [INFO] [stdout] | [INFO] [stdout] 32 | fn execute(&self, vm: &mut VirtualMachine) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_vm` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `vm` [INFO] [stdout] --> src/vm/instructions/store.rs:18:23 [INFO] [stdout] | [INFO] [stdout] 18 | fn execute(&self, vm: &mut VirtualMachine) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_vm` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `vm` [INFO] [stdout] --> src/vm/instructions/store.rs:48:23 [INFO] [stdout] | [INFO] [stdout] 48 | fn execute(&self, vm: &mut VirtualMachine) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_vm` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `instruction` [INFO] [stdout] --> src/vm/vm.rs:37:33 [INFO] [stdout] | [INFO] [stdout] 37 | fn handle_jump32(&mut self, instruction: Instruction) { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instruction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `instruction` [INFO] [stdout] --> src/vm/vm.rs:40:33 [INFO] [stdout] | [INFO] [stdout] 40 | fn handle_jump64(&mut self, instruction: Instruction) { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instruction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `instruction` [INFO] [stdout] --> src/vm/vm.rs:82:41 [INFO] [stdout] | [INFO] [stdout] 82 | fn handle_storeimmediate(&mut self, instruction: Instruction) { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instruction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `instruction` [INFO] [stdout] --> src/vm/vm.rs:85:40 [INFO] [stdout] | [INFO] [stdout] 85 | fn handle_storeregister(&mut self, instruction: Instruction) { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instruction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `instruction` [INFO] [stdout] --> src/vm/vm.rs:88:39 [INFO] [stdout] | [INFO] [stdout] 88 | fn handle_arithmetic32(&mut self, instruction: Instruction) { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instruction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `instruction` [INFO] [stdout] --> src/vm/vm.rs:91:39 [INFO] [stdout] | [INFO] [stdout] 91 | fn handle_arithmetic64(&mut self, instruction: Instruction) { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instruction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BPFAtomicOp` is never used [INFO] [stdout] --> src/vm/enums.rs:57:6 [INFO] [stdout] | [INFO] [stdout] 57 | enum BPFAtomicOp { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BPFJumpCode` is never used [INFO] [stdout] --> src/vm/enums.rs:77:6 [INFO] [stdout] | [INFO] [stdout] 77 | enum BPFJumpCode { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BPFByteSwap` is never used [INFO] [stdout] --> src/vm/enums.rs:117:6 [INFO] [stdout] | [INFO] [stdout] 117 | enum BPFByteSwap { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `instruction` is never read [INFO] [stdout] --> src/vm/instructions/arithmetic.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Arithmetic32Instruction { [INFO] [stdout] | ----------------------- field in this struct [INFO] [stdout] 6 | instruction: Instruction, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `instruction` is never read [INFO] [stdout] --> src/vm/instructions/arithmetic.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct Arithmetic64Instruction { [INFO] [stdout] | ----------------------- field in this struct [INFO] [stdout] 22 | instruction: Instruction, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `instruction` is never read [INFO] [stdout] --> src/vm/instructions/jump.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Jump32 { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] 6 | instruction: Instruction, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `instruction` is never read [INFO] [stdout] --> src/vm/instructions/jump.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct Jump64 { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] 22 | instruction: Instruction, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `instruction` is never read [INFO] [stdout] --> src/vm/instructions/load.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct LoadRegisterInstruction { [INFO] [stdout] | ----------------------- field in this struct [INFO] [stdout] 6 | instruction: Instruction, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `instruction` is never read [INFO] [stdout] --> src/vm/instructions/load.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct LoadNonStandardInstruction { [INFO] [stdout] | -------------------------- field in this struct [INFO] [stdout] 22 | instruction: Instruction, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `instruction` is never read [INFO] [stdout] --> src/vm/instructions/store.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct StoreImmediateInstruction { [INFO] [stdout] | ------------------------- field in this struct [INFO] [stdout] 6 | instruction: Instruction, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `StoreInstruction` is never used [INFO] [stdout] --> src/vm/instructions/store.rs:9:7 [INFO] [stdout] | [INFO] [stdout] 9 | trait StoreInstruction {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `mode`, `size`, and `class` are never used [INFO] [stdout] --> src/vm/instructions/store.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 23 | impl StoreImmediateInstruction { [INFO] [stdout] | ------------------------------ methods in this implementation [INFO] [stdout] 24 | fn mode(&self) -> u8 { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | fn size(&self) -> u8 { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | fn class(&self) -> u8 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `instruction` is never read [INFO] [stdout] --> src/vm/instructions/store.rs:38:5 [INFO] [stdout] | [INFO] [stdout] 37 | pub struct StoreRegisterInstruction { [INFO] [stdout] | ------------------------ field in this struct [INFO] [stdout] 38 | instruction: Instruction, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `mode`, `size`, and `class` are never used [INFO] [stdout] --> src/vm/instructions/store.rs:53:8 [INFO] [stdout] | [INFO] [stdout] 52 | impl StoreRegisterInstruction { [INFO] [stdout] | ----------------------------- methods in this implementation [INFO] [stdout] 53 | fn mode(&self) -> u8 { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | fn size(&self) -> u8 { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | fn class(&self) -> u8 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.76s [INFO] running `Command { std: "docker" "inspect" "3efd79c2a8af104f4dacb39d6576835ae383e27a24e941c615e8c1f9673ebcd3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3efd79c2a8af104f4dacb39d6576835ae383e27a24e941c615e8c1f9673ebcd3", kill_on_drop: false }` [INFO] [stdout] 3efd79c2a8af104f4dacb39d6576835ae383e27a24e941c615e8c1f9673ebcd3 [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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] a1ba09174d537a10aefddd2b9bf0ee862fbf4e70b9118e3c6e7e55c062216c88 [INFO] running `Command { std: "docker" "start" "-a" "a1ba09174d537a10aefddd2b9bf0ee862fbf4e70b9118e3c6e7e55c062216c88", kill_on_drop: false }` [INFO] [stderr] warning: unused variable: `vm` [INFO] [stderr] --> src/vm/instructions/arithmetic.rs:16:23 [INFO] [stderr] | [INFO] [stderr] 16 | fn execute(&self, vm: &mut VirtualMachine) { [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_vm` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `vm` [INFO] [stderr] --> src/vm/instructions/arithmetic.rs:32:23 [INFO] [stderr] | [INFO] [stderr] 32 | fn execute(&self, vm: &mut VirtualMachine) { [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_vm` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `vm` [INFO] [stderr] --> src/vm/instructions/jump.rs:16:23 [INFO] [stderr] | [INFO] [stderr] 16 | fn execute(&self, vm: &mut VirtualMachine) { [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_vm` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `vm` [INFO] [stderr] --> src/vm/instructions/jump.rs:32:23 [INFO] [stderr] | [INFO] [stderr] 32 | fn execute(&self, vm: &mut VirtualMachine) { [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_vm` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `vm` [INFO] [stderr] --> src/vm/instructions/load.rs:16:23 [INFO] [stderr] | [INFO] [stderr] 16 | fn execute(&self, vm: &mut VirtualMachine) { [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_vm` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `vm` [INFO] [stderr] --> src/vm/instructions/load.rs:32:23 [INFO] [stderr] | [INFO] [stderr] 32 | fn execute(&self, vm: &mut VirtualMachine) { [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_vm` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `vm` [INFO] [stderr] --> src/vm/instructions/store.rs:18:23 [INFO] [stderr] | [INFO] [stderr] 18 | fn execute(&self, vm: &mut VirtualMachine) { [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_vm` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `vm` [INFO] [stderr] --> src/vm/instructions/store.rs:48:23 [INFO] [stderr] | [INFO] [stderr] 48 | fn execute(&self, vm: &mut VirtualMachine) { [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_vm` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `instruction` [INFO] [stderr] --> src/vm/vm.rs:37:33 [INFO] [stderr] | [INFO] [stderr] 37 | fn handle_jump32(&mut self, instruction: Instruction) { [INFO] [stderr] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instruction` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `instruction` [INFO] [stderr] --> src/vm/vm.rs:40:33 [INFO] [stderr] | [INFO] [stderr] 40 | fn handle_jump64(&mut self, instruction: Instruction) { [INFO] [stderr] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instruction` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `instruction` [INFO] [stderr] --> src/vm/vm.rs:82:41 [INFO] [stderr] | [INFO] [stderr] 82 | fn handle_storeimmediate(&mut self, instruction: Instruction) { [INFO] [stderr] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instruction` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `instruction` [INFO] [stderr] --> src/vm/vm.rs:85:40 [INFO] [stderr] | [INFO] [stderr] 85 | fn handle_storeregister(&mut self, instruction: Instruction) { [INFO] [stderr] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instruction` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `instruction` [INFO] [stderr] --> src/vm/vm.rs:88:39 [INFO] [stderr] | [INFO] [stderr] 88 | fn handle_arithmetic32(&mut self, instruction: Instruction) { [INFO] [stderr] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instruction` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `instruction` [INFO] [stderr] --> src/vm/vm.rs:91:39 [INFO] [stderr] | [INFO] [stderr] 91 | fn handle_arithmetic64(&mut self, instruction: Instruction) { [INFO] [stderr] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instruction` [INFO] [stderr] [INFO] [stderr] warning: enum `BPFAtomicOp` is never used [INFO] [stderr] --> src/vm/enums.rs:57:6 [INFO] [stderr] | [INFO] [stderr] 57 | enum BPFAtomicOp { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: enum `BPFJumpCode` is never used [INFO] [stderr] --> src/vm/enums.rs:77:6 [INFO] [stderr] | [INFO] [stderr] 77 | enum BPFJumpCode { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum `BPFByteSwap` is never used [INFO] [stderr] --> src/vm/enums.rs:117:6 [INFO] [stderr] | [INFO] [stderr] 117 | enum BPFByteSwap { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `instruction` is never read [INFO] [stderr] --> src/vm/instructions/arithmetic.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 5 | pub struct Arithmetic32Instruction { [INFO] [stderr] | ----------------------- field in this struct [INFO] [stderr] 6 | instruction: Instruction, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `instruction` is never read [INFO] [stderr] --> src/vm/instructions/arithmetic.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 21 | pub struct Arithmetic64Instruction { [INFO] [stderr] | ----------------------- field in this struct [INFO] [stderr] 22 | instruction: Instruction, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `instruction` is never read [INFO] [stderr] --> src/vm/instructions/jump.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 5 | pub struct Jump32 { [INFO] [stderr] | ------ field in this struct [INFO] [stderr] 6 | instruction: Instruction, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `instruction` is never read [INFO] [stderr] --> src/vm/instructions/jump.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 21 | pub struct Jump64 { [INFO] [stderr] | ------ field in this struct [INFO] [stderr] 22 | instruction: Instruction, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `instruction` is never read [INFO] [stderr] --> src/vm/instructions/load.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 5 | pub struct LoadRegisterInstruction { [INFO] [stderr] | ----------------------- field in this struct [INFO] [stderr] 6 | instruction: Instruction, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `instruction` is never read [INFO] [stderr] --> src/vm/instructions/load.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 21 | pub struct LoadNonStandardInstruction { [INFO] [stderr] | -------------------------- field in this struct [INFO] [stderr] 22 | instruction: Instruction, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `instruction` is never read [INFO] [stderr] --> src/vm/instructions/store.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 5 | pub struct StoreImmediateInstruction { [INFO] [stderr] | ------------------------- field in this struct [INFO] [stderr] 6 | instruction: Instruction, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: trait `StoreInstruction` is never used [INFO] [stderr] --> src/vm/instructions/store.rs:9:7 [INFO] [stderr] | [INFO] [stderr] 9 | trait StoreInstruction {} [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `mode`, `size`, and `class` are never used [INFO] [stderr] --> src/vm/instructions/store.rs:24:8 [INFO] [stderr] | [INFO] [stderr] 23 | impl StoreImmediateInstruction { [INFO] [stderr] | ------------------------------ methods in this implementation [INFO] [stderr] 24 | fn mode(&self) -> u8 { [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 28 | fn size(&self) -> u8 { [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 32 | fn class(&self) -> u8 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `instruction` is never read [INFO] [stderr] --> src/vm/instructions/store.rs:38:5 [INFO] [stderr] | [INFO] [stderr] 37 | pub struct StoreRegisterInstruction { [INFO] [stderr] | ------------------------ field in this struct [INFO] [stderr] 38 | instruction: Instruction, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `mode`, `size`, and `class` are never used [INFO] [stderr] --> src/vm/instructions/store.rs:53:8 [INFO] [stderr] | [INFO] [stderr] 52 | impl StoreRegisterInstruction { [INFO] [stderr] | ----------------------------- methods in this implementation [INFO] [stderr] 53 | fn mode(&self) -> u8 { [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 57 | fn size(&self) -> u8 { [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 61 | fn class(&self) -> u8 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `ebpf-vm` (lib) generated 28 warnings [INFO] [stderr] warning: `ebpf-vm` (lib test) generated 28 warnings (28 duplicates) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.02s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/ebpf_vm-d71569d9eb5633c3) [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test vm::instructions::instruction::tests::panic_instruction_class - should panic ... FAILED [INFO] [stdout] test vm::instructions::instruction::tests::from_u64 ... ok [INFO] [stdout] test vm::vm::tests::load_register_imm ... FAILED [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- vm::instructions::instruction::tests::panic_instruction_class stdout ---- [INFO] [stderr] error: test failed, to rerun pass `--lib` [INFO] [stdout] note: test did not panic as expected at src/vm/instructions/instruction.rs:134:8 [INFO] [stdout] ---- vm::vm::tests::load_register_imm stdout ---- [INFO] [stdout] Instruction.dst: 0x2 [INFO] [stdout] Instruction.immediate: 0xff00ff00 [INFO] [stdout] Instruction.immediate cast: 0x000000 [INFO] [stdout] Instruction.reg[2] pre: 0x000000 [INFO] [stdout] Instruction.reg[2] post: 0x000000 [INFO] [stdout] [INFO] [stdout] thread 'vm::vm::tests::load_register_imm' (27) panicked at src/vm/vm.rs:111:9: [INFO] [stdout] assertion `left == right` failed [INFO] [stdout] left: 0 [INFO] [stdout] right: 4278255360 [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x644b88f8b422 - std::backtrace_rs::backtrace::libunwind::trace::h589a96ef7638b383 [INFO] [stdout] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x644b88f8b422 - std::backtrace_rs::backtrace::trace_unsynchronized::h23a30a7548c40de4 [INFO] [stdout] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x644b88f8b422 - std::sys::backtrace::_print_fmt::h87dabd6535c8c07a [INFO] [stdout] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/std/src/sys/backtrace.rs:66:9 [INFO] [stdout] 3: 0x644b88f8b422 - ::fmt::hffd20ad4e5eca8ab [INFO] [stdout] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/std/src/sys/backtrace.rs:39:26 [INFO] [stdout] 4: 0x644b88f9b54f - core::fmt::rt::Argument::fmt::h75c83e3fd5ce2419 [INFO] [stdout] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/core/src/fmt/rt.rs:173:76 [INFO] [stdout] 5: 0x644b88f9b54f - core::fmt::write::h6d9d3a7cfd7b84f5 [INFO] [stdout] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/core/src/fmt/mod.rs:1468:25 [INFO] [stdout] 6: 0x644b88f58de3 - std::io::default_write_fmt::he11a713685e2464d [INFO] [stdout] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x644b88f58de3 - std::io::Write::write_fmt::h9d08f7e050bd2612 [INFO] [stdout] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/std/src/io/mod.rs:1954:13 [INFO] [stdout] 8: 0x644b88f64ba2 - std::sys::backtrace::BacktraceLock::print::hb28797143397220e [INFO] [stdout] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/std/src/sys/backtrace.rs:42:9 [INFO] [stdout] 9: 0x644b88f6959f - std::panicking::default_hook::{{closure}}::h7555113b62983743 [INFO] [stdout] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/std/src/panicking.rs:301:27 [INFO] [stdout] 10: 0x644b88f69431 - std::panicking::default_hook::h2714b564abe8d914 [INFO] [stdout] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/std/src/panicking.rs:325:9 [INFO] [stdout] 11: 0x644b88f294be - as core::ops::function::Fn>::call::h0e9de8cceb22406e [INFO] [stdout] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/alloc/src/boxed.rs:1999:9 [INFO] [stdout] 12: 0x644b88f294be - test::test_main_with_exit_callback::{{closure}}::h8125bd66cf4739d0 [INFO] [stdout] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x644b88f69c3e - as core::ops::function::Fn>::call::h1fd0a0802eaec16b [INFO] [stdout] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/alloc/src/boxed.rs:1999:9 [INFO] [stdout] 14: 0x644b88f69c3e - std::panicking::panic_with_hook::h190dc82263685ec5 [INFO] [stdout] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/std/src/panicking.rs:842:13 [INFO] [stdout] 15: 0x644b88f69a0a - std::panicking::panic_handler::{{closure}}::h8b036a1b366643ac [INFO] [stdout] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/std/src/panicking.rs:707:13 [INFO] [stdout] 16: 0x644b88f64cd9 - std::sys::backtrace::__rust_end_short_backtrace::h45affcfc0c830da8 [INFO] [stdout] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/std/src/sys/backtrace.rs:174:18 [INFO] [stdout] 17: 0x644b88f4d04d - __rustc[9b67c8562bba447b]::rust_begin_unwind [INFO] [stdout] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/std/src/panicking.rs:698:5 [INFO] [stdout] 18: 0x644b88fa2db0 - core::panicking::panic_fmt::hc084f85b1e76c16d [INFO] [stdout] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/core/src/panicking.rs:75:14 [INFO] [stdout] 19: 0x644b88fa2c53 - core::panicking::assert_failed_inner::h1215dc8d5a90adff [INFO] [stdout] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/core/src/panicking.rs:439:17 [INFO] [stdout] 20: 0x644b88fa2a97 - core::panicking::assert_failed::h33a613aa4b49b89e [INFO] [stdout] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/core/src/panicking.rs:394:5 [INFO] [stdout] 21: 0x644b88f07f0a - ebpf_vm::vm::vm::tests::load_register_imm::hd68885655453886a [INFO] [stdout] at /opt/rustwide/workdir/src/vm/vm.rs:111:9 [INFO] [stdout] 22: 0x644b88f07f37 - ebpf_vm::vm::vm::tests::load_register_imm::{{closure}}::h1bb06800cfb50e28 [INFO] [stdout] at /opt/rustwide/workdir/src/vm/vm.rs:106:27 [INFO] [stdout] 23: 0x644b88f05e86 - core::ops::function::FnOnce::call_once::hbd78dc0d1373c2b1 [INFO] [stdout] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/core/src/ops/function.rs:253:5 [INFO] [stdout] 24: 0x644b88f2927b - core::ops::function::FnOnce::call_once::hdbf42be2a49fb464 [INFO] [stdout] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/core/src/ops/function.rs:253:5 [INFO] [stdout] 25: 0x644b88f2927b - test::__rust_begin_short_backtrace::h8ae08814d38cb356 [INFO] [stdout] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/test/src/lib.rs:663:18 [INFO] [stdout] 26: 0x644b88f3ed65 - test::run_test_in_process::{{closure}}::h54574ee4f414d690 [INFO] [stdout] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/test/src/lib.rs:686:74 [INFO] [stdout] 27: 0x644b88f3ed65 - as core::ops::function::FnOnce<()>>::call_once::h01a0b7e7aad1a501 [INFO] [stdout] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/core/src/panic/unwind_safe.rs:272:9 [INFO] [stdout] 28: 0x644b88f3ed65 - std::panicking::catch_unwind::do_call::h23820e817c5612cd [INFO] [stdout] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/std/src/panicking.rs:590:40 [INFO] [stdout] 29: 0x644b88f3ed65 - std::panicking::catch_unwind::h89c73a1febce5587 [INFO] [stdout] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/std/src/panicking.rs:553:19 [INFO] [stdout] 30: 0x644b88f3ed65 - std::panic::catch_unwind::h6f55caf410861914 [INFO] [stdout] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/std/src/panic.rs:359:14 [INFO] [stdout] 31: 0x644b88f3ed65 - test::run_test_in_process::h4db851878e5d3983 [INFO] [stdout] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/test/src/lib.rs:686:27 [INFO] [stdout] 32: 0x644b88f3ed65 - test::run_test::{{closure}}::h57e8c5acaceacd24 [INFO] [stdout] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/test/src/lib.rs:607:43 [INFO] [stdout] 33: 0x644b88f15754 - test::run_test::{{closure}}::he775ccc3a9d3b97e [INFO] [stdout] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/test/src/lib.rs:637:41 [INFO] [stdout] 34: 0x644b88f15754 - std::sys::backtrace::__rust_begin_short_backtrace::hcd94d85d7765225a [INFO] [stdout] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/std/src/sys/backtrace.rs:158:18 [INFO] [stdout] 35: 0x644b88f18f9a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::ha814de8393f07830 [INFO] [stdout] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/std/src/thread/mod.rs:559:17 [INFO] [stdout] 36: 0x644b88f18f9a - as core::ops::function::FnOnce<()>>::call_once::h8deb00af0abdeaf1 [INFO] [stdout] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/core/src/panic/unwind_safe.rs:272:9 [INFO] [stdout] 37: 0x644b88f18f9a - std::panicking::catch_unwind::do_call::h1917979b0c279ea2 [INFO] [stdout] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/std/src/panicking.rs:590:40 [INFO] [stdout] 38: 0x644b88f18f9a - std::panicking::catch_unwind::h791ad91fee6ce34e [INFO] [stdout] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/std/src/panicking.rs:553:19 [INFO] [stdout] 39: 0x644b88f18f9a - std::panic::catch_unwind::h982b8f40ed9c3cce [INFO] [stdout] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/std/src/panic.rs:359:14 [INFO] [stdout] 40: 0x644b88f18f9a - std::thread::Builder::spawn_unchecked_::{{closure}}::h545e54700c945db4 [INFO] [stdout] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/std/src/thread/mod.rs:557:30 [INFO] [stdout] 41: 0x644b88f18f9a - core::ops::function::FnOnce::call_once{{vtable.shim}}::hb427481a5227d78a [INFO] [stdout] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/core/src/ops/function.rs:253:5 [INFO] [stdout] 42: 0x644b88f5ef5f - as core::ops::function::FnOnce>::call_once::h1d452951a81e9d0a [INFO] [stdout] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/alloc/src/boxed.rs:1985:9 [INFO] [stdout] 43: 0x644b88f5ef5f - std::sys::pal::unix::thread::Thread::new::thread_start::h29c84e109630689a [INFO] [stdout] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/std/src/sys/pal/unix/thread.rs:118:17 [INFO] [stdout] 44: 0x7e3131704aa4 - [INFO] [stdout] 45: 0x7e3131791a34 - clone [INFO] [stdout] 46: 0x0 - [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] vm::instructions::instruction::tests::panic_instruction_class [INFO] [stdout] vm::vm::tests::load_register_imm [INFO] [stdout] [INFO] [stdout] test result: FAILED. 1 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "a1ba09174d537a10aefddd2b9bf0ee862fbf4e70b9118e3c6e7e55c062216c88", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a1ba09174d537a10aefddd2b9bf0ee862fbf4e70b9118e3c6e7e55c062216c88", kill_on_drop: false }` [INFO] [stdout] a1ba09174d537a10aefddd2b9bf0ee862fbf4e70b9118e3c6e7e55c062216c88