[INFO] fetching crate unillm-kv 0.1.0...
[INFO] testing unillm-kv-0.1.0 against 1.100.0-beta.1 for beta-1.100-2
[INFO] extracting crate unillm-kv 0.1.0 into /workspace/builds/worker-7-tc2/source
[INFO] started tweaking crates.io crate unillm-kv 0.1.0
[INFO] finished tweaking crates.io crate unillm-kv 0.1.0
[INFO] tweaked toml for crates.io crate unillm-kv 0.1.0 written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate unillm-kv 0.1.0 on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate unillm-kv 0.1.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.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/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:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 22e05e1540afde0124ecd93d566141d1d89e232b2ee7936f16c32a2e73f2758c
[INFO] running `Command { std: "docker" "start" "22e05e1540afde0124ecd93d566141d1d89e232b2ee7936f16c32a2e73f2758c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "22e05e1540afde0124ecd93d566141d1d89e232b2ee7936f16c32a2e73f2758c", 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" "22e05e1540afde0124ecd93d566141d1d89e232b2ee7936f16c32a2e73f2758c" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "22e05e1540afde0124ecd93d566141d1d89e232b2ee7936f16c32a2e73f2758c", 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" "22e05e1540afde0124ecd93d566141d1d89e232b2ee7936f16c32a2e73f2758c" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling unillm-kv v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `BTreeMap`
[INFO] [stdout]  --> src/hybrid_cache.rs:8:33
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::collections::{HashMap, BTreeMap, VecDeque};
[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 import: `Duration`
[INFO] [stdout]   --> src/hybrid_cache.rs:10:17
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::time::{Duration, Instant};
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `KvAllocatorStats`
[INFO] [stdout]   --> src/hybrid_cache.rs:12:31
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::{PagedKvAllocator, KvAllocatorStats};
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `Mutex`
[INFO] [stdout]  --> src/gpu_memory.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                 ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr::NonNull`
[INFO] [stdout]  --> src/gpu_memory.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::ptr::NonNull;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TokenId`
[INFO] [stdout]   --> src/gpu_memory.rs:10:41
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::hybrid_cache::{KVTensorPair, TokenId, SequenceId};
[INFO] [stdout]    |                                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AdaptiveCachePolicy` and `SequenceId`
[INFO] [stdout]   --> src/gpu_integrated_cache.rs:10:67
[INFO] [stdout]    |
[INFO] [stdout] 10 |     HybridKVCache, CacheHandle, CacheTier, KVTensorPair, TokenId, SequenceId,
[INFO] [stdout]    |                                                                   ^^^^^^^^^^
[INFO] [stdout] 11 |     AdaptiveCachePolicy, HybridCacheStats
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GpuMemoryBackend`
[INFO] [stdout]   --> src/gpu_integrated_cache.rs:14:25
[INFO] [stdout]    |
[INFO] [stdout] 14 |     GpuAwareMemoryPool, GpuMemoryBackend, GpuDevicePtr, GpuMemoryResult, GpuMemoryError
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]   --> src/lib.rs:31:43
[INFO] [stdout]    |
[INFO] [stdout] 31 | use std::collections::{HashMap, VecDeque, HashSet};
[INFO] [stdout]    |                                           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `Mutex`
[INFO] [stdout]   --> src/lib.rs:32:17
[INFO] [stdout]    |
[INFO] [stdout] 32 | use std::sync::{Arc, Mutex};
[INFO] [stdout]    |                 ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]   --> src/lib.rs:33:17
[INFO] [stdout]    |
[INFO] [stdout] 33 | use std::time::{Duration, Instant};
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/gpu_memory.rs:366:25
[INFO] [stdout]     |
[INFO] [stdout] 366 |     fn new_with_backend(mut backend: Box<dyn GpuMemoryBackend>) -> GpuMemoryResult<Self> {
[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: `host_data`
[INFO] [stdout]    --> src/gpu_integrated_cache.rs:179:9
[INFO] [stdout]     |
[INFO] [stdout] 179 |         host_data: &[u8],
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_host_data`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst_ptr`
[INFO] [stdout]    --> src/gpu_integrated_cache.rs:187:13
[INFO] [stdout]     |
[INFO] [stdout] 187 |         let dst_ptr = gpu_ptr.offset(offset);
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dst_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gpu_pool`
[INFO] [stdout]    --> src/gpu_integrated_cache.rs:190:13
[INFO] [stdout]     |
[INFO] [stdout] 190 |         let gpu_pool = self.gpu_memory_pool.lock()
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gpu_pool`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `host_buffer`
[INFO] [stdout]    --> src/gpu_integrated_cache.rs:206:9
[INFO] [stdout]     |
[INFO] [stdout] 206 |         host_buffer: &mut [u8],
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_host_buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src_ptr`
[INFO] [stdout]    --> src/gpu_integrated_cache.rs:214:13
[INFO] [stdout]     |
[INFO] [stdout] 214 |         let src_ptr = gpu_ptr.offset(offset);
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_src_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gpu_pool`
[INFO] [stdout]    --> src/gpu_integrated_cache.rs:217:13
[INFO] [stdout]     |
[INFO] [stdout] 217 |         let gpu_pool = self.gpu_memory_pool.lock()
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gpu_pool`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gpu_pool`
[INFO] [stdout]    --> src/gpu_integrated_cache.rs:231:13
[INFO] [stdout]     |
[INFO] [stdout] 231 |         let gpu_pool = self.gpu_memory_pool.lock()
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gpu_pool`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gpu_pool`
[INFO] [stdout]    --> src/gpu_integrated_cache.rs:325:13
[INFO] [stdout]     |
[INFO] [stdout] 325 |         let gpu_pool = self.gpu_memory_pool.lock()
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gpu_pool`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `base_device_ptr` is never read
[INFO] [stdout]    --> src/lib.rs:223:5
[INFO] [stdout]     |
[INFO] [stdout] 207 | pub struct PagedKvAllocator {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 223 |     base_device_ptr: u64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `BlockId` is never used
[INFO] [stdout]   --> src/hybrid_cache.rs:24:10
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub type BlockId = u32;
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `remove_ref` and `get_last_access` are never used
[INFO] [stdout]    --> src/hybrid_cache.rs:114:12
[INFO] [stdout]     |
[INFO] [stdout]  91 | impl RadixNode {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 114 |     pub fn remove_ref(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 130 |     pub fn get_last_access(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `root` is never read
[INFO] [stdout]    --> src/hybrid_cache.rs:139:5
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub struct RadixCache {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] 138 |     /// Root node of the radix tree
[INFO] [stdout] 139 |     root: RadixNode,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RadixCache` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `access_pattern_entropy` and `memory_pressure` are never read
[INFO] [stdout]    --> src/hybrid_cache.rs:348:5
[INFO] [stdout]     |
[INFO] [stdout] 342 | pub struct AdaptiveCachePolicy {
[INFO] [stdout]     |            ------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 348 |     access_pattern_entropy: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 349 |     memory_pressure: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AdaptiveCachePolicy` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `l3_compressed` is never read
[INFO] [stdout]    --> src/hybrid_cache.rs:493:5
[INFO] [stdout]     |
[INFO] [stdout] 485 | pub struct HybridKVCache {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 493 |     l3_compressed: Arc<Mutex<HashMap<u64, Vec<u8>>>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `tier`, `internal_id`, and `sequence_id` are never read
[INFO] [stdout]    --> src/hybrid_cache.rs:513:9
[INFO] [stdout]     |
[INFO] [stdout] 512 | pub struct CacheLocation {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] 513 |     pub tier: CacheTier,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 514 |     pub internal_id: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 515 |     pub sequence_id: SequenceId,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CacheLocation` 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: field `context` is never read
[INFO] [stdout]    --> src/gpu_memory.rs:156:5
[INFO] [stdout]     |
[INFO] [stdout] 154 | pub struct CudaMemoryBackend {
[INFO] [stdout]     |            ----------------- field in this struct
[INFO] [stdout] 155 |     device_id: u32,
[INFO] [stdout] 156 |     context: u64, // CUDA context handle
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `context` is never read
[INFO] [stdout]    --> src/gpu_memory.rs:252:5
[INFO] [stdout]     |
[INFO] [stdout] 250 | pub struct HipMemoryBackend {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] 251 |     device_id: u32,
[INFO] [stdout] 252 |     context: u64, // HIP context handle
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `default_stream` is never read
[INFO] [stdout]   --> src/gpu_integrated_cache.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct GpuIntegratedCache {
[INFO] [stdout]    |            ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 29 |     default_stream: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Result<u64, GpuMemoryError>`, which is not FFI-safe
[INFO] [stdout]    --> src/gpu_memory.rs:480:47
[INFO] [stdout]     |
[INFO] [stdout] 480 |     fn cuda_create_context(device_id: u32) -> Result<u64, GpuMemoryError>;
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout]     = note: `#[warn(improper_ctypes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Result<u64, GpuMemoryError>`, which is not FFI-safe
[INFO] [stdout]    --> src/gpu_memory.rs:481:62
[INFO] [stdout]     |
[INFO] [stdout] 481 |     fn cuda_malloc_aligned(size: usize, alignment: usize) -> Result<u64, GpuMemoryError>;
[INFO] [stdout]     |                                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Result<(), GpuMemoryError>`, which is not FFI-safe
[INFO] [stdout]    --> src/gpu_memory.rs:482:31
[INFO] [stdout]     |
[INFO] [stdout] 482 |     fn cuda_free(ptr: u64) -> Result<(), GpuMemoryError>;
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Result<*mut u8, GpuMemoryError>`, which is not FFI-safe
[INFO] [stdout]    --> src/gpu_memory.rs:483:41
[INFO] [stdout]     |
[INFO] [stdout] 483 |     fn cuda_malloc_host(size: usize) -> Result<*mut u8, GpuMemoryError>;
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Result<(), GpuMemoryError>`, which is not FFI-safe
[INFO] [stdout]    --> src/gpu_memory.rs:484:40
[INFO] [stdout]     |
[INFO] [stdout] 484 |     fn cuda_free_host(ptr: *mut u8) -> Result<(), GpuMemoryError>;
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Result<(), GpuMemoryError>`, which is not FFI-safe
[INFO] [stdout]    --> src/gpu_memory.rs:485:85
[INFO] [stdout]     |
[INFO] [stdout] 485 |     fn cuda_memcpy_h2d_async(dst: u64, src: *const u8, size: usize, stream: u64) -> Result<(), GpuMemoryError>;
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Result<(), GpuMemoryError>`, which is not FFI-safe
[INFO] [stdout]    --> src/gpu_memory.rs:486:83
[INFO] [stdout]     |
[INFO] [stdout] 486 |     fn cuda_memcpy_d2h_async(dst: *mut u8, src: u64, size: usize, stream: u64) -> Result<(), GpuMemoryError>;
[INFO] [stdout]     |                                                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Result<(), GpuMemoryError>`, which is not FFI-safe
[INFO] [stdout]    --> src/gpu_memory.rs:487:30
[INFO] [stdout]     |
[INFO] [stdout] 487 |     fn cuda_synchronize() -> Result<(), GpuMemoryError>;
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Result<usize, GpuMemoryError>`, which is not FFI-safe
[INFO] [stdout]    --> src/gpu_memory.rs:488:49
[INFO] [stdout]     |
[INFO] [stdout] 488 |     fn cuda_get_total_memory(device_id: u32) -> Result<usize, GpuMemoryError>;
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Result<GpuDeviceProperties, GpuMemoryError>`, which is not FFI-safe
[INFO] [stdout]    --> src/gpu_memory.rs:489:54
[INFO] [stdout]     |
[INFO] [stdout] 489 |     fn cuda_get_device_properties(device_id: u32) -> Result<GpuDeviceProperties, GpuMemoryError>;
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Result<u64, GpuMemoryError>`, which is not FFI-safe
[INFO] [stdout]    --> src/gpu_memory.rs:491:46
[INFO] [stdout]     |
[INFO] [stdout] 491 |     fn hip_create_context(device_id: u32) -> Result<u64, GpuMemoryError>;
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Result<u64, GpuMemoryError>`, which is not FFI-safe
[INFO] [stdout]    --> src/gpu_memory.rs:492:61
[INFO] [stdout]     |
[INFO] [stdout] 492 |     fn hip_malloc_aligned(size: usize, alignment: usize) -> Result<u64, GpuMemoryError>;
[INFO] [stdout]     |                                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Result<(), GpuMemoryError>`, which is not FFI-safe
[INFO] [stdout]    --> src/gpu_memory.rs:493:30
[INFO] [stdout]     |
[INFO] [stdout] 493 |     fn hip_free(ptr: u64) -> Result<(), GpuMemoryError>;
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Result<*mut u8, GpuMemoryError>`, which is not FFI-safe
[INFO] [stdout]    --> src/gpu_memory.rs:494:40
[INFO] [stdout]     |
[INFO] [stdout] 494 |     fn hip_malloc_host(size: usize) -> Result<*mut u8, GpuMemoryError>;
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Result<(), GpuMemoryError>`, which is not FFI-safe
[INFO] [stdout]    --> src/gpu_memory.rs:495:39
[INFO] [stdout]     |
[INFO] [stdout] 495 |     fn hip_free_host(ptr: *mut u8) -> Result<(), GpuMemoryError>;
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Result<(), GpuMemoryError>`, which is not FFI-safe
[INFO] [stdout]    --> src/gpu_memory.rs:496:84
[INFO] [stdout]     |
[INFO] [stdout] 496 |     fn hip_memcpy_h2d_async(dst: u64, src: *const u8, size: usize, stream: u64) -> Result<(), GpuMemoryError>;
[INFO] [stdout]     |                                                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Result<(), GpuMemoryError>`, which is not FFI-safe
[INFO] [stdout]    --> src/gpu_memory.rs:497:82
[INFO] [stdout]     |
[INFO] [stdout] 497 |     fn hip_memcpy_d2h_async(dst: *mut u8, src: u64, size: usize, stream: u64) -> Result<(), GpuMemoryError>;
[INFO] [stdout]     |                                                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Result<(), GpuMemoryError>`, which is not FFI-safe
[INFO] [stdout]    --> src/gpu_memory.rs:498:29
[INFO] [stdout]     |
[INFO] [stdout] 498 |     fn hip_synchronize() -> Result<(), GpuMemoryError>;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Result<usize, GpuMemoryError>`, which is not FFI-safe
[INFO] [stdout]    --> src/gpu_memory.rs:499:48
[INFO] [stdout]     |
[INFO] [stdout] 499 |     fn hip_get_total_memory(device_id: u32) -> Result<usize, GpuMemoryError>;
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Result<GpuDeviceProperties, GpuMemoryError>`, which is not FFI-safe
[INFO] [stdout]    --> src/gpu_memory.rs:500:53
[INFO] [stdout]     |
[INFO] [stdout] 500 |     fn hip_get_device_properties(device_id: u32) -> Result<GpuDeviceProperties, GpuMemoryError>;
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.82s
[INFO] running `Command { std: "docker" "inspect" "22e05e1540afde0124ecd93d566141d1d89e232b2ee7936f16c32a2e73f2758c", 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" "22e05e1540afde0124ecd93d566141d1d89e232b2ee7936f16c32a2e73f2758c" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `BTreeMap`
[INFO] [stdout]  --> src/hybrid_cache.rs:8:33
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::collections::{HashMap, BTreeMap, VecDeque};
[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 import: `Duration`
[INFO] [stdout]   --> src/hybrid_cache.rs:10:17
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::time::{Duration, Instant};
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `KvAllocatorStats`
[INFO] [stdout]   --> src/hybrid_cache.rs:12:31
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::{PagedKvAllocator, KvAllocatorStats};
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `Mutex`
[INFO] [stdout]  --> src/gpu_memory.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                 ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr::NonNull`
[INFO] [stdout]  --> src/gpu_memory.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::ptr::NonNull;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TokenId`
[INFO] [stdout]   --> src/gpu_memory.rs:10:41
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::hybrid_cache::{KVTensorPair, TokenId, SequenceId};
[INFO] [stdout]    |                                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AdaptiveCachePolicy` and `SequenceId`
[INFO] [stdout]   --> src/gpu_integrated_cache.rs:10:67
[INFO] [stdout]    |
[INFO] [stdout] 10 |     HybridKVCache, CacheHandle, CacheTier, KVTensorPair, TokenId, SequenceId,
[INFO] [stdout]    |                                                                   ^^^^^^^^^^
[INFO] [stdout] 11 |     AdaptiveCachePolicy, HybridCacheStats
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GpuMemoryBackend`
[INFO] [stdout]   --> src/gpu_integrated_cache.rs:14:25
[INFO] [stdout]    |
[INFO] [stdout] 14 |     GpuAwareMemoryPool, GpuMemoryBackend, GpuDevicePtr, GpuMemoryResult, GpuMemoryError
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]   --> src/lib.rs:31:43
[INFO] [stdout]    |
[INFO] [stdout] 31 | use std::collections::{HashMap, VecDeque, HashSet};
[INFO] [stdout]    |                                           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `Mutex`
[INFO] [stdout]   --> src/lib.rs:32:17
[INFO] [stdout]    |
[INFO] [stdout] 32 | use std::sync::{Arc, Mutex};
[INFO] [stdout]    |                 ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]   --> src/lib.rs:33:17
[INFO] [stdout]    |
[INFO] [stdout] 33 | use std::time::{Duration, Instant};
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/gpu_memory.rs:366:25
[INFO] [stdout]     |
[INFO] [stdout] 366 |     fn new_with_backend(mut backend: Box<dyn GpuMemoryBackend>) -> GpuMemoryResult<Self> {
[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: `host_data`
[INFO] [stdout]    --> src/gpu_integrated_cache.rs:179:9
[INFO] [stdout]     |
[INFO] [stdout] 179 |         host_data: &[u8],
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_host_data`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst_ptr`
[INFO] [stdout]    --> src/gpu_integrated_cache.rs:187:13
[INFO] [stdout]     |
[INFO] [stdout] 187 |         let dst_ptr = gpu_ptr.offset(offset);
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dst_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gpu_pool`
[INFO] [stdout]    --> src/gpu_integrated_cache.rs:190:13
[INFO] [stdout]     |
[INFO] [stdout] 190 |         let gpu_pool = self.gpu_memory_pool.lock()
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gpu_pool`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `host_buffer`
[INFO] [stdout]    --> src/gpu_integrated_cache.rs:206:9
[INFO] [stdout]     |
[INFO] [stdout] 206 |         host_buffer: &mut [u8],
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_host_buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src_ptr`
[INFO] [stdout]    --> src/gpu_integrated_cache.rs:214:13
[INFO] [stdout]     |
[INFO] [stdout] 214 |         let src_ptr = gpu_ptr.offset(offset);
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_src_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gpu_pool`
[INFO] [stdout]    --> src/gpu_integrated_cache.rs:217:13
[INFO] [stdout]     |
[INFO] [stdout] 217 |         let gpu_pool = self.gpu_memory_pool.lock()
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gpu_pool`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gpu_pool`
[INFO] [stdout]    --> src/gpu_integrated_cache.rs:231:13
[INFO] [stdout]     |
[INFO] [stdout] 231 |         let gpu_pool = self.gpu_memory_pool.lock()
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gpu_pool`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gpu_pool`
[INFO] [stdout]    --> src/gpu_integrated_cache.rs:325:13
[INFO] [stdout]     |
[INFO] [stdout] 325 |         let gpu_pool = self.gpu_memory_pool.lock()
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gpu_pool`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `base_device_ptr` is never read
[INFO] [stdout]    --> src/lib.rs:223:5
[INFO] [stdout]     |
[INFO] [stdout] 207 | pub struct PagedKvAllocator {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 223 |     base_device_ptr: u64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `BlockId` is never used
[INFO] [stdout]   --> src/hybrid_cache.rs:24:10
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub type BlockId = u32;
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `remove_ref` and `get_last_access` are never used
[INFO] [stdout]    --> src/hybrid_cache.rs:114:12
[INFO] [stdout]     |
[INFO] [stdout]  91 | impl RadixNode {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 114 |     pub fn remove_ref(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 130 |     pub fn get_last_access(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `root` is never read
[INFO] [stdout]    --> src/hybrid_cache.rs:139:5
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub struct RadixCache {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] 138 |     /// Root node of the radix tree
[INFO] [stdout] 139 |     root: RadixNode,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RadixCache` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `access_pattern_entropy` and `memory_pressure` are never read
[INFO] [stdout]    --> src/hybrid_cache.rs:348:5
[INFO] [stdout]     |
[INFO] [stdout] 342 | pub struct AdaptiveCachePolicy {
[INFO] [stdout]     |            ------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 348 |     access_pattern_entropy: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 349 |     memory_pressure: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AdaptiveCachePolicy` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `l3_compressed` is never read
[INFO] [stdout]    --> src/hybrid_cache.rs:493:5
[INFO] [stdout]     |
[INFO] [stdout] 485 | pub struct HybridKVCache {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 493 |     l3_compressed: Arc<Mutex<HashMap<u64, Vec<u8>>>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `tier`, `internal_id`, and `sequence_id` are never read
[INFO] [stdout]    --> src/hybrid_cache.rs:513:9
[INFO] [stdout]     |
[INFO] [stdout] 512 | pub struct CacheLocation {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] 513 |     pub tier: CacheTier,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 514 |     pub internal_id: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 515 |     pub sequence_id: SequenceId,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CacheLocation` 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: field `context` is never read
[INFO] [stdout]    --> src/gpu_memory.rs:156:5
[INFO] [stdout]     |
[INFO] [stdout] 154 | pub struct CudaMemoryBackend {
[INFO] [stdout]     |            ----------------- field in this struct
[INFO] [stdout] 155 |     device_id: u32,
[INFO] [stdout] 156 |     context: u64, // CUDA context handle
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `context` is never read
[INFO] [stdout]    --> src/gpu_memory.rs:252:5
[INFO] [stdout]     |
[INFO] [stdout] 250 | pub struct HipMemoryBackend {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] 251 |     device_id: u32,
[INFO] [stdout] 252 |     context: u64, // HIP context handle
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `default_stream` is never read
[INFO] [stdout]   --> src/gpu_integrated_cache.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct GpuIntegratedCache {
[INFO] [stdout]    |            ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 29 |     default_stream: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Result<u64, GpuMemoryError>`, which is not FFI-safe
[INFO] [stdout]    --> src/gpu_memory.rs:480:47
[INFO] [stdout]     |
[INFO] [stdout] 480 |     fn cuda_create_context(device_id: u32) -> Result<u64, GpuMemoryError>;
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout]     = note: `#[warn(improper_ctypes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Result<u64, GpuMemoryError>`, which is not FFI-safe
[INFO] [stdout]    --> src/gpu_memory.rs:481:62
[INFO] [stdout]     |
[INFO] [stdout] 481 |     fn cuda_malloc_aligned(size: usize, alignment: usize) -> Result<u64, GpuMemoryError>;
[INFO] [stdout]     |                                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Result<(), GpuMemoryError>`, which is not FFI-safe
[INFO] [stdout]    --> src/gpu_memory.rs:482:31
[INFO] [stdout]     |
[INFO] [stdout] 482 |     fn cuda_free(ptr: u64) -> Result<(), GpuMemoryError>;
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Result<*mut u8, GpuMemoryError>`, which is not FFI-safe
[INFO] [stdout]    --> src/gpu_memory.rs:483:41
[INFO] [stdout]     |
[INFO] [stdout] 483 |     fn cuda_malloc_host(size: usize) -> Result<*mut u8, GpuMemoryError>;
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Result<(), GpuMemoryError>`, which is not FFI-safe
[INFO] [stdout]    --> src/gpu_memory.rs:484:40
[INFO] [stdout]     |
[INFO] [stdout] 484 |     fn cuda_free_host(ptr: *mut u8) -> Result<(), GpuMemoryError>;
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Result<(), GpuMemoryError>`, which is not FFI-safe
[INFO] [stdout]    --> src/gpu_memory.rs:485:85
[INFO] [stdout]     |
[INFO] [stdout] 485 |     fn cuda_memcpy_h2d_async(dst: u64, src: *const u8, size: usize, stream: u64) -> Result<(), GpuMemoryError>;
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Result<(), GpuMemoryError>`, which is not FFI-safe
[INFO] [stdout]    --> src/gpu_memory.rs:486:83
[INFO] [stdout]     |
[INFO] [stdout] 486 |     fn cuda_memcpy_d2h_async(dst: *mut u8, src: u64, size: usize, stream: u64) -> Result<(), GpuMemoryError>;
[INFO] [stdout]     |                                                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Result<(), GpuMemoryError>`, which is not FFI-safe
[INFO] [stdout]    --> src/gpu_memory.rs:487:30
[INFO] [stdout]     |
[INFO] [stdout] 487 |     fn cuda_synchronize() -> Result<(), GpuMemoryError>;
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Result<usize, GpuMemoryError>`, which is not FFI-safe
[INFO] [stdout]    --> src/gpu_memory.rs:488:49
[INFO] [stdout]     |
[INFO] [stdout] 488 |     fn cuda_get_total_memory(device_id: u32) -> Result<usize, GpuMemoryError>;
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Result<GpuDeviceProperties, GpuMemoryError>`, which is not FFI-safe
[INFO] [stdout]    --> src/gpu_memory.rs:489:54
[INFO] [stdout]     |
[INFO] [stdout] 489 |     fn cuda_get_device_properties(device_id: u32) -> Result<GpuDeviceProperties, GpuMemoryError>;
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Result<u64, GpuMemoryError>`, which is not FFI-safe
[INFO] [stdout]    --> src/gpu_memory.rs:491:46
[INFO] [stdout]     |
[INFO] [stdout] 491 |     fn hip_create_context(device_id: u32) -> Result<u64, GpuMemoryError>;
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Result<u64, GpuMemoryError>`, which is not FFI-safe
[INFO] [stdout]    --> src/gpu_memory.rs:492:61
[INFO] [stdout]     |
[INFO] [stdout] 492 |     fn hip_malloc_aligned(size: usize, alignment: usize) -> Result<u64, GpuMemoryError>;
[INFO] [stdout]     |                                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Result<(), GpuMemoryError>`, which is not FFI-safe
[INFO] [stdout]    --> src/gpu_memory.rs:493:30
[INFO] [stdout]     |
[INFO] [stdout] 493 |     fn hip_free(ptr: u64) -> Result<(), GpuMemoryError>;
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Result<*mut u8, GpuMemoryError>`, which is not FFI-safe
[INFO] [stdout]    --> src/gpu_memory.rs:494:40
[INFO] [stdout]     |
[INFO] [stdout] 494 |     fn hip_malloc_host(size: usize) -> Result<*mut u8, GpuMemoryError>;
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Result<(), GpuMemoryError>`, which is not FFI-safe
[INFO] [stdout]    --> src/gpu_memory.rs:495:39
[INFO] [stdout]     |
[INFO] [stdout] 495 |     fn hip_free_host(ptr: *mut u8) -> Result<(), GpuMemoryError>;
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling unillm-kv v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: `extern` block uses type `Result<(), GpuMemoryError>`, which is not FFI-safe
[INFO] [stdout]    --> src/gpu_memory.rs:496:84
[INFO] [stdout]     |
[INFO] [stdout] 496 |     fn hip_memcpy_h2d_async(dst: u64, src: *const u8, size: usize, stream: u64) -> Result<(), GpuMemoryError>;
[INFO] [stdout]     |                                                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Result<(), GpuMemoryError>`, which is not FFI-safe
[INFO] [stdout]    --> src/gpu_memory.rs:497:82
[INFO] [stdout]     |
[INFO] [stdout] 497 |     fn hip_memcpy_d2h_async(dst: *mut u8, src: u64, size: usize, stream: u64) -> Result<(), GpuMemoryError>;
[INFO] [stdout]     |                                                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Result<(), GpuMemoryError>`, which is not FFI-safe
[INFO] [stdout]    --> src/gpu_memory.rs:498:29
[INFO] [stdout]     |
[INFO] [stdout] 498 |     fn hip_synchronize() -> Result<(), GpuMemoryError>;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Result<usize, GpuMemoryError>`, which is not FFI-safe
[INFO] [stdout]    --> src/gpu_memory.rs:499:48
[INFO] [stdout]     |
[INFO] [stdout] 499 |     fn hip_get_total_memory(device_id: u32) -> Result<usize, GpuMemoryError>;
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Result<GpuDeviceProperties, GpuMemoryError>`, which is not FFI-safe
[INFO] [stdout]    --> src/gpu_memory.rs:500:53
[INFO] [stdout]     |
[INFO] [stdout] 500 |     fn hip_get_device_properties(device_id: u32) -> Result<GpuDeviceProperties, GpuMemoryError>;
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BTreeMap`
[INFO] [stdout]  --> src/hybrid_cache.rs:8:33
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::collections::{HashMap, BTreeMap, VecDeque};
[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 import: `Duration`
[INFO] [stdout]   --> src/hybrid_cache.rs:10:17
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::time::{Duration, Instant};
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `KvAllocatorStats`
[INFO] [stdout]   --> src/hybrid_cache.rs:12:31
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::{PagedKvAllocator, KvAllocatorStats};
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `Mutex`
[INFO] [stdout]  --> src/gpu_memory.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                 ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr::NonNull`
[INFO] [stdout]  --> src/gpu_memory.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::ptr::NonNull;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TokenId`
[INFO] [stdout]   --> src/gpu_memory.rs:10:41
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::hybrid_cache::{KVTensorPair, TokenId, SequenceId};
[INFO] [stdout]    |                                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AdaptiveCachePolicy` and `SequenceId`
[INFO] [stdout]   --> src/gpu_integrated_cache.rs:10:67
[INFO] [stdout]    |
[INFO] [stdout] 10 |     HybridKVCache, CacheHandle, CacheTier, KVTensorPair, TokenId, SequenceId,
[INFO] [stdout]    |                                                                   ^^^^^^^^^^
[INFO] [stdout] 11 |     AdaptiveCachePolicy, HybridCacheStats
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GpuMemoryBackend`
[INFO] [stdout]   --> src/gpu_integrated_cache.rs:14:25
[INFO] [stdout]    |
[INFO] [stdout] 14 |     GpuAwareMemoryPool, GpuMemoryBackend, GpuDevicePtr, GpuMemoryResult, GpuMemoryError
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `KvAllocatorStats` and `PagedKvAllocator`
[INFO] [stdout]  --> src/tests.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::{PagedKvAllocator, KvAllocatorStats};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]   --> src/lib.rs:31:43
[INFO] [stdout]    |
[INFO] [stdout] 31 | use std::collections::{HashMap, VecDeque, HashSet};
[INFO] [stdout]    |                                           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `Mutex`
[INFO] [stdout]   --> src/lib.rs:32:17
[INFO] [stdout]    |
[INFO] [stdout] 32 | use std::sync::{Arc, Mutex};
[INFO] [stdout]    |                 ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]   --> src/lib.rs:33:17
[INFO] [stdout]    |
[INFO] [stdout] 33 | use std::time::{Duration, Instant};
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/gpu_memory.rs:366:25
[INFO] [stdout]     |
[INFO] [stdout] 366 |     fn new_with_backend(mut backend: Box<dyn GpuMemoryBackend>) -> GpuMemoryResult<Self> {
[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: `host_data`
[INFO] [stdout]    --> src/gpu_integrated_cache.rs:179:9
[INFO] [stdout]     |
[INFO] [stdout] 179 |         host_data: &[u8],
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_host_data`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst_ptr`
[INFO] [stdout]    --> src/gpu_integrated_cache.rs:187:13
[INFO] [stdout]     |
[INFO] [stdout] 187 |         let dst_ptr = gpu_ptr.offset(offset);
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dst_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gpu_pool`
[INFO] [stdout]    --> src/gpu_integrated_cache.rs:190:13
[INFO] [stdout]     |
[INFO] [stdout] 190 |         let gpu_pool = self.gpu_memory_pool.lock()
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gpu_pool`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `host_buffer`
[INFO] [stdout]    --> src/gpu_integrated_cache.rs:206:9
[INFO] [stdout]     |
[INFO] [stdout] 206 |         host_buffer: &mut [u8],
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_host_buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src_ptr`
[INFO] [stdout]    --> src/gpu_integrated_cache.rs:214:13
[INFO] [stdout]     |
[INFO] [stdout] 214 |         let src_ptr = gpu_ptr.offset(offset);
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_src_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gpu_pool`
[INFO] [stdout]    --> src/gpu_integrated_cache.rs:217:13
[INFO] [stdout]     |
[INFO] [stdout] 217 |         let gpu_pool = self.gpu_memory_pool.lock()
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gpu_pool`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gpu_pool`
[INFO] [stdout]    --> src/gpu_integrated_cache.rs:231:13
[INFO] [stdout]     |
[INFO] [stdout] 231 |         let gpu_pool = self.gpu_memory_pool.lock()
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gpu_pool`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gpu_pool`
[INFO] [stdout]    --> src/gpu_integrated_cache.rs:325:13
[INFO] [stdout]     |
[INFO] [stdout] 325 |         let gpu_pool = self.gpu_memory_pool.lock()
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gpu_pool`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tests.rs:100:13
[INFO] [stdout]     |
[INFO] [stdout] 100 |         let mut policy = AdaptiveCachePolicy::new();
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `base_device_ptr` is never read
[INFO] [stdout]    --> src/lib.rs:223:5
[INFO] [stdout]     |
[INFO] [stdout] 207 | pub struct PagedKvAllocator {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 223 |     base_device_ptr: u64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `BlockId` is never used
[INFO] [stdout]   --> src/hybrid_cache.rs:24:10
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub type BlockId = u32;
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `remove_ref` and `get_last_access` are never used
[INFO] [stdout]    --> src/hybrid_cache.rs:114:12
[INFO] [stdout]     |
[INFO] [stdout]  91 | impl RadixNode {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 114 |     pub fn remove_ref(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 130 |     pub fn get_last_access(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `root` is never read
[INFO] [stdout]    --> src/hybrid_cache.rs:139:5
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub struct RadixCache {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] 138 |     /// Root node of the radix tree
[INFO] [stdout] 139 |     root: RadixNode,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RadixCache` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `access_pattern_entropy` and `memory_pressure` are never read
[INFO] [stdout]    --> src/hybrid_cache.rs:348:5
[INFO] [stdout]     |
[INFO] [stdout] 342 | pub struct AdaptiveCachePolicy {
[INFO] [stdout]     |            ------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 348 |     access_pattern_entropy: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 349 |     memory_pressure: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AdaptiveCachePolicy` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `l3_compressed` is never read
[INFO] [stdout]    --> src/hybrid_cache.rs:493:5
[INFO] [stdout]     |
[INFO] [stdout] 485 | pub struct HybridKVCache {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 493 |     l3_compressed: Arc<Mutex<HashMap<u64, Vec<u8>>>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `tier`, `internal_id`, and `sequence_id` are never read
[INFO] [stdout]    --> src/hybrid_cache.rs:513:9
[INFO] [stdout]     |
[INFO] [stdout] 512 | pub struct CacheLocation {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] 513 |     pub tier: CacheTier,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 514 |     pub internal_id: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 515 |     pub sequence_id: SequenceId,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CacheLocation` 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: field `context` is never read
[INFO] [stdout]    --> src/gpu_memory.rs:156:5
[INFO] [stdout]     |
[INFO] [stdout] 154 | pub struct CudaMemoryBackend {
[INFO] [stdout]     |            ----------------- field in this struct
[INFO] [stdout] 155 |     device_id: u32,
[INFO] [stdout] 156 |     context: u64, // CUDA context handle
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `context` is never read
[INFO] [stdout]    --> src/gpu_memory.rs:252:5
[INFO] [stdout]     |
[INFO] [stdout] 250 | pub struct HipMemoryBackend {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] 251 |     device_id: u32,
[INFO] [stdout] 252 |     context: u64, // HIP context handle
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `default_stream` is never read
[INFO] [stdout]   --> src/gpu_integrated_cache.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct GpuIntegratedCache {
[INFO] [stdout]    |            ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 29 |     default_stream: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Result<u64, gpu_memory::GpuMemoryError>`, which is not FFI-safe
[INFO] [stdout]    --> src/gpu_memory.rs:480:47
[INFO] [stdout]     |
[INFO] [stdout] 480 |     fn cuda_create_context(device_id: u32) -> Result<u64, GpuMemoryError>;
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout]     = note: `#[warn(improper_ctypes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Result<u64, gpu_memory::GpuMemoryError>`, which is not FFI-safe
[INFO] [stdout]    --> src/gpu_memory.rs:481:62
[INFO] [stdout]     |
[INFO] [stdout] 481 |     fn cuda_malloc_aligned(size: usize, alignment: usize) -> Result<u64, GpuMemoryError>;
[INFO] [stdout]     |                                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Result<(), gpu_memory::GpuMemoryError>`, which is not FFI-safe
[INFO] [stdout]    --> src/gpu_memory.rs:482:31
[INFO] [stdout]     |
[INFO] [stdout] 482 |     fn cuda_free(ptr: u64) -> Result<(), GpuMemoryError>;
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Result<*mut u8, gpu_memory::GpuMemoryError>`, which is not FFI-safe
[INFO] [stdout]    --> src/gpu_memory.rs:483:41
[INFO] [stdout]     |
[INFO] [stdout] 483 |     fn cuda_malloc_host(size: usize) -> Result<*mut u8, GpuMemoryError>;
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Result<(), gpu_memory::GpuMemoryError>`, which is not FFI-safe
[INFO] [stdout]    --> src/gpu_memory.rs:484:40
[INFO] [stdout]     |
[INFO] [stdout] 484 |     fn cuda_free_host(ptr: *mut u8) -> Result<(), GpuMemoryError>;
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Result<(), gpu_memory::GpuMemoryError>`, which is not FFI-safe
[INFO] [stdout]    --> src/gpu_memory.rs:485:85
[INFO] [stdout]     |
[INFO] [stdout] 485 |     fn cuda_memcpy_h2d_async(dst: u64, src: *const u8, size: usize, stream: u64) -> Result<(), GpuMemoryError>;
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Result<(), gpu_memory::GpuMemoryError>`, which is not FFI-safe
[INFO] [stdout]    --> src/gpu_memory.rs:486:83
[INFO] [stdout]     |
[INFO] [stdout] 486 |     fn cuda_memcpy_d2h_async(dst: *mut u8, src: u64, size: usize, stream: u64) -> Result<(), GpuMemoryError>;
[INFO] [stdout]     |                                                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Result<(), gpu_memory::GpuMemoryError>`, which is not FFI-safe
[INFO] [stdout]    --> src/gpu_memory.rs:487:30
[INFO] [stdout]     |
[INFO] [stdout] 487 |     fn cuda_synchronize() -> Result<(), GpuMemoryError>;
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Result<usize, gpu_memory::GpuMemoryError>`, which is not FFI-safe
[INFO] [stdout]    --> src/gpu_memory.rs:488:49
[INFO] [stdout]     |
[INFO] [stdout] 488 |     fn cuda_get_total_memory(device_id: u32) -> Result<usize, GpuMemoryError>;
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Result<gpu_memory::GpuDeviceProperties, gpu_memory::GpuMemoryError>`, which is not FFI-safe
[INFO] [stdout]    --> src/gpu_memory.rs:489:54
[INFO] [stdout]     |
[INFO] [stdout] 489 |     fn cuda_get_device_properties(device_id: u32) -> Result<GpuDeviceProperties, GpuMemoryError>;
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Result<u64, gpu_memory::GpuMemoryError>`, which is not FFI-safe
[INFO] [stdout]    --> src/gpu_memory.rs:491:46
[INFO] [stdout]     |
[INFO] [stdout] 491 |     fn hip_create_context(device_id: u32) -> Result<u64, GpuMemoryError>;
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Result<u64, gpu_memory::GpuMemoryError>`, which is not FFI-safe
[INFO] [stdout]    --> src/gpu_memory.rs:492:61
[INFO] [stdout]     |
[INFO] [stdout] 492 |     fn hip_malloc_aligned(size: usize, alignment: usize) -> Result<u64, GpuMemoryError>;
[INFO] [stdout]     |                                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Result<(), gpu_memory::GpuMemoryError>`, which is not FFI-safe
[INFO] [stdout]    --> src/gpu_memory.rs:493:30
[INFO] [stdout]     |
[INFO] [stdout] 493 |     fn hip_free(ptr: u64) -> Result<(), GpuMemoryError>;
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Result<*mut u8, gpu_memory::GpuMemoryError>`, which is not FFI-safe
[INFO] [stdout]    --> src/gpu_memory.rs:494:40
[INFO] [stdout]     |
[INFO] [stdout] 494 |     fn hip_malloc_host(size: usize) -> Result<*mut u8, GpuMemoryError>;
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Result<(), gpu_memory::GpuMemoryError>`, which is not FFI-safe
[INFO] [stdout]    --> src/gpu_memory.rs:495:39
[INFO] [stdout]     |
[INFO] [stdout] 495 |     fn hip_free_host(ptr: *mut u8) -> Result<(), GpuMemoryError>;
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Result<(), gpu_memory::GpuMemoryError>`, which is not FFI-safe
[INFO] [stdout]    --> src/gpu_memory.rs:496:84
[INFO] [stdout]     |
[INFO] [stdout] 496 |     fn hip_memcpy_h2d_async(dst: u64, src: *const u8, size: usize, stream: u64) -> Result<(), GpuMemoryError>;
[INFO] [stdout]     |                                                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Result<(), gpu_memory::GpuMemoryError>`, which is not FFI-safe
[INFO] [stdout]    --> src/gpu_memory.rs:497:82
[INFO] [stdout]     |
[INFO] [stdout] 497 |     fn hip_memcpy_d2h_async(dst: *mut u8, src: u64, size: usize, stream: u64) -> Result<(), GpuMemoryError>;
[INFO] [stdout]     |                                                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Result<(), gpu_memory::GpuMemoryError>`, which is not FFI-safe
[INFO] [stdout]    --> src/gpu_memory.rs:498:29
[INFO] [stdout]     |
[INFO] [stdout] 498 |     fn hip_synchronize() -> Result<(), GpuMemoryError>;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Result<usize, gpu_memory::GpuMemoryError>`, which is not FFI-safe
[INFO] [stdout]    --> src/gpu_memory.rs:499:48
[INFO] [stdout]     |
[INFO] [stdout] 499 |     fn hip_get_total_memory(device_id: u32) -> Result<usize, GpuMemoryError>;
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Result<gpu_memory::GpuDeviceProperties, gpu_memory::GpuMemoryError>`, which is not FFI-safe
[INFO] [stdout]    --> src/gpu_memory.rs:500:53
[INFO] [stdout]     |
[INFO] [stdout] 500 |     fn hip_get_device_properties(device_id: u32) -> Result<GpuDeviceProperties, GpuMemoryError>;
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.14s
[INFO] running `Command { std: "docker" "inspect" "22e05e1540afde0124ecd93d566141d1d89e232b2ee7936f16c32a2e73f2758c", 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" "22e05e1540afde0124ecd93d566141d1d89e232b2ee7936f16c32a2e73f2758c" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `BTreeMap`
[INFO] [stderr]  --> src/hybrid_cache.rs:8:33
[INFO] [stderr]   |
[INFO] [stderr] 8 | use std::collections::{HashMap, BTreeMap, VecDeque};
[INFO] [stderr]   |                                 ^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Duration`
[INFO] [stderr]   --> src/hybrid_cache.rs:10:17
[INFO] [stderr]    |
[INFO] [stderr] 10 | use std::time::{Duration, Instant};
[INFO] [stderr]    |                 ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `KvAllocatorStats`
[INFO] [stderr]   --> src/hybrid_cache.rs:12:31
[INFO] [stderr]    |
[INFO] [stderr] 12 | use crate::{PagedKvAllocator, KvAllocatorStats};
[INFO] [stderr]    |                               ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Arc` and `Mutex`
[INFO] [stderr]  --> src/gpu_memory.rs:7:17
[INFO] [stderr]   |
[INFO] [stderr] 7 | use std::sync::{Arc, Mutex};
[INFO] [stderr]   |                 ^^^  ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::ptr::NonNull`
[INFO] [stderr]  --> src/gpu_memory.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use std::ptr::NonNull;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `TokenId`
[INFO] [stderr]   --> src/gpu_memory.rs:10:41
[INFO] [stderr]    |
[INFO] [stderr] 10 | use crate::hybrid_cache::{KVTensorPair, TokenId, SequenceId};
[INFO] [stderr]    |                                         ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `AdaptiveCachePolicy` and `SequenceId`
[INFO] [stderr]   --> src/gpu_integrated_cache.rs:10:67
[INFO] [stderr]    |
[INFO] [stderr] 10 |     HybridKVCache, CacheHandle, CacheTier, KVTensorPair, TokenId, SequenceId,
[INFO] [stderr]    |                                                                   ^^^^^^^^^^
[INFO] [stderr] 11 |     AdaptiveCachePolicy, HybridCacheStats
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `GpuMemoryBackend`
[INFO] [stderr]   --> src/gpu_integrated_cache.rs:14:25
[INFO] [stderr]    |
[INFO] [stderr] 14 |     GpuAwareMemoryPool, GpuMemoryBackend, GpuDevicePtr, GpuMemoryResult, GpuMemoryError
[INFO] [stderr]    |                         ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `HashSet`
[INFO] [stderr]   --> src/lib.rs:31:43
[INFO] [stderr]    |
[INFO] [stderr] 31 | use std::collections::{HashMap, VecDeque, HashSet};
[INFO] [stderr]    |                                           ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Arc` and `Mutex`
[INFO] [stderr]   --> src/lib.rs:32:17
[INFO] [stderr]    |
[INFO] [stderr] 32 | use std::sync::{Arc, Mutex};
[INFO] [stderr]    |                 ^^^  ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Duration`
[INFO] [stderr]   --> src/lib.rs:33:17
[INFO] [stderr]    |
[INFO] [stderr] 33 | use std::time::{Duration, Instant};
[INFO] [stderr]    |                 ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/gpu_memory.rs:366:25
[INFO] [stderr]     |
[INFO] [stderr] 366 |     fn new_with_backend(mut backend: Box<dyn GpuMemoryBackend>) -> GpuMemoryResult<Self> {
[INFO] [stderr]     |                         ----^^^^^^^
[INFO] [stderr]     |                         |
[INFO] [stderr]     |                         help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `host_data`
[INFO] [stderr]    --> src/gpu_integrated_cache.rs:179:9
[INFO] [stderr]     |
[INFO] [stderr] 179 |         host_data: &[u8],
[INFO] [stderr]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_host_data`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `dst_ptr`
[INFO] [stderr]    --> src/gpu_integrated_cache.rs:187:13
[INFO] [stderr]     |
[INFO] [stderr] 187 |         let dst_ptr = gpu_ptr.offset(offset);
[INFO] [stderr]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dst_ptr`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `gpu_pool`
[INFO] [stderr]    --> src/gpu_integrated_cache.rs:190:13
[INFO] [stderr]     |
[INFO] [stderr] 190 |         let gpu_pool = self.gpu_memory_pool.lock()
[INFO] [stderr]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gpu_pool`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `host_buffer`
[INFO] [stderr]    --> src/gpu_integrated_cache.rs:206:9
[INFO] [stderr]     |
[INFO] [stderr] 206 |         host_buffer: &mut [u8],
[INFO] [stderr]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_host_buffer`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `src_ptr`
[INFO] [stderr]    --> src/gpu_integrated_cache.rs:214:13
[INFO] [stderr]     |
[INFO] [stderr] 214 |         let src_ptr = gpu_ptr.offset(offset);
[INFO] [stderr]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_src_ptr`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `gpu_pool`
[INFO] [stderr]    --> src/gpu_integrated_cache.rs:217:13
[INFO] [stderr]     |
[INFO] [stderr] 217 |         let gpu_pool = self.gpu_memory_pool.lock()
[INFO] [stderr]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gpu_pool`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `gpu_pool`
[INFO] [stderr]    --> src/gpu_integrated_cache.rs:231:13
[INFO] [stderr]     |
[INFO] [stderr] 231 |         let gpu_pool = self.gpu_memory_pool.lock()
[INFO] [stderr]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gpu_pool`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `gpu_pool`
[INFO] [stderr]    --> src/gpu_integrated_cache.rs:325:13
[INFO] [stderr]     |
[INFO] [stderr] 325 |         let gpu_pool = self.gpu_memory_pool.lock()
[INFO] [stderr]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gpu_pool`
[INFO] [stderr] 
[INFO] [stderr] warning: field `base_device_ptr` is never read
[INFO] [stderr]    --> src/lib.rs:223:5
[INFO] [stderr]     |
[INFO] [stderr] 207 | pub struct PagedKvAllocator {
[INFO] [stderr]     |            ---------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 223 |     base_device_ptr: u64,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `BlockId` is never used
[INFO] [stderr]   --> src/hybrid_cache.rs:24:10
[INFO] [stderr]    |
[INFO] [stderr] 24 | pub type BlockId = u32;
[INFO] [stderr]    |          ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `remove_ref` and `get_last_access` are never used
[INFO] [stderr]    --> src/hybrid_cache.rs:114:12
[INFO] [stderr]     |
[INFO] [stderr]  91 | impl RadixNode {
[INFO] [stderr]     | -------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 114 |     pub fn remove_ref(&self) {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 130 |     pub fn get_last_access(&self) -> u64 {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `root` is never read
[INFO] [stderr]    --> src/hybrid_cache.rs:139:5
[INFO] [stderr]     |
[INFO] [stderr] 137 | pub struct RadixCache {
[INFO] [stderr]     |            ---------- field in this struct
[INFO] [stderr] 138 |     /// Root node of the radix tree
[INFO] [stderr] 139 |     root: RadixNode,
[INFO] [stderr]     |     ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `RadixCache` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `access_pattern_entropy` and `memory_pressure` are never read
[INFO] [stderr]    --> src/hybrid_cache.rs:348:5
[INFO] [stderr]     |
[INFO] [stderr] 342 | pub struct AdaptiveCachePolicy {
[INFO] [stderr]     |            ------------------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 348 |     access_pattern_entropy: f64,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 349 |     memory_pressure: f64,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `AdaptiveCachePolicy` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `l3_compressed` is never read
[INFO] [stderr]    --> src/hybrid_cache.rs:493:5
[INFO] [stderr]     |
[INFO] [stderr] 485 | pub struct HybridKVCache {
[INFO] [stderr]     |            ------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 493 |     l3_compressed: Arc<Mutex<HashMap<u64, Vec<u8>>>>,
[INFO] [stderr]     |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `tier`, `internal_id`, and `sequence_id` are never read
[INFO] [stderr]    --> src/hybrid_cache.rs:513:9
[INFO] [stderr]     |
[INFO] [stderr] 512 | pub struct CacheLocation {
[INFO] [stderr]     |            ------------- fields in this struct
[INFO] [stderr] 513 |     pub tier: CacheTier,
[INFO] [stderr]     |         ^^^^
[INFO] [stderr] 514 |     pub internal_id: u64,
[INFO] [stderr]     |         ^^^^^^^^^^^
[INFO] [stderr] 515 |     pub sequence_id: SequenceId,
[INFO] [stderr]     |         ^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `CacheLocation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `context` is never read
[INFO] [stderr]    --> src/gpu_memory.rs:156:5
[INFO] [stderr]     |
[INFO] [stderr] 154 | pub struct CudaMemoryBackend {
[INFO] [stderr]     |            ----------------- field in this struct
[INFO] [stderr] 155 |     device_id: u32,
[INFO] [stderr] 156 |     context: u64, // CUDA context handle
[INFO] [stderr]     |     ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `context` is never read
[INFO] [stderr]    --> src/gpu_memory.rs:252:5
[INFO] [stderr]     |
[INFO] [stderr] 250 | pub struct HipMemoryBackend {
[INFO] [stderr]     |            ---------------- field in this struct
[INFO] [stderr] 251 |     device_id: u32,
[INFO] [stderr] 252 |     context: u64, // HIP context handle
[INFO] [stderr]     |     ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `default_stream` is never read
[INFO] [stderr]   --> src/gpu_integrated_cache.rs:29:5
[INFO] [stderr]    |
[INFO] [stderr] 18 | pub struct GpuIntegratedCache {
[INFO] [stderr]    |            ------------------ field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 29 |     default_stream: u64,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `Result<u64, GpuMemoryError>`, which is not FFI-safe
[INFO] [stderr]    --> src/gpu_memory.rs:480:47
[INFO] [stderr]     |
[INFO] [stderr] 480 |     fn cuda_create_context(device_id: u32) -> Result<u64, GpuMemoryError>;
[INFO] [stderr]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stderr]     = note: enum has no representation hint
[INFO] [stderr]     = note: `#[warn(improper_ctypes)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `Result<u64, GpuMemoryError>`, which is not FFI-safe
[INFO] [stderr]    --> src/gpu_memory.rs:481:62
[INFO] [stderr]     |
[INFO] [stderr] 481 |     fn cuda_malloc_aligned(size: usize, alignment: usize) -> Result<u64, GpuMemoryError>;
[INFO] [stderr]     |                                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stderr]     = note: enum has no representation hint
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `Result<(), GpuMemoryError>`, which is not FFI-safe
[INFO] [stderr]    --> src/gpu_memory.rs:482:31
[INFO] [stderr]     |
[INFO] [stderr] 482 |     fn cuda_free(ptr: u64) -> Result<(), GpuMemoryError>;
[INFO] [stderr]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stderr]     = note: enum has no representation hint
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `Result<*mut u8, GpuMemoryError>`, which is not FFI-safe
[INFO] [stderr]    --> src/gpu_memory.rs:483:41
[INFO] [stderr]     |
[INFO] [stderr] 483 |     fn cuda_malloc_host(size: usize) -> Result<*mut u8, GpuMemoryError>;
[INFO] [stderr]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stderr]     = note: enum has no representation hint
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `Result<(), GpuMemoryError>`, which is not FFI-safe
[INFO] [stderr]    --> src/gpu_memory.rs:484:40
[INFO] [stderr]     |
[INFO] [stderr] 484 |     fn cuda_free_host(ptr: *mut u8) -> Result<(), GpuMemoryError>;
[INFO] [stderr]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stderr]     = note: enum has no representation hint
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `Result<(), GpuMemoryError>`, which is not FFI-safe
[INFO] [stderr]    --> src/gpu_memory.rs:485:85
[INFO] [stderr]     |
[INFO] [stderr] 485 |     fn cuda_memcpy_h2d_async(dst: u64, src: *const u8, size: usize, stream: u64) -> Result<(), GpuMemoryError>;
[INFO] [stderr]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stderr]     = note: enum has no representation hint
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `Result<(), GpuMemoryError>`, which is not FFI-safe
[INFO] [stderr]    --> src/gpu_memory.rs:486:83
[INFO] [stderr]     |
[INFO] [stderr] 486 |     fn cuda_memcpy_d2h_async(dst: *mut u8, src: u64, size: usize, stream: u64) -> Result<(), GpuMemoryError>;
[INFO] [stderr]     |                                                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stderr]     = note: enum has no representation hint
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `Result<(), GpuMemoryError>`, which is not FFI-safe
[INFO] [stderr]    --> src/gpu_memory.rs:487:30
[INFO] [stderr]     |
[INFO] [stderr] 487 |     fn cuda_synchronize() -> Result<(), GpuMemoryError>;
[INFO] [stderr]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stderr]     = note: enum has no representation hint
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `Result<usize, GpuMemoryError>`, which is not FFI-safe
[INFO] [stderr]    --> src/gpu_memory.rs:488:49
[INFO] [stderr]     |
[INFO] [stderr] 488 |     fn cuda_get_total_memory(device_id: u32) -> Result<usize, GpuMemoryError>;
[INFO] [stderr]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stderr]     = note: enum has no representation hint
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `Result<GpuDeviceProperties, GpuMemoryError>`, which is not FFI-safe
[INFO] [stderr]    --> src/gpu_memory.rs:489:54
[INFO] [stderr]     |
[INFO] [stderr] 489 |     fn cuda_get_device_properties(device_id: u32) -> Result<GpuDeviceProperties, GpuMemoryError>;
[INFO] [stderr]     |                                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stderr]     = note: enum has no representation hint
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `Result<u64, GpuMemoryError>`, which is not FFI-safe
[INFO] [stderr]    --> src/gpu_memory.rs:491:46
[INFO] [stderr]     |
[INFO] [stderr] 491 |     fn hip_create_context(device_id: u32) -> Result<u64, GpuMemoryError>;
[INFO] [stderr]     |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stderr]     = note: enum has no representation hint
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `Result<u64, GpuMemoryError>`, which is not FFI-safe
[INFO] [stderr]    --> src/gpu_memory.rs:492:61
[INFO] [stderr]     |
[INFO] [stderr] 492 |     fn hip_malloc_aligned(size: usize, alignment: usize) -> Result<u64, GpuMemoryError>;
[INFO] [stderr]     |                                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stderr]     = note: enum has no representation hint
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `Result<(), GpuMemoryError>`, which is not FFI-safe
[INFO] [stderr]    --> src/gpu_memory.rs:493:30
[INFO] [stderr]     |
[INFO] [stderr] 493 |     fn hip_free(ptr: u64) -> Result<(), GpuMemoryError>;
[INFO] [stderr]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stderr]     = note: enum has no representation hint
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `Result<*mut u8, GpuMemoryError>`, which is not FFI-safe
[INFO] [stderr]    --> src/gpu_memory.rs:494:40
[INFO] [stderr]     |
[INFO] [stderr] 494 |     fn hip_malloc_host(size: usize) -> Result<*mut u8, GpuMemoryError>;
[INFO] [stderr]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stderr]     = note: enum has no representation hint
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `Result<(), GpuMemoryError>`, which is not FFI-safe
[INFO] [stderr]    --> src/gpu_memory.rs:495:39
[INFO] [stderr]     |
[INFO] [stderr] 495 |     fn hip_free_host(ptr: *mut u8) -> Result<(), GpuMemoryError>;
[INFO] [stderr]     |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stderr]     = note: enum has no representation hint
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `Result<(), GpuMemoryError>`, which is not FFI-safe
[INFO] [stderr]    --> src/gpu_memory.rs:496:84
[INFO] [stderr]     |
[INFO] [stderr] 496 |     fn hip_memcpy_h2d_async(dst: u64, src: *const u8, size: usize, stream: u64) -> Result<(), GpuMemoryError>;
[INFO] [stderr]     |                                                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stderr]     = note: enum has no representation hint
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `Result<(), GpuMemoryError>`, which is not FFI-safe
[INFO] [stderr]    --> src/gpu_memory.rs:497:82
[INFO] [stderr]     |
[INFO] [stderr] 497 |     fn hip_memcpy_d2h_async(dst: *mut u8, src: u64, size: usize, stream: u64) -> Result<(), GpuMemoryError>;
[INFO] [stderr]     |                                                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stderr]     = note: enum has no representation hint
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `Result<(), GpuMemoryError>`, which is not FFI-safe
[INFO] [stderr]    --> src/gpu_memory.rs:498:29
[INFO] [stderr]     |
[INFO] [stderr] 498 |     fn hip_synchronize() -> Result<(), GpuMemoryError>;
[INFO] [stderr]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stderr]     = note: enum has no representation hint
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `Result<usize, GpuMemoryError>`, which is not FFI-safe
[INFO] [stderr]    --> src/gpu_memory.rs:499:48
[INFO] [stderr]     |
[INFO] [stderr] 499 |     fn hip_get_total_memory(device_id: u32) -> Result<usize, GpuMemoryError>;
[INFO] [stderr]     |                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stderr]     = note: enum has no representation hint
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `Result<GpuDeviceProperties, GpuMemoryError>`, which is not FFI-safe
[INFO] [stderr]    --> src/gpu_memory.rs:500:53
[INFO] [stderr]     |
[INFO] [stderr] 500 |     fn hip_get_device_properties(device_id: u32) -> Result<GpuDeviceProperties, GpuMemoryError>;
[INFO] [stderr]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stderr]     = note: enum has no representation hint
[INFO] [stderr] 
[INFO] [stderr] warning: `unillm-kv` (lib) generated 50 warnings (run `cargo fix --lib -p unillm-kv` to apply 20 suggestions)
[INFO] [stderr] warning: unused imports: `KvAllocatorStats` and `PagedKvAllocator`
[INFO] [stderr]  --> src/tests.rs:4:13
[INFO] [stderr]   |
[INFO] [stderr] 4 | use crate::{PagedKvAllocator, KvAllocatorStats};
[INFO] [stderr]   |             ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/tests.rs:100:13
[INFO] [stderr]     |
[INFO] [stderr] 100 |         let mut policy = AdaptiveCachePolicy::new();
[INFO] [stderr]     |             ----^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `Result<u64, gpu_memory::GpuMemoryError>`, which is not FFI-safe
[INFO] [stderr]    --> src/gpu_memory.rs:480:47
[INFO] [stderr]     |
[INFO] [stderr] 480 |     fn cuda_create_context(device_id: u32) -> Result<u64, GpuMemoryError>;
[INFO] [stderr]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stderr]     = note: enum has no representation hint
[INFO] [stderr]     = note: `#[warn(improper_ctypes)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `Result<u64, gpu_memory::GpuMemoryError>`, which is not FFI-safe
[INFO] [stderr]    --> src/gpu_memory.rs:481:62
[INFO] [stderr]     |
[INFO] [stderr] 481 |     fn cuda_malloc_aligned(size: usize, alignment: usize) -> Result<u64, GpuMemoryError>;
[INFO] [stderr]     |                                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stderr]     = note: enum has no representation hint
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `Result<(), gpu_memory::GpuMemoryError>`, which is not FFI-safe
[INFO] [stderr]    --> src/gpu_memory.rs:482:31
[INFO] [stderr]     |
[INFO] [stderr] 482 |     fn cuda_free(ptr: u64) -> Result<(), GpuMemoryError>;
[INFO] [stderr]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stderr]     = note: enum has no representation hint
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `Result<*mut u8, gpu_memory::GpuMemoryError>`, which is not FFI-safe
[INFO] [stderr]    --> src/gpu_memory.rs:483:41
[INFO] [stderr]     |
[INFO] [stderr] 483 |     fn cuda_malloc_host(size: usize) -> Result<*mut u8, GpuMemoryError>;
[INFO] [stderr]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stderr]     = note: enum has no representation hint
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `Result<(), gpu_memory::GpuMemoryError>`, which is not FFI-safe
[INFO] [stderr]    --> src/gpu_memory.rs:484:40
[INFO] [stderr]     |
[INFO] [stderr] 484 |     fn cuda_free_host(ptr: *mut u8) -> Result<(), GpuMemoryError>;
[INFO] [stderr]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stderr]     = note: enum has no representation hint
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `Result<(), gpu_memory::GpuMemoryError>`, which is not FFI-safe
[INFO] [stderr]    --> src/gpu_memory.rs:485:85
[INFO] [stderr]     |
[INFO] [stderr] 485 |     fn cuda_memcpy_h2d_async(dst: u64, src: *const u8, size: usize, stream: u64) -> Result<(), GpuMemoryError>;
[INFO] [stderr]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stderr]     = note: enum has no representation hint
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `Result<(), gpu_memory::GpuMemoryError>`, which is not FFI-safe
[INFO] [stderr]    --> src/gpu_memory.rs:486:83
[INFO] [stderr]     |
[INFO] [stderr] 486 |     fn cuda_memcpy_d2h_async(dst: *mut u8, src: u64, size: usize, stream: u64) -> Result<(), GpuMemoryError>;
[INFO] [stderr]     |                                                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stderr]     = note: enum has no representation hint
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `Result<(), gpu_memory::GpuMemoryError>`, which is not FFI-safe
[INFO] [stderr]    --> src/gpu_memory.rs:487:30
[INFO] [stderr]     |
[INFO] [stderr] 487 |     fn cuda_synchronize() -> Result<(), GpuMemoryError>;
[INFO] [stderr]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stderr]     = note: enum has no representation hint
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `Result<usize, gpu_memory::GpuMemoryError>`, which is not FFI-safe
[INFO] [stderr]    --> src/gpu_memory.rs:488:49
[INFO] [stderr]     |
[INFO] [stderr] 488 |     fn cuda_get_total_memory(device_id: u32) -> Result<usize, GpuMemoryError>;
[INFO] [stderr]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stderr]     = note: enum has no representation hint
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `Result<gpu_memory::GpuDeviceProperties, gpu_memory::GpuMemoryError>`, which is not FFI-safe
[INFO] [stderr]    --> src/gpu_memory.rs:489:54
[INFO] [stderr]     |
[INFO] [stderr] 489 |     fn cuda_get_device_properties(device_id: u32) -> Result<GpuDeviceProperties, GpuMemoryError>;
[INFO] [stderr]     |                                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stderr]     = note: enum has no representation hint
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `Result<u64, gpu_memory::GpuMemoryError>`, which is not FFI-safe
[INFO] [stderr]    --> src/gpu_memory.rs:491:46
[INFO] [stderr]     |
[INFO] [stderr] 491 |     fn hip_create_context(device_id: u32) -> Result<u64, GpuMemoryError>;
[INFO] [stderr]     |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stderr]     = note: enum has no representation hint
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `Result<u64, gpu_memory::GpuMemoryError>`, which is not FFI-safe
[INFO] [stderr]    --> src/gpu_memory.rs:492:61
[INFO] [stderr]     |
[INFO] [stderr] 492 |     fn hip_malloc_aligned(size: usize, alignment: usize) -> Result<u64, GpuMemoryError>;
[INFO] [stderr]     |                                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stderr]     = note: enum has no representation hint
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `Result<(), gpu_memory::GpuMemoryError>`, which is not FFI-safe
[INFO] [stderr]    --> src/gpu_memory.rs:493:30
[INFO] [stderr]     |
[INFO] [stderr] 493 |     fn hip_free(ptr: u64) -> Result<(), GpuMemoryError>;
[INFO] [stderr]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stderr]     = note: enum has no representation hint
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `Result<*mut u8, gpu_memory::GpuMemoryError>`, which is not FFI-safe
[INFO] [stderr]    --> src/gpu_memory.rs:494:40
[INFO] [stderr]     |
[INFO] [stderr] 494 |     fn hip_malloc_host(size: usize) -> Result<*mut u8, GpuMemoryError>;
[INFO] [stderr]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stderr]     = note: enum has no representation hint
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `Result<(), gpu_memory::GpuMemoryError>`, which is not FFI-safe
[INFO] [stderr]    --> src/gpu_memory.rs:495:39
[INFO] [stderr]     |
[INFO] [stderr] 495 |     fn hip_free_host(ptr: *mut u8) -> Result<(), GpuMemoryError>;
[INFO] [stderr]     |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stderr]     = note: enum has no representation hint
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `Result<(), gpu_memory::GpuMemoryError>`, which is not FFI-safe
[INFO] [stderr]    --> src/gpu_memory.rs:496:84
[INFO] [stderr]     |
[INFO] [stderr] 496 |     fn hip_memcpy_h2d_async(dst: u64, src: *const u8, size: usize, stream: u64) -> Result<(), GpuMemoryError>;
[INFO] [stderr]     |                                                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stderr]     = note: enum has no representation hint
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `Result<(), gpu_memory::GpuMemoryError>`, which is not FFI-safe
[INFO] [stderr]    --> src/gpu_memory.rs:497:82
[INFO] [stderr]     |
[INFO] [stderr] 497 |     fn hip_memcpy_d2h_async(dst: *mut u8, src: u64, size: usize, stream: u64) -> Result<(), GpuMemoryError>;
[INFO] [stderr]     |                                                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stderr]     = note: enum has no representation hint
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `Result<(), gpu_memory::GpuMemoryError>`, which is not FFI-safe
[INFO] [stderr]    --> src/gpu_memory.rs:498:29
[INFO] [stderr]     |
[INFO] [stderr] 498 |     fn hip_synchronize() -> Result<(), GpuMemoryError>;
[INFO] [stderr]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stderr]     = note: enum has no representation hint
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `Result<usize, gpu_memory::GpuMemoryError>`, which is not FFI-safe
[INFO] [stderr]    --> src/gpu_memory.rs:499:48
[INFO] [stderr]     |
[INFO] [stderr] 499 |     fn hip_get_total_memory(device_id: u32) -> Result<usize, GpuMemoryError>;
[INFO] [stderr]     |                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stderr]     = note: enum has no representation hint
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` block uses type `Result<gpu_memory::GpuDeviceProperties, gpu_memory::GpuMemoryError>`, which is not FFI-safe
[INFO] [stderr]    --> src/gpu_memory.rs:500:53
[INFO] [stderr]     |
[INFO] [stderr] 500 |     fn hip_get_device_properties(device_id: u32) -> Result<GpuDeviceProperties, GpuMemoryError>;
[INFO] [stderr]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stderr]     = note: enum has no representation hint
[INFO] [stderr] 
[INFO] [stderr] warning: `unillm-kv` (lib test) generated 52 warnings (30 duplicates) (run `cargo fix --lib -p unillm-kv --tests` to apply 2 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.07s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/unillm-kv/b752d959657edde8/out/unillm_kv-b752d959657edde8)
[INFO] [stdout] 
[INFO] [stdout] running 15 tests
[INFO] [stdout] test gpu_memory::tests::test_memory_pooling ... ok
[INFO] [stdout] test gpu_integrated_cache::tests::test_gpu_integrated_cache_builder ... ok
[INFO] [stdout] test tests::hybrid_cache_tests::test_access_pattern_recording ... ok
[INFO] [stdout] test gpu_integrated_cache::tests::test_cache_handle_management ... ok
[INFO] [stdout] test tests::hybrid_cache_tests::test_kv_tensor_pair_creation ... ok
[INFO] [stdout] test hybrid_cache::tests::test_hybrid_cache_allocation ... ok
[INFO] [stdout] test tests::hybrid_cache_tests::test_memory_efficiency_comparison ... ok
[INFO] [stdout] test hybrid_cache::tests::test_radix_cache_basic ... ok
[INFO] [stdout] test tests::hybrid_cache_tests::test_sequence_allocation_l1_preferred ... ok
[INFO] [stdout] test gpu_memory::tests::test_gpu_memory_allocation ... ok
[INFO] [stdout] test tests::hybrid_cache_tests::test_hybrid_cache_creation ... ok
[INFO] [stdout] test tests::hybrid_cache_tests::test_policy_engine_decisions ... ok
[INFO] [stdout] test tests::hybrid_cache_tests::test_radix_cache_prefix_matching ... ok
[INFO] [stdout] test tests::performance_tests::benchmark_allocation_latency ... ok
[INFO] [stdout] test tests::performance_tests::benchmark_prefix_matching ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests unillm_kv
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "22e05e1540afde0124ecd93d566141d1d89e232b2ee7936f16c32a2e73f2758c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "22e05e1540afde0124ecd93d566141d1d89e232b2ee7936f16c32a2e73f2758c", kill_on_drop: false }`
[INFO] [stdout] 22e05e1540afde0124ecd93d566141d1d89e232b2ee7936f16c32a2e73f2758c
