[INFO] fetching crate melange_db 0.1.5... [INFO] testing melange_db-0.1.5 against 1.90.0 for beta-1.91-3 [INFO] extracting crate melange_db 0.1.5 into /workspace/builds/worker-4-tc1/source [INFO] started tweaking crates.io crate melange_db 0.1.5 [INFO] removed 0 missing examples [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate melange_db 0.1.5 [INFO] tweaked toml for crates.io crate melange_db 0.1.5 written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate melange_db 0.1.5 on toolchain 1.90.0 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.90.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate melange_db 0.1.5 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.90.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: `panic` setting is ignored for `test` profile [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded serde_derive v1.0.224 [INFO] [stderr] Downloaded fault-injection v1.0.10 [INFO] [stderr] Downloaded shared-local-state v0.1.4 [INFO] [stderr] Downloaded ebr v0.2.13 [INFO] [stderr] Downloaded inline-array v0.1.14 [INFO] [stderr] Downloaded cache-advisor v1.0.16 [INFO] [stderr] Downloaded serde v1.0.224 [INFO] [stderr] Downloaded quickcheck v1.0.3 [INFO] [stderr] Downloaded clap v4.5.47 [INFO] [stderr] Downloaded serde_core v1.0.224 [INFO] [stderr] Downloaded concurrent-map v5.0.37 [INFO] [stderr] Downloaded lz4_flex v0.11.5 [INFO] [stderr] Downloaded rat_logger v0.2.8 [INFO] [stderr] Downloaded clap_builder v4.5.47 [INFO] [stderr] Downloaded zstd v0.12.4 [INFO] [stderr] Downloaded pagetable v0.4.6 [INFO] [stderr] Downloaded rand_distr v0.5.1 [INFO] [stderr] Downloaded zstd-safe v6.0.6 [INFO] [stderr] Downloaded stack-map v1.0.5 [INFO] [stderr] Downloaded wasi v0.14.6+wasi-0.2.4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 997cea82fc89c54dfd126120eb89ef031552e0836a595ce2fe1eb10a5a6a1b14 [INFO] running `Command { std: "docker" "start" "-a" "997cea82fc89c54dfd126120eb89ef031552e0836a595ce2fe1eb10a5a6a1b14", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "997cea82fc89c54dfd126120eb89ef031552e0836a595ce2fe1eb10a5a6a1b14", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "997cea82fc89c54dfd126120eb89ef031552e0836a595ce2fe1eb10a5a6a1b14", kill_on_drop: false }` [INFO] [stdout] 997cea82fc89c54dfd126120eb89ef031552e0836a595ce2fe1eb10a5a6a1b14 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] aba17b503f81348fe5d0e907fd8c09f3121b4bb247f03769e172110d9bb91182 [INFO] running `Command { std: "docker" "start" "-a" "aba17b503f81348fe5d0e907fd8c09f3121b4bb247f03769e172110d9bb91182", kill_on_drop: false }` [INFO] [stderr] warning: `panic` setting is ignored for `test` profile [INFO] [stderr] Compiling lock_api v0.4.13 [INFO] [stderr] Compiling serde_core v1.0.224 [INFO] [stderr] Compiling jobserver v0.1.34 [INFO] [stderr] Compiling serde v1.0.224 [INFO] [stderr] Compiling parking_lot_core v0.9.11 [INFO] [stderr] Compiling syn v2.0.106 [INFO] [stderr] Compiling getrandom v0.2.16 [INFO] [stderr] Compiling zstd-safe v6.0.6 [INFO] [stderr] Compiling rustix v1.1.2 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling virtue v0.0.18 [INFO] [stderr] Compiling cc v1.2.37 [INFO] [stderr] Compiling parking_lot v0.12.4 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling getrandom v0.3.3 [INFO] [stderr] Compiling num_cpus v1.17.0 [INFO] [stderr] Compiling shared-local-state v0.1.4 [INFO] [stderr] Compiling ebr v0.2.13 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Compiling unty v0.0.4 [INFO] [stderr] Compiling linux-raw-sys v0.11.0 [INFO] [stderr] Compiling bitflags v2.9.4 [INFO] [stderr] Compiling bincode_derive v2.0.1 [INFO] [stderr] Compiling chrono v0.4.42 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling dashmap v6.1.0 [INFO] [stderr] Compiling threadpool v1.8.1 [INFO] [stderr] Compiling crossbeam v0.8.4 [INFO] [stderr] Compiling rand v0.4.6 [INFO] [stderr] Compiling twox-hash v2.1.2 [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 arc-swap v1.7.1 [INFO] [stderr] Compiling remove_dir_all v0.5.3 [INFO] [stderr] Compiling tempdir v0.3.7 [INFO] [stderr] Compiling lz4_flex v0.11.5 [INFO] [stderr] Compiling cache-advisor v1.0.16 [INFO] [stderr] Compiling serde_json v1.0.145 [INFO] [stderr] Compiling fs2 v0.4.3 [INFO] [stderr] Compiling fault-injection v1.0.10 [INFO] [stderr] Compiling pagetable v0.4.6 [INFO] [stderr] Compiling tempfile v3.22.0 [INFO] [stderr] Compiling serde_derive v1.0.224 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling tokio-macros v2.5.0 [INFO] [stderr] Compiling tokio v1.47.1 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling zstd v0.12.4 [INFO] [stderr] Compiling futures-executor v0.3.31 [INFO] [stderr] Compiling futures v0.3.31 [INFO] [stderr] Compiling stack-map v1.0.5 [INFO] [stderr] Compiling bincode v2.0.1 [INFO] [stderr] Compiling bincode v1.3.3 [INFO] [stderr] Compiling concurrent-map v5.0.37 [INFO] [stderr] Compiling inline-array v0.1.14 [INFO] [stderr] Compiling lz4 v1.28.1 [INFO] [stderr] Compiling rat_logger v0.2.8 [INFO] [stderr] Compiling melange_db v0.1.5 (/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)]` 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 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:127:9 [INFO] [stdout] | [INFO] [stdout] 127 | 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)]` 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:17 [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)]` 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: 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)]` on by default [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: `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: 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: `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: for more information, see [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: `#[warn(unsafe_op_in_unsafe_fn)]` 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: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [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: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [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: 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)]` 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: 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 1m 26s [INFO] running `Command { std: "docker" "inspect" "aba17b503f81348fe5d0e907fd8c09f3121b4bb247f03769e172110d9bb91182", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "aba17b503f81348fe5d0e907fd8c09f3121b4bb247f03769e172110d9bb91182", kill_on_drop: false }` [INFO] [stdout] aba17b503f81348fe5d0e907fd8c09f3121b4bb247f03769e172110d9bb91182 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 0b9a8a80ec1dfb458b3b1a9dd157472d86cfc56af17f3f844fe7937685d47678 [INFO] running `Command { std: "docker" "start" "-a" "0b9a8a80ec1dfb458b3b1a9dd157472d86cfc56af17f3f844fe7937685d47678", kill_on_drop: false }` [INFO] [stderr] warning: `panic` setting is ignored for `test` profile [INFO] [stderr] Compiling libm v0.2.15 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling regex-automata v0.4.10 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling clap_lex v0.7.5 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling is-terminal v0.4.16 [INFO] [stderr] Compiling tempfile v3.22.0 [INFO] [stderr] Compiling clap_builder v4.5.47 [INFO] [stderr] Compiling rand v0.9.2 [INFO] [stderr] Compiling ciborium v0.2.2 [INFO] [stderr] Compiling tinytemplate v1.2.1 [INFO] [stderr] Compiling arrayvec v0.7.6 [INFO] [stderr] Compiling num-format v0.4.4 [INFO] [stderr] Compiling chrono v0.4.42 [INFO] [stderr] Compiling plotters v0.3.7 [INFO] [stderr] Compiling rand_distr v0.5.1 [INFO] [stderr] Compiling clap v4.5.47 [INFO] [stderr] Compiling regex v1.11.2 [INFO] [stderr] Compiling env_logger v0.8.4 [INFO] [stderr] Compiling env_logger v0.10.2 [INFO] [stderr] Compiling quickcheck v1.0.3 [INFO] [stderr] Compiling criterion v0.5.1 [INFO] [stderr] Compiling rat_logger v0.2.8 [INFO] [stderr] Compiling melange_db v0.1.5 (/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)]` 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 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:127:9 [INFO] [stdout] | [INFO] [stdout] 127 | 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)]` 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:17 [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)]` 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: 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)]` on by default [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: `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: 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: `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: for more information, see [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: `#[warn(unsafe_op_in_unsafe_fn)]` 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: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [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: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [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: 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)]` 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: 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] [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)]` 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: 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)]` on by default [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)]` 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)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Db` [INFO] [stdout] --> examples/rat_logger_demo.rs:1:18 [INFO] [stdout] | [INFO] [stdout] 1 | use melange_db::{Db, Config}; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `rat_logger::LoggerBuilder::init`: 请使用init_global_logger方法 [INFO] [stdout] --> examples/rat_logger_demo.rs:9:10 [INFO] [stdout] | [INFO] [stdout] 9 | .init()?; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` 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)]` 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)]` on by default [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)]` 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 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:127:9 [INFO] [stdout] | [INFO] [stdout] 127 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> tests/performance_test.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [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)]` 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:17 [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)]` 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: 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)]` on by default [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: `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: 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: `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: for more information, see [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: `#[warn(unsafe_op_in_unsafe_fn)]` 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: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [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: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [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: 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)]` 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: 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] --> 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)]` 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: 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 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)]` 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: `melange_db::*` [INFO] [stdout] --> examples/macbook_air_m1_compression_none.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use melange_db::*; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Instant` [INFO] [stdout] --> examples/macbook_air_m1_compression_none.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_none.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-none 特性"); [INFO] [stdout] 25 | | eprintln!("❌ 请使用以下命令运行:"); [INFO] [stdout] 26 | | eprintln!("❌ cargo run --example macbook_air_m1_compression_none --features compression-none --release"); [INFO] [stdout] 27 | | return Err("未启用 compression-none 特性".into()); [INFO] [stdout] 28 | | } [INFO] [stdout] | |_____^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [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)]` on by default [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)]` 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)]` 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] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 14s [INFO] running `Command { std: "docker" "inspect" "0b9a8a80ec1dfb458b3b1a9dd157472d86cfc56af17f3f844fe7937685d47678", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0b9a8a80ec1dfb458b3b1a9dd157472d86cfc56af17f3f844fe7937685d47678", kill_on_drop: false }` [INFO] [stdout] 0b9a8a80ec1dfb458b3b1a9dd157472d86cfc56af17f3f844fe7937685d47678 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 38753d9c38b9a45b878ddcd82d9f33f51cbb38a7dfaa33d59584de3c37a96d1e [INFO] running `Command { std: "docker" "start" "-a" "38753d9c38b9a45b878ddcd82d9f33f51cbb38a7dfaa33d59584de3c37a96d1e", kill_on_drop: false }` [INFO] [stderr] warning: `panic` setting is ignored for `test` profile [INFO] [stderr] warning: unused import: `LinkedList` [INFO] [stderr] --> src/block_cache.rs:13:33 [INFO] [stderr] | [INFO] [stderr] 13 | use std::collections::{HashMap, LinkedList, VecDeque}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `Duration` [INFO] [stderr] --> src/block_cache.rs:15:17 [INFO] [stderr] | [INFO] [stderr] 15 | use std::time::{Duration, Instant}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Hash` [INFO] [stderr] --> src/block_cache.rs:16:17 [INFO] [stderr] | [INFO] [stderr] 16 | use std::hash::{Hash, Hasher}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::hash_map::DefaultHasher` [INFO] [stderr] --> src/block_cache.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | use std::collections::hash_map::DefaultHasher; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stderr] --> src/bloom_filter.rs:16:13 [INFO] [stderr] | [INFO] [stderr] 16 | use serde::{Serialize, Deserialize}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `debug_log`, `error_log`, `info_log`, and `trace_log` [INFO] [stderr] --> src/bloom_filter.rs:18:13 [INFO] [stderr] | [INFO] [stderr] 18 | use crate::{debug_log, trace_log, warn_log, error_log, info_log}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `trace_log` and `warn_log` [INFO] [stderr] --> src/db.rs:10:24 [INFO] [stderr] | [INFO] [stderr] 10 | use crate::{debug_log, trace_log, warn_log, error_log, info_log, smart_flush::{SmartFlushScheduler, SmartFlushConfig}}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `info_log` and `warn_log` [INFO] [stderr] --> src/flush_epoch.rs:6:35 [INFO] [stderr] | [INFO] [stderr] 6 | use crate::{debug_log, trace_log, warn_log, error_log, info_log}; [INFO] [stderr] | ^^^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `error_log` and `info_log` [INFO] [stderr] --> src/heap.rs:6:45 [INFO] [stderr] | [INFO] [stderr] 6 | use crate::{debug_log, trace_log, warn_log, error_log, info_log}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `debug_log`, `error_log`, `info_log`, and `warn_log` [INFO] [stderr] --> src/id_allocator.rs:6:13 [INFO] [stderr] | [INFO] [stderr] 6 | use crate::{debug_log, trace_log, warn_log, error_log, info_log}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `error_log`, `info_log`, and `warn_log` [INFO] [stderr] --> src/leaf.rs:2:35 [INFO] [stderr] | [INFO] [stderr] 2 | use crate::{debug_log, trace_log, warn_log, error_log, info_log}; [INFO] [stderr] | ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `info_log` [INFO] [stderr] --> src/metadata_store.rs:6:56 [INFO] [stderr] | [INFO] [stderr] 6 | use crate::{debug_log, trace_log, warn_log, error_log, info_log}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::cell::RefCell` [INFO] [stderr] --> src/object_cache.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::cell::RefCell; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `info_log` and `warn_log` [INFO] [stderr] --> src/object_cache.rs:6:35 [INFO] [stderr] | [INFO] [stderr] 6 | use crate::{debug_log, trace_log, warn_log, error_log, info_log, smart_flush::WriteLoadStats}; [INFO] [stderr] | ^^^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Read`, `Seek`, and `self` [INFO] [stderr] --> src/platform_utils.rs:8:15 [INFO] [stderr] | [INFO] [stderr] 8 | use std::io::{self, Read, Seek}; [INFO] [stderr] | ^^^^ ^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `debug_log` and `info_log` [INFO] [stderr] --> src/tree.rs:24:13 [INFO] [stderr] | [INFO] [stderr] 24 | use crate::{debug_log, trace_log, warn_log, error_log, info_log}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::path::Path` [INFO] [stderr] --> src/lib.rs:127:9 [INFO] [stderr] | [INFO] [stderr] 127 | use std::path::Path; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Hasher` [INFO] [stderr] --> src/block_cache.rs:16:23 [INFO] [stderr] | [INFO] [stderr] 16 | use std::hash::{Hash, Hasher}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/bloom_filter.rs:171:13 [INFO] [stderr] | [INFO] [stderr] 171 | let mut new_filter = Self::new(new_element_count, self.target_fpp); [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: value assigned to `interval_ms` is never read [INFO] [stderr] --> src/smart_flush.rs:159:17 [INFO] [stderr] | [INFO] [stderr] 159 | let mut interval_ms = self.config.base_interval_ms; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/config.rs:46:13 [INFO] [stderr] | [INFO] [stderr] 46 | let mut features = Vec::new(); [INFO] [stderr] | ----^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `stats` [INFO] [stderr] --> src/db.rs:598:9 [INFO] [stderr] | [INFO] [stderr] 598 | let stats = scheduler.get_stats(); [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_stats` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/db.rs:597:9 [INFO] [stderr] | [INFO] [stderr] 597 | let mut scheduler = SmartFlushScheduler::new(config); [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `results` [INFO] [stderr] --> src/flush_epoch.rs:354:25 [INFO] [stderr] | [INFO] [stderr] 354 | let results = perform_batch_flush(batch_tasks); [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_results` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/flush_epoch.rs:281:37 [INFO] [stderr] | [INFO] [stderr] 281 | if let Some(mut callback) = callback { [INFO] [stderr] | ----^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/flush_epoch.rs:302:37 [INFO] [stderr] | [INFO] [stderr] 302 | if let Some(mut callback) = callback { [INFO] [stderr] | ----^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `data` [INFO] [stderr] --> src/flush_epoch.rs:373:37 [INFO] [stderr] | [INFO] [stderr] 373 | fn perform_flush(epoch: FlushEpoch, data: Vec) -> std::io::Result<()> { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/platform_utils.rs:93:39 [INFO] [stderr] | [INFO] [stderr] 93 | pub fn read_exact_at(file: &fs::File, mut buf: &mut [u8], offset: u64) -> std::io::Result<()> { [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `remainder` [INFO] [stderr] --> src/simd_optimized.rs:50:13 [INFO] [stderr] | [INFO] [stderr] 50 | let remainder = min_len % 8; [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remainder` [INFO] [stderr] [INFO] [stderr] warning[E0133]: call to unsafe function `simd_optimized::SimdComparator::compare_simd_avx2` is unsafe and requires unsafe block [INFO] [stderr] --> src/simd_optimized.rs:97:17 [INFO] [stderr] | [INFO] [stderr] 97 | Self::compare_simd_avx2(a, b, len) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stderr] --> src/simd_optimized.rs:88:5 [INFO] [stderr] | [INFO] [stderr] 88 | unsafe fn compare_simd(a: &[u8], b: &[u8], len: usize) -> Ordering { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = note: `#[warn(unsafe_op_in_unsafe_fn)]` on by default [INFO] [stderr] [INFO] [stderr] warning[E0133]: call to unsafe function `simd_optimized::SimdComparator::compare_simd_sse2` is unsafe and requires unsafe block [INFO] [stderr] --> src/simd_optimized.rs:99:17 [INFO] [stderr] | [INFO] [stderr] 99 | Self::compare_simd_sse2(a, b, len) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stderr] [INFO] [stderr] warning[E0133]: call to unsafe function `simd_optimized::SimdComparator::compare_simd_fallback` is unsafe and requires unsafe block [INFO] [stderr] --> src/simd_optimized.rs:101:17 [INFO] [stderr] | [INFO] [stderr] 101 | Self::compare_simd_fallback(a, b, len) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stderr] [INFO] [stderr] warning: unused variable: `remainder` [INFO] [stderr] --> src/simd_optimized.rs:155:13 [INFO] [stderr] | [INFO] [stderr] 155 | let remainder = len % 32; [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remainder` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `remainder` [INFO] [stderr] --> src/simd_optimized.rs:189:13 [INFO] [stderr] | [INFO] [stderr] 189 | let remainder = len % 16; [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remainder` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `remainder` [INFO] [stderr] --> src/simd_optimized.rs:223:13 [INFO] [stderr] | [INFO] [stderr] 223 | let remainder = len % 8; [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remainder` [INFO] [stderr] [INFO] [stderr] warning: method `move_to_head` is never used [INFO] [stderr] --> src/block_cache.rs:219:8 [INFO] [stderr] | [INFO] [stderr] 114 | impl LruCache { [INFO] [stderr] | ------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 219 | fn move_to_head(&mut self, node: &mut Box) { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: field `config` is never read [INFO] [stderr] --> src/block_cache.rs:532:5 [INFO] [stderr] | [INFO] [stderr] 530 | pub struct CacheManager { [INFO] [stderr] | ------------ field in this struct [INFO] [stderr] 531 | block_cache: Arc, [INFO] [stderr] 532 | config: CacheConfig, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `CacheManager` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: struct `OptimizedFlushScheduler` is never constructed [INFO] [stderr] --> src/flush_epoch.rs:15:12 [INFO] [stderr] | [INFO] [stderr] 15 | pub struct OptimizedFlushScheduler { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum `FlushTask` is never used [INFO] [stderr] --> src/flush_epoch.rs:32:10 [INFO] [stderr] | [INFO] [stderr] 32 | pub enum FlushTask { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `BatchFlushTask` is never constructed [INFO] [stderr] --> src/flush_epoch.rs:58:12 [INFO] [stderr] | [INFO] [stderr] 58 | pub struct BatchFlushTask { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum `FlushPriority` is never used [INFO] [stderr] --> src/flush_epoch.rs:66:10 [INFO] [stderr] | [INFO] [stderr] 66 | pub enum FlushPriority { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `FlushConfig` is never constructed [INFO] [stderr] --> src/flush_epoch.rs:79:12 [INFO] [stderr] | [INFO] [stderr] 79 | pub struct FlushConfig { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `FlushStats` is never constructed [INFO] [stderr] --> src/flush_epoch.rs:106:12 [INFO] [stderr] | [INFO] [stderr] 106 | pub struct FlushStats { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: multiple associated items are never used [INFO] [stderr] --> src/flush_epoch.rs:118:12 [INFO] [stderr] | [INFO] [stderr] 116 | impl OptimizedFlushScheduler { [INFO] [stderr] | ---------------------------- associated items in this implementation [INFO] [stderr] 117 | /// 创建新的优化的flush调度器 [INFO] [stderr] 118 | pub fn new(config: FlushConfig) -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 135 | fn start_workers(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 154 | pub fn submit_immediate_flush( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 175 | pub fn submit_delayed_flush( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 198 | pub fn submit_batch_flush( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 217 | pub fn get_stats(&self) -> FlushStats { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 230 | pub fn shutdown(self) { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `worker_loop` is never used [INFO] [stderr] --> src/flush_epoch.rs:252:4 [INFO] [stderr] | [INFO] [stderr] 252 | fn worker_loop( [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `perform_flush` is never used [INFO] [stderr] --> src/flush_epoch.rs:373:4 [INFO] [stderr] | [INFO] [stderr] 373 | fn perform_flush(epoch: FlushEpoch, data: Vec) -> std::io::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `perform_batch_flush` is never used [INFO] [stderr] --> src/flush_epoch.rs:387:4 [INFO] [stderr] | [INFO] [stderr] 387 | fn perform_batch_flush(tasks: Vec) -> Vec> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `clear` is never used [INFO] [stderr] --> src/leaf.rs:67:12 [INFO] [stderr] | [INFO] [stderr] 20 | impl IncrementalChanges { [INFO] [stderr] | ----------------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 67 | pub fn clear(&mut self) { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `disable_incremental_serialization`, `apply_incremental_changes`, and `reset_incremental_changes` are never used [INFO] [stderr] --> src/leaf.rs:130:19 [INFO] [stderr] | [INFO] [stderr] 102 | impl Leaf { [INFO] [stderr] | ------------------------------------------------ methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 130 | pub(crate) fn disable_incremental_serialization(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 368 | pub(crate) fn apply_incremental_changes(&mut self, changes: &IncrementalChanges) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 386 | pub(crate) fn reset_incremental_changes(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/object_cache.rs:411:35 [INFO] [stderr] | [INFO] [stderr] 411 | pub fn check_into_flush_epoch(&self) -> FlushEpochGuard { [INFO] [stderr] | ^^^^^ --------------- the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 411 | pub fn check_into_flush_epoch(&self) -> FlushEpochGuard<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0133`. [INFO] [stderr] warning: `melange_db` (lib) generated 50 warnings (run `cargo fix --lib -p melange_db` to apply 24 suggestions) [INFO] [stderr] warning: `melange_db` (lib test) generated 50 warnings (50 duplicates) [INFO] [stderr] warning: unused import: `Db` [INFO] [stderr] --> examples/no_logger_test.rs:1:18 [INFO] [stderr] | [INFO] [stderr] 1 | use melange_db::{Db, Config}; [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Command` and `Stdio` [INFO] [stderr] --> tests/optimization_performance_test.rs:15:20 [INFO] [stderr] | [INFO] [stderr] 15 | use std::process::{Command, Stdio}; [INFO] [stderr] | ^^^^^^^ ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `ConcurrentBloomFilter` [INFO] [stderr] --> tests/optimization_performance_test.rs:21:49 [INFO] [stderr] | [INFO] [stderr] 21 | use melange_db::bloom_filter::{BloomFilter, ConcurrentBloomFilter}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `AccessPattern` and `CacheBlock` [INFO] [stderr] --> tests/optimization_performance_test.rs:22:62 [INFO] [stderr] | [INFO] [stderr] 22 | use melange_db::block_cache::{CacheManager, CacheConfig, CacheBlock, AccessPattern}; [INFO] [stderr] | ^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng` [INFO] [stderr] --> tests/optimization_performance_test.rs:64:29 [INFO] [stderr] | [INFO] [stderr] 64 | let mut rng = rand::thread_rng(); [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng` [INFO] [stderr] --> tests/optimization_performance_test.rs:253:35 [INFO] [stderr] | [INFO] [stderr] 253 | *byte = rand::thread_rng().random(); [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng` [INFO] [stderr] --> tests/optimization_performance_test.rs:279:35 [INFO] [stderr] | [INFO] [stderr] 279 | let key_index = rand::thread_rng().random_range(0..test_key_count); [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng` [INFO] [stderr] --> tests/optimization_performance_test.rs:296:41 [INFO] [stderr] | [INFO] [stderr] 296 | let start_key = &keys[rand::thread_rng().random_range(0..test_key_count)]; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Write` [INFO] [stderr] --> examples/best_practices.rs:3:21 [INFO] [stderr] | [INFO] [stderr] 3 | use std::io::{self, Write}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `key` [INFO] [stderr] --> examples/best_practices.rs:185:14 [INFO] [stderr] | [INFO] [stderr] 185 | let (key, value) = kv?; [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `melange_db::*` [INFO] [stderr] --> examples/macbook_air_m1_compression_zstd.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use melange_db::*; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::time::Instant` [INFO] [stderr] --> examples/macbook_air_m1_compression_zstd.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use std::time::Instant; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unreachable statement [INFO] [stderr] --> examples/macbook_air_m1_compression_zstd.rs:23:5 [INFO] [stderr] | [INFO] [stderr] 18 | return Ok(()); [INFO] [stderr] | ------------- any code following this expression is unreachable [INFO] [stderr] ... [INFO] [stderr] 23 | / { [INFO] [stderr] 24 | | eprintln!("❌ 错误: 此示例需要启用 compression-zstd 特性"); [INFO] [stderr] 25 | | eprintln!("❌ 请使用以下命令运行:"); [INFO] [stderr] 26 | | eprintln!("❌ cargo run --example macbook_air_m1_compression_zstd --features compression-zstd --release"); [INFO] [stderr] 27 | | return Err("未启用 compression-zstd 特性".into()); [INFO] [stderr] 28 | | } [INFO] [stderr] | |_____^ unreachable statement [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `melange_db::*` [INFO] [stderr] --> examples/macbook_air_m1_compression_lz4.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use melange_db::*; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::time::Instant` [INFO] [stderr] --> examples/macbook_air_m1_compression_lz4.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use std::time::Instant; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unreachable statement [INFO] [stderr] --> examples/macbook_air_m1_compression_lz4.rs:23:5 [INFO] [stderr] | [INFO] [stderr] 18 | return Ok(()); [INFO] [stderr] | ------------- any code following this expression is unreachable [INFO] [stderr] ... [INFO] [stderr] 23 | / { [INFO] [stderr] 24 | | eprintln!("❌ 错误: 此示例需要启用 compression-lz4 特性"); [INFO] [stderr] 25 | | eprintln!("❌ 请使用以下命令运行:"); [INFO] [stderr] 26 | | eprintln!("❌ cargo run --example macbook_air_m1_compression_lz4 --features compression-lz4 --release"); [INFO] [stderr] 27 | | return Err("未启用 compression-lz4 特性".into()); [INFO] [stderr] 28 | | } [INFO] [stderr] | |_____^ unreachable statement [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `melange_db` (example "no_logger_test") generated 1 warning (run `cargo fix --example "no_logger_test"` to apply 1 suggestion) [INFO] [stderr] warning: `melange_db` (test "optimization_performance_test") generated 7 warnings (run `cargo fix --test "optimization_performance_test"` to apply 3 suggestions) [INFO] [stderr] warning: `melange_db` (example "best_practices") generated 2 warnings (run `cargo fix --example "best_practices"` to apply 1 suggestion) [INFO] [stderr] warning: `melange_db` (example "macbook_air_m1_compression_zstd") generated 3 warnings (run `cargo fix --example "macbook_air_m1_compression_zstd"` to apply 2 suggestions) [INFO] [stderr] warning: `melange_db` (example "macbook_air_m1_compression_lz4") generated 3 warnings (run `cargo fix --example "macbook_air_m1_compression_lz4"` to apply 2 suggestions) [INFO] [stderr] warning: unused import: `std::sync::Arc` [INFO] [stderr] --> tests/performance_test.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::sync::Arc; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `Db` [INFO] [stderr] --> examples/rat_logger_demo.rs:1:18 [INFO] [stderr] | [INFO] [stderr] 1 | use melange_db::{Db, Config}; [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated method `rat_logger::LoggerBuilder::init`: 请使用init_global_logger方法 [INFO] [stderr] --> examples/rat_logger_demo.rs:9:10 [INFO] [stderr] | [INFO] [stderr] 9 | .init()?; [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `melange_db::*` [INFO] [stderr] --> tests/mmap_performance_test.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use melange_db::*; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::os::unix::fs::FileExt` [INFO] [stderr] --> tests/mmap_performance_test.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | use std::os::unix::fs::FileExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng` [INFO] [stderr] --> tests/mmap_performance_test.rs:29:25 [INFO] [stderr] | [INFO] [stderr] 29 | let mut rng = rand::thread_rng(); [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng` [INFO] [stderr] --> tests/mmap_performance_test.rs:285:29 [INFO] [stderr] | [INFO] [stderr] 285 | let mut rng = rand::thread_rng(); [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::path::Path` [INFO] [stderr] --> examples/performance_demo.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::path::Path; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fs` [INFO] [stderr] --> examples/performance_demo.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::fs; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Write` [INFO] [stderr] --> examples/performance_demo.rs:5:21 [INFO] [stderr] | [INFO] [stderr] 5 | use std::io::{self, Write}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `melange_db` (test "performance_test") generated 1 warning (run `cargo fix --test "performance_test"` to apply 1 suggestion) [INFO] [stderr] warning: `melange_db` (example "rat_logger_demo") generated 2 warnings (run `cargo fix --example "rat_logger_demo"` to apply 1 suggestion) [INFO] [stderr] warning: `melange_db` (test "mmap_performance_test") generated 4 warnings (run `cargo fix --test "mmap_performance_test"` to apply 2 suggestions) [INFO] [stderr] warning: `melange_db` (example "performance_demo") generated 3 warnings (run `cargo fix --example "performance_demo"` to apply 3 suggestions) [INFO] [stderr] warning: unused import: `std::time::Instant` [INFO] [stderr] --> tests/integration_test.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::time::Instant; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `melange_db::*` [INFO] [stderr] --> examples/macbook_air_m1_compression_none.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use melange_db::*; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::time::Instant` [INFO] [stderr] --> examples/macbook_air_m1_compression_none.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use std::time::Instant; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unreachable statement [INFO] [stderr] --> examples/macbook_air_m1_compression_none.rs:23:5 [INFO] [stderr] | [INFO] [stderr] 18 | return Ok(()); [INFO] [stderr] | ------------- any code following this expression is unreachable [INFO] [stderr] ... [INFO] [stderr] 23 | / { [INFO] [stderr] 24 | | eprintln!("❌ 错误: 此示例需要启用 compression-none 特性"); [INFO] [stderr] 25 | | eprintln!("❌ 请使用以下命令运行:"); [INFO] [stderr] 26 | | eprintln!("❌ cargo run --example macbook_air_m1_compression_none --features compression-none --release"); [INFO] [stderr] 27 | | return Err("未启用 compression-none 特性".into()); [INFO] [stderr] 28 | | } [INFO] [stderr] | |_____^ unreachable statement [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `melange_db` (test "integration_test") generated 1 warning (run `cargo fix --test "integration_test"` to apply 1 suggestion) [INFO] [stderr] warning: `melange_db` (example "macbook_air_m1_compression_none") generated 3 warnings (run `cargo fix --example "macbook_air_m1_compression_none"` to apply 2 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.37s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/melange_db-5d3d812db2af3750) [INFO] [stdout] [INFO] [stdout] running 21 tests [INFO] [stdout] test block_cache::tests::test_lru_cache_basic ... ok [INFO] [stdout] test bloom_filter::tests::test_bloom_filter_basic ... ok [INFO] [stdout] test block_cache::tests::test_tiered_block_cache ... ok [INFO] [stdout] test bloom_filter::tests::test_bloom_filter_false_positives ... ok [INFO] [stdout] test block_cache::tests::test_cache_manager ... ok [INFO] [stdout] test bloom_filter::tests::test_concurrent_bloom_filter ... ok [INFO] [stdout] test bloom_filter::tests::test_bloom_filter_stats ... ok [INFO] [stdout] test bloom_filter::tests::test_tiered_bloom_filter ... ok [INFO] [stdout] test simd_optimized::tests::test_batch_compare ... ok [INFO] [stdout] test simd_optimized::tests::test_simd_compare_basic ... ok [INFO] [stdout] test simd_optimized::tests::test_simd_equals ... ok [INFO] [stdout] test platform_utils::tests::test_cleanup_db_directory ... FAILED [INFO] [stdout] test platform_utils::tests::test_prepare_directory ... FAILED [INFO] [stdout] test platform_utils::tests::test_is_path_writable ... FAILED [INFO] [stdout] test smart_flush::tests::test_smart_flush_scheduler ... ok [INFO] [stdout] test smart_flush::tests::test_write_load_stats ... ok [INFO] [stdout] test platform_utils::tests::test_setup_example_db ... FAILED [INFO] [stdout] test flush_epoch::concurrent_flush_epoch_burn_in ... ok [INFO] [stdout] test simd_optimized::tests::test_large_key_performance ... ok [INFO] [stdout] test simd_optimized::tests::test_small_key_performance ... ok [INFO] [stdout] test flush_epoch::flush_epoch_basic_functionality ... ok [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- platform_utils::tests::test_cleanup_db_directory stdout ---- [INFO] [stdout] [INFO] [stdout] thread 'platform_utils::tests::test_cleanup_db_directory' panicked at src/platform_utils.rs:153:35: [INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" } [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x5af36d222c82 - std::backtrace_rs::backtrace::libunwind::trace::h2d45396358f41939 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x5af36d222c82 - std::backtrace_rs::backtrace::trace_unsynchronized::hffcefc0b67f1d6e2 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x5af36d222c82 - std::sys::backtrace::_print_fmt::hd72f71d23b436b92 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/sys/backtrace.rs:66:9 [INFO] [stdout] 3: 0x5af36d222c82 - ::fmt::hdcfcb6d4c8489523 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/sys/backtrace.rs:39:26 [INFO] [stdout] 4: 0x5af36d2496c3 - core::fmt::rt::Argument::fmt::h2c56b3114963061a [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/fmt/rt.rs:173:76 [INFO] [stdout] 5: 0x5af36d2496c3 - core::fmt::write::h8a494366950f23bb [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/fmt/mod.rs:1468:25 [INFO] [stdout] 6: 0x5af36d21f5b3 - std::io::default_write_fmt::h7b8824096454f323 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x5af36d21f5b3 - std::io::Write::write_fmt::h4e71294925c334d0 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/io/mod.rs:1954:13 [INFO] [stdout] 8: 0x5af36d222ad2 - std::sys::backtrace::BacktraceLock::print::hb2a626a81e06b2dc [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/sys/backtrace.rs:42:9 [INFO] [stdout] 9: 0x5af36d224349 - std::panicking::default_hook::{{closure}}::h4f78485264f12d10 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:300:27 [INFO] [stdout] 10: 0x5af36d22417e - std::panicking::default_hook::h2c66fc99e962531d [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:324:9 [INFO] [stdout] 11: 0x5af36d0a0c34 - as core::ops::function::Fn>::call::hb6bd65493727d71a [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/alloc/src/boxed.rs:1985:9 [INFO] [stdout] 12: 0x5af36d0a0c34 - test::test_main_with_exit_callback::{{closure}}::h60217ec76a0ece4a [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x5af36d224d1e - as core::ops::function::Fn>::call::h318e4efb8c1a5689 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/alloc/src/boxed.rs:1985:9 [INFO] [stdout] 14: 0x5af36d224d1e - std::panicking::rust_panic_with_hook::h33ac55f64bbd807d [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:841:13 [INFO] [stdout] 15: 0x5af36d224aea - std::panicking::begin_panic_handler::{{closure}}::h30e7cb89678a57fe [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:706:13 [INFO] [stdout] 16: 0x5af36d223179 - std::sys::backtrace::__rust_end_short_backtrace::hed60f27456c16ced [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/sys/backtrace.rs:174:18 [INFO] [stdout] 17: 0x5af36d22477d - __rustc[de2ca18b4c54d5b8]::rust_begin_unwind [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:697:5 [INFO] [stdout] 18: 0x5af36d247b80 - core::panicking::panic_fmt::h62f63d096dd276af [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/panicking.rs:75:14 [INFO] [stdout] 19: 0x5af36d247fe6 - core::result::unwrap_failed::h95bc3f5a607b2c95 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/result.rs:1765:5 [INFO] [stdout] 20: 0x5af36d05a400 - core::result::Result::unwrap::h5e2d86bd205d4fb1 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/result.rs:1167:23 [INFO] [stdout] 21: 0x5af36d05a400 - melange_db::platform_utils::tests::test_cleanup_db_directory::hb66136b25a0dba1c [INFO] [stdout] at /opt/rustwide/workdir/src/platform_utils.rs:153:35 [INFO] [stdout] 22: 0x5af36d05a317 - melange_db::platform_utils::tests::test_cleanup_db_directory::{{closure}}::h3e6ee054fa7a294c [INFO] [stdout] at /opt/rustwide/workdir/src/platform_utils.rs:151:35 [INFO] [stdout] 23: 0x5af36d04db46 - core::ops::function::FnOnce::call_once::h6460265e6082ab39 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/function.rs:253:5 [INFO] [stdout] 24: 0x5af36d0a649b - core::ops::function::FnOnce::call_once::h1f9474f1347fff52 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/function.rs:253:5 [INFO] [stdout] 25: 0x5af36d0a649b - test::__rust_begin_short_backtrace::ha52ab26e77157f03 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/test/src/lib.rs:648:18 [INFO] [stdout] 26: 0x5af36d0a55d5 - test::run_test_in_process::{{closure}}::h229c1a11a50b261f [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/test/src/lib.rs:671:74 [INFO] [stdout] 27: 0x5af36d0a55d5 - as core::ops::function::FnOnce<()>>::call_once::h78821afbf97b39a9 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/panic/unwind_safe.rs:272:9 [INFO] [stdout] 28: 0x5af36d0a55d5 - std::panicking::catch_unwind::do_call::h53abf3ed5bd32ba3 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:589:40 [INFO] [stdout] 29: 0x5af36d0a55d5 - std::panicking::catch_unwind::h6deb5fe1e91873c9 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:552:19 [INFO] [stdout] 30: 0x5af36d0a55d5 - std::panic::catch_unwind::hea0829b6b565654b [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panic.rs:359:14 [INFO] [stdout] 31: 0x5af36d0a55d5 - test::run_test_in_process::hdc44dfecea3db21b [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/test/src/lib.rs:671:27 [INFO] [stdout] 32: 0x5af36d0a55d5 - test::run_test::{{closure}}::h0364ba59bf23f652 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/test/src/lib.rs:592:43 [INFO] [stdout] 33: 0x5af36d0691d4 - test::run_test::{{closure}}::h32730b304eec05da [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/test/src/lib.rs:622:41 [INFO] [stdout] 34: 0x5af36d0691d4 - std::sys::backtrace::__rust_begin_short_backtrace::h177cb952fc54ad2c [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/sys/backtrace.rs:158:18 [INFO] [stdout] 35: 0x5af36d06cbaa - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h119d903520007597 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/thread/mod.rs:559:17 [INFO] [stdout] 36: 0x5af36d06cbaa - as core::ops::function::FnOnce<()>>::call_once::hab88401d606702a6 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/panic/unwind_safe.rs:272:9 [INFO] [stdout] 37: 0x5af36d06cbaa - std::panicking::catch_unwind::do_call::h163fe12cca9901c2 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:589:40 [INFO] [stdout] 38: 0x5af36d06cbaa - std::panicking::catch_unwind::he81557d0e17cc1bc [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:552:19 [INFO] [stdout] 39: 0x5af36d06cbaa - std::panic::catch_unwind::hc2b8e79c20593955 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panic.rs:359:14 [INFO] [stdout] 40: 0x5af36d06cbaa - std::thread::Builder::spawn_unchecked_::{{closure}}::hfa6b4978e07815cc [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/thread/mod.rs:557:30 [INFO] [stdout] 41: 0x5af36d06cbaa - core::ops::function::FnOnce::call_once{{vtable.shim}}::hddcd7484a13fd793 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/function.rs:253:5 [INFO] [stdout] 42: 0x5af36d227d9f - as core::ops::function::FnOnce>::call_once::h5924238c754de3b8 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/alloc/src/boxed.rs:1971:9 [INFO] [stdout] 43: 0x5af36d227d9f - std::sys::pal::unix::thread::Thread::new::thread_start::hb6e99e73da4d28f8 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/sys/pal/unix/thread.rs:107:17 [INFO] [stdout] 44: 0x721c0a3d5aa4 - [INFO] [stdout] 45: 0x721c0a462a34 - clone [INFO] [stdout] 46: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- platform_utils::tests::test_prepare_directory stdout ---- [INFO] [stdout] 错误: 无法创建目录 "test_prepare": Read-only file system (os error 30) [INFO] [stdout] [INFO] [stdout] thread 'platform_utils::tests::test_prepare_directory' panicked at src/platform_utils.rs:162:9: [INFO] [stdout] assertion failed: prepare_directory(&path) [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x5af36d222c82 - std::backtrace_rs::backtrace::libunwind::trace::h2d45396358f41939 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x5af36d222c82 - std::backtrace_rs::backtrace::trace_unsynchronized::hffcefc0b67f1d6e2 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x5af36d222c82 - std::sys::backtrace::_print_fmt::hd72f71d23b436b92 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/sys/backtrace.rs:66:9 [INFO] [stdout] 3: 0x5af36d222c82 - ::fmt::hdcfcb6d4c8489523 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/sys/backtrace.rs:39:26 [INFO] [stdout] 4: 0x5af36d2496c3 - core::fmt::rt::Argument::fmt::h2c56b3114963061a [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/fmt/rt.rs:173:76 [INFO] [stdout] 5: 0x5af36d2496c3 - core::fmt::write::h8a494366950f23bb [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/fmt/mod.rs:1468:25 [INFO] [stdout] 6: 0x5af36d21f5b3 - std::io::default_write_fmt::h7b8824096454f323 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x5af36d21f5b3 - std::io::Write::write_fmt::h4e71294925c334d0 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/io/mod.rs:1954:13 [INFO] [stdout] 8: 0x5af36d222ad2 - std::sys::backtrace::BacktraceLock::print::hb2a626a81e06b2dc [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/sys/backtrace.rs:42:9 [INFO] [stdout] 9: 0x5af36d224349 - std::panicking::default_hook::{{closure}}::h4f78485264f12d10 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:300:27 [INFO] [stdout] 10: 0x5af36d22417e - std::panicking::default_hook::h2c66fc99e962531d [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:324:9 [INFO] [stdout] 11: 0x5af36d0a0c34 - as core::ops::function::Fn>::call::hb6bd65493727d71a [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/alloc/src/boxed.rs:1985:9 [INFO] [stdout] 12: 0x5af36d0a0c34 - test::test_main_with_exit_callback::{{closure}}::h60217ec76a0ece4a [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x5af36d224d1e - as core::ops::function::Fn>::call::h318e4efb8c1a5689 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/alloc/src/boxed.rs:1985:9 [INFO] [stdout] 14: 0x5af36d224d1e - std::panicking::rust_panic_with_hook::h33ac55f64bbd807d [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:841:13 [INFO] [stdout] 15: 0x5af36d224ab6 - std::panicking::begin_panic_handler::{{closure}}::h30e7cb89678a57fe [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:699:13 [INFO] [stdout] 16: 0x5af36d223179 - std::sys::backtrace::__rust_end_short_backtrace::hed60f27456c16ced [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/sys/backtrace.rs:174:18 [INFO] [stdout] 17: 0x5af36d22477d - __rustc[de2ca18b4c54d5b8]::rust_begin_unwind [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:697:5 [INFO] [stdout] 18: 0x5af36d247b80 - core::panicking::panic_fmt::h62f63d096dd276af [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/panicking.rs:75:14 [INFO] [stdout] 19: 0x5af36d247c0c - core::panicking::panic::h89a5f2df32b0508a [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/panicking.rs:145:5 [INFO] [stdout] 20: 0x5af36d05a5e7 - melange_db::platform_utils::tests::test_prepare_directory::hcf0f1a84d1b0d50e [INFO] [stdout] at /opt/rustwide/workdir/src/platform_utils.rs:162:9 [INFO] [stdout] 21: 0x5af36d05a537 - melange_db::platform_utils::tests::test_prepare_directory::{{closure}}::h3a23798c1f13c777 [INFO] [stdout] at /opt/rustwide/workdir/src/platform_utils.rs:160:32 [INFO] [stdout] 22: 0x5af36d04dd06 - core::ops::function::FnOnce::call_once::h8aeac72373ef6eb1 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/function.rs:253:5 [INFO] [stdout] 23: 0x5af36d0a649b - core::ops::function::FnOnce::call_once::h1f9474f1347fff52 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/function.rs:253:5 [INFO] [stdout] 24: 0x5af36d0a649b - test::__rust_begin_short_backtrace::ha52ab26e77157f03 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/test/src/lib.rs:648:18 [INFO] [stdout] 25: 0x5af36d0a55d5 - test::run_test_in_process::{{closure}}::h229c1a11a50b261f [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/test/src/lib.rs:671:74 [INFO] [stdout] 26: 0x5af36d0a55d5 - as core::ops::function::FnOnce<()>>::call_once::h78821afbf97b39a9 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/panic/unwind_safe.rs:272:9 [INFO] [stdout] 27: 0x5af36d0a55d5 - std::panicking::catch_unwind::do_call::h53abf3ed5bd32ba3 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:589:40 [INFO] [stdout] 28: 0x5af36d0a55d5 - std::panicking::catch_unwind::h6deb5fe1e91873c9 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:552:19 [INFO] [stdout] 29: 0x5af36d0a55d5 - std::panic::catch_unwind::hea0829b6b565654b [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panic.rs:359:14 [INFO] [stdout] 30: 0x5af36d0a55d5 - test::run_test_in_process::hdc44dfecea3db21b [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/test/src/lib.rs:671:27 [INFO] [stdout] 31: 0x5af36d0a55d5 - test::run_test::{{closure}}::h0364ba59bf23f652 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/test/src/lib.rs:592:43 [INFO] [stdout] 32: 0x5af36d0691d4 - test::run_test::{{closure}}::h32730b304eec05da [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/test/src/lib.rs:622:41 [INFO] [stdout] 33: 0x5af36d0691d4 - std::sys::backtrace::__rust_begin_short_backtrace::h177cb952fc54ad2c [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/sys/backtrace.rs:158:18 [INFO] [stdout] 34: 0x5af36d06cbaa - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h119d903520007597 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/thread/mod.rs:559:17 [INFO] [stdout] 35: 0x5af36d06cbaa - as core::ops::function::FnOnce<()>>::call_once::hab88401d606702a6 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/panic/unwind_safe.rs:272:9 [INFO] [stdout] 36: 0x5af36d06cbaa - std::panicking::catch_unwind::do_call::h163fe12cca9901c2 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:589:40 [INFO] [stdout] 37: 0x5af36d06cbaa - std::panicking::catch_unwind::he81557d0e17cc1bc [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:552:19 [INFO] [stdout] 38: 0x5af36d06cbaa - std::panic::catch_unwind::hc2b8e79c20593955 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panic.rs:359:14 [INFO] [stdout] 39: 0x5af36d06cbaa - std::thread::Builder::spawn_unchecked_::{{closure}}::hfa6b4978e07815cc [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/thread/mod.rs:557:30 [INFO] [stdout] 40: 0x5af36d06cbaa - core::ops::function::FnOnce::call_once{{vtable.shim}}::hddcd7484a13fd793 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/function.rs:253:5 [INFO] [stdout] 41: 0x5af36d227d9f - as core::ops::function::FnOnce>::call_once::h5924238c754de3b8 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/alloc/src/boxed.rs:1971:9 [INFO] [stdout] 42: 0x5af36d227d9f - std::sys::pal::unix::thread::Thread::new::thread_start::hb6e99e73da4d28f8 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/sys/pal/unix/thread.rs:107:17 [INFO] [stdout] 43: 0x721c0a3d5aa4 - [INFO] [stdout] 44: 0x721c0a462a34 - clone [INFO] [stdout] 45: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- platform_utils::tests::test_is_path_writable stdout ---- [INFO] [stdout] [INFO] [stdout] thread 'platform_utils::tests::test_is_path_writable' panicked at src/platform_utils.rs:169:9: [INFO] [stdout] assertion failed: is_path_writable(&path) [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x5af36d222c82 - std::backtrace_rs::backtrace::libunwind::trace::h2d45396358f41939 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x5af36d222c82 - std::backtrace_rs::backtrace::trace_unsynchronized::hffcefc0b67f1d6e2 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x5af36d222c82 - std::sys::backtrace::_print_fmt::hd72f71d23b436b92 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/sys/backtrace.rs:66:9 [INFO] [stdout] 3: 0x5af36d222c82 - ::fmt::hdcfcb6d4c8489523 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/sys/backtrace.rs:39:26 [INFO] [stdout] 4: 0x5af36d2496c3 - core::fmt::rt::Argument::fmt::h2c56b3114963061a [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/fmt/rt.rs:173:76 [INFO] [stdout] 5: 0x5af36d2496c3 - core::fmt::write::h8a494366950f23bb [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/fmt/mod.rs:1468:25 [INFO] [stdout] 6: 0x5af36d21f5b3 - std::io::default_write_fmt::h7b8824096454f323 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x5af36d21f5b3 - std::io::Write::write_fmt::h4e71294925c334d0 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/io/mod.rs:1954:13 [INFO] [stdout] 8: 0x5af36d222ad2 - std::sys::backtrace::BacktraceLock::print::hb2a626a81e06b2dc [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/sys/backtrace.rs:42:9 [INFO] [stdout] 9: 0x5af36d224349 - std::panicking::default_hook::{{closure}}::h4f78485264f12d10 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:300:27 [INFO] [stdout] 10: 0x5af36d22417e - std::panicking::default_hook::h2c66fc99e962531d [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:324:9 [INFO] [stdout] 11: 0x5af36d0a0c34 - as core::ops::function::Fn>::call::hb6bd65493727d71a [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/alloc/src/boxed.rs:1985:9 [INFO] [stdout] 12: 0x5af36d0a0c34 - test::test_main_with_exit_callback::{{closure}}::h60217ec76a0ece4a [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x5af36d224d1e - as core::ops::function::Fn>::call::h318e4efb8c1a5689 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/alloc/src/boxed.rs:1985:9 [INFO] [stdout] 14: 0x5af36d224d1e - std::panicking::rust_panic_with_hook::h33ac55f64bbd807d [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:841:13 [INFO] [stdout] 15: 0x5af36d224ab6 - std::panicking::begin_panic_handler::{{closure}}::h30e7cb89678a57fe [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:699:13 [INFO] [stdout] 16: 0x5af36d223179 - std::sys::backtrace::__rust_end_short_backtrace::hed60f27456c16ced [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/sys/backtrace.rs:174:18 [INFO] [stdout] 17: 0x5af36d22477d - __rustc[de2ca18b4c54d5b8]::rust_begin_unwind [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:697:5 [INFO] [stdout] 18: 0x5af36d247b80 - core::panicking::panic_fmt::h62f63d096dd276af [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/panicking.rs:75:14 [INFO] [stdout] 19: 0x5af36d247c0c - core::panicking::panic::h89a5f2df32b0508a [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/panicking.rs:145:5 [INFO] [stdout] 20: 0x5af36d05a727 - melange_db::platform_utils::tests::test_is_path_writable::h47a68134327acd96 [INFO] [stdout] at /opt/rustwide/workdir/src/platform_utils.rs:169:9 [INFO] [stdout] 21: 0x5af36d05a677 - melange_db::platform_utils::tests::test_is_path_writable::{{closure}}::hbad137c9c2e74045 [INFO] [stdout] at /opt/rustwide/workdir/src/platform_utils.rs:167:31 [INFO] [stdout] 22: 0x5af36d04dec6 - core::ops::function::FnOnce::call_once::hb47c038b45e4f018 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/function.rs:253:5 [INFO] [stdout] 23: 0x5af36d0a649b - core::ops::function::FnOnce::call_once::h1f9474f1347fff52 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/function.rs:253:5 [INFO] [stdout] 24: 0x5af36d0a649b - test::__rust_begin_short_backtrace::ha52ab26e77157f03 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/test/src/lib.rs:648:18 [INFO] [stdout] 25: 0x5af36d0a55d5 - test::run_test_in_process::{{closure}}::h229c1a11a50b261f [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/test/src/lib.rs:671:74 [INFO] [stdout] 26: 0x5af36d0a55d5 - as core::ops::function::FnOnce<()>>::call_once::h78821afbf97b39a9 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/panic/unwind_safe.rs:272:9 [INFO] [stdout] 27: 0x5af36d0a55d5 - std::panicking::catch_unwind::do_call::h53abf3ed5bd32ba3 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:589:40 [INFO] [stdout] 28: 0x5af36d0a55d5 - std::panicking::catch_unwind::h6deb5fe1e91873c9 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:552:19 [INFO] [stdout] 29: 0x5af36d0a55d5 - std::panic::catch_unwind::hea0829b6b565654b [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panic.rs:359:14 [INFO] [stdout] 30: 0x5af36d0a55d5 - test::run_test_in_process::hdc44dfecea3db21b [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/test/src/lib.rs:671:27 [INFO] [stdout] 31: 0x5af36d0a55d5 - test::run_test::{{closure}}::h0364ba59bf23f652 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/test/src/lib.rs:592:43 [INFO] [stdout] 32: 0x5af36d0691d4 - test::run_test::{{closure}}::h32730b304eec05da [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/test/src/lib.rs:622:41 [INFO] [stdout] 33: 0x5af36d0691d4 - std::sys::backtrace::__rust_begin_short_backtrace::h177cb952fc54ad2c [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/sys/backtrace.rs:158:18 [INFO] [stdout] 34: 0x5af36d06cbaa - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h119d903520007597 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/thread/mod.rs:559:17 [INFO] [stdout] 35: 0x5af36d06cbaa - as core::ops::function::FnOnce<()>>::call_once::hab88401d606702a6 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/panic/unwind_safe.rs:272:9 [INFO] [stdout] 36: 0x5af36d06cbaa - std::panicking::catch_unwind::do_call::h163fe12cca9901c2 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:589:40 [INFO] [stdout] 37: 0x5af36d06cbaa - std::panicking::catch_unwind::he81557d0e17cc1bc [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:552:19 [INFO] [stdout] 38: 0x5af36d06cbaa - std::panic::catch_unwind::hc2b8e79c20593955 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panic.rs:359:14 [INFO] [stdout] 39: 0x5af36d06cbaa - std::thread::Builder::spawn_unchecked_::{{closure}}::hfa6b4978e07815cc [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/thread/mod.rs:557:30 [INFO] [stdout] 40: 0x5af36d06cbaa - core::ops::function::FnOnce::call_once{{vtable.shim}}::hddcd7484a13fd793 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/function.rs:253:5 [INFO] [stdout] 41: 0x5af36d227d9f - as core::ops::function::FnOnce>::call_once::h5924238c754de3b8 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/alloc/src/boxed.rs:1971:9 [INFO] [stdout] 42: 0x5af36d227d9f - std::sys::pal::unix::thread::Thread::new::thread_start::hb6e99e73da4d28f8 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/sys/pal/unix/thread.rs:107:17 [INFO] [stdout] 43: 0x721c0a3d5aa4 - [INFO] [stdout] 44: 0x721c0a462a34 - clone [INFO] [stdout] 45: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- platform_utils::tests::test_setup_example_db stdout ---- [INFO] [stdout] 错误: 无法创建目录 "test_setup_1759316572432402_0_db": Read-only file system (os error 30) [INFO] [stdout] [INFO] [stdout] thread 'platform_utils::tests::test_setup_example_db' panicked at src/platform_utils.rs:140:9: [INFO] [stdout] 无法准备示例数据库目录: "test_setup_1759316572432402_0_db" [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x5af36d222c82 - std::backtrace_rs::backtrace::libunwind::trace::h2d45396358f41939 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x5af36d222c82 - std::backtrace_rs::backtrace::trace_unsynchronized::hffcefc0b67f1d6e2 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x5af36d222c82 - std::sys::backtrace::_print_fmt::hd72f71d23b436b92 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/sys/backtrace.rs:66:9 [INFO] [stdout] 3: 0x5af36d222c82 - ::fmt::hdcfcb6d4c8489523 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/sys/backtrace.rs:39:26 [INFO] [stdout] 4: 0x5af36d2496c3 - core::fmt::rt::Argument::fmt::h2c56b3114963061a [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/fmt/rt.rs:173:76 [INFO] [stdout] 5: 0x5af36d2496c3 - core::fmt::write::h8a494366950f23bb [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/fmt/mod.rs:1468:25 [INFO] [stdout] 6: 0x5af36d21f5b3 - std::io::default_write_fmt::h7b8824096454f323 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x5af36d21f5b3 - std::io::Write::write_fmt::h4e71294925c334d0 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/io/mod.rs:1954:13 [INFO] [stdout] 8: 0x5af36d222ad2 - std::sys::backtrace::BacktraceLock::print::hb2a626a81e06b2dc [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/sys/backtrace.rs:42:9 [INFO] [stdout] 9: 0x5af36d224349 - std::panicking::default_hook::{{closure}}::h4f78485264f12d10 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:300:27 [INFO] [stdout] 10: 0x5af36d22417e - std::panicking::default_hook::h2c66fc99e962531d [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:324:9 [INFO] [stdout] 11: 0x5af36d0a0c34 - as core::ops::function::Fn>::call::hb6bd65493727d71a [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/alloc/src/boxed.rs:1985:9 [INFO] [stdout] 12: 0x5af36d0a0c34 - test::test_main_with_exit_callback::{{closure}}::h60217ec76a0ece4a [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x5af36d224d1e - as core::ops::function::Fn>::call::h318e4efb8c1a5689 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/alloc/src/boxed.rs:1985:9 [INFO] [stdout] 14: 0x5af36d224d1e - std::panicking::rust_panic_with_hook::h33ac55f64bbd807d [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:841:13 [INFO] [stdout] 15: 0x5af36d224aea - std::panicking::begin_panic_handler::{{closure}}::h30e7cb89678a57fe [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:706:13 [INFO] [stdout] 16: 0x5af36d223179 - std::sys::backtrace::__rust_end_short_backtrace::hed60f27456c16ced [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/sys/backtrace.rs:174:18 [INFO] [stdout] 17: 0x5af36d22477d - __rustc[de2ca18b4c54d5b8]::rust_begin_unwind [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:697:5 [INFO] [stdout] 18: 0x5af36d247b80 - core::panicking::panic_fmt::h62f63d096dd276af [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/panicking.rs:75:14 [INFO] [stdout] 19: 0x5af36d0413a9 - melange_db::platform_utils::setup_example_db::h7ec654853f92a2f3 [INFO] [stdout] at /opt/rustwide/workdir/src/platform_utils.rs:140:9 [INFO] [stdout] 20: 0x5af36d05a7c8 - melange_db::platform_utils::tests::test_setup_example_db::h712828d8484f0377 [INFO] [stdout] at /opt/rustwide/workdir/src/platform_utils.rs:175:20 [INFO] [stdout] 21: 0x5af36d05a787 - melange_db::platform_utils::tests::test_setup_example_db::{{closure}}::h7d2d490bbfa934a2 [INFO] [stdout] at /opt/rustwide/workdir/src/platform_utils.rs:174:31 [INFO] [stdout] 22: 0x5af36d04df06 - core::ops::function::FnOnce::call_once::hc606506cbbd18115 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/function.rs:253:5 [INFO] [stdout] 23: 0x5af36d0a649b - core::ops::function::FnOnce::call_once::h1f9474f1347fff52 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/function.rs:253:5 [INFO] [stdout] 24: 0x5af36d0a649b - test::__rust_begin_short_backtrace::ha52ab26e77157f03 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/test/src/lib.rs:648:18 [INFO] [stdout] 25: 0x5af36d0a55d5 - test::run_test_in_process::{{closure}}::h229c1a11a50b261f [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/test/src/lib.rs:671:74 [INFO] [stdout] 26: 0x5af36d0a55d5 - as core::ops::function::FnOnce<()>>::call_once::h78821afbf97b39a9 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/panic/unwind_safe.rs:272:9 [INFO] [stdout] 27: 0x5af36d0a55d5 - std::panicking::catch_unwind::do_call::h53abf3ed5bd32ba3 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:589:40 [INFO] [stdout] 28: 0x5af36d0a55d5 - std::panicking::catch_unwind::h6deb5fe1e91873c9 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:552:19 [INFO] [stdout] 29: 0x5af36d0a55d5 - std::panic::catch_unwind::hea0829b6b565654b [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panic.rs:359:14 [INFO] [stdout] 30: 0x5af36d0a55d5 - test::run_test_in_process::hdc44dfecea3db21b [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/test/src/lib.rs:671:27 [INFO] [stdout] 31: 0x5af36d0a55d5 - test::run_test::{{closure}}::h0364ba59bf23f652 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/test/src/lib.rs:592:43 [INFO] [stdout] 32: 0x5af36d0691d4 - test::run_test::{{closure}}::h32730b304eec05da [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/test/src/lib.rs:622:41 [INFO] [stdout] 33: 0x5af36d0691d4 - std::sys::backtrace::__rust_begin_short_backtrace::h177cb952fc54ad2c [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/sys/backtrace.rs:158:18 [INFO] [stdout] 34: 0x5af36d06cbaa - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h119d903520007597 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/thread/mod.rs:559:17 [INFO] [stdout] 35: 0x5af36d06cbaa - as core::ops::function::FnOnce<()>>::call_once::hab88401d606702a6 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/panic/unwind_safe.rs:272:9 [INFO] [stdout] 36: 0x5af36d06cbaa - std::panicking::catch_unwind::do_call::h163fe12cca9901c2 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:589:40 [INFO] [stdout] 37: 0x5af36d06cbaa - std::panicking::catch_unwind::he81557d0e17cc1bc [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:552:19 [INFO] [stdout] 38: 0x5af36d06cbaa - std::panic::catch_unwind::hc2b8e79c20593955 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panic.rs:359:14 [INFO] [stdout] 39: 0x5af36d06cbaa - std::thread::Builder::spawn_unchecked_::{{closure}}::hfa6b4978e07815cc [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/thread/mod.rs:557:30 [INFO] [stdout] 40: 0x5af36d06cbaa - core::ops::function::FnOnce::call_once{{vtable.shim}}::hddcd7484a13fd793 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/function.rs:253:5 [INFO] [stdout] 41: 0x5af36d227d9f - as core::ops::function::FnOnce>::call_once::h5924238c754de3b8 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/alloc/src/boxed.rs:1971:9 [INFO] [stdout] 42: 0x5af36d227d9f - std::sys::pal::unix::thread::Thread::new::thread_start::hb6e99e73da4d28f8 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/sys/pal/unix/thread.rs:107:17 [INFO] [stdout] 43: 0x721c0a3d5aa4 - [INFO] [stdout] 44: 0x721c0a462a34 - clone [INFO] [stdout] 45: 0x0 - [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] platform_utils::tests::test_cleanup_db_directory [INFO] [stdout] platform_utils::tests::test_is_path_writable [INFO] [stdout] platform_utils::tests::test_prepare_directory [INFO] [stdout] platform_utils::tests::test_setup_example_db [INFO] [stdout] [INFO] [stdout] test result: FAILED. 17 passed; 4 failed; 0 ignored; 0 measured; 0 filtered out; finished in 8.01s [INFO] [stdout] [INFO] [stderr] error: test failed, to rerun pass `--lib` [INFO] running `Command { std: "docker" "inspect" "38753d9c38b9a45b878ddcd82d9f33f51cbb38a7dfaa33d59584de3c37a96d1e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "38753d9c38b9a45b878ddcd82d9f33f51cbb38a7dfaa33d59584de3c37a96d1e", kill_on_drop: false }` [INFO] [stdout] 38753d9c38b9a45b878ddcd82d9f33f51cbb38a7dfaa33d59584de3c37a96d1e