[INFO] cloning repository https://github.com/Fandhe-AI/vector-db
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Fandhe-AI/vector-db" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FFandhe-AI%2Fvector-db", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FFandhe-AI%2Fvector-db'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 9fc43701c296278e3ac219e33c0068b42072d674
[INFO] checking Fandhe-AI/vector-db against 018018e881e2db0956f229dbb543e21f058d1ce7 for pr-162600
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FFandhe-AI%2Fvector-db" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-2-tc1/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/Fandhe-AI/vector-db
[INFO] finished tweaking git repo https://github.com/Fandhe-AI/vector-db
[INFO] tweaked toml for git repo https://github.com/Fandhe-AI/vector-db written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Fandhe-AI/vector-db on toolchain 018018e881e2db0956f229dbb543e21f058d1ce7
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+018018e881e2db0956f229dbb543e21f058d1ce7" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Fandhe-AI/vector-db 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" "+018018e881e2db0956f229dbb543e21f058d1ce7" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded naga-types v30.0.1
[INFO] [stderr]   Downloaded wgpu-naga-bridge v30.0.1
[INFO] [stderr]   Downloaded wgpu-core-deps-windows-linux-android v30.0.1
[INFO] [stderr]   Downloaded bit-set v0.10.0
[INFO] [stderr]   Downloaded wgpu-core-deps-apple v30.0.1
[INFO] [stderr]   Downloaded wgpu-types v30.0.1
[INFO] [stderr]   Downloaded smallvec v1.16.0
[INFO] [stderr]   Downloaded cxxbridge-flags v1.0.200
[INFO] [stderr]   Downloaded portable-atomic-util v0.2.8
[INFO] [stderr]   Downloaded macro_rules_attribute v0.2.3
[INFO] [stderr]   Downloaded macro_rules_attribute-proc_macro v0.2.3
[INFO] [stderr]   Downloaded cc v1.4.5
[INFO] [stderr]   Downloaded cxxbridge-macro v1.0.200
[INFO] [stderr]   Downloaded cxxbridge-cmd v1.0.200
[INFO] [stderr]   Downloaded cxx-build v1.0.200
[INFO] [stderr]   Downloaded ort-sys v2.0.0-rc.13
[INFO] [stderr]   Downloaded matrixmultiply v0.3.11
[INFO] [stderr]   Downloaded usearch v2.26.2
[INFO] [stderr]   Downloaded daachorse v3.0.3
[INFO] [stderr]   Downloaded wgpu v30.0.1
[INFO] [stderr]   Downloaded ort v2.0.0-rc.13
[INFO] [stderr]   Downloaded tokenizers v0.23.2
[INFO] [stderr]   Downloaded cxx v1.0.200
[INFO] [stderr]   Downloaded redb v4.2.0
[INFO] [stderr]   Downloaded wgpu-core v30.0.1
[INFO] [stderr]   Downloaded wgpu-hal v30.0.1
[INFO] [stderr]   Downloaded naga v30.0.1
[INFO] [stderr]   Downloaded numkong v7.8.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] fae3b04e18f0f4d46ea7e4ba8167d3269e31d832239f7327ff6fa3458e5570b0
[INFO] running `Command { std: "docker" "start" "fae3b04e18f0f4d46ea7e4ba8167d3269e31d832239f7327ff6fa3458e5570b0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "fae3b04e18f0f4d46ea7e4ba8167d3269e31d832239f7327ff6fa3458e5570b0", 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" "fae3b04e18f0f4d46ea7e4ba8167d3269e31d832239f7327ff6fa3458e5570b0" "/opt/rustwide/cargo-home/bin/cargo" "+018018e881e2db0956f229dbb543e21f058d1ce7" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "fae3b04e18f0f4d46ea7e4ba8167d3269e31d832239f7327ff6fa3458e5570b0", 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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "fae3b04e18f0f4d46ea7e4ba8167d3269e31d832239f7327ff6fa3458e5570b0" "/opt/rustwide/cargo-home/bin/cargo" "+018018e881e2db0956f229dbb543e21f058d1ce7" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling thiserror v2.0.20
[INFO] [stderr]    Compiling zerocopy v0.8.57
[INFO] [stderr]     Checking bitflags v2.13.1
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking hashbrown v0.17.1
[INFO] [stderr]    Compiling naga v30.0.1
[INFO] [stderr]     Checking bit-vec v0.9.1
[INFO] [stderr]     Checking codespan-reporting v0.13.1
[INFO] [stderr]    Compiling syn v3.0.5
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]     Checking once_cell v1.21.4
[INFO] [stderr]     Checking smallvec v1.16.0
[INFO] [stderr]     Checking ash v0.38.0+1.3.281
[INFO] [stderr]     Checking hashbrown v0.16.1
[INFO] [stderr]    Compiling wgpu-hal v30.0.1
[INFO] [stderr]     Checking presser v0.3.1
[INFO] [stderr]     Checking profiling v1.0.18
[INFO] [stderr]    Compiling wgpu-core v30.0.1
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]    Compiling wgpu v30.0.1
[INFO] [stderr]     Checking spirv v0.4.0+sdk-1.4.341.0
[INFO] [stderr]    Compiling redb v4.2.0
[INFO] [stderr]     Checking bit-set v0.10.0
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking indexmap v2.14.2
[INFO] [stderr]     Checking ordered-float v5.5.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.20
[INFO] [stderr]    Compiling bytemuck_derive v1.12.0
[INFO] [stderr]     Checking naga-types v30.0.1
[INFO] [stderr]     Checking bytemuck v1.25.2
[INFO] [stderr]     Checking wgpu-types v30.0.1
[INFO] [stderr]    Compiling zerocopy-derive v0.8.57
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking gpu-allocator v0.28.0
[INFO] [stderr]     Checking wgpu-naga-bridge v30.0.1
[INFO] [stderr]     Checking wgpu-core-deps-windows-linux-android v30.0.1
[INFO] [stderr]     Checking fandhe-vector-db-engine v0.1.0 (/opt/rustwide/workdir/crates/engine)
[INFO] [stdout] warning: overflow evaluating the requirement `OnceLock<std::result::Result<wgpu::ComputePipeline, String>>: Sync`
[INFO] [stdout]    --> crates/engine/src/gpu_batch/packed_i8.rs:472:22
[INFO] [stdout]     |
[INFO] [stdout] 472 |     static PIPELINE: OnceLock<Result<wgpu::ComputePipeline, String>> = OnceLock::new();
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: which requires `std::result::Result<wgpu::ComputePipeline, String>: Send`
[INFO] [stdout]     = note: which requires `wgpu::ComputePipeline: Send`
[INFO] [stdout]     = note: which requires `wgpu::dispatch::DispatchComputePipeline: Send`
[INFO] [stdout]     = note: which requires `Arc<wgpu::backend::wgpu_core::CoreComputePipeline>: Send`
[INFO] [stdout]     = note: which requires `wgpu::backend::wgpu_core::CoreComputePipeline: Send`
[INFO] [stdout]     = note: which requires `wgpu::backend::wgpu_core::ContextWgpuCore: Send`
[INFO] [stdout]     = note: which requires `Arc<wgpu::wgpu_core::global::Global>: Send`
[INFO] [stdout]     = note: which requires `wgpu::wgpu_core::global::Global: Send`
[INFO] [stdout]     = note: which requires `Hub: Send`
[INFO] [stdout]     = note: which requires `registry::Registry<Arc<lock_api::mutex::Mutex<parking_lot::raw_mutex::RawMutex, wgpu::wgpu_core::command::ComputePass>>>: Send`
[INFO] [stdout]     = note: which requires `wgc::lock::vanilla::RwLock<wgpu::wgpu_core::storage::Storage<Arc<lock_api::mutex::Mutex<parking_lot::raw_mutex::RawMutex, wgpu::wgpu_core::command::ComputePass>>>>: Send`
[INFO] [stdout]     = note: which requires `lock_api::rwlock::RwLock<parking_lot::raw_rwlock::RawRwLock, wgpu::wgpu_core::storage::Storage<Arc<lock_api::mutex::Mutex<parking_lot::raw_mutex::RawMutex, wgpu::wgpu_core::command::ComputePass>>>>: Send`
[INFO] [stdout]     = note: which requires `wgpu::wgpu_core::storage::Storage<Arc<lock_api::mutex::Mutex<parking_lot::raw_mutex::RawMutex, wgpu::wgpu_core::command::ComputePass>>>: Send`
[INFO] [stdout]     = note: which requires `Vec<wgpu::wgpu_core::storage::Element<Arc<lock_api::mutex::Mutex<parking_lot::raw_mutex::RawMutex, wgpu::wgpu_core::command::ComputePass>>>>: Send`
[INFO] [stdout]     = note: which requires `alloc::raw_vec::RawVec<wgpu::wgpu_core::storage::Element<Arc<lock_api::mutex::Mutex<parking_lot::raw_mutex::RawMutex, wgpu::wgpu_core::command::ComputePass>>>>: Send`
[INFO] [stdout]     = note: and so on...
[INFO] [stdout]     = help: consider adding a manual `impl` of auto traits like `Send` for intermediate types, if auto traits are involved
[INFO] [stdout]     = help: or consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`engine`)
[INFO] [stdout]     = note: this lint is attached to the whole crate and can't be disabled on a per-function basis
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #159228 <https://github.com/rust-lang/rust/issues/159228>
[INFO] [stdout]     = note: `#[warn(recursion_depth_exceeding_limit)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::Atomic::<usize>::fetch_update`: renamed to `try_update` for consistency
[INFO] [stdout]   --> crates/engine/src/parallel_search.rs:62:38
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let _ = GLOBAL_WORKER_BUDGET.fetch_update(Ordering::SeqCst, Ordering::SeqCst, |cur| {
[INFO] [stdout]    |                                      ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]    |
[INFO] [stdout] 62 -         let _ = GLOBAL_WORKER_BUDGET.fetch_update(Ordering::SeqCst, Ordering::SeqCst, |cur| {
[INFO] [stdout] 62 +         let _ = GLOBAL_WORKER_BUDGET.try_update(Ordering::SeqCst, Ordering::SeqCst, |cur| {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: overflow evaluating the requirement `OnceLock<std::result::Result<wgpu::ComputePipeline, String>>: Sync`
[INFO] [stdout]    --> crates/engine/src/gpu_batch/packed_i8.rs:472:22
[INFO] [stdout]     |
[INFO] [stdout] 472 |     static PIPELINE: OnceLock<Result<wgpu::ComputePipeline, String>> = OnceLock::new();
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: which requires `std::result::Result<wgpu::ComputePipeline, String>: Send`
[INFO] [stdout]     = note: which requires `wgpu::ComputePipeline: Send`
[INFO] [stdout]     = note: which requires `wgpu::dispatch::DispatchComputePipeline: Send`
[INFO] [stdout]     = note: which requires `std::sync::Arc<wgpu::backend::wgpu_core::CoreComputePipeline>: Send`
[INFO] [stdout]     = note: which requires `wgpu::backend::wgpu_core::CoreComputePipeline: Send`
[INFO] [stdout]     = note: which requires `wgpu::backend::wgpu_core::ContextWgpuCore: Send`
[INFO] [stdout]     = note: which requires `std::sync::Arc<wgpu::wgpu_core::global::Global>: Send`
[INFO] [stdout]     = note: which requires `wgpu::wgpu_core::global::Global: Send`
[INFO] [stdout]     = note: which requires `Hub: Send`
[INFO] [stdout]     = note: which requires `registry::Registry<std::sync::Arc<lock_api::mutex::Mutex<parking_lot::raw_mutex::RawMutex, wgpu::wgpu_core::command::ComputePass>>>: Send`
[INFO] [stdout]     = note: which requires `wgc::lock::vanilla::RwLock<wgpu::wgpu_core::storage::Storage<std::sync::Arc<lock_api::mutex::Mutex<parking_lot::raw_mutex::RawMutex, wgpu::wgpu_core::command::ComputePass>>>>: Send`
[INFO] [stdout]     = note: which requires `lock_api::rwlock::RwLock<parking_lot::raw_rwlock::RawRwLock, wgpu::wgpu_core::storage::Storage<std::sync::Arc<lock_api::mutex::Mutex<parking_lot::raw_mutex::RawMutex, wgpu::wgpu_core::command::ComputePass>>>>: Send`
[INFO] [stdout]     = note: which requires `wgpu::wgpu_core::storage::Storage<std::sync::Arc<lock_api::mutex::Mutex<parking_lot::raw_mutex::RawMutex, wgpu::wgpu_core::command::ComputePass>>>: Send`
[INFO] [stdout]     = note: which requires `Vec<wgpu::wgpu_core::storage::Element<std::sync::Arc<lock_api::mutex::Mutex<parking_lot::raw_mutex::RawMutex, wgpu::wgpu_core::command::ComputePass>>>>: Send`
[INFO] [stdout]     = note: which requires `alloc::raw_vec::RawVec<wgpu::wgpu_core::storage::Element<std::sync::Arc<lock_api::mutex::Mutex<parking_lot::raw_mutex::RawMutex, wgpu::wgpu_core::command::ComputePass>>>>: Send`
[INFO] [stdout]     = note: and so on...
[INFO] [stdout]     = help: consider adding a manual `impl` of auto traits like `Send` for intermediate types, if auto traits are involved
[INFO] [stdout]     = help: or consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`engine`)
[INFO] [stdout]     = note: this lint is attached to the whole crate and can't be disabled on a per-function basis
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #159228 <https://github.com/rust-lang/rust/issues/159228>
[INFO] [stdout]     = note: `#[warn(recursion_depth_exceeding_limit)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::Atomic::<usize>::fetch_update`: renamed to `try_update` for consistency
[INFO] [stdout]   --> crates/engine/src/parallel_search.rs:62:38
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let _ = GLOBAL_WORKER_BUDGET.fetch_update(Ordering::SeqCst, Ordering::SeqCst, |cur| {
[INFO] [stdout]    |                                      ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]    |
[INFO] [stdout] 62 -         let _ = GLOBAL_WORKER_BUDGET.fetch_update(Ordering::SeqCst, Ordering::SeqCst, |cur| {
[INFO] [stdout] 62 +         let _ = GLOBAL_WORKER_BUDGET.try_update(Ordering::SeqCst, Ordering::SeqCst, |cur| {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking fandhe-vector-db-wire-server v0.1.0 (/opt/rustwide/workdir/crates/wire-server)
[INFO] [stdout] warning: overflow evaluating the requirement `GpuI8BatchBackend: Send`
[INFO] [stdout]    --> crates/engine/tests/gpu_batch_i8.rs:199:16
[INFO] [stdout]     |
[INFO] [stdout] 199 |     let hits = engine::batch_fallback::BatchBackend::batch_search(&backend, &[bq_a, bq_b])
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: which requires `wgpu::api::buffer::Buffer: Send`
[INFO] [stdout]     = note: which requires `wgpu::dispatch::DispatchBuffer: Send`
[INFO] [stdout]     = note: which requires `Arc<wgpu::backend::wgpu_core::CoreBuffer>: Send`
[INFO] [stdout]     = note: which requires `wgpu::backend::wgpu_core::CoreBuffer: Send`
[INFO] [stdout]     = note: which requires `wgpu::backend::wgpu_core::ContextWgpuCore: Send`
[INFO] [stdout]     = note: which requires `Arc<wgpu_core::global::Global>: Send`
[INFO] [stdout]     = note: which requires `wgpu_core::global::Global: Send`
[INFO] [stdout]     = note: which requires `wgpu_core::hub::Hub: Send`
[INFO] [stdout]     = note: which requires `wgpu_core::registry::Registry<Arc<lock_api::mutex::Mutex<parking_lot::raw_mutex::RawMutex, wgpu_core::command::compute::ComputePass>>>: Send`
[INFO] [stdout]     = note: which requires `wgpu_core::lock::vanilla::RwLock<wgpu_core::storage::Storage<Arc<lock_api::mutex::Mutex<parking_lot::raw_mutex::RawMutex, wgpu_core::command::compute::ComputePass>>>>: Send`
[INFO] [stdout]     = note: which requires `lock_api::rwlock::RwLock<parking_lot::raw_rwlock::RawRwLock, wgpu_core::storage::Storage<Arc<lock_api::mutex::Mutex<parking_lot::raw_mutex::RawMutex, wgpu_core::command::compute::ComputePass>>>>: Send`
[INFO] [stdout]     = note: which requires `wgpu_core::storage::Storage<Arc<lock_api::mutex::Mutex<parking_lot::raw_mutex::RawMutex, wgpu_core::command::compute::ComputePass>>>: Send`
[INFO] [stdout]     = note: which requires `Vec<wgpu_core::storage::Element<Arc<lock_api::mutex::Mutex<parking_lot::raw_mutex::RawMutex, wgpu_core::command::compute::ComputePass>>>>: Send`
[INFO] [stdout]     = note: which requires `alloc::raw_vec::RawVec<wgpu_core::storage::Element<Arc<lock_api::mutex::Mutex<parking_lot::raw_mutex::RawMutex, wgpu_core::command::compute::ComputePass>>>>: Send`
[INFO] [stdout]     = note: which requires `PhantomData<wgpu_core::storage::Element<Arc<lock_api::mutex::Mutex<parking_lot::raw_mutex::RawMutex, wgpu_core::command::compute::ComputePass>>>>: Send`
[INFO] [stdout]     = note: and so on...
[INFO] [stdout]     = help: consider adding a manual `impl` of auto traits like `Send` for intermediate types, if auto traits are involved
[INFO] [stdout]     = help: or consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`gpu_batch_i8`)
[INFO] [stdout]     = note: this lint is attached to the whole crate and can't be disabled on a per-function basis
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #159228 <https://github.com/rust-lang/rust/issues/159228>
[INFO] [stdout]     = note: `#[warn(recursion_depth_exceeding_limit)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: overflow evaluating the requirement `GpuI8BatchBackend: Send`
[INFO] [stdout]    --> crates/engine/benches/gpu_scaling_bench.rs:364:32
[INFO] [stdout]     |
[INFO] [stdout] 364 |     let i8_hits = match gpu_i8.batch_search(&queries) {
[INFO] [stdout]     |                                ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: which requires `wgpu::api::buffer::Buffer: Send`
[INFO] [stdout]     = note: which requires `wgpu::dispatch::DispatchBuffer: Send`
[INFO] [stdout]     = note: which requires `Arc<wgpu::backend::wgpu_core::CoreBuffer>: Send`
[INFO] [stdout]     = note: which requires `wgpu::backend::wgpu_core::CoreBuffer: Send`
[INFO] [stdout]     = note: which requires `wgpu::backend::wgpu_core::ContextWgpuCore: Send`
[INFO] [stdout]     = note: which requires `Arc<wgpu_core::global::Global>: Send`
[INFO] [stdout]     = note: which requires `wgpu_core::global::Global: Send`
[INFO] [stdout]     = note: which requires `wgpu_core::hub::Hub: Send`
[INFO] [stdout]     = note: which requires `wgpu_core::registry::Registry<Arc<lock_api::mutex::Mutex<parking_lot::raw_mutex::RawMutex, wgpu_core::command::compute::ComputePass>>>: Send`
[INFO] [stdout]     = note: which requires `wgpu_core::lock::vanilla::RwLock<wgpu_core::storage::Storage<Arc<lock_api::mutex::Mutex<parking_lot::raw_mutex::RawMutex, wgpu_core::command::compute::ComputePass>>>>: Send`
[INFO] [stdout]     = note: which requires `lock_api::rwlock::RwLock<parking_lot::raw_rwlock::RawRwLock, wgpu_core::storage::Storage<Arc<lock_api::mutex::Mutex<parking_lot::raw_mutex::RawMutex, wgpu_core::command::compute::ComputePass>>>>: Send`
[INFO] [stdout]     = note: which requires `wgpu_core::storage::Storage<Arc<lock_api::mutex::Mutex<parking_lot::raw_mutex::RawMutex, wgpu_core::command::compute::ComputePass>>>: Send`
[INFO] [stdout]     = note: which requires `Vec<wgpu_core::storage::Element<Arc<lock_api::mutex::Mutex<parking_lot::raw_mutex::RawMutex, wgpu_core::command::compute::ComputePass>>>>: Send`
[INFO] [stdout]     = note: which requires `alloc::raw_vec::RawVec<wgpu_core::storage::Element<Arc<lock_api::mutex::Mutex<parking_lot::raw_mutex::RawMutex, wgpu_core::command::compute::ComputePass>>>>: Send`
[INFO] [stdout]     = note: which requires `PhantomData<wgpu_core::storage::Element<Arc<lock_api::mutex::Mutex<parking_lot::raw_mutex::RawMutex, wgpu_core::command::compute::ComputePass>>>>: Send`
[INFO] [stdout]     = note: and so on...
[INFO] [stdout]     = help: consider adding a manual `impl` of auto traits like `Send` for intermediate types, if auto traits are involved
[INFO] [stdout]     = help: or consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`gpu_scaling_bench`)
[INFO] [stdout]     = note: this lint is attached to the whole crate and can't be disabled on a per-function basis
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #159228 <https://github.com/rust-lang/rust/issues/159228>
[INFO] [stdout]     = note: `#[warn(recursion_depth_exceeding_limit)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: overflow evaluating the requirement `GpuBatchBackend: Send`
[INFO] [stdout]    --> crates/engine/tests/gpu_batch.rs:208:10
[INFO] [stdout]     |
[INFO] [stdout] 208 |         .batch_search(&[bq_a, bq_b])
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: which requires `wgpu::api::buffer::Buffer: Send`
[INFO] [stdout]     = note: which requires `wgpu::dispatch::DispatchBuffer: Send`
[INFO] [stdout]     = note: which requires `Arc<wgpu::backend::wgpu_core::CoreBuffer>: Send`
[INFO] [stdout]     = note: which requires `wgpu::backend::wgpu_core::CoreBuffer: Send`
[INFO] [stdout]     = note: which requires `wgpu::backend::wgpu_core::ContextWgpuCore: Send`
[INFO] [stdout]     = note: which requires `Arc<wgpu_core::global::Global>: Send`
[INFO] [stdout]     = note: which requires `wgpu_core::global::Global: Send`
[INFO] [stdout]     = note: which requires `wgpu_core::hub::Hub: Send`
[INFO] [stdout]     = note: which requires `wgpu_core::registry::Registry<Arc<lock_api::mutex::Mutex<parking_lot::raw_mutex::RawMutex, wgpu_core::command::compute::ComputePass>>>: Send`
[INFO] [stdout]     = note: which requires `wgpu_core::lock::vanilla::RwLock<wgpu_core::storage::Storage<Arc<lock_api::mutex::Mutex<parking_lot::raw_mutex::RawMutex, wgpu_core::command::compute::ComputePass>>>>: Send`
[INFO] [stdout]     = note: which requires `lock_api::rwlock::RwLock<parking_lot::raw_rwlock::RawRwLock, wgpu_core::storage::Storage<Arc<lock_api::mutex::Mutex<parking_lot::raw_mutex::RawMutex, wgpu_core::command::compute::ComputePass>>>>: Send`
[INFO] [stdout]     = note: which requires `wgpu_core::storage::Storage<Arc<lock_api::mutex::Mutex<parking_lot::raw_mutex::RawMutex, wgpu_core::command::compute::ComputePass>>>: Send`
[INFO] [stdout]     = note: which requires `Vec<wgpu_core::storage::Element<Arc<lock_api::mutex::Mutex<parking_lot::raw_mutex::RawMutex, wgpu_core::command::compute::ComputePass>>>>: Send`
[INFO] [stdout]     = note: which requires `alloc::raw_vec::RawVec<wgpu_core::storage::Element<Arc<lock_api::mutex::Mutex<parking_lot::raw_mutex::RawMutex, wgpu_core::command::compute::ComputePass>>>>: Send`
[INFO] [stdout]     = note: which requires `PhantomData<wgpu_core::storage::Element<Arc<lock_api::mutex::Mutex<parking_lot::raw_mutex::RawMutex, wgpu_core::command::compute::ComputePass>>>>: Send`
[INFO] [stdout]     = note: and so on...
[INFO] [stdout]     = help: consider adding a manual `impl` of auto traits like `Send` for intermediate types, if auto traits are involved
[INFO] [stdout]     = help: or consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`gpu_batch`)
[INFO] [stdout]     = note: this lint is attached to the whole crate and can't be disabled on a per-function basis
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #159228 <https://github.com/rust-lang/rust/issues/159228>
[INFO] [stdout]     = note: `#[warn(recursion_depth_exceeding_limit)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `next_f32_f16_round_trippable` is never used
[INFO] [stdout]    --> crates/engine/tests/gpu_batch.rs:469:8
[INFO] [stdout]     |
[INFO] [stdout] 445 | impl Xorshift32 {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 469 |     fn next_f32_f16_round_trippable(&mut self) -> f32 {
[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 `multi_query_fixture_f16_safe` is never used
[INFO] [stdout]    --> crates/engine/tests/gpu_batch.rs:530:4
[INFO] [stdout]     |
[INFO] [stdout] 530 | fn multi_query_fixture_f16_safe(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: overflow evaluating the requirement `GpuF32ContrastBackend: Send`
[INFO] [stdout]    --> crates/engine/benches/batch_bench.rs:735:43
[INFO] [stdout]     |
[INFO] [stdout] 735 |     let workload_a = || match f32_backend.batch_search(&queries) {
[INFO] [stdout]     |                                           ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: which requires `wgpu::api::buffer::Buffer: Send`
[INFO] [stdout]     = note: which requires `wgpu::dispatch::DispatchBuffer: Send`
[INFO] [stdout]     = note: which requires `Arc<wgpu::backend::wgpu_core::CoreBuffer>: Send`
[INFO] [stdout]     = note: which requires `wgpu::backend::wgpu_core::CoreBuffer: Send`
[INFO] [stdout]     = note: which requires `wgpu::backend::wgpu_core::ContextWgpuCore: Send`
[INFO] [stdout]     = note: which requires `Arc<wgpu_core::global::Global>: Send`
[INFO] [stdout]     = note: which requires `wgpu_core::global::Global: Send`
[INFO] [stdout]     = note: which requires `wgpu_core::hub::Hub: Send`
[INFO] [stdout]     = note: which requires `wgpu_core::registry::Registry<Arc<lock_api::mutex::Mutex<parking_lot::raw_mutex::RawMutex, wgpu_core::command::compute::ComputePass>>>: Send`
[INFO] [stdout]     = note: which requires `wgpu_core::lock::vanilla::RwLock<wgpu_core::storage::Storage<Arc<lock_api::mutex::Mutex<parking_lot::raw_mutex::RawMutex, wgpu_core::command::compute::ComputePass>>>>: Send`
[INFO] [stdout]     = note: which requires `lock_api::rwlock::RwLock<parking_lot::raw_rwlock::RawRwLock, wgpu_core::storage::Storage<Arc<lock_api::mutex::Mutex<parking_lot::raw_mutex::RawMutex, wgpu_core::command::compute::ComputePass>>>>: Send`
[INFO] [stdout]     = note: which requires `wgpu_core::storage::Storage<Arc<lock_api::mutex::Mutex<parking_lot::raw_mutex::RawMutex, wgpu_core::command::compute::ComputePass>>>: Send`
[INFO] [stdout]     = note: which requires `Vec<wgpu_core::storage::Element<Arc<lock_api::mutex::Mutex<parking_lot::raw_mutex::RawMutex, wgpu_core::command::compute::ComputePass>>>>: Send`
[INFO] [stdout]     = note: which requires `alloc::raw_vec::RawVec<wgpu_core::storage::Element<Arc<lock_api::mutex::Mutex<parking_lot::raw_mutex::RawMutex, wgpu_core::command::compute::ComputePass>>>>: Send`
[INFO] [stdout]     = note: which requires `PhantomData<wgpu_core::storage::Element<Arc<lock_api::mutex::Mutex<parking_lot::raw_mutex::RawMutex, wgpu_core::command::compute::ComputePass>>>>: Send`
[INFO] [stdout]     = note: and so on...
[INFO] [stdout]     = help: consider adding a manual `impl` of auto traits like `Send` for intermediate types, if auto traits are involved
[INFO] [stdout]     = help: or consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`batch_bench`)
[INFO] [stdout]     = note: this lint is attached to the whole crate and can't be disabled on a per-function basis
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #159228 <https://github.com/rust-lang/rust/issues/159228>
[INFO] [stdout]     = note: `#[warn(recursion_depth_exceeding_limit)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 33s
[INFO] running `Command { std: "docker" "inspect" "fae3b04e18f0f4d46ea7e4ba8167d3269e31d832239f7327ff6fa3458e5570b0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fae3b04e18f0f4d46ea7e4ba8167d3269e31d832239f7327ff6fa3458e5570b0", kill_on_drop: false }`
[INFO] [stdout] fae3b04e18f0f4d46ea7e4ba8167d3269e31d832239f7327ff6fa3458e5570b0
