[INFO] fetching crate crush-vm 0.5.0...
[INFO] testing crush-vm-0.5.0 against 1.99.0-beta.8+cargoflags=--release for beta-release-1.100-2
[INFO] extracting crate crush-vm 0.5.0 into /workspace/builds/worker-6-tc1/source
[INFO] started tweaking crates.io crate crush-vm 0.5.0
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate crush-vm 0.5.0
[INFO] tweaked toml for crates.io crate crush-vm 0.5.0 written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate crush-vm 0.5.0 on toolchain 1.99.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate crush-vm 0.5.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded regex v1.13.0
[INFO] [stderr]   Downloaded crush-errors v0.5.0
[INFO] [stderr]   Downloaded crush-ffi v0.5.0
[INFO] [stderr]   Downloaded crush-diagnostics v0.5.0
[INFO] [stderr]   Downloaded casm v0.5.0
[INFO] [stderr]   Downloaded icu_normalizer v2.0.1
[INFO] [stderr]   Downloaded crush-buckets v0.1.0
[INFO] [stderr]   Downloaded icu_properties v2.0.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 13b174e4e5fbccb9756abedbf64bdc29c6bf06fd4b2ce6a49be6e07bdca7a3f8
[INFO] running `Command { std: "docker" "start" "13b174e4e5fbccb9756abedbf64bdc29c6bf06fd4b2ce6a49be6e07bdca7a3f8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "13b174e4e5fbccb9756abedbf64bdc29c6bf06fd4b2ce6a49be6e07bdca7a3f8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "13b174e4e5fbccb9756abedbf64bdc29c6bf06fd4b2ce6a49be6e07bdca7a3f8" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "13b174e4e5fbccb9756abedbf64bdc29c6bf06fd4b2ce6a49be6e07bdca7a3f8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "13b174e4e5fbccb9756abedbf64bdc29c6bf06fd4b2ce6a49be6e07bdca7a3f8" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling smallvec v1.15.2
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling bitflags v2.13.0
[INFO] [stderr]    Compiling crush-vm v0.5.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling libloading v0.9.0
[INFO] [stderr]    Compiling crush-ffi v0.5.0
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr] warning: crush-vm@0.5.0: example_c_plugin.c not found — skipping
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling rmp v0.8.15
[INFO] [stderr]    Compiling regex-automata v0.4.15
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling regex v1.13.0
[INFO] [stderr]    Compiling rmp-serde v1.3.1
[INFO] [stderr]    Compiling crush-diagnostics v0.5.0
[INFO] [stderr]    Compiling crush-errors v0.5.0
[INFO] [stderr]    Compiling casm v0.5.0
[INFO] [stdout] warning: unused import: `FfiObject`
[INFO] [stdout]  --> src/plugin.rs:6:57
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crush_ffi::{CrushPlugin, CrushPluginFunc, FfiArray, FfiObject, FfiType, FfiValue, FfiValueData, FfiString};
[INFO] [stdout]   |                                                         ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target_lang`
[INFO] [stdout]     --> src/fastvm/execution.rs:1255:17
[INFO] [stdout]      |
[INFO] [stdout] 1255 |             let target_lang = symbols.strings[site.target_lang_idx as usize].clone();
[INFO] [stdout]      |                 ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_target_lang`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `function_name`
[INFO] [stdout]     --> src/fastvm/execution.rs:1256:17
[INFO] [stdout]      |
[INFO] [stdout] 1256 |             let function_name = symbols.strings[site.function_name_idx as usize].clone();
[INFO] [stdout]      |                 ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_function_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/plugin.rs:66:17
[INFO] [stdout]    |
[INFO] [stdout] 66 |             let mut ffi_vals: Vec<FfiValue> = a.iter().map(|v| value_to_ffi(v.clone())).collect();
[INFO] [stdout]    |                 ----^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sandbox_setup_error` is never used
[INFO] [stdout]    --> src/scheduler.rs:138:15
[INFO] [stdout]     |
[INFO] [stdout] 138 | pub(crate) fn sandbox_setup_error(lang: &str, message: impl Into<String>, crush_line: Option<u32>) -> VmError {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `to_f64` is never used
[INFO] [stdout]     --> src/scheduler.rs:1416:4
[INFO] [stdout]      |
[INFO] [stdout] 1416 | fn to_f64(v: &Value) -> f64 {
[INFO] [stdout]      |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `trunc_div` is never used
[INFO] [stdout]     --> src/scheduler.rs:1434:4
[INFO] [stdout]      |
[INFO] [stdout] 1434 | fn trunc_div(a: i64, b: i64) -> i64 {
[INFO] [stdout]      |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Pv` should have a snake case name
[INFO] [stdout]   --> src/fastvm/similarity.rs:58:13
[INFO] [stdout]    |
[INFO] [stdout] 58 |     let mut Pv = !0u64; // 1s where potential matches exist
[INFO] [stdout]    |             ^^ help: convert the identifier to snake case: `pv`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Mv` should have a snake case name
[INFO] [stdout]   --> src/fastvm/similarity.rs:59:13
[INFO] [stdout]    |
[INFO] [stdout] 59 |     let mut Mv = 0u64;  // 0s where potential matches exist
[INFO] [stdout]    |             ^^ help: convert the identifier to snake case: `mv`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Eq` should have a snake case name
[INFO] [stdout]   --> src/fastvm/similarity.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 60 |     let mut Eq: u64;
[INFO] [stdout]    |             ^^ help: convert the identifier to snake case: `eq`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Xv` should have a snake case name
[INFO] [stdout]   --> src/fastvm/similarity.rs:61:13
[INFO] [stdout]    |
[INFO] [stdout] 61 |     let mut Xv: u64;
[INFO] [stdout]    |             ^^ help: convert the identifier to snake case (notice the capitalization): `xv`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Xh` should have a snake case name
[INFO] [stdout]   --> src/fastvm/similarity.rs:62:13
[INFO] [stdout]    |
[INFO] [stdout] 62 |     let mut Xh: u64;
[INFO] [stdout]    |             ^^ help: convert the identifier to snake case (notice the capitalization): `xh`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Ph` should have a snake case name
[INFO] [stdout]   --> src/fastvm/similarity.rs:63:13
[INFO] [stdout]    |
[INFO] [stdout] 63 |     let mut Ph: u64;
[INFO] [stdout]    |             ^^ help: convert the identifier to snake case: `ph`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Mh` should have a snake case name
[INFO] [stdout]   --> src/fastvm/similarity.rs:64:13
[INFO] [stdout]    |
[INFO] [stdout] 64 |     let mut Mh: u64;
[INFO] [stdout]    |             ^^ help: convert the identifier to snake case: `mh`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 36.37s
[INFO] running `Command { std: "docker" "inspect" "13b174e4e5fbccb9756abedbf64bdc29c6bf06fd4b2ce6a49be6e07bdca7a3f8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "13b174e4e5fbccb9756abedbf64bdc29c6bf06fd4b2ce6a49be6e07bdca7a3f8" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: crush-vm@0.5.0: example_c_plugin.c not found — skipping
[INFO] [stderr]    Compiling crush-vm v0.5.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `FfiObject`
[INFO] [stdout]  --> src/plugin.rs:6:57
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crush_ffi::{CrushPlugin, CrushPluginFunc, FfiArray, FfiObject, FfiType, FfiValue, FfiValueData, FfiString};
[INFO] [stdout]   |                                                         ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target_lang`
[INFO] [stdout]     --> src/fastvm/execution.rs:1255:17
[INFO] [stdout]      |
[INFO] [stdout] 1255 |             let target_lang = symbols.strings[site.target_lang_idx as usize].clone();
[INFO] [stdout]      |                 ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_target_lang`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `function_name`
[INFO] [stdout]     --> src/fastvm/execution.rs:1256:17
[INFO] [stdout]      |
[INFO] [stdout] 1256 |             let function_name = symbols.strings[site.function_name_idx as usize].clone();
[INFO] [stdout]      |                 ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_function_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/plugin.rs:66:17
[INFO] [stdout]    |
[INFO] [stdout] 66 |             let mut ffi_vals: Vec<FfiValue> = a.iter().map(|v| value_to_ffi(v.clone())).collect();
[INFO] [stdout]    |                 ----^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sandbox_setup_error` is never used
[INFO] [stdout]    --> src/scheduler.rs:138:15
[INFO] [stdout]     |
[INFO] [stdout] 138 | pub(crate) fn sandbox_setup_error(lang: &str, message: impl Into<String>, crush_line: Option<u32>) -> VmError {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `to_f64` is never used
[INFO] [stdout]     --> src/scheduler.rs:1416:4
[INFO] [stdout]      |
[INFO] [stdout] 1416 | fn to_f64(v: &Value) -> f64 {
[INFO] [stdout]      |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `trunc_div` is never used
[INFO] [stdout]     --> src/scheduler.rs:1434:4
[INFO] [stdout]      |
[INFO] [stdout] 1434 | fn trunc_div(a: i64, b: i64) -> i64 {
[INFO] [stdout]      |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Pv` should have a snake case name
[INFO] [stdout]   --> src/fastvm/similarity.rs:58:13
[INFO] [stdout]    |
[INFO] [stdout] 58 |     let mut Pv = !0u64; // 1s where potential matches exist
[INFO] [stdout]    |             ^^ help: convert the identifier to snake case: `pv`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Mv` should have a snake case name
[INFO] [stdout]   --> src/fastvm/similarity.rs:59:13
[INFO] [stdout]    |
[INFO] [stdout] 59 |     let mut Mv = 0u64;  // 0s where potential matches exist
[INFO] [stdout]    |             ^^ help: convert the identifier to snake case: `mv`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Eq` should have a snake case name
[INFO] [stdout]   --> src/fastvm/similarity.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 60 |     let mut Eq: u64;
[INFO] [stdout]    |             ^^ help: convert the identifier to snake case: `eq`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Xv` should have a snake case name
[INFO] [stdout]   --> src/fastvm/similarity.rs:61:13
[INFO] [stdout]    |
[INFO] [stdout] 61 |     let mut Xv: u64;
[INFO] [stdout]    |             ^^ help: convert the identifier to snake case (notice the capitalization): `xv`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Xh` should have a snake case name
[INFO] [stdout]   --> src/fastvm/similarity.rs:62:13
[INFO] [stdout]    |
[INFO] [stdout] 62 |     let mut Xh: u64;
[INFO] [stdout]    |             ^^ help: convert the identifier to snake case (notice the capitalization): `xh`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Ph` should have a snake case name
[INFO] [stdout]   --> src/fastvm/similarity.rs:63:13
[INFO] [stdout]    |
[INFO] [stdout] 63 |     let mut Ph: u64;
[INFO] [stdout]    |             ^^ help: convert the identifier to snake case: `ph`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Mh` should have a snake case name
[INFO] [stdout]   --> src/fastvm/similarity.rs:64:13
[INFO] [stdout]    |
[INFO] [stdout] 64 |     let mut Mh: u64;
[INFO] [stdout]    |             ^^ help: convert the identifier to snake case: `mh`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: environment variable `EXAMPLE_C_PLUGIN_SO` not defined at compile time
[INFO] [stdout]   --> src/tests/surfaces.rs:75:21
[INFO] [stdout]    |
[INFO] [stdout] 75 |     let plugin_so = env!("EXAMPLE_C_PLUGIN_SO");
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `std::env::var("EXAMPLE_C_PLUGIN_SO")` to read the variable at run time
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `disassemble`
[INFO] [stdout]  --> src/tests/mod.rs:1:34
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::assembler::{assemble, disassemble};
[INFO] [stdout]   |                                  ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `assemble` and `disassemble`
[INFO] [stdout]   --> src/tests/arith.rs:10:24
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::assembler::{assemble, disassemble};
[INFO] [stdout]    |                        ^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Quotas` and `run`
[INFO] [stdout]   --> src/tests/arith.rs:11:17
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::vm::{Quotas, Value, run};
[INFO] [stdout]    |                 ^^^^^^         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `assemble` and `disassemble`
[INFO] [stdout]   --> src/tests/control_flow.rs:10:24
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::assembler::{assemble, disassemble};
[INFO] [stdout]    |                        ^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Quotas` and `run`
[INFO] [stdout]   --> src/tests/control_flow.rs:11:17
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::vm::{Quotas, Value, run};
[INFO] [stdout]    |                 ^^^^^^         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `disassemble`
[INFO] [stdout]   --> src/tests/data_types.rs:10:34
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::assembler::{assemble, disassemble};
[INFO] [stdout]    |                                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `disassemble`
[INFO] [stdout]   --> src/tests/capabilities.rs:10:34
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::assembler::{assemble, disassemble};
[INFO] [stdout]    |                                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]  --> src/tests/surfaces.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use super::*;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `assemble` and `disassemble`
[INFO] [stdout]   --> src/tests/async_green.rs:10:24
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::assembler::{assemble, disassemble};
[INFO] [stdout]    |                        ^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Quotas` and `run`
[INFO] [stdout]   --> src/tests/async_green.rs:11:17
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::vm::{Quotas, Value, run};
[INFO] [stdout]    |                 ^^^^^^         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `assemble` and `disassemble`
[INFO] [stdout]   --> src/tests/matrix.rs:10:24
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::assembler::{assemble, disassemble};
[INFO] [stdout]    |                        ^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Quotas` and `run`
[INFO] [stdout]   --> src/tests/matrix.rs:11:17
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::vm::{Quotas, Value, run};
[INFO] [stdout]    |                 ^^^^^^         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LoweredProgram`
[INFO] [stdout]    --> src/io_print.rs:173:37
[INFO] [stdout]     |
[INFO] [stdout] 173 |         use crate::fastvm::{FastVM, LoweredProgram};
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FfiObject`
[INFO] [stdout]  --> src/plugin.rs:6:57
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crush_ffi::{CrushPlugin, CrushPluginFunc, FfiArray, FfiObject, FfiType, FfiValue, FfiValueData, FfiString};
[INFO] [stdout]   |                                                         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target_lang`
[INFO] [stdout]     --> src/fastvm/execution.rs:1255:17
[INFO] [stdout]      |
[INFO] [stdout] 1255 |             let target_lang = symbols.strings[site.target_lang_idx as usize].clone();
[INFO] [stdout]      |                 ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_target_lang`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `function_name`
[INFO] [stdout]     --> src/fastvm/execution.rs:1256:17
[INFO] [stdout]      |
[INFO] [stdout] 1256 |             let function_name = symbols.strings[site.function_name_idx as usize].clone();
[INFO] [stdout]      |                 ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_function_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/plugin.rs:66:17
[INFO] [stdout]    |
[INFO] [stdout] 66 |             let mut ffi_vals: Vec<FfiValue> = a.iter().map(|v| value_to_ffi(v.clone())).collect();
[INFO] [stdout]    |                 ----^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: crush-vm@0.5.0: example_c_plugin.c not found — skipping
[INFO] [stderr] error: could not compile `crush-vm` (lib test) due to 1 previous error; 17 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "13b174e4e5fbccb9756abedbf64bdc29c6bf06fd4b2ce6a49be6e07bdca7a3f8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "13b174e4e5fbccb9756abedbf64bdc29c6bf06fd4b2ce6a49be6e07bdca7a3f8", kill_on_drop: false }`
[INFO] [stdout] 13b174e4e5fbccb9756abedbf64bdc29c6bf06fd4b2ce6a49be6e07bdca7a3f8
