[INFO] cloning repository https://github.com/ttx89-dev/vexl-language
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ttx89-dev/vexl-language" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fttx89-dev%2Fvexl-language", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fttx89-dev%2Fvexl-language'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 9c1ca764a17276da67efe9cf9868794412213b98
[INFO] checking ttx89-dev/vexl-language against try#e622d8d7bed4f2668d446e06c6c1436ecae15796 for pr-156776
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fttx89-dev%2Fvexl-language" "/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/ttx89-dev/vexl-language
[INFO] finished tweaking git repo https://github.com/ttx89-dev/vexl-language
[INFO] tweaked toml for git repo https://github.com/ttx89-dev/vexl-language written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ttx89-dev/vexl-language on toolchain e622d8d7bed4f2668d446e06c6c1436ecae15796
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+e622d8d7bed4f2668d446e06c6c1436ecae15796" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/ttx89-dev/vexl-language 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" "+e622d8d7bed4f2668d446e06c6c1436ecae15796" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded logos-derive v0.14.4
[INFO] [stderr]   Downloaded logos-codegen v0.14.4
[INFO] [stderr]   Downloaded tracing-core v0.1.35
[INFO] [stderr]   Downloaded tracing v0.1.43
[INFO] [stderr]   Downloaded llvm-sys v140.1.3
[INFO] [stderr]   Downloaded cudarc v0.12.1
[INFO] [stderr]   Downloaded logos v0.14.4
[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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+e622d8d7bed4f2668d446e06c6c1436ecae15796" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ada66352628d0813ca60aa9e4f2b250bfb0a3071d88afbac5563d071b6d1adfb
[INFO] running `Command { std: "docker" "start" "-a" "ada66352628d0813ca60aa9e4f2b250bfb0a3071d88afbac5563d071b6d1adfb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ada66352628d0813ca60aa9e4f2b250bfb0a3071d88afbac5563d071b6d1adfb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ada66352628d0813ca60aa9e4f2b250bfb0a3071d88afbac5563d071b6d1adfb", kill_on_drop: false }`
[INFO] [stdout] ada66352628d0813ca60aa9e4f2b250bfb0a3071d88afbac5563d071b6d1adfb
[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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+e622d8d7bed4f2668d446e06c6c1436ecae15796" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] cb2aa48afba9bbcc42394bdedc23067d5f6d23ecdf53cb852a61583b12c5174d
[INFO] running `Command { std: "docker" "start" "-a" "cb2aa48afba9bbcc42394bdedc23067d5f6d23ecdf53cb852a61583b12c5174d", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.178
[INFO] [stderr]    Compiling zerocopy v0.8.31
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]     Checking bytemuck v1.24.0
[INFO] [stderr]    Compiling object v0.32.2
[INFO] [stderr]    Compiling beef v0.5.2
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]    Compiling rustix v1.1.2
[INFO] [stderr]     Checking serde_json v1.0.145
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]     Checking tracing-core v0.1.35
[INFO] [stderr]     Checking icu_normalizer v2.1.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling inkwell v0.4.0
[INFO] [stderr]    Compiling inkwell_internals v0.9.0
[INFO] [stderr]    Compiling logos-codegen v0.14.4
[INFO] [stderr]     Checking http v0.2.12
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]     Checking rayon v1.11.0
[INFO] [stderr]     Checking tracing v0.1.43
[INFO] [stderr]     Checking regex-automata v0.4.13
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]    Compiling nix v0.30.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking toml_datetime v0.6.11
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking url v2.5.7
[INFO] [stderr]     Checking serde_spanned v0.6.9
[INFO] [stderr]    Compiling pin-project-internal v1.1.10
[INFO] [stderr]     Checking toml_edit v0.22.27
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking quick-xml v0.31.0
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]     Checking http-body v0.4.6
[INFO] [stderr]    Compiling serde_repr v0.1.20
[INFO] [stderr]     Checking clap_builder v4.5.53
[INFO] [stderr]     Checking flate2 v1.1.5
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]    Compiling cc v1.2.49
[INFO] [stderr]     Checking semver v1.0.27
[INFO] [stderr]    Compiling auto_impl v1.3.0
[INFO] [stderr]    Compiling tower-lsp-macros v0.9.0
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking ahash v0.8.12
[INFO] [stderr]     Checking lsp-types v0.94.1
[INFO] [stderr]     Checking tracing-subscriber v0.3.22
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking xattr v1.6.1
[INFO] [stderr]     Checking getrandom v0.2.16
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]    Compiling logos-derive v0.14.4
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]     Checking signal-hook-registry v1.4.7
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking dashmap v6.1.0
[INFO] [stderr]     Checking socket2 v0.6.1
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking logos v0.14.4
[INFO] [stderr]     Checking mio v1.1.1
[INFO] [stderr]     Checking tempfile v3.23.0
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking universal-hash v0.5.1
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]     Checking polyval v0.6.2
[INFO] [stderr]     Checking socket2 v0.5.10
[INFO] [stderr]     Checking wait-timeout v0.2.1
[INFO] [stderr]     Checking aes v0.8.4
[INFO] [stderr]     Checking ctr v0.9.2
[INFO] [stderr]     Checking ghash v0.5.1
[INFO] [stderr]     Checking rusty-fork v0.3.1
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking tokio v1.48.0
[INFO] [stderr]     Checking regex v1.12.2
[INFO] [stderr]     Checking rand_xorshift v0.4.0
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]     Checking aead v0.5.2
[INFO] [stderr]     Checking pin-project v1.1.10
[INFO] [stderr]     Checking dirs-sys v0.4.1
[INFO] [stderr]     Checking filetime v0.2.26
[INFO] [stderr]     Checking dashmap v5.5.3
[INFO] [stderr]     Checking toml v0.8.23
[INFO] [stderr]     Checking dirs v5.0.1
[INFO] [stderr]     Checking crossbeam-channel v0.5.15
[INFO] [stderr]     Checking tar v0.4.44
[INFO] [stderr]     Checking vexl-gpu v0.1.0 (/opt/rustwide/workdir/crates/vexl-gpu)
[INFO] [stderr]    Compiling stacker v0.1.22
[INFO] [stderr]    Compiling llvm-sys v140.1.3
[INFO] [stderr]    Compiling openssl-sys v0.9.111
[INFO] [stderr]    Compiling zstd-sys v2.0.16+zstd.1.5.7
[INFO] [stderr]    Compiling lz4-sys v1.11.1+lz4-1.10.0
[INFO] [stderr]     Checking aes-gcm v0.10.3
[INFO] [stderr]     Checking proptest v1.9.0
[INFO] [stderr]     Checking tower v0.4.13
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking env_logger v0.8.4
[INFO] [stderr]    Compiling openssl v0.10.75
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]     Checking quickcheck v1.0.3
[INFO] [stderr]    Compiling ar_archive_writer v0.2.0
[INFO] [stdout] warning: use of deprecated field `ash::vk::DeviceCreateInfo::enabled_layer_count`: functionality described by this member no longer operates
[INFO] [stdout]   --> crates/vexl-gpu/src/vulkan.rs:99:17
[INFO] [stdout]    |
[INFO] [stdout] 99 |                 enabled_layer_count: 0,
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `ash::vk::DeviceCreateInfo::pp_enabled_layer_names`: functionality described by this member no longer operates
[INFO] [stdout]    --> crates/vexl-gpu/src/vulkan.rs:100:17
[INFO] [stdout]     |
[INFO] [stdout] 100 |                 pp_enabled_layer_names: std::ptr::null(),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking ctrlc v3.5.1
[INFO] [stdout] warning: unused variable: `work_size`
[INFO] [stdout]  --> crates/vexl-gpu/src/backend.rs:9:73
[INFO] [stdout]   |
[INFO] [stdout] 9 |     fn execute_kernel(&self, name: &str, source: &str, args: &[GpuArg], work_size: u32) -> Result<()> {
[INFO] [stdout]   |                                                                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_work_size`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pipeline_create_info`
[INFO] [stdout]    --> crates/vexl-gpu/src/vulkan.rs:251:17
[INFO] [stdout]     |
[INFO] [stdout] 251 |             let pipeline_create_info = vk::ComputePipelineCreateInfo {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pipeline_create_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> crates/vexl-gpu/src/vulkan.rs:269:9
[INFO] [stdout]     |
[INFO] [stdout] 269 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/vexl-gpu/src/vulkan.rs:274:17
[INFO] [stdout]     |
[INFO] [stdout] 274 |             let mut data = vec![0u8; size];
[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: unused variable: `vk_buffer`
[INFO] [stdout]    --> crates/vexl-gpu/src/vulkan.rs:270:17
[INFO] [stdout]     |
[INFO] [stdout] 270 |             let vk_buffer = vk::Buffer::from_raw(buffer.id as u64);
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_vk_buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device_memory`
[INFO] [stdout]    --> crates/vexl-gpu/src/vulkan.rs:273:17
[INFO] [stdout]     |
[INFO] [stdout] 273 |             let device_memory = vk::DeviceMemory::null(); // Would need to store this in GpuBuffer
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_device_memory`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking clap v4.5.53
[INFO] [stdout] warning: fields `entry`, `queue_family_index`, and `queue` are never read
[INFO] [stdout]   --> crates/vexl-gpu/src/vulkan.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct VulkanBackend {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 20 |     entry: Entry,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     queue_family_index: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 25 |     queue: vk::Queue,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `update_descriptor_set` and `get_buffer_size_from_args` are never used
[INFO] [stdout]    --> crates/vexl-gpu/src/vulkan.rs:324:15
[INFO] [stdout]     |
[INFO] [stdout] 287 | impl VulkanBackend {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 324 |     unsafe fn update_descriptor_set(&self, descriptor_set: vk::DescriptorSet, args: &[GpuArg]) -> Result<()> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 360 |     fn get_buffer_size_from_args(args: &[GpuArg]) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking vexl-core v0.1.0 (/opt/rustwide/workdir/crates/vexl-core)
[INFO] [stdout] warning: use of deprecated field `ash::vk::DeviceCreateInfo::enabled_layer_count`: functionality described by this member no longer operates
[INFO] [stdout]   --> crates/vexl-gpu/src/vulkan.rs:99:17
[INFO] [stdout]    |
[INFO] [stdout] 99 |                 enabled_layer_count: 0,
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `ash::vk::DeviceCreateInfo::pp_enabled_layer_names`: functionality described by this member no longer operates
[INFO] [stdout]    --> crates/vexl-gpu/src/vulkan.rs:100:17
[INFO] [stdout]     |
[INFO] [stdout] 100 |                 pp_enabled_layer_names: std::ptr::null(),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling psm v0.1.28
[INFO] [stdout] warning: unused variable: `op_id`
[INFO] [stdout]    --> crates/vexl-gpu/tests/comprehensive_hardware_test.rs:189:17
[INFO] [stdout]     |
[INFO] [stdout] 189 |             for op_id in 0..operations_per_thread {
[INFO] [stdout]     |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_op_id`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buffer`
[INFO] [stdout]    --> crates/vexl-gpu/tests/comprehensive_hardware_test.rs:192:24
[INFO] [stdout]     |
[INFO] [stdout] 192 |                     Ok(buffer) => {
[INFO] [stdout]     |                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> crates/vexl-gpu/tests/comprehensive_hardware_test.rs:173:31
[INFO] [stdout]     |
[INFO] [stdout] 173 | fn run_concurrent_stress_test(config: ComprehensiveTestConfig) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `storage_mode`
[INFO] [stdout]    --> crates/vexl-core/src/vector.rs:234:62
[INFO] [stdout]     |
[INFO] [stdout] 234 |     pub fn new_generator<G>(_generator: G, dimension: usize, storage_mode: VectorStorage) -> Self 
[INFO] [stdout]     |                                                              ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_storage_mode`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `storage_mode`
[INFO] [stdout]    --> crates/vexl-core/src/vector.rs:251:61
[INFO] [stdout]     |
[INFO] [stdout] 251 |     pub fn new_memoized<G>(_generator: G, dimension: usize, storage_mode: VectorStorage) -> Self 
[INFO] [stdout]     |                                                             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_storage_mode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `len`
[INFO] [stdout]    --> crates/vexl-core/src/vector.rs:413:13
[INFO] [stdout]     |
[INFO] [stdout] 413 |         let len = std::cmp::min(self.len, 1000); // Limit for safety
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `work_size`
[INFO] [stdout]  --> crates/vexl-gpu/src/backend.rs:9:73
[INFO] [stdout]   |
[INFO] [stdout] 9 |     fn execute_kernel(&self, name: &str, source: &str, args: &[GpuArg], work_size: u32) -> Result<()> {
[INFO] [stdout]   |                                                                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_work_size`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ptr`
[INFO] [stdout]   --> crates/vexl-core/src/memory.rs:56:30
[INFO] [stdout]    |
[INFO] [stdout] 56 |     pub fn deallocate(&self, ptr: *mut u8, size: usize) {
[INFO] [stdout]    |                              ^^^ help: if this is intentional, prefix it with an underscore: `_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_type` is never used
[INFO] [stdout]   --> crates/vexl-core/src/vector.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl ElementType {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] 17 |     /// Convert Rust type to ElementType
[INFO] [stdout] 18 |     fn from_type<T: 'static>() -> Self {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `size_estimate` is never read
[INFO] [stdout]   --> crates/vexl-core/src/generator.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | struct CacheEntry<T> {
[INFO] [stdout]    |        ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 15 |     size_estimate: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CacheEntry` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `generator` and `cache` are never read
[INFO] [stdout]    --> crates/vexl-core/src/generator.rs:213:5
[INFO] [stdout]     |
[INFO] [stdout] 212 | pub struct CachedGenerator<G: Generator, T> {
[INFO] [stdout]     |            --------------- fields in this struct
[INFO] [stdout] 213 |     generator: G,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 214 |     cache: TieredCache<T>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `gc_trigger` and `total_capacity` are never read
[INFO] [stdout]   --> crates/vexl-core/src/memory.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct MemoryManager {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 31 |     stats: Mutex<MemoryStats>,
[INFO] [stdout] 32 |     gc_trigger: AtomicUsize,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 33 |     total_capacity: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pipeline_create_info`
[INFO] [stdout]    --> crates/vexl-gpu/src/vulkan.rs:251:17
[INFO] [stdout]     |
[INFO] [stdout] 251 |             let pipeline_create_info = vk::ComputePipelineCreateInfo {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pipeline_create_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> crates/vexl-gpu/src/vulkan.rs:269:9
[INFO] [stdout]     |
[INFO] [stdout] 269 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/vexl-gpu/src/vulkan.rs:274:17
[INFO] [stdout]     |
[INFO] [stdout] 274 |             let mut data = vec![0u8; size];
[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] error[E0432]: unresolved import `criterion`
[INFO] [stdout]  --> crates/vexl-gpu/benches/performance_benchmarks.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use criterion::{black_box, criterion_group, criterion_main, Criterion};
[INFO] [stdout]   |     ^^^^^^^^^ use of unresolved module or unlinked crate `criterion`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `criterion`, use `cargo add criterion` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vk_buffer`
[INFO] [stdout]    --> crates/vexl-gpu/src/vulkan.rs:270:17
[INFO] [stdout]     |
[INFO] [stdout] 270 |             let vk_buffer = vk::Buffer::from_raw(buffer.id as u64);
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_vk_buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device_memory`
[INFO] [stdout]    --> crates/vexl-gpu/src/vulkan.rs:273:17
[INFO] [stdout]     |
[INFO] [stdout] 273 |             let device_memory = vk::DeviceMemory::null(); // Would need to store this in GpuBuffer
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_device_memory`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `storage_mode`
[INFO] [stdout]    --> crates/vexl-core/src/vector.rs:234:62
[INFO] [stdout]     |
[INFO] [stdout] 234 |     pub fn new_generator<G>(_generator: G, dimension: usize, storage_mode: VectorStorage) -> Self 
[INFO] [stdout]     |                                                              ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_storage_mode`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `storage_mode`
[INFO] [stdout]    --> crates/vexl-core/src/vector.rs:251:61
[INFO] [stdout]     |
[INFO] [stdout] 251 |     pub fn new_memoized<G>(_generator: G, dimension: usize, storage_mode: VectorStorage) -> Self 
[INFO] [stdout]     |                                                             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_storage_mode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `len`
[INFO] [stdout]    --> crates/vexl-core/src/vector.rs:413:13
[INFO] [stdout]     |
[INFO] [stdout] 413 |         let len = std::cmp::min(self.len, 1000); // Limit for safety
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 0 arguments but 1 argument was supplied
[INFO] [stdout]    --> crates/vexl-gpu/benches/performance_benchmarks.rs:199:27
[INFO] [stdout]     |
[INFO] [stdout] 199 |         let mut gpu_ops = GpuVectorOps::new(Box::new(backend.clone()));
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^ ------------------------- unexpected argument of type `Box<&dyn vexl_gpu::GpuBackend>`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> crates/vexl-gpu/src/vector_ops.rs:33:12
[INFO] [stdout]     |
[INFO] [stdout]  33 |     pub fn new() -> Result<Self> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] 199 -         let mut gpu_ops = GpuVectorOps::new(Box::new(backend.clone()));
[INFO] [stdout] 199 +         let mut gpu_ops = GpuVectorOps::new();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `add_vectors` found for enum `Result<T, E>` in the current scope
[INFO] [stdout]    --> crates/vexl-gpu/benches/performance_benchmarks.rs:205:29
[INFO] [stdout]     |
[INFO] [stdout] 205 |             let _ = gpu_ops.add_vectors(&a, &b);
[INFO] [stdout]     |                             ^^^^^^^^^^^ method not found in `Result<vexl_gpu::GpuVectorOps, anyhow::Error>`
[INFO] [stdout]     |
[INFO] [stdout] note: the method `add_vectors` exists on the type `vexl_gpu::GpuVectorOps`
[INFO] [stdout]    --> crates/vexl-gpu/src/vector_ops.rs:44:5
[INFO] [stdout]     |
[INFO] [stdout]  44 |     pub fn add_vectors(&self, a: &[f32], b: &[f32]) -> Result<Vec<f32>> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: use the `?` operator to extract the `vexl_gpu::GpuVectorOps` value, propagating a `Result::Err` value to the caller
[INFO] [stdout]     |
[INFO] [stdout] 205 |             let _ = gpu_ops?.add_vectors(&a, &b);
[INFO] [stdout]     |                            +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `add_vectors` found for enum `Result<T, E>` in the current scope
[INFO] [stdout]    --> crates/vexl-gpu/benches/performance_benchmarks.rs:218:46
[INFO] [stdout]     |
[INFO] [stdout] 218 |                 "vector_addition" => gpu_ops.add_vectors(&a, &b),
[INFO] [stdout]     |                                              ^^^^^^^^^^^ method not found in `Result<vexl_gpu::GpuVectorOps, anyhow::Error>`
[INFO] [stdout]     |
[INFO] [stdout] note: the method `add_vectors` exists on the type `vexl_gpu::GpuVectorOps`
[INFO] [stdout]    --> crates/vexl-gpu/src/vector_ops.rs:44:5
[INFO] [stdout]     |
[INFO] [stdout]  44 |     pub fn add_vectors(&self, a: &[f32], b: &[f32]) -> Result<Vec<f32>> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: use the `?` operator to extract the `vexl_gpu::GpuVectorOps` value, propagating a `Result::Err` value to the caller
[INFO] [stdout]     |
[INFO] [stdout] 218 |                 "vector_addition" => gpu_ops?.add_vectors(&a, &b),
[INFO] [stdout]     |                                             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `mul_vectors` found for enum `Result<T, E>` in the current scope
[INFO] [stdout]    --> crates/vexl-gpu/benches/performance_benchmarks.rs:219:52
[INFO] [stdout]     |
[INFO] [stdout] 219 |                 "vector_multiplication" => gpu_ops.mul_vectors(&a, &b),
[INFO] [stdout]     |                                                    ^^^^^^^^^^^ method not found in `Result<vexl_gpu::GpuVectorOps, anyhow::Error>`
[INFO] [stdout]     |
[INFO] [stdout] note: the method `mul_vectors` exists on the type `vexl_gpu::GpuVectorOps`
[INFO] [stdout]    --> crates/vexl-gpu/src/vector_ops.rs:93:5
[INFO] [stdout]     |
[INFO] [stdout]  93 |     pub fn mul_vectors(&self, a: &[f32], b: &[f32]) -> Result<Vec<f32>> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: use the `?` operator to extract the `vexl_gpu::GpuVectorOps` value, propagating a `Result::Err` value to the caller
[INFO] [stdout]     |
[INFO] [stdout] 219 |                 "vector_multiplication" => gpu_ops?.mul_vectors(&a, &b),
[INFO] [stdout]     |                                                   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ptr`
[INFO] [stdout]   --> crates/vexl-core/src/memory.rs:56:30
[INFO] [stdout]    |
[INFO] [stdout] 56 |     pub fn deallocate(&self, ptr: *mut u8, size: usize) {
[INFO] [stdout]    |                              ^^^ help: if this is intentional, prefix it with an underscore: `_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ptr`
[INFO] [stdout]    --> crates/vexl-core/src/memory.rs:202:13
[INFO] [stdout]     |
[INFO] [stdout] 202 |         let ptr = manager.allocate(128);
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `map_vector` found for enum `Result<T, E>` in the current scope
[INFO] [stdout]    --> crates/vexl-gpu/benches/performance_benchmarks.rs:220:41
[INFO] [stdout]     |
[INFO] [stdout] 220 |                 "vector_map" => gpu_ops.map_vector(&a, |x| x * 2.0),
[INFO] [stdout]     |                                         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: the method `map_vector` exists on the type `vexl_gpu::GpuVectorOps`
[INFO] [stdout]    --> crates/vexl-gpu/src/vector_ops.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 121 | /     pub fn map_vector<F>(&self, input: &[f32], f: F) -> Result<Vec<f32>>
[INFO] [stdout] 122 | |     where
[INFO] [stdout] 123 | |         F: Fn(f32) -> f32,
[INFO] [stdout]     | |__________________________^
[INFO] [stdout] help: use the `?` operator to extract the `vexl_gpu::GpuVectorOps` value, propagating a `Result::Err` value to the caller
[INFO] [stdout]     |
[INFO] [stdout] 220 |                 "vector_map" => gpu_ops?.map_vector(&a, |x| x * 2.0),
[INFO] [stdout]     |                                        +
[INFO] [stdout] help: there is a method `map_or` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 220 -                 "vector_map" => gpu_ops.map_vector(&a, |x| x * 2.0),
[INFO] [stdout] 220 +                 "vector_map" => gpu_ops.map_or(&a, |x| x * 2.0),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 0 arguments but 1 argument was supplied
[INFO] [stdout]    --> crates/vexl-gpu/benches/performance_benchmarks.rs:354:35
[INFO] [stdout]     |
[INFO] [stdout] 354 |                 let mut gpu_ops = GpuVectorOps::new(backend_clone);
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^ ------------- unexpected argument of type `Box<&dyn vexl_gpu::GpuBackend>`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> crates/vexl-gpu/src/vector_ops.rs:33:12
[INFO] [stdout]     |
[INFO] [stdout]  33 |     pub fn new() -> Result<Self> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] 354 -                 let mut gpu_ops = GpuVectorOps::new(backend_clone);
[INFO] [stdout] 354 +                 let mut gpu_ops = GpuVectorOps::new();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_type` is never used
[INFO] [stdout]   --> crates/vexl-core/src/vector.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl ElementType {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] 17 |     /// Convert Rust type to ElementType
[INFO] [stdout] 18 |     fn from_type<T: 'static>() -> Self {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `size_estimate` is never read
[INFO] [stdout]   --> crates/vexl-core/src/generator.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | struct CacheEntry<T> {
[INFO] [stdout]    |        ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 15 |     size_estimate: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CacheEntry` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `generator` and `cache` are never read
[INFO] [stdout]    --> crates/vexl-core/src/generator.rs:213:5
[INFO] [stdout]     |
[INFO] [stdout] 212 | pub struct CachedGenerator<G: Generator, T> {
[INFO] [stdout]     |            --------------- fields in this struct
[INFO] [stdout] 213 |     generator: G,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 214 |     cache: TieredCache<T>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `gc_trigger` and `total_capacity` are never read
[INFO] [stdout]   --> crates/vexl-core/src/memory.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct MemoryManager {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 31 |     stats: Mutex<MemoryStats>,
[INFO] [stdout] 32 |     gc_trigger: AtomicUsize,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 33 |     total_capacity: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `add_vectors` found for enum `Result<T, E>` in the current scope
[INFO] [stdout]    --> crates/vexl-gpu/benches/performance_benchmarks.rs:359:33
[INFO] [stdout]     |
[INFO] [stdout] 359 |                 let _ = gpu_ops.add_vectors(&a, &b);
[INFO] [stdout]     |                                 ^^^^^^^^^^^ method not found in `Result<vexl_gpu::GpuVectorOps, anyhow::Error>`
[INFO] [stdout]     |
[INFO] [stdout] note: the method `add_vectors` exists on the type `vexl_gpu::GpuVectorOps`
[INFO] [stdout]    --> crates/vexl-gpu/src/vector_ops.rs:44:5
[INFO] [stdout]     |
[INFO] [stdout]  44 |     pub fn add_vectors(&self, a: &[f32], b: &[f32]) -> Result<Vec<f32>> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: consider using `Result::expect` to unwrap the `vexl_gpu::GpuVectorOps` value, panicking if the value is a `Result::Err`
[INFO] [stdout]     |
[INFO] [stdout] 359 |                 let _ = gpu_ops.expect("REASON").add_vectors(&a, &b);
[INFO] [stdout]     |                                +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 0 arguments but 1 argument was supplied
[INFO] [stdout]    --> crates/vexl-gpu/benches/performance_benchmarks.rs:426:27
[INFO] [stdout]     |
[INFO] [stdout] 426 |         let mut gpu_ops = GpuVectorOps::new(Box::new(backend.clone()));
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^ ------------------------- unexpected argument of type `Box<&dyn vexl_gpu::GpuBackend>`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> crates/vexl-gpu/src/vector_ops.rs:33:12
[INFO] [stdout]     |
[INFO] [stdout]  33 |     pub fn new() -> Result<Self> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] 426 -         let mut gpu_ops = GpuVectorOps::new(Box::new(backend.clone()));
[INFO] [stdout] 426 +         let mut gpu_ops = GpuVectorOps::new();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `entry`, `queue_family_index`, and `queue` are never read
[INFO] [stdout]   --> crates/vexl-gpu/src/vulkan.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct VulkanBackend {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 20 |     entry: Entry,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     queue_family_index: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 25 |     queue: vk::Queue,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `update_descriptor_set` and `get_buffer_size_from_args` are never used
[INFO] [stdout]    --> crates/vexl-gpu/src/vulkan.rs:324:15
[INFO] [stdout]     |
[INFO] [stdout] 287 | impl VulkanBackend {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 324 |     unsafe fn update_descriptor_set(&self, descriptor_set: vk::DescriptorSet, args: &[GpuArg]) -> Result<()> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 360 |     fn get_buffer_size_from_args(args: &[GpuArg]) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `add_vectors` found for enum `Result<T, E>` in the current scope
[INFO] [stdout]    --> crates/vexl-gpu/benches/performance_benchmarks.rs:438:29
[INFO] [stdout]     |
[INFO] [stdout] 438 |             let _ = gpu_ops.add_vectors(&a, &b);
[INFO] [stdout]     |                             ^^^^^^^^^^^ method not found in `Result<vexl_gpu::GpuVectorOps, anyhow::Error>`
[INFO] [stdout]     |
[INFO] [stdout] note: the method `add_vectors` exists on the type `vexl_gpu::GpuVectorOps`
[INFO] [stdout]    --> crates/vexl-gpu/src/vector_ops.rs:44:5
[INFO] [stdout]     |
[INFO] [stdout]  44 |     pub fn add_vectors(&self, a: &[f32], b: &[f32]) -> Result<Vec<f32>> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: use the `?` operator to extract the `vexl_gpu::GpuVectorOps` value, propagating a `Result::Err` value to the caller
[INFO] [stdout]     |
[INFO] [stdout] 438 |             let _ = gpu_ops?.add_vectors(&a, &b);
[INFO] [stdout]     |                            +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0382]: borrow of moved value: `operation_groups`
[INFO] [stdout]    --> crates/vexl-gpu/benches/performance_benchmarks.rs:538:37
[INFO] [stdout]     |
[INFO] [stdout] 488 |         let mut operation_groups: HashMap<String, Vec<&BenchmarkResult>> = HashMap::new();
[INFO] [stdout]     |             -------------------- move occurs because `operation_groups` has type `HashMap<String, Vec<&BenchmarkResult>>`, which does not implement the `Copy` trait
[INFO] [stdout] ...
[INFO] [stdout] 497 |         for (operation, results) in operation_groups {
[INFO] [stdout]     |                                     ---------------- `operation_groups` moved due to this implicit call to `.into_iter()`
[INFO] [stdout] ...
[INFO] [stdout] 538 |         for (operation, results) in &operation_groups {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^ value borrowed here after move
[INFO] [stdout]     |
[INFO] [stdout] note: `into_iter` takes ownership of the receiver `self`, which moves `operation_groups`
[INFO] [stdout]    --> /rustc/e622d8d7bed4f2668d446e06c6c1436ecae15796/library/core/src/iter/traits/collect.rs:312:17
[INFO] [stdout] help: consider iterating over a slice of the `HashMap<String, Vec<&BenchmarkResult>>`'s content to avoid moving into the `for` loop
[INFO] [stdout]     |
[INFO] [stdout] 497 |         for (operation, results) in &operation_groups {
[INFO] [stdout]     |                                     +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0382, E0432, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `vexl-gpu` (bench "performance_benchmarks") due to 11 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] running `Command { std: "docker" "inspect" "cb2aa48afba9bbcc42394bdedc23067d5f6d23ecdf53cb852a61583b12c5174d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cb2aa48afba9bbcc42394bdedc23067d5f6d23ecdf53cb852a61583b12c5174d", kill_on_drop: false }`
[INFO] [stdout] cb2aa48afba9bbcc42394bdedc23067d5f6d23ecdf53cb852a61583b12c5174d
