[INFO] fetching crate melange_db 0.2.8... [INFO] testing melange_db-0.2.8 against try#dec9417b8611e34e787a3e4c37686b5131f9e5c5 for pr-154210-1 [INFO] extracting crate melange_db 0.2.8 into /workspace/builds/worker-3-tc2/source [INFO] started tweaking crates.io crate melange_db 0.2.8 [INFO] removed 0 missing examples [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate melange_db 0.2.8 [INFO] tweaked toml for crates.io crate melange_db 0.2.8 written to /workspace/builds/worker-3-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate melange_db 0.2.8 on toolchain dec9417b8611e34e787a3e4c37686b5131f9e5c5 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate melange_db 0.2.8 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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 1023a3993ce2551b1ccbc8df9985ca14defd2dbdd59c6893b8e5bcd269476ff6 [INFO] running `Command { std: "docker" "start" "-a" "1023a3993ce2551b1ccbc8df9985ca14defd2dbdd59c6893b8e5bcd269476ff6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "1023a3993ce2551b1ccbc8df9985ca14defd2dbdd59c6893b8e5bcd269476ff6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1023a3993ce2551b1ccbc8df9985ca14defd2dbdd59c6893b8e5bcd269476ff6", kill_on_drop: false }` [INFO] [stdout] 1023a3993ce2551b1ccbc8df9985ca14defd2dbdd59c6893b8e5bcd269476ff6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 91d4d523469dd95156364836b76caa90e678d12295f0208d50d19127b811590d [INFO] running `Command { std: "docker" "start" "-a" "91d4d523469dd95156364836b76caa90e678d12295f0208d50d19127b811590d", kill_on_drop: false }` [INFO] [stderr] Compiling quote v1.0.44 [INFO] [stderr] Compiling futures-core v0.3.32 [INFO] [stderr] Compiling getrandom v0.2.17 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling zstd-sys v2.0.16+zstd.1.5.7 [INFO] [stderr] Compiling lz4-sys v1.11.1+lz4-1.10.0 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling zstd-safe v6.0.6 [INFO] [stderr] Compiling crossbeam-queue v0.3.12 [INFO] [stderr] Compiling rustix v1.1.3 [INFO] [stderr] Compiling virtue v0.0.18 [INFO] [stderr] Compiling num_cpus v1.17.0 [INFO] [stderr] Compiling mio v1.1.1 [INFO] [stderr] Compiling rayon v1.11.0 [INFO] [stderr] Compiling arc-swap v1.8.2 [INFO] [stderr] Compiling rand v0.4.6 [INFO] [stderr] Compiling futures-channel v0.3.32 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling dashmap v6.1.0 [INFO] [stderr] Compiling crossbeam v0.8.4 [INFO] [stderr] Compiling threadpool v1.8.1 [INFO] [stderr] Compiling remove_dir_all v0.5.3 [INFO] [stderr] Compiling lz4_flex v0.11.5 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling shared-local-state v0.1.4 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling ebr v0.2.13 [INFO] [stderr] Compiling tempdir v0.3.7 [INFO] [stderr] Compiling dashmap v5.5.3 [INFO] [stderr] Compiling cache-advisor v1.0.16 [INFO] [stderr] Compiling fs2 v0.4.3 [INFO] [stderr] Compiling pagetable v0.4.6 [INFO] [stderr] Compiling bincode_derive v2.0.1 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling fault-injection v1.0.10 [INFO] [stderr] Compiling tempfile v3.25.0 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling futures-macro v0.3.32 [INFO] [stderr] Compiling tokio-macros v2.6.0 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling zstd v0.12.4 [INFO] [stderr] Compiling tokio v1.49.0 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling stack-map v1.0.5 [INFO] [stderr] Compiling bincode v2.0.1 [INFO] [stderr] Compiling chrono v0.4.43 [INFO] [stderr] Compiling concurrent-map v5.0.37 [INFO] [stderr] Compiling futures-executor v0.3.32 [INFO] [stderr] Compiling inline-array v0.1.14 [INFO] [stderr] Compiling futures v0.3.32 [INFO] [stderr] Compiling lz4 v1.28.1 [INFO] [stderr] Compiling rat_logger v0.3.3 [INFO] [stderr] Compiling melange_db v0.2.8 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `LinkedList` [INFO] [stdout] --> src/block_cache.rs:13:33 [INFO] [stdout] | [INFO] [stdout] 13 | use std::collections::{HashMap, LinkedList, 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/block_cache.rs:15:17 [INFO] [stdout] | [INFO] [stdout] 15 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Hash` [INFO] [stdout] --> src/block_cache.rs:16:17 [INFO] [stdout] | [INFO] [stdout] 16 | use std::hash::{Hash, Hasher}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::hash_map::DefaultHasher` [INFO] [stdout] --> src/block_cache.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | use std::collections::hash_map::DefaultHasher; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> src/bloom_filter.rs:16:13 [INFO] [stdout] | [INFO] [stdout] 16 | use serde::{Serialize, Deserialize}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `debug_log`, `error_log`, `info_log`, and `trace_log` [INFO] [stdout] --> src/bloom_filter.rs:18:13 [INFO] [stdout] | [INFO] [stdout] 18 | use crate::{debug_log, trace_log, warn_log, error_log, info_log}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `trace_log` and `warn_log` [INFO] [stdout] --> src/db.rs:10:24 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::{debug_log, trace_log, warn_log, error_log, info_log, smart_flush::{SmartFlushScheduler, SmartFlushConfig}}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `info_log` and `warn_log` [INFO] [stdout] --> src/flush_epoch.rs:6:35 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::{debug_log, trace_log, warn_log, error_log, info_log}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `error_log` and `info_log` [INFO] [stdout] --> src/heap.rs:6:45 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::{debug_log, trace_log, warn_log, error_log, info_log}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `debug_log`, `error_log`, `info_log`, and `warn_log` [INFO] [stdout] --> src/id_allocator.rs:6:13 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::{debug_log, trace_log, warn_log, error_log, info_log}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `error_log`, `info_log`, and `warn_log` [INFO] [stdout] --> src/leaf.rs:2:35 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::{debug_log, trace_log, warn_log, error_log, info_log}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `info_log` [INFO] [stdout] --> src/metadata_store.rs:6:56 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::{debug_log, trace_log, warn_log, error_log, info_log}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cell::RefCell` [INFO] [stdout] --> src/object_cache.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::cell::RefCell; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `info_log` and `warn_log` [INFO] [stdout] --> src/object_cache.rs:6:35 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::{debug_log, trace_log, warn_log, error_log, info_log, smart_flush::WriteLoadStats}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Read`, `Seek`, and `self` [INFO] [stdout] --> src/platform_utils.rs:8:15 [INFO] [stdout] | [INFO] [stdout] 8 | use std::io::{self, Read, Seek}; [INFO] [stdout] | ^^^^ ^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/atomic_worker.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Instant` [INFO] [stdout] --> src/atomic_worker.rs:10:27 [INFO] [stdout] | [INFO] [stdout] 10 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `parking_lot::Mutex` [INFO] [stdout] --> src/atomic_worker.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use parking_lot::Mutex; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `error_log` and `info_log` [INFO] [stdout] --> src/atomic_worker.rs:16:45 [INFO] [stdout] | [INFO] [stdout] 16 | use crate::{debug_log, trace_log, warn_log, error_log, info_log}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `parking_lot::Mutex` [INFO] [stdout] --> src/database_worker.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use parking_lot::Mutex; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `error_log`, `info_log`, and `warn_log` [INFO] [stdout] --> src/database_worker.rs:13:35 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::{debug_log, trace_log, warn_log, error_log, info_log, InlineArray}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `error_log`, `info_log`, and `warn_log` [INFO] [stdout] --> src/hybrid_operations_manager.rs:10:35 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::{debug_log, trace_log, warn_log, error_log, info_log, InlineArray}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `debug_log` and `info_log` [INFO] [stdout] --> src/tree.rs:24:13 [INFO] [stdout] | [INFO] [stdout] 24 | use crate::{debug_log, trace_log, warn_log, error_log, info_log}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> src/lib.rs:130:9 [INFO] [stdout] | [INFO] [stdout] 130 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Hasher` [INFO] [stdout] --> src/block_cache.rs:16:23 [INFO] [stdout] | [INFO] [stdout] 16 | use std::hash::{Hash, Hasher}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bloom_filter.rs:171:13 [INFO] [stdout] | [INFO] [stdout] 171 | let mut new_filter = Self::new(new_element_count, self.target_fpp); [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: value assigned to `interval_ms` is never read [INFO] [stdout] --> src/smart_flush.rs:159:31 [INFO] [stdout] | [INFO] [stdout] 159 | let mut interval_ms = self.config.base_interval_ms; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/config.rs:46:13 [INFO] [stdout] | [INFO] [stdout] 46 | let mut features = Vec::new(); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/db.rs:597:9 [INFO] [stdout] | [INFO] [stdout] 597 | let mut scheduler = SmartFlushScheduler::new(config); [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `stats` [INFO] [stdout] --> src/db.rs:598:9 [INFO] [stdout] | [INFO] [stdout] 598 | let stats = scheduler.get_stats(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_stats` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/flush_epoch.rs:281:37 [INFO] [stdout] | [INFO] [stdout] 281 | if let Some(mut callback) = callback { [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/flush_epoch.rs:302:37 [INFO] [stdout] | [INFO] [stdout] 302 | if let Some(mut callback) = callback { [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `results` [INFO] [stdout] --> src/flush_epoch.rs:354:25 [INFO] [stdout] | [INFO] [stdout] 354 | let results = perform_batch_flush(batch_tasks); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_results` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> src/flush_epoch.rs:373:37 [INFO] [stdout] | [INFO] [stdout] 373 | fn perform_flush(epoch: FlushEpoch, data: Vec) -> std::io::Result<()> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/platform_utils.rs:93:39 [INFO] [stdout] | [INFO] [stdout] 93 | pub fn read_exact_at(file: &fs::File, mut buf: &mut [u8], offset: u64) -> std::io::Result<()> { [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `remainder` [INFO] [stdout] --> src/simd_optimized.rs:50:13 [INFO] [stdout] | [INFO] [stdout] 50 | let remainder = min_len % 8; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remainder` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `simd_optimized::SimdComparator::compare_simd_avx2` is unsafe and requires unsafe block [INFO] [stdout] --> src/simd_optimized.rs:97:17 [INFO] [stdout] | [INFO] [stdout] 97 | Self::compare_simd_avx2(a, b, len) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/simd_optimized.rs:88:5 [INFO] [stdout] | [INFO] [stdout] 88 | unsafe fn compare_simd(a: &[u8], b: &[u8], len: usize) -> Ordering { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(unsafe_op_in_unsafe_fn)]` (part of `#[warn(rust_2024_compatibility)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `simd_optimized::SimdComparator::compare_simd_sse2` is unsafe and requires unsafe block [INFO] [stdout] --> src/simd_optimized.rs:99:17 [INFO] [stdout] | [INFO] [stdout] 99 | Self::compare_simd_sse2(a, b, len) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `simd_optimized::SimdComparator::compare_simd_fallback` is unsafe and requires unsafe block [INFO] [stdout] --> src/simd_optimized.rs:101:17 [INFO] [stdout] | [INFO] [stdout] 101 | Self::compare_simd_fallback(a, b, len) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `remainder` [INFO] [stdout] --> src/simd_optimized.rs:155:13 [INFO] [stdout] | [INFO] [stdout] 155 | let remainder = len % 32; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remainder` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `remainder` [INFO] [stdout] --> src/simd_optimized.rs:189:13 [INFO] [stdout] | [INFO] [stdout] 189 | let remainder = len % 16; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remainder` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `remainder` [INFO] [stdout] --> src/simd_optimized.rs:223:13 [INFO] [stdout] | [INFO] [stdout] 223 | let remainder = len % 8; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remainder` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `AtomicWorker` is more private than the item `HybridOperationsManager::atomic_worker` [INFO] [stdout] --> src/hybrid_operations_manager.rs:296:5 [INFO] [stdout] | [INFO] [stdout] 296 | pub fn atomic_worker(&self) -> &AtomicWorker { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `HybridOperationsManager::atomic_worker` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `AtomicWorker` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/atomic_worker.rs:76:1 [INFO] [stdout] | [INFO] [stdout] 76 | pub(crate) struct AtomicWorker { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `move_to_head` is never used [INFO] [stdout] --> src/block_cache.rs:219:8 [INFO] [stdout] | [INFO] [stdout] 114 | impl LruCache { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 219 | fn move_to_head(&mut self, node: &mut Box) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `config` is never read [INFO] [stdout] --> src/block_cache.rs:532:5 [INFO] [stdout] | [INFO] [stdout] 530 | pub struct CacheManager { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 531 | block_cache: Arc, [INFO] [stdout] 532 | config: CacheConfig, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CacheManager` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OptimizedFlushScheduler` is never constructed [INFO] [stdout] --> src/flush_epoch.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct OptimizedFlushScheduler { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `FlushTask` is never used [INFO] [stdout] --> src/flush_epoch.rs:32:10 [INFO] [stdout] | [INFO] [stdout] 32 | pub enum FlushTask { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BatchFlushTask` is never constructed [INFO] [stdout] --> src/flush_epoch.rs:58:12 [INFO] [stdout] | [INFO] [stdout] 58 | pub struct BatchFlushTask { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `FlushPriority` is never used [INFO] [stdout] --> src/flush_epoch.rs:66:10 [INFO] [stdout] | [INFO] [stdout] 66 | pub enum FlushPriority { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FlushConfig` is never constructed [INFO] [stdout] --> src/flush_epoch.rs:79:12 [INFO] [stdout] | [INFO] [stdout] 79 | pub struct FlushConfig { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FlushStats` is never constructed [INFO] [stdout] --> src/flush_epoch.rs:106:12 [INFO] [stdout] | [INFO] [stdout] 106 | pub struct FlushStats { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/flush_epoch.rs:118:12 [INFO] [stdout] | [INFO] [stdout] 116 | impl OptimizedFlushScheduler { [INFO] [stdout] | ---------------------------- associated items in this implementation [INFO] [stdout] 117 | /// 创建新的优化的flush调度器 [INFO] [stdout] 118 | pub fn new(config: FlushConfig) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | fn start_workers(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 154 | pub fn submit_immediate_flush( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 175 | pub fn submit_delayed_flush( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 198 | pub fn submit_batch_flush( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 217 | pub fn get_stats(&self) -> FlushStats { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 230 | pub fn shutdown(self) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `worker_loop` is never used [INFO] [stdout] --> src/flush_epoch.rs:252:4 [INFO] [stdout] | [INFO] [stdout] 252 | fn worker_loop( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `perform_flush` is never used [INFO] [stdout] --> src/flush_epoch.rs:373:4 [INFO] [stdout] | [INFO] [stdout] 373 | fn perform_flush(epoch: FlushEpoch, data: Vec) -> std::io::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `perform_batch_flush` is never used [INFO] [stdout] --> src/flush_epoch.rs:387:4 [INFO] [stdout] | [INFO] [stdout] 387 | fn perform_batch_flush(tasks: Vec) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `clear` is never used [INFO] [stdout] --> src/leaf.rs:67:12 [INFO] [stdout] | [INFO] [stdout] 20 | impl IncrementalChanges { [INFO] [stdout] | ----------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 67 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `disable_incremental_serialization`, `apply_incremental_changes`, and `reset_incremental_changes` are never used [INFO] [stdout] --> src/leaf.rs:130:19 [INFO] [stdout] | [INFO] [stdout] 102 | impl Leaf { [INFO] [stdout] | ------------------------------------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 130 | pub(crate) fn disable_incremental_serialization(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 368 | pub(crate) fn apply_incremental_changes(&mut self, changes: &IncrementalChanges) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 386 | pub(crate) fn reset_incremental_changes(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `db_queue` is never read [INFO] [stdout] --> src/atomic_worker.rs:90:5 [INFO] [stdout] | [INFO] [stdout] 76 | pub(crate) struct AtomicWorker { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 90 | db_queue: Option>>, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_counter_names` is never used [INFO] [stdout] --> src/atomic_worker.rs:644:19 [INFO] [stdout] | [INFO] [stdout] 93 | impl AtomicWorker { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 644 | pub(crate) fn get_counter_names(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `PreloadCounters` is never constructed [INFO] [stdout] --> src/database_worker.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 18 | pub(crate) enum DatabaseOperation { [INFO] [stdout] | ----------------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 37 | PreloadCounters { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DatabaseOperation` 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: methods `persist_counter` and `preload_counters` are never used [INFO] [stdout] --> src/database_worker.rs:284:19 [INFO] [stdout] | [INFO] [stdout] 91 | impl DatabaseWorker { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 284 | pub(crate) fn persist_counter(&self, counter_name: String, value: u64) -> io::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 301 | pub(crate) fn preload_counters(&self) -> io::Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/object_cache.rs:411:35 [INFO] [stdout] | [INFO] [stdout] 411 | pub fn check_into_flush_epoch(&self) -> FlushEpochGuard { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 411 | pub fn check_into_flush_epoch(&self) -> FlushEpochGuard<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 32.83s [INFO] running `Command { std: "docker" "inspect" "91d4d523469dd95156364836b76caa90e678d12295f0208d50d19127b811590d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "91d4d523469dd95156364836b76caa90e678d12295f0208d50d19127b811590d", kill_on_drop: false }` [INFO] [stdout] 91d4d523469dd95156364836b76caa90e678d12295f0208d50d19127b811590d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 57dc0f9d06c9bdaf3cdd76dfa13e65414add91d2031d26535cec1802dc027ea3 [INFO] running `Command { std: "docker" "start" "-a" "57dc0f9d06c9bdaf3cdd76dfa13e65414add91d2031d26535cec1802dc027ea3", kill_on_drop: false }` [INFO] [stderr] Compiling zerocopy v0.8.39 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling regex-syntax v0.8.9 [INFO] [stderr] Compiling getrandom v0.4.1 [INFO] [stderr] Compiling rand_core v0.10.0 [INFO] [stderr] Compiling zerocopy-derive v0.8.39 [INFO] [stderr] Compiling clap_builder v4.5.60 [INFO] [stderr] Compiling chrono v0.4.43 [INFO] [stderr] Compiling is-terminal v0.4.17 [INFO] [stderr] Compiling plotters v0.3.7 [INFO] [stderr] Compiling tinytemplate v1.2.1 [INFO] [stderr] Compiling termcolor v1.4.1 [INFO] [stderr] Compiling humantime v2.3.0 [INFO] [stderr] Compiling num-format v0.4.4 [INFO] [stderr] Compiling rand v0.10.0 [INFO] [stderr] Compiling tempfile v3.25.0 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling clap v4.5.60 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling env_filter v1.0.0 [INFO] [stderr] Compiling env_logger v0.10.2 [INFO] [stderr] Compiling env_logger v0.11.9 [INFO] [stderr] Compiling quickcheck v1.1.0 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling half v2.7.1 [INFO] [stderr] Compiling ciborium-ll v0.2.2 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling ciborium v0.2.2 [INFO] [stderr] Compiling rand v0.9.2 [INFO] [stderr] Compiling rat_logger v0.3.3 [INFO] [stderr] Compiling rand_distr v0.5.1 [INFO] [stderr] Compiling criterion v0.5.1 [INFO] [stderr] Compiling melange_db v0.2.8 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `LinkedList` [INFO] [stdout] --> src/block_cache.rs:13:33 [INFO] [stdout] | [INFO] [stdout] 13 | use std::collections::{HashMap, LinkedList, 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/block_cache.rs:15:17 [INFO] [stdout] | [INFO] [stdout] 15 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Hash` [INFO] [stdout] --> src/block_cache.rs:16:17 [INFO] [stdout] | [INFO] [stdout] 16 | use std::hash::{Hash, Hasher}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::hash_map::DefaultHasher` [INFO] [stdout] --> src/block_cache.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | use std::collections::hash_map::DefaultHasher; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> src/bloom_filter.rs:16:13 [INFO] [stdout] | [INFO] [stdout] 16 | use serde::{Serialize, Deserialize}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `debug_log`, `error_log`, `info_log`, and `trace_log` [INFO] [stdout] --> src/bloom_filter.rs:18:13 [INFO] [stdout] | [INFO] [stdout] 18 | use crate::{debug_log, trace_log, warn_log, error_log, info_log}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `trace_log` and `warn_log` [INFO] [stdout] --> src/db.rs:10:24 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::{debug_log, trace_log, warn_log, error_log, info_log, smart_flush::{SmartFlushScheduler, SmartFlushConfig}}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `info_log` and `warn_log` [INFO] [stdout] --> src/flush_epoch.rs:6:35 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::{debug_log, trace_log, warn_log, error_log, info_log}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `error_log` and `info_log` [INFO] [stdout] --> src/heap.rs:6:45 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::{debug_log, trace_log, warn_log, error_log, info_log}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `debug_log`, `error_log`, `info_log`, and `warn_log` [INFO] [stdout] --> src/id_allocator.rs:6:13 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::{debug_log, trace_log, warn_log, error_log, info_log}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `error_log`, `info_log`, and `warn_log` [INFO] [stdout] --> src/leaf.rs:2:35 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::{debug_log, trace_log, warn_log, error_log, info_log}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `info_log` [INFO] [stdout] --> src/metadata_store.rs:6:56 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::{debug_log, trace_log, warn_log, error_log, info_log}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cell::RefCell` [INFO] [stdout] --> src/object_cache.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::cell::RefCell; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `info_log` and `warn_log` [INFO] [stdout] --> src/object_cache.rs:6:35 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::{debug_log, trace_log, warn_log, error_log, info_log, smart_flush::WriteLoadStats}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Read`, `Seek`, and `self` [INFO] [stdout] --> src/platform_utils.rs:8:15 [INFO] [stdout] | [INFO] [stdout] 8 | use std::io::{self, Read, Seek}; [INFO] [stdout] | ^^^^ ^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/atomic_worker.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Instant` [INFO] [stdout] --> src/atomic_worker.rs:10:27 [INFO] [stdout] | [INFO] [stdout] 10 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `parking_lot::Mutex` [INFO] [stdout] --> src/atomic_worker.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use parking_lot::Mutex; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `error_log` and `info_log` [INFO] [stdout] --> src/atomic_worker.rs:16:45 [INFO] [stdout] | [INFO] [stdout] 16 | use crate::{debug_log, trace_log, warn_log, error_log, info_log}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `parking_lot::Mutex` [INFO] [stdout] --> src/database_worker.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use parking_lot::Mutex; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `error_log`, `info_log`, and `warn_log` [INFO] [stdout] --> src/database_worker.rs:13:35 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::{debug_log, trace_log, warn_log, error_log, info_log, InlineArray}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `error_log`, `info_log`, and `warn_log` [INFO] [stdout] --> src/hybrid_operations_manager.rs:10:35 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::{debug_log, trace_log, warn_log, error_log, info_log, InlineArray}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `debug_log` and `info_log` [INFO] [stdout] --> src/tree.rs:24:13 [INFO] [stdout] | [INFO] [stdout] 24 | use crate::{debug_log, trace_log, warn_log, error_log, info_log}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> src/lib.rs:130:9 [INFO] [stdout] | [INFO] [stdout] 130 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Hasher` [INFO] [stdout] --> src/block_cache.rs:16:23 [INFO] [stdout] | [INFO] [stdout] 16 | use std::hash::{Hash, Hasher}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bloom_filter.rs:171:13 [INFO] [stdout] | [INFO] [stdout] 171 | let mut new_filter = Self::new(new_element_count, self.target_fpp); [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: value assigned to `interval_ms` is never read [INFO] [stdout] --> src/smart_flush.rs:159:31 [INFO] [stdout] | [INFO] [stdout] 159 | let mut interval_ms = self.config.base_interval_ms; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/config.rs:46:13 [INFO] [stdout] | [INFO] [stdout] 46 | let mut features = Vec::new(); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/db.rs:597:9 [INFO] [stdout] | [INFO] [stdout] 597 | let mut scheduler = SmartFlushScheduler::new(config); [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `stats` [INFO] [stdout] --> src/db.rs:598:9 [INFO] [stdout] | [INFO] [stdout] 598 | let stats = scheduler.get_stats(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_stats` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/flush_epoch.rs:281:37 [INFO] [stdout] | [INFO] [stdout] 281 | if let Some(mut callback) = callback { [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/flush_epoch.rs:302:37 [INFO] [stdout] | [INFO] [stdout] 302 | if let Some(mut callback) = callback { [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `results` [INFO] [stdout] --> src/flush_epoch.rs:354:25 [INFO] [stdout] | [INFO] [stdout] 354 | let results = perform_batch_flush(batch_tasks); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_results` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> src/flush_epoch.rs:373:37 [INFO] [stdout] | [INFO] [stdout] 373 | fn perform_flush(epoch: FlushEpoch, data: Vec) -> std::io::Result<()> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/platform_utils.rs:93:39 [INFO] [stdout] | [INFO] [stdout] 93 | pub fn read_exact_at(file: &fs::File, mut buf: &mut [u8], offset: u64) -> std::io::Result<()> { [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `remainder` [INFO] [stdout] --> src/simd_optimized.rs:50:13 [INFO] [stdout] | [INFO] [stdout] 50 | let remainder = min_len % 8; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remainder` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `simd_optimized::SimdComparator::compare_simd_avx2` is unsafe and requires unsafe block [INFO] [stdout] --> src/simd_optimized.rs:97:17 [INFO] [stdout] | [INFO] [stdout] 97 | Self::compare_simd_avx2(a, b, len) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/simd_optimized.rs:88:5 [INFO] [stdout] | [INFO] [stdout] 88 | unsafe fn compare_simd(a: &[u8], b: &[u8], len: usize) -> Ordering { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(unsafe_op_in_unsafe_fn)]` (part of `#[warn(rust_2024_compatibility)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `simd_optimized::SimdComparator::compare_simd_sse2` is unsafe and requires unsafe block [INFO] [stdout] --> src/simd_optimized.rs:99:17 [INFO] [stdout] | [INFO] [stdout] 99 | Self::compare_simd_sse2(a, b, len) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `simd_optimized::SimdComparator::compare_simd_fallback` is unsafe and requires unsafe block [INFO] [stdout] --> src/simd_optimized.rs:101:17 [INFO] [stdout] | [INFO] [stdout] 101 | Self::compare_simd_fallback(a, b, len) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `remainder` [INFO] [stdout] --> src/simd_optimized.rs:155:13 [INFO] [stdout] | [INFO] [stdout] 155 | let remainder = len % 32; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remainder` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `remainder` [INFO] [stdout] --> src/simd_optimized.rs:189:13 [INFO] [stdout] | [INFO] [stdout] 189 | let remainder = len % 16; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remainder` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `remainder` [INFO] [stdout] --> src/simd_optimized.rs:223:13 [INFO] [stdout] | [INFO] [stdout] 223 | let remainder = len % 8; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remainder` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `AtomicWorker` is more private than the item `HybridOperationsManager::atomic_worker` [INFO] [stdout] --> src/hybrid_operations_manager.rs:296:5 [INFO] [stdout] | [INFO] [stdout] 296 | pub fn atomic_worker(&self) -> &AtomicWorker { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `HybridOperationsManager::atomic_worker` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `AtomicWorker` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/atomic_worker.rs:76:1 [INFO] [stdout] | [INFO] [stdout] 76 | pub(crate) struct AtomicWorker { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `move_to_head` is never used [INFO] [stdout] --> src/block_cache.rs:219:8 [INFO] [stdout] | [INFO] [stdout] 114 | impl LruCache { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 219 | fn move_to_head(&mut self, node: &mut Box) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `config` is never read [INFO] [stdout] --> src/block_cache.rs:532:5 [INFO] [stdout] | [INFO] [stdout] 530 | pub struct CacheManager { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 531 | block_cache: Arc, [INFO] [stdout] 532 | config: CacheConfig, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CacheManager` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OptimizedFlushScheduler` is never constructed [INFO] [stdout] --> src/flush_epoch.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct OptimizedFlushScheduler { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `FlushTask` is never used [INFO] [stdout] --> src/flush_epoch.rs:32:10 [INFO] [stdout] | [INFO] [stdout] 32 | pub enum FlushTask { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BatchFlushTask` is never constructed [INFO] [stdout] --> src/flush_epoch.rs:58:12 [INFO] [stdout] | [INFO] [stdout] 58 | pub struct BatchFlushTask { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `FlushPriority` is never used [INFO] [stdout] --> src/flush_epoch.rs:66:10 [INFO] [stdout] | [INFO] [stdout] 66 | pub enum FlushPriority { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FlushConfig` is never constructed [INFO] [stdout] --> src/flush_epoch.rs:79:12 [INFO] [stdout] | [INFO] [stdout] 79 | pub struct FlushConfig { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FlushStats` is never constructed [INFO] [stdout] --> src/flush_epoch.rs:106:12 [INFO] [stdout] | [INFO] [stdout] 106 | pub struct FlushStats { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/flush_epoch.rs:118:12 [INFO] [stdout] | [INFO] [stdout] 116 | impl OptimizedFlushScheduler { [INFO] [stdout] | ---------------------------- associated items in this implementation [INFO] [stdout] 117 | /// 创建新的优化的flush调度器 [INFO] [stdout] 118 | pub fn new(config: FlushConfig) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | fn start_workers(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 154 | pub fn submit_immediate_flush( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 175 | pub fn submit_delayed_flush( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 198 | pub fn submit_batch_flush( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 217 | pub fn get_stats(&self) -> FlushStats { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 230 | pub fn shutdown(self) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `worker_loop` is never used [INFO] [stdout] --> src/flush_epoch.rs:252:4 [INFO] [stdout] | [INFO] [stdout] 252 | fn worker_loop( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `perform_flush` is never used [INFO] [stdout] --> src/flush_epoch.rs:373:4 [INFO] [stdout] | [INFO] [stdout] 373 | fn perform_flush(epoch: FlushEpoch, data: Vec) -> std::io::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `perform_batch_flush` is never used [INFO] [stdout] --> src/flush_epoch.rs:387:4 [INFO] [stdout] | [INFO] [stdout] 387 | fn perform_batch_flush(tasks: Vec) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `clear` is never used [INFO] [stdout] --> src/leaf.rs:67:12 [INFO] [stdout] | [INFO] [stdout] 20 | impl IncrementalChanges { [INFO] [stdout] | ----------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 67 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `disable_incremental_serialization`, `apply_incremental_changes`, and `reset_incremental_changes` are never used [INFO] [stdout] --> src/leaf.rs:130:19 [INFO] [stdout] | [INFO] [stdout] 102 | impl Leaf { [INFO] [stdout] | ------------------------------------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 130 | pub(crate) fn disable_incremental_serialization(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 368 | pub(crate) fn apply_incremental_changes(&mut self, changes: &IncrementalChanges) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 386 | pub(crate) fn reset_incremental_changes(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `db_queue` is never read [INFO] [stdout] --> src/atomic_worker.rs:90:5 [INFO] [stdout] | [INFO] [stdout] 76 | pub(crate) struct AtomicWorker { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 90 | db_queue: Option>>, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_counter_names` is never used [INFO] [stdout] --> src/atomic_worker.rs:644:19 [INFO] [stdout] | [INFO] [stdout] 93 | impl AtomicWorker { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 644 | pub(crate) fn get_counter_names(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `PreloadCounters` is never constructed [INFO] [stdout] --> src/database_worker.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 18 | pub(crate) enum DatabaseOperation { [INFO] [stdout] | ----------------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 37 | PreloadCounters { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DatabaseOperation` 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: methods `persist_counter` and `preload_counters` are never used [INFO] [stdout] --> src/database_worker.rs:284:19 [INFO] [stdout] | [INFO] [stdout] 91 | impl DatabaseWorker { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 284 | pub(crate) fn persist_counter(&self, counter_name: String, value: u64) -> io::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 301 | pub(crate) fn preload_counters(&self) -> io::Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/object_cache.rs:411:35 [INFO] [stdout] | [INFO] [stdout] 411 | pub fn check_into_flush_epoch(&self) -> FlushEpochGuard { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 411 | pub fn check_into_flush_epoch(&self) -> FlushEpochGuard<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `LinkedList` [INFO] [stdout] --> src/block_cache.rs:13:33 [INFO] [stdout] | [INFO] [stdout] 13 | use std::collections::{HashMap, LinkedList, 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/block_cache.rs:15:17 [INFO] [stdout] | [INFO] [stdout] 15 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Hash` [INFO] [stdout] --> src/block_cache.rs:16:17 [INFO] [stdout] | [INFO] [stdout] 16 | use std::hash::{Hash, Hasher}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::hash_map::DefaultHasher` [INFO] [stdout] --> src/block_cache.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | use std::collections::hash_map::DefaultHasher; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> src/bloom_filter.rs:16:13 [INFO] [stdout] | [INFO] [stdout] 16 | use serde::{Serialize, Deserialize}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `debug_log`, `error_log`, `info_log`, and `trace_log` [INFO] [stdout] --> src/bloom_filter.rs:18:13 [INFO] [stdout] | [INFO] [stdout] 18 | use crate::{debug_log, trace_log, warn_log, error_log, info_log}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `trace_log` and `warn_log` [INFO] [stdout] --> src/db.rs:10:24 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::{debug_log, trace_log, warn_log, error_log, info_log, smart_flush::{SmartFlushScheduler, SmartFlushConfig}}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `info_log` and `warn_log` [INFO] [stdout] --> src/flush_epoch.rs:6:35 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::{debug_log, trace_log, warn_log, error_log, info_log}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `error_log` and `info_log` [INFO] [stdout] --> src/heap.rs:6:45 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::{debug_log, trace_log, warn_log, error_log, info_log}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `debug_log`, `error_log`, `info_log`, and `warn_log` [INFO] [stdout] --> src/id_allocator.rs:6:13 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::{debug_log, trace_log, warn_log, error_log, info_log}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `error_log`, `info_log`, and `warn_log` [INFO] [stdout] --> src/leaf.rs:2:35 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::{debug_log, trace_log, warn_log, error_log, info_log}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `info_log` [INFO] [stdout] --> src/metadata_store.rs:6:56 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::{debug_log, trace_log, warn_log, error_log, info_log}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cell::RefCell` [INFO] [stdout] --> src/object_cache.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::cell::RefCell; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `info_log` and `warn_log` [INFO] [stdout] --> src/object_cache.rs:6:35 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::{debug_log, trace_log, warn_log, error_log, info_log, smart_flush::WriteLoadStats}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Read`, `Seek`, and `self` [INFO] [stdout] --> src/platform_utils.rs:8:15 [INFO] [stdout] | [INFO] [stdout] 8 | use std::io::{self, Read, Seek}; [INFO] [stdout] | ^^^^ ^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/atomic_worker.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Instant` [INFO] [stdout] --> src/atomic_worker.rs:10:27 [INFO] [stdout] | [INFO] [stdout] 10 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `parking_lot::Mutex` [INFO] [stdout] --> src/atomic_worker.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use parking_lot::Mutex; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `error_log` and `info_log` [INFO] [stdout] --> src/atomic_worker.rs:16:45 [INFO] [stdout] | [INFO] [stdout] 16 | use crate::{debug_log, trace_log, warn_log, error_log, info_log}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `parking_lot::Mutex` [INFO] [stdout] --> src/database_worker.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use parking_lot::Mutex; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `error_log`, `info_log`, and `warn_log` [INFO] [stdout] --> src/database_worker.rs:13:35 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::{debug_log, trace_log, warn_log, error_log, info_log, InlineArray}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `error_log`, `info_log`, and `warn_log` [INFO] [stdout] --> src/hybrid_operations_manager.rs:10:35 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::{debug_log, trace_log, warn_log, error_log, info_log, InlineArray}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `debug_log` and `info_log` [INFO] [stdout] --> src/tree.rs:24:13 [INFO] [stdout] | [INFO] [stdout] 24 | use crate::{debug_log, trace_log, warn_log, error_log, info_log}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> src/lib.rs:130:9 [INFO] [stdout] | [INFO] [stdout] 130 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Hasher` [INFO] [stdout] --> src/block_cache.rs:16:23 [INFO] [stdout] | [INFO] [stdout] 16 | use std::hash::{Hash, Hasher}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bloom_filter.rs:171:13 [INFO] [stdout] | [INFO] [stdout] 171 | let mut new_filter = Self::new(new_element_count, self.target_fpp); [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: value assigned to `interval_ms` is never read [INFO] [stdout] --> src/smart_flush.rs:159:31 [INFO] [stdout] | [INFO] [stdout] 159 | let mut interval_ms = self.config.base_interval_ms; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/config.rs:46:13 [INFO] [stdout] | [INFO] [stdout] 46 | let mut features = Vec::new(); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/db.rs:597:9 [INFO] [stdout] | [INFO] [stdout] 597 | let mut scheduler = SmartFlushScheduler::new(config); [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `stats` [INFO] [stdout] --> src/db.rs:598:9 [INFO] [stdout] | [INFO] [stdout] 598 | let stats = scheduler.get_stats(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_stats` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/flush_epoch.rs:281:37 [INFO] [stdout] | [INFO] [stdout] 281 | if let Some(mut callback) = callback { [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/flush_epoch.rs:302:37 [INFO] [stdout] | [INFO] [stdout] 302 | if let Some(mut callback) = callback { [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `results` [INFO] [stdout] --> src/flush_epoch.rs:354:25 [INFO] [stdout] | [INFO] [stdout] 354 | let results = perform_batch_flush(batch_tasks); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_results` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> src/flush_epoch.rs:373:37 [INFO] [stdout] | [INFO] [stdout] 373 | fn perform_flush(epoch: FlushEpoch, data: Vec) -> std::io::Result<()> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `melange_db::*` [INFO] [stdout] --> examples/surface_book_2_compression_none.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use melange_db::*; [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: `melange_db::hybrid_operations_manager::HybridOperationsManager` [INFO] [stdout] --> examples/surface_book_2_compression_none.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use melange_db::hybrid_operations_manager::HybridOperationsManager; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Instant` [INFO] [stdout] --> examples/surface_book_2_compression_none.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use std::time::Instant; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> examples/surface_book_2_compression_none.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> examples/surface_book_2_compression_none.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 21 | return Ok(()); [INFO] [stdout] | ------------- any code following this expression is unreachable [INFO] [stdout] ... [INFO] [stdout] 26 | / { [INFO] [stdout] 27 | | eprintln!("❌ 错误: 此示例需要启用 compression-none 特性"); [INFO] [stdout] 28 | | eprintln!("❌ 请使用以下命令运行:"); [INFO] [stdout] 29 | | eprintln!("❌ cargo run --example surface_book_2_compression_none --features compression-none --release"); [INFO] [stdout] 30 | | return Err("未启用 compression-none 特性".into()); [INFO] [stdout] 31 | | } [INFO] [stdout] | |_____^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `melange_db::*` [INFO] [stdout] --> tests/mmap_performance_test.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use melange_db::*; [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: `std::os::unix::fs::FileExt` [INFO] [stdout] --> tests/mmap_performance_test.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use std::os::unix::fs::FileExt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `counter_value` [INFO] [stdout] --> examples/cpu_usage_test.rs:45:13 [INFO] [stdout] | [INFO] [stdout] 45 | let counter_value = manager.increment("test_counter".to_string(), 1)?; [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_counter_value` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `counter_value` [INFO] [stdout] --> examples/cpu_usage_test.rs:100:13 [INFO] [stdout] | [INFO] [stdout] 100 | let counter_value = manager.increment("test_counter".to_string(), 1)?; [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_counter_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng` [INFO] [stdout] --> tests/mmap_performance_test.rs:29:25 [INFO] [stdout] | [INFO] [stdout] 29 | let mut rng = rand::thread_rng(); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng` [INFO] [stdout] --> tests/mmap_performance_test.rs:285:29 [INFO] [stdout] | [INFO] [stdout] 285 | let mut rng = rand::thread_rng(); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Write` [INFO] [stdout] --> examples/hybrid_best_practices.rs:9:21 [INFO] [stdout] | [INFO] [stdout] 9 | use std::io::{self, Write}; [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: `std::path::Path` [INFO] [stdout] --> examples/performance_demo.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::path::Path; [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: `std::fs` [INFO] [stdout] --> examples/performance_demo.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::fs; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Write` [INFO] [stdout] --> examples/performance_demo.rs:5:21 [INFO] [stdout] | [INFO] [stdout] 5 | use std::io::{self, Write}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Write` [INFO] [stdout] --> examples/best_practices.rs:3:21 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io::{self, Write}; [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: `melange_db::*` [INFO] [stdout] --> examples/macbook_air_m1_compression_lz4.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use melange_db::*; [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: `std::time::Instant` [INFO] [stdout] --> examples/macbook_air_m1_compression_lz4.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::time::Instant; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> examples/macbook_air_m1_compression_lz4.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 18 | return Ok(()); [INFO] [stdout] | ------------- any code following this expression is unreachable [INFO] [stdout] ... [INFO] [stdout] 23 | / { [INFO] [stdout] 24 | | eprintln!("❌ 错误: 此示例需要启用 compression-lz4 特性"); [INFO] [stdout] 25 | | eprintln!("❌ 请使用以下命令运行:"); [INFO] [stdout] 26 | | eprintln!("❌ cargo run --example macbook_air_m1_compression_lz4 --features compression-lz4 --release"); [INFO] [stdout] 27 | | return Err("未启用 compression-lz4 特性".into()); [INFO] [stdout] 28 | | } [INFO] [stdout] | |_____^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Command` and `Stdio` [INFO] [stdout] --> tests/optimization_performance_test.rs:15:20 [INFO] [stdout] | [INFO] [stdout] 15 | use std::process::{Command, Stdio}; [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: `ConcurrentBloomFilter` [INFO] [stdout] --> tests/optimization_performance_test.rs:21:49 [INFO] [stdout] | [INFO] [stdout] 21 | use melange_db::bloom_filter::{BloomFilter, ConcurrentBloomFilter}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AccessPattern` and `CacheBlock` [INFO] [stdout] --> tests/optimization_performance_test.rs:22:62 [INFO] [stdout] | [INFO] [stdout] 22 | use melange_db::block_cache::{CacheManager, CacheConfig, CacheBlock, AccessPattern}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng` [INFO] [stdout] --> tests/optimization_performance_test.rs:64:29 [INFO] [stdout] | [INFO] [stdout] 64 | let mut rng = rand::thread_rng(); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng` [INFO] [stdout] --> tests/optimization_performance_test.rs:253:35 [INFO] [stdout] | [INFO] [stdout] 253 | *byte = rand::thread_rng().random(); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng` [INFO] [stdout] --> tests/optimization_performance_test.rs:279:35 [INFO] [stdout] | [INFO] [stdout] 279 | let key_index = rand::thread_rng().random_range(0..test_key_count); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng` [INFO] [stdout] --> tests/optimization_performance_test.rs:296:41 [INFO] [stdout] | [INFO] [stdout] 296 | let start_key = &keys[rand::thread_rng().random_range(0..test_key_count)]; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Write` [INFO] [stdout] --> examples/hybrid_manager_guide.rs:9:21 [INFO] [stdout] | [INFO] [stdout] 9 | use std::io::{self, Write}; [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: `Db` [INFO] [stdout] --> examples/no_logger_test.rs:1:18 [INFO] [stdout] | [INFO] [stdout] 1 | use melange_db::{Db, Config}; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> examples/hybrid_best_practices.rs:251:9 [INFO] [stdout] | [INFO] [stdout] 251 | for i in 0..1000 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key_str` [INFO] [stdout] --> examples/hybrid_manager_guide.rs:335:19 [INFO] [stdout] | [INFO] [stdout] 335 | if let Ok(key_str) = String::from_utf8(key) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_str` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/platform_utils.rs:93:39 [INFO] [stdout] | [INFO] [stdout] 93 | pub fn read_exact_at(file: &fs::File, mut buf: &mut [u8], offset: u64) -> std::io::Result<()> { [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `remainder` [INFO] [stdout] --> src/simd_optimized.rs:50:13 [INFO] [stdout] | [INFO] [stdout] 50 | let remainder = min_len % 8; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remainder` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `simd_optimized::SimdComparator::compare_simd_avx2` is unsafe and requires unsafe block [INFO] [stdout] --> src/simd_optimized.rs:97:17 [INFO] [stdout] | [INFO] [stdout] 97 | Self::compare_simd_avx2(a, b, len) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/simd_optimized.rs:88:5 [INFO] [stdout] | [INFO] [stdout] 88 | unsafe fn compare_simd(a: &[u8], b: &[u8], len: usize) -> Ordering { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(unsafe_op_in_unsafe_fn)]` (part of `#[warn(rust_2024_compatibility)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `simd_optimized::SimdComparator::compare_simd_sse2` is unsafe and requires unsafe block [INFO] [stdout] --> src/simd_optimized.rs:99:17 [INFO] [stdout] | [INFO] [stdout] 99 | Self::compare_simd_sse2(a, b, len) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `simd_optimized::SimdComparator::compare_simd_fallback` is unsafe and requires unsafe block [INFO] [stdout] --> src/simd_optimized.rs:101:17 [INFO] [stdout] | [INFO] [stdout] 101 | Self::compare_simd_fallback(a, b, len) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `remainder` [INFO] [stdout] --> src/simd_optimized.rs:155:13 [INFO] [stdout] | [INFO] [stdout] 155 | let remainder = len % 32; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remainder` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `remainder` [INFO] [stdout] --> src/simd_optimized.rs:189:13 [INFO] [stdout] | [INFO] [stdout] 189 | let remainder = len % 16; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remainder` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `remainder` [INFO] [stdout] --> src/simd_optimized.rs:223:13 [INFO] [stdout] | [INFO] [stdout] 223 | let remainder = len % 8; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remainder` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> examples/best_practices.rs:185:14 [INFO] [stdout] | [INFO] [stdout] 185 | let (key, value) = kv?; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `AtomicWorker` is more private than the item `HybridOperationsManager::atomic_worker` [INFO] [stdout] --> src/hybrid_operations_manager.rs:296:5 [INFO] [stdout] | [INFO] [stdout] 296 | pub fn atomic_worker(&self) -> &AtomicWorker { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `HybridOperationsManager::atomic_worker` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `AtomicWorker` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/atomic_worker.rs:76:1 [INFO] [stdout] | [INFO] [stdout] 76 | pub(crate) struct AtomicWorker { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `move_to_head` is never used [INFO] [stdout] --> src/block_cache.rs:219:8 [INFO] [stdout] | [INFO] [stdout] 114 | impl LruCache { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 219 | fn move_to_head(&mut self, node: &mut Box) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `config` is never read [INFO] [stdout] --> src/block_cache.rs:532:5 [INFO] [stdout] | [INFO] [stdout] 530 | pub struct CacheManager { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 531 | block_cache: Arc, [INFO] [stdout] 532 | config: CacheConfig, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CacheManager` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OptimizedFlushScheduler` is never constructed [INFO] [stdout] --> src/flush_epoch.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct OptimizedFlushScheduler { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `FlushTask` is never used [INFO] [stdout] --> src/flush_epoch.rs:32:10 [INFO] [stdout] | [INFO] [stdout] 32 | pub enum FlushTask { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BatchFlushTask` is never constructed [INFO] [stdout] --> src/flush_epoch.rs:58:12 [INFO] [stdout] | [INFO] [stdout] 58 | pub struct BatchFlushTask { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `FlushPriority` is never used [INFO] [stdout] --> src/flush_epoch.rs:66:10 [INFO] [stdout] | [INFO] [stdout] 66 | pub enum FlushPriority { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FlushConfig` is never constructed [INFO] [stdout] --> src/flush_epoch.rs:79:12 [INFO] [stdout] | [INFO] [stdout] 79 | pub struct FlushConfig { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FlushStats` is never constructed [INFO] [stdout] --> src/flush_epoch.rs:106:12 [INFO] [stdout] | [INFO] [stdout] 106 | pub struct FlushStats { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/flush_epoch.rs:118:12 [INFO] [stdout] | [INFO] [stdout] 116 | impl OptimizedFlushScheduler { [INFO] [stdout] | ---------------------------- associated items in this implementation [INFO] [stdout] 117 | /// 创建新的优化的flush调度器 [INFO] [stdout] 118 | pub fn new(config: FlushConfig) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | fn start_workers(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 154 | pub fn submit_immediate_flush( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 175 | pub fn submit_delayed_flush( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 198 | pub fn submit_batch_flush( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 217 | pub fn get_stats(&self) -> FlushStats { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 230 | pub fn shutdown(self) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `worker_loop` is never used [INFO] [stdout] --> src/flush_epoch.rs:252:4 [INFO] [stdout] | [INFO] [stdout] 252 | fn worker_loop( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `perform_flush` is never used [INFO] [stdout] --> src/flush_epoch.rs:373:4 [INFO] [stdout] | [INFO] [stdout] 373 | fn perform_flush(epoch: FlushEpoch, data: Vec) -> std::io::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `perform_batch_flush` is never used [INFO] [stdout] --> src/flush_epoch.rs:387:4 [INFO] [stdout] | [INFO] [stdout] 387 | fn perform_batch_flush(tasks: Vec) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `clear` is never used [INFO] [stdout] --> src/leaf.rs:67:12 [INFO] [stdout] | [INFO] [stdout] 20 | impl IncrementalChanges { [INFO] [stdout] | ----------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 67 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `disable_incremental_serialization`, `apply_incremental_changes`, and `reset_incremental_changes` are never used [INFO] [stdout] --> src/leaf.rs:130:19 [INFO] [stdout] | [INFO] [stdout] 102 | impl Leaf { [INFO] [stdout] | ------------------------------------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 130 | pub(crate) fn disable_incremental_serialization(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 368 | pub(crate) fn apply_incremental_changes(&mut self, changes: &IncrementalChanges) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 386 | pub(crate) fn reset_incremental_changes(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `db_queue` is never read [INFO] [stdout] --> src/atomic_worker.rs:90:5 [INFO] [stdout] | [INFO] [stdout] 76 | pub(crate) struct AtomicWorker { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 90 | db_queue: Option>>, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_counter_names` is never used [INFO] [stdout] --> src/atomic_worker.rs:644:19 [INFO] [stdout] | [INFO] [stdout] 93 | impl AtomicWorker { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 644 | pub(crate) fn get_counter_names(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `PreloadCounters` is never constructed [INFO] [stdout] --> src/database_worker.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 18 | pub(crate) enum DatabaseOperation { [INFO] [stdout] | ----------------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 37 | PreloadCounters { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DatabaseOperation` 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: methods `persist_counter` and `preload_counters` are never used [INFO] [stdout] --> src/database_worker.rs:284:19 [INFO] [stdout] | [INFO] [stdout] 91 | impl DatabaseWorker { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 284 | pub(crate) fn persist_counter(&self, counter_name: String, value: u64) -> io::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 301 | pub(crate) fn preload_counters(&self) -> io::Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/object_cache.rs:411:35 [INFO] [stdout] | [INFO] [stdout] 411 | pub fn check_into_flush_epoch(&self) -> FlushEpochGuard { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 411 | pub fn check_into_flush_epoch(&self) -> FlushEpochGuard<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `melange_db::*` [INFO] [stdout] --> examples/macbook_air_m1_compression_zstd.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use melange_db::*; [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: `std::time::Instant` [INFO] [stdout] --> examples/macbook_air_m1_compression_zstd.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::time::Instant; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> examples/macbook_air_m1_compression_zstd.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 18 | return Ok(()); [INFO] [stdout] | ------------- any code following this expression is unreachable [INFO] [stdout] ... [INFO] [stdout] 23 | / { [INFO] [stdout] 24 | | eprintln!("❌ 错误: 此示例需要启用 compression-zstd 特性"); [INFO] [stdout] 25 | | eprintln!("❌ 请使用以下命令运行:"); [INFO] [stdout] 26 | | eprintln!("❌ cargo run --example macbook_air_m1_compression_zstd --features compression-zstd --release"); [INFO] [stdout] 27 | | return Err("未启用 compression-zstd 特性".into()); [INFO] [stdout] 28 | | } [INFO] [stdout] | |_____^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Instant` [INFO] [stdout] --> tests/integration_test.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::time::Instant; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `melange_db` (lib test); 62 warnings emitted [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `/opt/rustwide/rustup-home/toolchains/dec9417b8611e34e787a3e4c37686b5131f9e5c5/bin/rustc --crate-name melange_db --edition=2024 src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --emit=dep-info,link -C embed-bitcode=no -C debuginfo=2 --test --cfg 'feature="default"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("compression-lz4", "compression-none", "compression-zstd", "default", "for-internal-testing-only", "mimalloc", "monotonic-behavior", "testing-count-allocator", "testing-shred-allocator"))' -C metadata=10f56ef13fb848a6 -C extra-filename=-5984e4bde36a4df4 --out-dir /opt/rustwide/target/debug/deps -L dependency=/opt/rustwide/target/debug/deps --extern bincode=/opt/rustwide/target/debug/deps/libbincode-13cdb4036fd8979a.rlib --extern cache_advisor=/opt/rustwide/target/debug/deps/libcache_advisor-6bb426e3af8608e2.rlib --extern chrono=/opt/rustwide/target/debug/deps/libchrono-7f183bccf75dc93e.rlib --extern concurrent_map=/opt/rustwide/target/debug/deps/libconcurrent_map-57db72f7b6121ae4.rlib --extern crc32fast=/opt/rustwide/target/debug/deps/libcrc32fast-66fcb8dfd77ba9de.rlib --extern criterion=/opt/rustwide/target/debug/deps/libcriterion-7909d3c64f327b52.rlib --extern crossbeam_channel=/opt/rustwide/target/debug/deps/libcrossbeam_channel-54e7071fd9e2348e.rlib --extern crossbeam_queue=/opt/rustwide/target/debug/deps/libcrossbeam_queue-f068d10e96971ec0.rlib --extern dashmap=/opt/rustwide/target/debug/deps/libdashmap-8aeb3f8fc84fcc41.rlib --extern ebr=/opt/rustwide/target/debug/deps/libebr-ccc81d29e40f6d80.rlib --extern env_logger=/opt/rustwide/target/debug/deps/libenv_logger-e68613423cbd7e93.rlib --extern fault_injection=/opt/rustwide/target/debug/deps/libfault_injection-ac2ba5ab1c4810e2.rlib --extern fnv=/opt/rustwide/target/debug/deps/libfnv-2d77ec4f6f971b24.rlib --extern fs2=/opt/rustwide/target/debug/deps/libfs2-2309a714420ac26b.rlib --extern inline_array=/opt/rustwide/target/debug/deps/libinline_array-e206752be27749c4.rlib --extern libc=/opt/rustwide/target/debug/deps/liblibc-65ee1eb217d721f2.rlib --extern lz4_flex=/opt/rustwide/target/debug/deps/liblz4_flex-3de69966d7591cc3.rlib --extern num_format=/opt/rustwide/target/debug/deps/libnum_format-3ca4f79e483dc667.rlib --extern pagetable=/opt/rustwide/target/debug/deps/libpagetable-55d1860a2616700d.rlib --extern parking_lot=/opt/rustwide/target/debug/deps/libparking_lot-8d3c3c071513ef16.rlib --extern quickcheck=/opt/rustwide/target/debug/deps/libquickcheck-45b0e8ac836bc366.rlib --extern rand=/opt/rustwide/target/debug/deps/librand-cccc81ce5b0a1a9d.rlib --extern rand_distr=/opt/rustwide/target/debug/deps/librand_distr-59ce2582831ce2a7.rlib --extern rat_logger=/opt/rustwide/target/debug/deps/librat_logger-0645eeb54a0f32d2.rlib --extern rayon=/opt/rustwide/target/debug/deps/librayon-3336647a8430f5f6.rlib --extern serde=/opt/rustwide/target/debug/deps/libserde-95db1fa6f85d3100.rlib --extern serde_json=/opt/rustwide/target/debug/deps/libserde_json-6ba31b8a22a89bb0.rlib --extern stack_map=/opt/rustwide/target/debug/deps/libstack_map-fb18db3be0f8efac.rlib --extern tempdir=/opt/rustwide/target/debug/deps/libtempdir-fb885ffeb065e271.rlib --extern tempfile=/opt/rustwide/target/debug/deps/libtempfile-acfaf42565793c84.rlib --extern zstd=/opt/rustwide/target/debug/deps/libzstd-cab3c1303059021b.rlib --cap-lints=forbid -L native=/opt/rustwide/target/debug/build/lz4-sys-797550e1cb2e809a/out -L native=/opt/rustwide/target/debug/build/zstd-sys-cbc127e10be99358/out` (signal: 9, SIGKILL: kill) [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] running `Command { std: "docker" "inspect" "57dc0f9d06c9bdaf3cdd76dfa13e65414add91d2031d26535cec1802dc027ea3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "57dc0f9d06c9bdaf3cdd76dfa13e65414add91d2031d26535cec1802dc027ea3", kill_on_drop: false }` [INFO] [stdout] 57dc0f9d06c9bdaf3cdd76dfa13e65414add91d2031d26535cec1802dc027ea3