[INFO] fetching crate melange_db 0.2.4... [INFO] testing melange_db-0.2.4 against try#c2e32f1c9652b13ed99608599c1e855462f421f3 for pr-146098-8 [INFO] extracting crate melange_db 0.2.4 into /workspace/builds/worker-0-tc2/source [INFO] started tweaking crates.io crate melange_db 0.2.4 [INFO] removed 0 missing examples [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate melange_db 0.2.4 [INFO] tweaked toml for crates.io crate melange_db 0.2.4 written to /workspace/builds/worker-0-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate melange_db 0.2.4 on toolchain c2e32f1c9652b13ed99608599c1e855462f421f3 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate melange_db 0.2.4 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" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] e3408c0767c0aaa71e609fc0df1dedd8f9ec7a6a8c883a739f2ba16b5438f1fb [INFO] running `Command { std: "docker" "start" "-a" "e3408c0767c0aaa71e609fc0df1dedd8f9ec7a6a8c883a739f2ba16b5438f1fb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "e3408c0767c0aaa71e609fc0df1dedd8f9ec7a6a8c883a739f2ba16b5438f1fb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e3408c0767c0aaa71e609fc0df1dedd8f9ec7a6a8c883a739f2ba16b5438f1fb", kill_on_drop: false }` [INFO] [stdout] e3408c0767c0aaa71e609fc0df1dedd8f9ec7a6a8c883a739f2ba16b5438f1fb [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 0dd5821930eb7ef1c7a451a2c6a782e827e2ea8a0f6b7442b88da21555e45374 [INFO] running `Command { std: "docker" "start" "-a" "0dd5821930eb7ef1c7a451a2c6a782e827e2ea8a0f6b7442b88da21555e45374", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.175 [INFO] [stderr] Compiling proc-macro2 v1.0.101 [INFO] [stderr] Compiling unicode-ident v1.0.19 [INFO] [stderr] Compiling cfg-if v1.0.3 [INFO] [stderr] Compiling find-msvc-tools v0.1.1 [INFO] [stderr] Compiling serde_core v1.0.224 [INFO] [stderr] Compiling parking_lot_core v0.9.11 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling serde v1.0.224 [INFO] [stderr] Compiling lock_api v0.4.13 [INFO] [stderr] Compiling memchr v2.7.5 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling virtue v0.0.18 [INFO] [stderr] Compiling rustix v1.1.2 [INFO] [stderr] Compiling zstd-safe v6.0.6 [INFO] [stderr] Compiling getrandom v0.3.3 [INFO] [stderr] Compiling linux-raw-sys v0.11.0 [INFO] [stderr] Compiling unty v0.0.4 [INFO] [stderr] Compiling crc32fast v1.5.0 [INFO] [stderr] Compiling bitflags v2.9.4 [INFO] [stderr] Compiling rayon v1.11.0 [INFO] [stderr] Compiling crossbeam v0.8.4 [INFO] [stderr] Compiling arc-swap v1.7.1 [INFO] [stderr] Compiling remove_dir_all v0.5.3 [INFO] [stderr] Compiling twox-hash v2.1.2 [INFO] [stderr] Compiling cache-advisor v1.0.16 [INFO] [stderr] Compiling pagetable v0.4.6 [INFO] [stderr] Compiling lz4_flex v0.11.5 [INFO] [stderr] Compiling fault-injection v1.0.10 [INFO] [stderr] Compiling bincode_derive v2.0.1 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Compiling syn v2.0.106 [INFO] [stderr] Compiling jobserver v0.1.34 [INFO] [stderr] Compiling getrandom v0.2.16 [INFO] [stderr] Compiling mio v1.0.4 [INFO] [stderr] Compiling num_cpus v1.17.0 [INFO] [stderr] Compiling socket2 v0.6.0 [INFO] [stderr] Compiling signal-hook-registry v1.4.6 [INFO] [stderr] Compiling rand v0.4.6 [INFO] [stderr] Compiling fs2 v0.4.3 [INFO] [stderr] Compiling parking_lot v0.12.4 [INFO] [stderr] Compiling dashmap v6.1.0 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling threadpool v1.8.1 [INFO] [stderr] Compiling dashmap v5.5.3 [INFO] [stderr] Compiling cc v1.2.37 [INFO] [stderr] Compiling shared-local-state v0.1.4 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling ebr v0.2.13 [INFO] [stderr] Compiling tempdir v0.3.7 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling tempfile v3.22.0 [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 serde_json v1.0.145 [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 async-trait v0.1.89 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling tokio v1.47.1 [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 chrono v0.4.42 [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.2.4 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `LinkedList` [INFO] [stdout] --> src/block_cache.rs:13:33 [INFO] [stdout] | [INFO] [stdout] 13 | use std::collections::{HashMap, LinkedList, VecDeque}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Duration` [INFO] [stdout] --> src/block_cache.rs:15:17 [INFO] [stdout] | [INFO] [stdout] 15 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Hash` [INFO] [stdout] --> src/block_cache.rs:16:17 [INFO] [stdout] | [INFO] [stdout] 16 | use std::hash::{Hash, Hasher}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::hash_map::DefaultHasher` [INFO] [stdout] --> src/block_cache.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | use std::collections::hash_map::DefaultHasher; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> src/bloom_filter.rs:16:13 [INFO] [stdout] | [INFO] [stdout] 16 | use serde::{Serialize, Deserialize}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `debug_log`, `error_log`, `info_log`, and `trace_log` [INFO] [stdout] --> src/bloom_filter.rs:18:13 [INFO] [stdout] | [INFO] [stdout] 18 | use crate::{debug_log, trace_log, warn_log, error_log, info_log}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `trace_log` and `warn_log` [INFO] [stdout] --> src/db.rs:10:24 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::{debug_log, trace_log, warn_log, error_log, info_log, smart_flush::{SmartFlushScheduler, SmartFlushConfig}}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `info_log` and `warn_log` [INFO] [stdout] --> src/flush_epoch.rs:6:35 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::{debug_log, trace_log, warn_log, error_log, info_log}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `error_log` and `info_log` [INFO] [stdout] --> src/heap.rs:6:45 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::{debug_log, trace_log, warn_log, error_log, info_log}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `debug_log`, `error_log`, `info_log`, and `warn_log` [INFO] [stdout] --> src/id_allocator.rs:6:13 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::{debug_log, trace_log, warn_log, error_log, info_log}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `error_log`, `info_log`, and `warn_log` [INFO] [stdout] --> src/leaf.rs:2:35 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::{debug_log, trace_log, warn_log, error_log, info_log}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `info_log` [INFO] [stdout] --> src/metadata_store.rs:6:56 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::{debug_log, trace_log, warn_log, error_log, info_log}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cell::RefCell` [INFO] [stdout] --> src/object_cache.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::cell::RefCell; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `info_log` and `warn_log` [INFO] [stdout] --> src/object_cache.rs:6:35 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::{debug_log, trace_log, warn_log, error_log, info_log, smart_flush::WriteLoadStats}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Read`, `Seek`, and `self` [INFO] [stdout] --> src/platform_utils.rs:8:15 [INFO] [stdout] | [INFO] [stdout] 8 | use std::io::{self, Read, Seek}; [INFO] [stdout] | ^^^^ ^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/atomic_worker.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Instant` [INFO] [stdout] --> src/atomic_worker.rs:10:27 [INFO] [stdout] | [INFO] [stdout] 10 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `parking_lot::Mutex` [INFO] [stdout] --> src/atomic_worker.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use parking_lot::Mutex; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `error_log` and `info_log` [INFO] [stdout] --> src/atomic_worker.rs:16:45 [INFO] [stdout] | [INFO] [stdout] 16 | use crate::{debug_log, trace_log, warn_log, error_log, info_log}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `error_log`, `info_log`, and `warn_log` [INFO] [stdout] --> src/atomic_operations_manager.rs:9:35 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::{debug_log, trace_log, warn_log, error_log, info_log, InlineArray}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `parking_lot::Mutex` [INFO] [stdout] --> src/database_worker.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use parking_lot::Mutex; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `error_log`, `info_log`, and `warn_log` [INFO] [stdout] --> src/database_worker.rs:13:35 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::{debug_log, trace_log, warn_log, error_log, info_log, InlineArray}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `debug_log` and `info_log` [INFO] [stdout] --> src/tree.rs:24:13 [INFO] [stdout] | [INFO] [stdout] 24 | use crate::{debug_log, trace_log, warn_log, error_log, info_log}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> src/lib.rs:130:9 [INFO] [stdout] | [INFO] [stdout] 130 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Hasher` [INFO] [stdout] --> src/block_cache.rs:16:23 [INFO] [stdout] | [INFO] [stdout] 16 | use std::hash::{Hash, Hasher}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bloom_filter.rs:171:13 [INFO] [stdout] | [INFO] [stdout] 171 | let mut new_filter = Self::new(new_element_count, self.target_fpp); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `interval_ms` is never read [INFO] [stdout] --> src/smart_flush.rs:159:31 [INFO] [stdout] | [INFO] [stdout] 159 | let mut interval_ms = self.config.base_interval_ms; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/config.rs:46:13 [INFO] [stdout] | [INFO] [stdout] 46 | let mut features = Vec::new(); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/db.rs:597:9 [INFO] [stdout] | [INFO] [stdout] 597 | let mut scheduler = SmartFlushScheduler::new(config); [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `stats` [INFO] [stdout] --> src/db.rs:598:9 [INFO] [stdout] | [INFO] [stdout] 598 | let stats = scheduler.get_stats(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_stats` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/flush_epoch.rs:281:37 [INFO] [stdout] | [INFO] [stdout] 281 | if let Some(mut callback) = callback { [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/flush_epoch.rs:302:37 [INFO] [stdout] | [INFO] [stdout] 302 | if let Some(mut callback) = callback { [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `results` [INFO] [stdout] --> src/flush_epoch.rs:354:25 [INFO] [stdout] | [INFO] [stdout] 354 | let results = perform_batch_flush(batch_tasks); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_results` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> src/flush_epoch.rs:373:37 [INFO] [stdout] | [INFO] [stdout] 373 | fn perform_flush(epoch: FlushEpoch, data: Vec) -> std::io::Result<()> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/platform_utils.rs:93:39 [INFO] [stdout] | [INFO] [stdout] 93 | pub fn read_exact_at(file: &fs::File, mut buf: &mut [u8], offset: u64) -> std::io::Result<()> { [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `remainder` [INFO] [stdout] --> src/simd_optimized.rs:50:13 [INFO] [stdout] | [INFO] [stdout] 50 | let remainder = min_len % 8; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remainder` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `simd_optimized::SimdComparator::compare_simd_avx2` is unsafe and requires unsafe block [INFO] [stdout] --> src/simd_optimized.rs:97:17 [INFO] [stdout] | [INFO] [stdout] 97 | Self::compare_simd_avx2(a, b, len) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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)]` (part of `#[warn(rust_2024_compatibility)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `simd_optimized::SimdComparator::compare_simd_sse2` is unsafe and requires unsafe block [INFO] [stdout] --> src/simd_optimized.rs:99:17 [INFO] [stdout] | [INFO] [stdout] 99 | Self::compare_simd_sse2(a, b, len) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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: type `AtomicWorker` is more private than the item `AtomicOperationsManager::atomic_worker` [INFO] [stdout] --> src/atomic_operations_manager.rs:198:5 [INFO] [stdout] | [INFO] [stdout] 198 | pub fn atomic_worker(&self) -> &AtomicWorker { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `AtomicOperationsManager::atomic_worker` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `AtomicWorker` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/atomic_worker.rs:76:1 [INFO] [stdout] | [INFO] [stdout] 76 | pub(crate) struct AtomicWorker { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `DatabaseWorker` is more private than the item `AtomicOperationsManager::database_worker` [INFO] [stdout] --> src/atomic_operations_manager.rs:203:5 [INFO] [stdout] | [INFO] [stdout] 203 | pub fn database_worker(&self) -> &DatabaseWorker { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `AtomicOperationsManager::database_worker` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `DatabaseWorker` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/database_worker.rs:80:1 [INFO] [stdout] | [INFO] [stdout] 80 | pub(crate) struct DatabaseWorker { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `move_to_head` is never used [INFO] [stdout] --> src/block_cache.rs:219:8 [INFO] [stdout] | [INFO] [stdout] 114 | impl LruCache { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 219 | fn move_to_head(&mut self, node: &mut Box) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `config` is never read [INFO] [stdout] --> src/block_cache.rs:532:5 [INFO] [stdout] | [INFO] [stdout] 530 | pub struct CacheManager { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 531 | block_cache: Arc, [INFO] [stdout] 532 | config: CacheConfig, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CacheManager` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OptimizedFlushScheduler` is never constructed [INFO] [stdout] --> src/flush_epoch.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct OptimizedFlushScheduler { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `FlushTask` is never used [INFO] [stdout] --> src/flush_epoch.rs:32:10 [INFO] [stdout] | [INFO] [stdout] 32 | pub enum FlushTask { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BatchFlushTask` is never constructed [INFO] [stdout] --> src/flush_epoch.rs:58:12 [INFO] [stdout] | [INFO] [stdout] 58 | pub struct BatchFlushTask { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `FlushPriority` is never used [INFO] [stdout] --> src/flush_epoch.rs:66:10 [INFO] [stdout] | [INFO] [stdout] 66 | pub enum FlushPriority { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FlushConfig` is never constructed [INFO] [stdout] --> src/flush_epoch.rs:79:12 [INFO] [stdout] | [INFO] [stdout] 79 | pub struct FlushConfig { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FlushStats` is never constructed [INFO] [stdout] --> src/flush_epoch.rs:106:12 [INFO] [stdout] | [INFO] [stdout] 106 | pub struct FlushStats { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/flush_epoch.rs:118:12 [INFO] [stdout] | [INFO] [stdout] 116 | impl OptimizedFlushScheduler { [INFO] [stdout] | ---------------------------- associated items in this implementation [INFO] [stdout] 117 | /// 创建新的优化的flush调度器 [INFO] [stdout] 118 | pub fn new(config: FlushConfig) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | fn start_workers(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 154 | pub fn submit_immediate_flush( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 175 | pub fn submit_delayed_flush( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 198 | pub fn submit_batch_flush( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 217 | pub fn get_stats(&self) -> FlushStats { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 230 | pub fn shutdown(self) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `worker_loop` is never used [INFO] [stdout] --> src/flush_epoch.rs:252:4 [INFO] [stdout] | [INFO] [stdout] 252 | fn worker_loop( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `perform_flush` is never used [INFO] [stdout] --> src/flush_epoch.rs:373:4 [INFO] [stdout] | [INFO] [stdout] 373 | fn perform_flush(epoch: FlushEpoch, data: Vec) -> std::io::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `perform_batch_flush` is never used [INFO] [stdout] --> src/flush_epoch.rs:387:4 [INFO] [stdout] | [INFO] [stdout] 387 | fn perform_batch_flush(tasks: Vec) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `clear` is never used [INFO] [stdout] --> src/leaf.rs:67:12 [INFO] [stdout] | [INFO] [stdout] 20 | impl IncrementalChanges { [INFO] [stdout] | ----------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 67 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `disable_incremental_serialization`, `apply_incremental_changes`, and `reset_incremental_changes` are never used [INFO] [stdout] --> src/leaf.rs:130:19 [INFO] [stdout] | [INFO] [stdout] 102 | impl Leaf { [INFO] [stdout] | ------------------------------------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 130 | pub(crate) fn disable_incremental_serialization(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 368 | pub(crate) fn apply_incremental_changes(&mut self, changes: &IncrementalChanges) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 386 | pub(crate) fn reset_incremental_changes(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `db_queue` is never read [INFO] [stdout] --> src/atomic_worker.rs:90:5 [INFO] [stdout] | [INFO] [stdout] 76 | pub(crate) struct AtomicWorker { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 90 | db_queue: Option>>, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_counter_names` is never used [INFO] [stdout] --> src/atomic_worker.rs:644:19 [INFO] [stdout] | [INFO] [stdout] 93 | impl AtomicWorker { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 644 | pub(crate) fn get_counter_names(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `persist_counter` is never used [INFO] [stdout] --> src/database_worker.rs:284:19 [INFO] [stdout] | [INFO] [stdout] 91 | impl DatabaseWorker { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 284 | pub(crate) fn persist_counter(&self, counter_name: String, value: u64) -> io::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [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 41.43s [INFO] running `Command { std: "docker" "inspect" "0dd5821930eb7ef1c7a451a2c6a782e827e2ea8a0f6b7442b88da21555e45374", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0dd5821930eb7ef1c7a451a2c6a782e827e2ea8a0f6b7442b88da21555e45374", kill_on_drop: false }` [INFO] [stdout] 0dd5821930eb7ef1c7a451a2c6a782e827e2ea8a0f6b7442b88da21555e45374 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d670ee5461da404f1cc44ae88cf2a81fabdf059c0542f1e4367b07f4b0d44b3f [INFO] running `Command { std: "docker" "start" "-a" "d670ee5461da404f1cc44ae88cf2a81fabdf059c0542f1e4367b07f4b0d44b3f", kill_on_drop: false }` [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling aho-corasick v1.1.3 [INFO] [stderr] Compiling regex-syntax v0.8.6 [INFO] [stderr] Compiling getrandom v0.3.3 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling half v2.6.0 [INFO] [stderr] Compiling plotters-backend v0.3.7 [INFO] [stderr] Compiling clap_lex v0.7.5 [INFO] [stderr] Compiling log v0.4.28 [INFO] [stderr] Compiling anstyle v1.0.11 [INFO] [stderr] Compiling itertools v0.10.5 [INFO] [stderr] Compiling is-terminal v0.4.16 [INFO] [stderr] Compiling cast v0.3.0 [INFO] [stderr] Compiling same-file v1.0.6 [INFO] [stderr] Compiling tinytemplate v1.2.1 [INFO] [stderr] Compiling arrayvec v0.7.6 [INFO] [stderr] Compiling oorandom v11.1.5 [INFO] [stderr] Compiling rand_core v0.9.3 [INFO] [stderr] Compiling plotters-svg v0.3.7 [INFO] [stderr] Compiling walkdir v2.5.0 [INFO] [stderr] Compiling tempfile v3.22.0 [INFO] [stderr] Compiling anes v0.1.6 [INFO] [stderr] Compiling termcolor v1.4.1 [INFO] [stderr] Compiling ciborium-ll v0.2.2 [INFO] [stderr] Compiling clap_builder v4.5.47 [INFO] [stderr] Compiling humantime v2.3.0 [INFO] [stderr] Compiling num-format v0.4.4 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling ciborium v0.2.2 [INFO] [stderr] Compiling rand v0.9.2 [INFO] [stderr] Compiling regex-automata v0.4.10 [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 criterion-plot v0.5.0 [INFO] [stderr] Compiling clap v4.5.47 [INFO] [stderr] Compiling rat_logger v0.2.8 [INFO] [stderr] Compiling regex v1.11.2 [INFO] [stderr] Compiling melange_db v0.2.4 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `LinkedList` [INFO] [stdout] --> src/block_cache.rs:13:33 [INFO] [stdout] | [INFO] [stdout] 13 | use std::collections::{HashMap, LinkedList, VecDeque}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Duration` [INFO] [stdout] --> src/block_cache.rs:15:17 [INFO] [stdout] | [INFO] [stdout] 15 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Hash` [INFO] [stdout] --> src/block_cache.rs:16:17 [INFO] [stdout] | [INFO] [stdout] 16 | use std::hash::{Hash, Hasher}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::hash_map::DefaultHasher` [INFO] [stdout] --> src/block_cache.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | use std::collections::hash_map::DefaultHasher; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> src/bloom_filter.rs:16:13 [INFO] [stdout] | [INFO] [stdout] 16 | use serde::{Serialize, Deserialize}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `debug_log`, `error_log`, `info_log`, and `trace_log` [INFO] [stdout] --> src/bloom_filter.rs:18:13 [INFO] [stdout] | [INFO] [stdout] 18 | use crate::{debug_log, trace_log, warn_log, error_log, info_log}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `trace_log` and `warn_log` [INFO] [stdout] --> src/db.rs:10:24 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::{debug_log, trace_log, warn_log, error_log, info_log, smart_flush::{SmartFlushScheduler, SmartFlushConfig}}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `info_log` and `warn_log` [INFO] [stdout] --> src/flush_epoch.rs:6:35 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::{debug_log, trace_log, warn_log, error_log, info_log}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `error_log` and `info_log` [INFO] [stdout] --> src/heap.rs:6:45 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::{debug_log, trace_log, warn_log, error_log, info_log}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `debug_log`, `error_log`, `info_log`, and `warn_log` [INFO] [stdout] --> src/id_allocator.rs:6:13 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::{debug_log, trace_log, warn_log, error_log, info_log}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `error_log`, `info_log`, and `warn_log` [INFO] [stdout] --> src/leaf.rs:2:35 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::{debug_log, trace_log, warn_log, error_log, info_log}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `info_log` [INFO] [stdout] --> src/metadata_store.rs:6:56 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::{debug_log, trace_log, warn_log, error_log, info_log}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cell::RefCell` [INFO] [stdout] --> src/object_cache.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::cell::RefCell; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `info_log` and `warn_log` [INFO] [stdout] --> src/object_cache.rs:6:35 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::{debug_log, trace_log, warn_log, error_log, info_log, smart_flush::WriteLoadStats}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Read`, `Seek`, and `self` [INFO] [stdout] --> src/platform_utils.rs:8:15 [INFO] [stdout] | [INFO] [stdout] 8 | use std::io::{self, Read, Seek}; [INFO] [stdout] | ^^^^ ^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/atomic_worker.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Instant` [INFO] [stdout] --> src/atomic_worker.rs:10:27 [INFO] [stdout] | [INFO] [stdout] 10 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `parking_lot::Mutex` [INFO] [stdout] --> src/atomic_worker.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use parking_lot::Mutex; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `error_log` and `info_log` [INFO] [stdout] --> src/atomic_worker.rs:16:45 [INFO] [stdout] | [INFO] [stdout] 16 | use crate::{debug_log, trace_log, warn_log, error_log, info_log}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `error_log`, `info_log`, and `warn_log` [INFO] [stdout] --> src/atomic_operations_manager.rs:9:35 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::{debug_log, trace_log, warn_log, error_log, info_log, InlineArray}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `parking_lot::Mutex` [INFO] [stdout] --> src/database_worker.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use parking_lot::Mutex; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `error_log`, `info_log`, and `warn_log` [INFO] [stdout] --> src/database_worker.rs:13:35 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::{debug_log, trace_log, warn_log, error_log, info_log, InlineArray}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `debug_log` and `info_log` [INFO] [stdout] --> src/tree.rs:24:13 [INFO] [stdout] | [INFO] [stdout] 24 | use crate::{debug_log, trace_log, warn_log, error_log, info_log}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> src/lib.rs:130:9 [INFO] [stdout] | [INFO] [stdout] 130 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling env_logger v0.8.4 [INFO] [stderr] Compiling criterion v0.5.1 [INFO] [stderr] Compiling env_logger v0.10.2 [INFO] [stderr] Compiling quickcheck v1.0.3 [INFO] [stdout] warning: unused import: `Hasher` [INFO] [stdout] --> src/block_cache.rs:16:23 [INFO] [stdout] | [INFO] [stdout] 16 | use std::hash::{Hash, Hasher}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bloom_filter.rs:171:13 [INFO] [stdout] | [INFO] [stdout] 171 | let mut new_filter = Self::new(new_element_count, self.target_fpp); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `interval_ms` is never read [INFO] [stdout] --> src/smart_flush.rs:159:31 [INFO] [stdout] | [INFO] [stdout] 159 | let mut interval_ms = self.config.base_interval_ms; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/config.rs:46:13 [INFO] [stdout] | [INFO] [stdout] 46 | let mut features = Vec::new(); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/db.rs:597:9 [INFO] [stdout] | [INFO] [stdout] 597 | let mut scheduler = SmartFlushScheduler::new(config); [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `stats` [INFO] [stdout] --> src/db.rs:598:9 [INFO] [stdout] | [INFO] [stdout] 598 | let stats = scheduler.get_stats(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_stats` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/flush_epoch.rs:281:37 [INFO] [stdout] | [INFO] [stdout] 281 | if let Some(mut callback) = callback { [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/flush_epoch.rs:302:37 [INFO] [stdout] | [INFO] [stdout] 302 | if let Some(mut callback) = callback { [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `results` [INFO] [stdout] --> src/flush_epoch.rs:354:25 [INFO] [stdout] | [INFO] [stdout] 354 | let results = perform_batch_flush(batch_tasks); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_results` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> src/flush_epoch.rs:373:37 [INFO] [stdout] | [INFO] [stdout] 373 | fn perform_flush(epoch: FlushEpoch, data: Vec) -> std::io::Result<()> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/platform_utils.rs:93:39 [INFO] [stdout] | [INFO] [stdout] 93 | pub fn read_exact_at(file: &fs::File, mut buf: &mut [u8], offset: u64) -> std::io::Result<()> { [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `remainder` [INFO] [stdout] --> src/simd_optimized.rs:50:13 [INFO] [stdout] | [INFO] [stdout] 50 | let remainder = min_len % 8; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remainder` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `simd_optimized::SimdComparator::compare_simd_avx2` is unsafe and requires unsafe block [INFO] [stdout] --> src/simd_optimized.rs:97:17 [INFO] [stdout] | [INFO] [stdout] 97 | Self::compare_simd_avx2(a, b, len) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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)]` (part of `#[warn(rust_2024_compatibility)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `simd_optimized::SimdComparator::compare_simd_sse2` is unsafe and requires unsafe block [INFO] [stdout] --> src/simd_optimized.rs:99:17 [INFO] [stdout] | [INFO] [stdout] 99 | Self::compare_simd_sse2(a, b, len) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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: type `AtomicWorker` is more private than the item `AtomicOperationsManager::atomic_worker` [INFO] [stdout] --> src/atomic_operations_manager.rs:198:5 [INFO] [stdout] | [INFO] [stdout] 198 | pub fn atomic_worker(&self) -> &AtomicWorker { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `AtomicOperationsManager::atomic_worker` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `AtomicWorker` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/atomic_worker.rs:76:1 [INFO] [stdout] | [INFO] [stdout] 76 | pub(crate) struct AtomicWorker { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `DatabaseWorker` is more private than the item `AtomicOperationsManager::database_worker` [INFO] [stdout] --> src/atomic_operations_manager.rs:203:5 [INFO] [stdout] | [INFO] [stdout] 203 | pub fn database_worker(&self) -> &DatabaseWorker { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `AtomicOperationsManager::database_worker` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `DatabaseWorker` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/database_worker.rs:80:1 [INFO] [stdout] | [INFO] [stdout] 80 | pub(crate) struct DatabaseWorker { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `move_to_head` is never used [INFO] [stdout] --> src/block_cache.rs:219:8 [INFO] [stdout] | [INFO] [stdout] 114 | impl LruCache { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 219 | fn move_to_head(&mut self, node: &mut Box) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `config` is never read [INFO] [stdout] --> src/block_cache.rs:532:5 [INFO] [stdout] | [INFO] [stdout] 530 | pub struct CacheManager { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 531 | block_cache: Arc, [INFO] [stdout] 532 | config: CacheConfig, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CacheManager` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OptimizedFlushScheduler` is never constructed [INFO] [stdout] --> src/flush_epoch.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct OptimizedFlushScheduler { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `FlushTask` is never used [INFO] [stdout] --> src/flush_epoch.rs:32:10 [INFO] [stdout] | [INFO] [stdout] 32 | pub enum FlushTask { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BatchFlushTask` is never constructed [INFO] [stdout] --> src/flush_epoch.rs:58:12 [INFO] [stdout] | [INFO] [stdout] 58 | pub struct BatchFlushTask { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `FlushPriority` is never used [INFO] [stdout] --> src/flush_epoch.rs:66:10 [INFO] [stdout] | [INFO] [stdout] 66 | pub enum FlushPriority { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FlushConfig` is never constructed [INFO] [stdout] --> src/flush_epoch.rs:79:12 [INFO] [stdout] | [INFO] [stdout] 79 | pub struct FlushConfig { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FlushStats` is never constructed [INFO] [stdout] --> src/flush_epoch.rs:106:12 [INFO] [stdout] | [INFO] [stdout] 106 | pub struct FlushStats { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/flush_epoch.rs:118:12 [INFO] [stdout] | [INFO] [stdout] 116 | impl OptimizedFlushScheduler { [INFO] [stdout] | ---------------------------- associated items in this implementation [INFO] [stdout] 117 | /// 创建新的优化的flush调度器 [INFO] [stdout] 118 | pub fn new(config: FlushConfig) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | fn start_workers(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 154 | pub fn submit_immediate_flush( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 175 | pub fn submit_delayed_flush( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 198 | pub fn submit_batch_flush( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 217 | pub fn get_stats(&self) -> FlushStats { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 230 | pub fn shutdown(self) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `worker_loop` is never used [INFO] [stdout] --> src/flush_epoch.rs:252:4 [INFO] [stdout] | [INFO] [stdout] 252 | fn worker_loop( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `perform_flush` is never used [INFO] [stdout] --> src/flush_epoch.rs:373:4 [INFO] [stdout] | [INFO] [stdout] 373 | fn perform_flush(epoch: FlushEpoch, data: Vec) -> std::io::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `perform_batch_flush` is never used [INFO] [stdout] --> src/flush_epoch.rs:387:4 [INFO] [stdout] | [INFO] [stdout] 387 | fn perform_batch_flush(tasks: Vec) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `clear` is never used [INFO] [stdout] --> src/leaf.rs:67:12 [INFO] [stdout] | [INFO] [stdout] 20 | impl IncrementalChanges { [INFO] [stdout] | ----------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 67 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `disable_incremental_serialization`, `apply_incremental_changes`, and `reset_incremental_changes` are never used [INFO] [stdout] --> src/leaf.rs:130:19 [INFO] [stdout] | [INFO] [stdout] 102 | impl Leaf { [INFO] [stdout] | ------------------------------------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 130 | pub(crate) fn disable_incremental_serialization(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 368 | pub(crate) fn apply_incremental_changes(&mut self, changes: &IncrementalChanges) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 386 | pub(crate) fn reset_incremental_changes(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `db_queue` is never read [INFO] [stdout] --> src/atomic_worker.rs:90:5 [INFO] [stdout] | [INFO] [stdout] 76 | pub(crate) struct AtomicWorker { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 90 | db_queue: Option>>, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_counter_names` is never used [INFO] [stdout] --> src/atomic_worker.rs:644:19 [INFO] [stdout] | [INFO] [stdout] 93 | impl AtomicWorker { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 644 | pub(crate) fn get_counter_names(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `persist_counter` is never used [INFO] [stdout] --> src/database_worker.rs:284:19 [INFO] [stdout] | [INFO] [stdout] 91 | impl DatabaseWorker { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 284 | pub(crate) fn persist_counter(&self, counter_name: String, value: u64) -> io::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [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_lz4.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use melange_db::*; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Instant` [INFO] [stdout] --> examples/macbook_air_m1_compression_lz4.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::time::Instant; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> examples/macbook_air_m1_compression_lz4.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 18 | return Ok(()); [INFO] [stdout] | ------------- any code following this expression is unreachable [INFO] [stdout] ... [INFO] [stdout] 23 | / { [INFO] [stdout] 24 | | eprintln!("❌ 错误: 此示例需要启用 compression-lz4 特性"); [INFO] [stdout] 25 | | eprintln!("❌ 请使用以下命令运行:"); [INFO] [stdout] 26 | | eprintln!("❌ cargo run --example macbook_air_m1_compression_lz4 --features compression-lz4 --release"); [INFO] [stdout] 27 | | return Err("未启用 compression-lz4 特性".into()); [INFO] [stdout] 28 | | } [INFO] [stdout] | |_____^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `melange_db::*` [INFO] [stdout] --> tests/mmap_performance_test.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use melange_db::*; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::os::unix::fs::FileExt` [INFO] [stdout] --> tests/mmap_performance_test.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use std::os::unix::fs::FileExt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng` [INFO] [stdout] --> tests/mmap_performance_test.rs:29:25 [INFO] [stdout] | [INFO] [stdout] 29 | let mut rng = rand::thread_rng(); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng` [INFO] [stdout] --> tests/mmap_performance_test.rs:285:29 [INFO] [stdout] | [INFO] [stdout] 285 | let mut rng = rand::thread_rng(); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `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)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> examples/performance_demo.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs` [INFO] [stdout] --> examples/performance_demo.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::fs; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Write` [INFO] [stdout] --> examples/performance_demo.rs:5:21 [INFO] [stdout] | [INFO] [stdout] 5 | use std::io::{self, Write}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Instant` [INFO] [stdout] --> tests/integration_test.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::time::Instant; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `LinkedList` [INFO] [stdout] --> src/block_cache.rs:13:33 [INFO] [stdout] | [INFO] [stdout] 13 | use std::collections::{HashMap, LinkedList, VecDeque}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Duration` [INFO] [stdout] --> src/block_cache.rs:15:17 [INFO] [stdout] | [INFO] [stdout] 15 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Hash` [INFO] [stdout] --> src/block_cache.rs:16:17 [INFO] [stdout] | [INFO] [stdout] 16 | use std::hash::{Hash, Hasher}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::hash_map::DefaultHasher` [INFO] [stdout] --> src/block_cache.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | use std::collections::hash_map::DefaultHasher; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> src/bloom_filter.rs:16:13 [INFO] [stdout] | [INFO] [stdout] 16 | use serde::{Serialize, Deserialize}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `debug_log`, `error_log`, `info_log`, and `trace_log` [INFO] [stdout] --> src/bloom_filter.rs:18:13 [INFO] [stdout] | [INFO] [stdout] 18 | use crate::{debug_log, trace_log, warn_log, error_log, info_log}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `trace_log` and `warn_log` [INFO] [stdout] --> src/db.rs:10:24 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::{debug_log, trace_log, warn_log, error_log, info_log, smart_flush::{SmartFlushScheduler, SmartFlushConfig}}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `info_log` and `warn_log` [INFO] [stdout] --> src/flush_epoch.rs:6:35 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::{debug_log, trace_log, warn_log, error_log, info_log}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `error_log` and `info_log` [INFO] [stdout] --> src/heap.rs:6:45 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::{debug_log, trace_log, warn_log, error_log, info_log}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `debug_log`, `error_log`, `info_log`, and `warn_log` [INFO] [stdout] --> src/id_allocator.rs:6:13 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::{debug_log, trace_log, warn_log, error_log, info_log}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `error_log`, `info_log`, and `warn_log` [INFO] [stdout] --> src/leaf.rs:2:35 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::{debug_log, trace_log, warn_log, error_log, info_log}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `info_log` [INFO] [stdout] --> src/metadata_store.rs:6:56 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::{debug_log, trace_log, warn_log, error_log, info_log}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cell::RefCell` [INFO] [stdout] --> src/object_cache.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::cell::RefCell; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `info_log` and `warn_log` [INFO] [stdout] --> src/object_cache.rs:6:35 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::{debug_log, trace_log, warn_log, error_log, info_log, smart_flush::WriteLoadStats}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Read`, `Seek`, and `self` [INFO] [stdout] --> src/platform_utils.rs:8:15 [INFO] [stdout] | [INFO] [stdout] 8 | use std::io::{self, Read, Seek}; [INFO] [stdout] | ^^^^ ^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/atomic_worker.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Instant` [INFO] [stdout] --> src/atomic_worker.rs:10:27 [INFO] [stdout] | [INFO] [stdout] 10 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `parking_lot::Mutex` [INFO] [stdout] --> src/atomic_worker.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use parking_lot::Mutex; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `error_log` and `info_log` [INFO] [stdout] --> src/atomic_worker.rs:16:45 [INFO] [stdout] | [INFO] [stdout] 16 | use crate::{debug_log, trace_log, warn_log, error_log, info_log}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `error_log`, `info_log`, and `warn_log` [INFO] [stdout] --> src/atomic_operations_manager.rs:9:35 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::{debug_log, trace_log, warn_log, error_log, info_log, InlineArray}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `parking_lot::Mutex` [INFO] [stdout] --> src/database_worker.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use parking_lot::Mutex; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `error_log`, `info_log`, and `warn_log` [INFO] [stdout] --> src/database_worker.rs:13:35 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::{debug_log, trace_log, warn_log, error_log, info_log, InlineArray}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `debug_log` and `info_log` [INFO] [stdout] --> src/tree.rs:24:13 [INFO] [stdout] | [INFO] [stdout] 24 | use crate::{debug_log, trace_log, warn_log, error_log, info_log}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> src/lib.rs:130:9 [INFO] [stdout] | [INFO] [stdout] 130 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Write` [INFO] [stdout] --> examples/best_practices.rs:3:21 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io::{self, Write}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Db` [INFO] [stdout] --> examples/no_logger_test.rs:1:18 [INFO] [stdout] | [INFO] [stdout] 1 | use melange_db::{Db, Config}; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> examples/best_practices.rs:185:14 [INFO] [stdout] | [INFO] [stdout] 185 | let (key, value) = kv?; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 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)]` (part of `#[warn(unused)]`) 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: `Hasher` [INFO] [stdout] --> src/block_cache.rs:16:23 [INFO] [stdout] | [INFO] [stdout] 16 | use std::hash::{Hash, Hasher}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bloom_filter.rs:171:13 [INFO] [stdout] | [INFO] [stdout] 171 | let mut new_filter = Self::new(new_element_count, self.target_fpp); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `interval_ms` is never read [INFO] [stdout] --> src/smart_flush.rs:159:31 [INFO] [stdout] | [INFO] [stdout] 159 | let mut interval_ms = self.config.base_interval_ms; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/config.rs:46:13 [INFO] [stdout] | [INFO] [stdout] 46 | let mut features = Vec::new(); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/db.rs:597:9 [INFO] [stdout] | [INFO] [stdout] 597 | let mut scheduler = SmartFlushScheduler::new(config); [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `stats` [INFO] [stdout] --> src/db.rs:598:9 [INFO] [stdout] | [INFO] [stdout] 598 | let stats = scheduler.get_stats(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_stats` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/flush_epoch.rs:281:37 [INFO] [stdout] | [INFO] [stdout] 281 | if let Some(mut callback) = callback { [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/flush_epoch.rs:302:37 [INFO] [stdout] | [INFO] [stdout] 302 | if let Some(mut callback) = callback { [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `results` [INFO] [stdout] --> src/flush_epoch.rs:354:25 [INFO] [stdout] | [INFO] [stdout] 354 | let results = perform_batch_flush(batch_tasks); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_results` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> src/flush_epoch.rs:373:37 [INFO] [stdout] | [INFO] [stdout] 373 | fn perform_flush(epoch: FlushEpoch, data: Vec) -> std::io::Result<()> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `melange_db::*` [INFO] [stdout] --> examples/macbook_air_m1_compression_zstd.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use melange_db::*; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Instant` [INFO] [stdout] --> examples/macbook_air_m1_compression_zstd.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::time::Instant; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> examples/macbook_air_m1_compression_zstd.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 18 | return Ok(()); [INFO] [stdout] | ------------- any code following this expression is unreachable [INFO] [stdout] ... [INFO] [stdout] 23 | / { [INFO] [stdout] 24 | | eprintln!("❌ 错误: 此示例需要启用 compression-zstd 特性"); [INFO] [stdout] 25 | | eprintln!("❌ 请使用以下命令运行:"); [INFO] [stdout] 26 | | eprintln!("❌ cargo run --example macbook_air_m1_compression_zstd --features compression-zstd --release"); [INFO] [stdout] 27 | | return Err("未启用 compression-zstd 特性".into()); [INFO] [stdout] 28 | | } [INFO] [stdout] | |_____^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 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)]` (part of `#[warn(rust_2024_compatibility)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `simd_optimized::SimdComparator::compare_simd_sse2` is unsafe and requires unsafe block [INFO] [stdout] --> src/simd_optimized.rs:99:17 [INFO] [stdout] | [INFO] [stdout] 99 | Self::compare_simd_sse2(a, b, len) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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: 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)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Instant` [INFO] [stdout] --> examples/macbook_air_m1_compression_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)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `AtomicWorker` is more private than the item `AtomicOperationsManager::atomic_worker` [INFO] [stdout] --> src/atomic_operations_manager.rs:198:5 [INFO] [stdout] | [INFO] [stdout] 198 | pub fn atomic_worker(&self) -> &AtomicWorker { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `AtomicOperationsManager::atomic_worker` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `AtomicWorker` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/atomic_worker.rs:76:1 [INFO] [stdout] | [INFO] [stdout] 76 | pub(crate) struct AtomicWorker { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `DatabaseWorker` is more private than the item `AtomicOperationsManager::database_worker` [INFO] [stdout] --> src/atomic_operations_manager.rs:203:5 [INFO] [stdout] | [INFO] [stdout] 203 | pub fn database_worker(&self) -> &DatabaseWorker { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `AtomicOperationsManager::database_worker` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `DatabaseWorker` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/database_worker.rs:80:1 [INFO] [stdout] | [INFO] [stdout] 80 | pub(crate) struct DatabaseWorker { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `move_to_head` is never used [INFO] [stdout] --> src/block_cache.rs:219:8 [INFO] [stdout] | [INFO] [stdout] 114 | impl LruCache { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 219 | fn move_to_head(&mut self, node: &mut Box) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `config` is never read [INFO] [stdout] --> src/block_cache.rs:532:5 [INFO] [stdout] | [INFO] [stdout] 530 | pub struct CacheManager { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 531 | block_cache: Arc, [INFO] [stdout] 532 | config: CacheConfig, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CacheManager` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OptimizedFlushScheduler` is never constructed [INFO] [stdout] --> src/flush_epoch.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct OptimizedFlushScheduler { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `FlushTask` is never used [INFO] [stdout] --> src/flush_epoch.rs:32:10 [INFO] [stdout] | [INFO] [stdout] 32 | pub enum FlushTask { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `counter_value` [INFO] [stdout] --> examples/cpu_usage_test.rs:45:13 [INFO] [stdout] | [INFO] [stdout] 45 | let counter_value = manager.increment("test_counter".to_string(), 1)?; [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_counter_value` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 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: unused variable: `counter_value` [INFO] [stdout] --> examples/cpu_usage_test.rs:100:13 [INFO] [stdout] | [INFO] [stdout] 100 | let counter_value = manager.increment("test_counter".to_string(), 1)?; [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_counter_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `disable_incremental_serialization`, `apply_incremental_changes`, and `reset_incremental_changes` are never used [INFO] [stdout] --> src/leaf.rs:130:19 [INFO] [stdout] | [INFO] [stdout] 102 | impl Leaf { [INFO] [stdout] | ------------------------------------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 130 | pub(crate) fn disable_incremental_serialization(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 368 | pub(crate) fn apply_incremental_changes(&mut self, changes: &IncrementalChanges) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 386 | pub(crate) fn reset_incremental_changes(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `db_queue` is never read [INFO] [stdout] --> src/atomic_worker.rs:90:5 [INFO] [stdout] | [INFO] [stdout] 76 | pub(crate) struct AtomicWorker { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 90 | db_queue: Option>>, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_counter_names` is never used [INFO] [stdout] --> src/atomic_worker.rs:644:19 [INFO] [stdout] | [INFO] [stdout] 93 | impl AtomicWorker { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 644 | pub(crate) fn get_counter_names(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `persist_counter` is never used [INFO] [stdout] --> src/database_worker.rs:284:19 [INFO] [stdout] | [INFO] [stdout] 91 | impl DatabaseWorker { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 284 | pub(crate) fn persist_counter(&self, counter_name: String, value: u64) -> io::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [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 imports: `Command` and `Stdio` [INFO] [stdout] --> tests/optimization_performance_test.rs:15:20 [INFO] [stdout] | [INFO] [stdout] 15 | use std::process::{Command, Stdio}; [INFO] [stdout] | ^^^^^^^ ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ConcurrentBloomFilter` [INFO] [stdout] --> tests/optimization_performance_test.rs:21:49 [INFO] [stdout] | [INFO] [stdout] 21 | use melange_db::bloom_filter::{BloomFilter, ConcurrentBloomFilter}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AccessPattern` and `CacheBlock` [INFO] [stdout] --> tests/optimization_performance_test.rs:22:62 [INFO] [stdout] | [INFO] [stdout] 22 | use melange_db::block_cache::{CacheManager, CacheConfig, CacheBlock, AccessPattern}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng` [INFO] [stdout] --> tests/optimization_performance_test.rs:64:29 [INFO] [stdout] | [INFO] [stdout] 64 | let mut rng = rand::thread_rng(); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng` [INFO] [stdout] --> tests/optimization_performance_test.rs:253:35 [INFO] [stdout] | [INFO] [stdout] 253 | *byte = rand::thread_rng().random(); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng` [INFO] [stdout] --> tests/optimization_performance_test.rs:279:35 [INFO] [stdout] | [INFO] [stdout] 279 | let key_index = rand::thread_rng().random_range(0..test_key_count); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng` [INFO] [stdout] --> tests/optimization_performance_test.rs:296:41 [INFO] [stdout] | [INFO] [stdout] 296 | let start_key = &keys[rand::thread_rng().random_range(0..test_key_count)]; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 43.43s [INFO] running `Command { std: "docker" "inspect" "d670ee5461da404f1cc44ae88cf2a81fabdf059c0542f1e4367b07f4b0d44b3f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d670ee5461da404f1cc44ae88cf2a81fabdf059c0542f1e4367b07f4b0d44b3f", kill_on_drop: false }` [INFO] [stdout] d670ee5461da404f1cc44ae88cf2a81fabdf059c0542f1e4367b07f4b0d44b3f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 094d52757d333ed94b603b277f81dfb746f667ffd0695217832117ea1d84bbde [INFO] running `Command { std: "docker" "start" "-a" "094d52757d333ed94b603b277f81dfb746f667ffd0695217832117ea1d84bbde", kill_on_drop: false }` [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)]` (part of `#[warn(unused)]`) 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 import: `std::collections::HashMap` [INFO] [stderr] --> src/atomic_worker.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Instant` [INFO] [stderr] --> src/atomic_worker.rs:10:27 [INFO] [stderr] | [INFO] [stderr] 10 | use std::time::{Duration, Instant}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `parking_lot::Mutex` [INFO] [stderr] --> src/atomic_worker.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | use parking_lot::Mutex; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `error_log` and `info_log` [INFO] [stderr] --> src/atomic_worker.rs:16:45 [INFO] [stderr] | [INFO] [stderr] 16 | 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/atomic_operations_manager.rs:9:35 [INFO] [stderr] | [INFO] [stderr] 9 | use crate::{debug_log, trace_log, warn_log, error_log, info_log, InlineArray}; [INFO] [stderr] | ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `parking_lot::Mutex` [INFO] [stderr] --> src/database_worker.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use parking_lot::Mutex; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `error_log`, `info_log`, and `warn_log` [INFO] [stderr] --> src/database_worker.rs:13:35 [INFO] [stderr] | [INFO] [stderr] 13 | use crate::{debug_log, trace_log, warn_log, error_log, info_log, InlineArray}; [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:130:9 [INFO] [stderr] | [INFO] [stderr] 130 | 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)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: value assigned to `interval_ms` is never read [INFO] [stderr] --> src/smart_flush.rs:159:31 [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)]` (part of `#[warn(unused)]`) 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: 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: `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)]` (part of `#[warn(unused)]`) on by default [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: `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: 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)]` (part of `#[warn(rust_2024_compatibility)]`) 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: type `AtomicWorker` is more private than the item `AtomicOperationsManager::atomic_worker` [INFO] [stderr] --> src/atomic_operations_manager.rs:198:5 [INFO] [stderr] | [INFO] [stderr] 198 | pub fn atomic_worker(&self) -> &AtomicWorker { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `AtomicOperationsManager::atomic_worker` is reachable at visibility `pub` [INFO] [stderr] | [INFO] [stderr] note: but type `AtomicWorker` is only usable at visibility `pub(crate)` [INFO] [stderr] --> src/atomic_worker.rs:76:1 [INFO] [stderr] | [INFO] [stderr] 76 | pub(crate) struct AtomicWorker { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = note: `#[warn(private_interfaces)]` on by default [INFO] [stderr] [INFO] [stderr] warning: type `DatabaseWorker` is more private than the item `AtomicOperationsManager::database_worker` [INFO] [stderr] --> src/atomic_operations_manager.rs:203:5 [INFO] [stderr] | [INFO] [stderr] 203 | pub fn database_worker(&self) -> &DatabaseWorker { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `AtomicOperationsManager::database_worker` is reachable at visibility `pub` [INFO] [stderr] | [INFO] [stderr] note: but type `DatabaseWorker` is only usable at visibility `pub(crate)` [INFO] [stderr] --> src/database_worker.rs:80:1 [INFO] [stderr] | [INFO] [stderr] 80 | pub(crate) struct DatabaseWorker { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [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)]` (part of `#[warn(unused)]`) 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: field `db_queue` is never read [INFO] [stderr] --> src/atomic_worker.rs:90:5 [INFO] [stderr] | [INFO] [stderr] 76 | pub(crate) struct AtomicWorker { [INFO] [stderr] | ------------ field in this struct [INFO] [stderr] ... [INFO] [stderr] 90 | db_queue: Option>>, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `get_counter_names` is never used [INFO] [stderr] --> src/atomic_worker.rs:644:19 [INFO] [stderr] | [INFO] [stderr] 93 | impl AtomicWorker { [INFO] [stderr] | ----------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 644 | pub(crate) fn get_counter_names(&self) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `persist_counter` is never used [INFO] [stderr] --> src/database_worker.rs:284:19 [INFO] [stderr] | [INFO] [stderr] 91 | impl DatabaseWorker { [INFO] [stderr] | ------------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 284 | pub(crate) fn persist_counter(&self, counter_name: String, value: u64) -> io::Result<()> { [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 62 warnings (run `cargo fix --lib -p melange_db` to apply 39 suggestions) [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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `counter_value` [INFO] [stderr] --> examples/cpu_usage_test.rs:45:13 [INFO] [stderr] | [INFO] [stderr] 45 | let counter_value = manager.increment("test_counter".to_string(), 1)?; [INFO] [stderr] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_counter_value` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `counter_value` [INFO] [stderr] --> examples/cpu_usage_test.rs:100:13 [INFO] [stderr] | [INFO] [stderr] 100 | let counter_value = manager.increment("test_counter".to_string(), 1)?; [INFO] [stderr] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_counter_value` [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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [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)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: `melange_db` (example "macbook_air_m1_compression_zstd") generated 3 warnings (run `cargo fix --example "macbook_air_m1_compression_zstd" -p melange_db` to apply 2 suggestions) [INFO] [stderr] warning: `melange_db` (example "cpu_usage_test") generated 2 warnings (run `cargo fix --example "cpu_usage_test" -p melange_db` 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" -p melange_db` to apply 2 suggestions) [INFO] [stderr] warning: `melange_db` (test "performance_test") generated 1 warning (run `cargo fix --test "performance_test" -p melange_db` to apply 1 suggestion) [INFO] [stderr] warning: `melange_db` (test "integration_test") generated 1 warning (run `cargo fix --test "integration_test" -p melange_db` to apply 1 suggestion) [INFO] [stderr] warning: `melange_db` (lib test) generated 62 warnings (62 duplicates) [INFO] [stderr] warning: `melange_db` (example "macbook_air_m1_compression_none") generated 3 warnings (run `cargo fix --example "macbook_air_m1_compression_none" -p melange_db` to apply 2 suggestions) [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)]` (part of `#[warn(unused)]`) 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: 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)]` (part of `#[warn(unused)]`) 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: `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)]` (part of `#[warn(unused)]`) 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 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)]` (part of `#[warn(unused)]`) 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: `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)]` (part of `#[warn(unused)]`) on by default [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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: `melange_db` (example "performance_demo") generated 3 warnings (run `cargo fix --example "performance_demo" -p melange_db` to apply 3 suggestions) [INFO] [stderr] warning: `melange_db` (test "mmap_performance_test") generated 4 warnings (run `cargo fix --test "mmap_performance_test" -p melange_db` to apply 2 suggestions) [INFO] [stderr] warning: `melange_db` (example "rat_logger_demo") generated 2 warnings (run `cargo fix --example "rat_logger_demo" -p melange_db` to apply 1 suggestion) [INFO] [stderr] warning: `melange_db` (test "optimization_performance_test") generated 7 warnings (run `cargo fix --test "optimization_performance_test" -p melange_db` to apply 3 suggestions) [INFO] [stderr] warning: `melange_db` (example "no_logger_test") generated 1 warning (run `cargo fix --example "no_logger_test" -p melange_db` to apply 1 suggestion) [INFO] [stderr] warning: `melange_db` (example "best_practices") generated 2 warnings (run `cargo fix --example "best_practices" -p melange_db` to apply 2 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.36s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/melange_db-82812f849a6a8e8b) [INFO] [stdout] [INFO] [stdout] running 21 tests [INFO] [stdout] test block_cache::tests::test_lru_cache_basic ... ok [INFO] [stdout] test block_cache::tests::test_tiered_block_cache ... ok [INFO] [stdout] test block_cache::tests::test_cache_manager ... ok [INFO] [stdout] test bloom_filter::tests::test_bloom_filter_stats ... ok [INFO] [stdout] test bloom_filter::tests::test_bloom_filter_false_positives ... ok [INFO] [stdout] test bloom_filter::tests::test_concurrent_bloom_filter ... ok [INFO] [stdout] test bloom_filter::tests::test_tiered_bloom_filter ... 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 bloom_filter::tests::test_bloom_filter_basic ... ok [INFO] [stdout] test simd_optimized::tests::test_batch_compare ... ok [INFO] [stdout] test smart_flush::tests::test_write_load_stats ... ok [INFO] [stdout] test smart_flush::tests::test_smart_flush_scheduler ... ok [INFO] [stdout] test platform_utils::tests::test_cleanup_db_directory ... FAILED [INFO] [stdout] test platform_utils::tests::test_setup_example_db ... FAILED [INFO] [stdout] test platform_utils::tests::test_is_path_writable ... FAILED [INFO] [stdout] test platform_utils::tests::test_prepare_directory ... FAILED [INFO] [stdout] test simd_optimized::tests::test_large_key_performance ... ok [INFO] [stdout] test flush_epoch::concurrent_flush_epoch_burn_in ... 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' (34) 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: 0x5beaba0392d2 - std::backtrace_rs::backtrace::libunwind::trace::h9ea1e07ac77a25d7 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x5beaba0392d2 - std::backtrace_rs::backtrace::trace_unsynchronized::h72b75eb83b53d15a [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x5beaba0392d2 - std::sys::backtrace::_print_fmt::h255777b7ec902439 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:66:9 [INFO] [stdout] 3: 0x5beaba0392d2 - ::fmt::h8a1ac49fcd7ee8ce [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:39:26 [INFO] [stdout] 4: 0x5beaba04a1cf - core::fmt::rt::Argument::fmt::h635cbf3c6754cc90 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/rt.rs:173:76 [INFO] [stdout] 5: 0x5beaba04a1cf - core::fmt::write::hbdcc0ec4f1bab1db [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/mod.rs:1469:25 [INFO] [stdout] 6: 0x5beaba0059e3 - std::io::default_write_fmt::h2580ece0d4b58e51 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x5beaba0059e3 - std::io::Write::write_fmt::hac9e42858f273b87 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:1954:13 [INFO] [stdout] 8: 0x5beaba012112 - std::sys::backtrace::BacktraceLock::print::h052febbd86f7bf07 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:42:9 [INFO] [stdout] 9: 0x5beaba0171df - std::panicking::default_hook::{{closure}}::h66aeee20dd470abb [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:301:27 [INFO] [stdout] 10: 0x5beaba017071 - std::panicking::default_hook::h9d66b9642014ce48 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:325:9 [INFO] [stdout] 11: 0x5beab9e8e3ee - as core::ops::function::Fn>::call::h8c698701e444e564 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9 [INFO] [stdout] 12: 0x5beab9e8e3ee - test::test_main_with_exit_callback::{{closure}}::ha1c98e7b69c4defb [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x5beaba01789f - as core::ops::function::Fn>::call::hc4f222a8a57c637a [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9 [INFO] [stdout] 14: 0x5beaba01789f - std::panicking::panic_with_hook::h6d5921a1a1fa5a8e [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:842:13 [INFO] [stdout] 15: 0x5beaba01764a - std::panicking::panic_handler::{{closure}}::hafeef6f707d43542 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:707:13 [INFO] [stdout] 16: 0x5beaba012249 - std::sys::backtrace::__rust_end_short_backtrace::h08cbc3319a3d0120 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:174:18 [INFO] [stdout] 17: 0x5beab9ff9d9d - __rustc[ce5c411ff86ab1b2]::rust_begin_unwind [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:698:5 [INFO] [stdout] 18: 0x5beaba051cf0 - core::panicking::panic_fmt::h774fb860369a0f7b [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panicking.rs:80:14 [INFO] [stdout] 19: 0x5beaba0512b6 - core::result::unwrap_failed::h72ee8fcbf1bf8ff9 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/result.rs:1862:5 [INFO] [stdout] 20: 0x5beab9e65130 - core::result::Result::unwrap::h819b52a66d9a18da [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/result.rs:1233:23 [INFO] [stdout] 21: 0x5beab9e65130 - melange_db::platform_utils::tests::test_cleanup_db_directory::h703384147e25e66c [INFO] [stdout] at /opt/rustwide/workdir/src/platform_utils.rs:153:35 [INFO] [stdout] 22: 0x5beab9e65267 - melange_db::platform_utils::tests::test_cleanup_db_directory::{{closure}}::h066694c0e908ad68 [INFO] [stdout] at /opt/rustwide/workdir/src/platform_utils.rs:151:35 [INFO] [stdout] 23: 0x5beab9e53f96 - core::ops::function::FnOnce::call_once::hebe8b8f34a450dbe [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 24: 0x5beab9e8e23b - core::ops::function::FnOnce::call_once::h4f6eabe90cccb47d [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 25: 0x5beab9e8e23b - test::__rust_begin_short_backtrace::h94208530f2b4c8c7 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:663:18 [INFO] [stdout] 26: 0x5beab9ea224d - test::run_test_in_process::{{closure}}::hbdc6a45a78c46404 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:74 [INFO] [stdout] 27: 0x5beab9ea224d - as core::ops::function::FnOnce<()>>::call_once::h7f9d8efc7eedd165 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 28: 0x5beab9ea224d - std::panicking::catch_unwind::do_call::he5edbaf126c13b99 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40 [INFO] [stdout] 29: 0x5beab9ea224d - std::panicking::catch_unwind::h3d6a8652eceeabce [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19 [INFO] [stdout] 30: 0x5beab9ea224d - std::panic::catch_unwind::hbef0c501dd7bb498 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14 [INFO] [stdout] 31: 0x5beab9ea224d - test::run_test_in_process::h400008a46a5006a0 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:27 [INFO] [stdout] 32: 0x5beab9ea224d - test::run_test::{{closure}}::h9a131655b31d9427 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:607:43 [INFO] [stdout] 33: 0x5beab9e7b794 - test::run_test::{{closure}}::he4a7177c216308c0 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:637:41 [INFO] [stdout] 34: 0x5beab9e7b794 - std::sys::backtrace::__rust_begin_short_backtrace::hd3980e9c55d6c539 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:158:18 [INFO] [stdout] 35: 0x5beab9e7f0ca - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h18552df67c7aa9b8 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:562:17 [INFO] [stdout] 36: 0x5beab9e7f0ca - as core::ops::function::FnOnce<()>>::call_once::h3d7b285234641a08 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 37: 0x5beab9e7f0ca - std::panicking::catch_unwind::do_call::h5a2b5cf36528a5b2 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40 [INFO] [stdout] 38: 0x5beab9e7f0ca - std::panicking::catch_unwind::h7e8b531bbda77d20 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19 [INFO] [stdout] 39: 0x5beab9e7f0ca - std::panic::catch_unwind::hf9bbb2040b4f1e6c [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14 [INFO] [stdout] 40: 0x5beab9e7f0ca - std::thread::Builder::spawn_unchecked_::{{closure}}::h600f92cf68549574 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:560:30 [INFO] [stdout] 41: 0x5beab9e7f0ca - core::ops::function::FnOnce::call_once{{vtable.shim}}::hb6607307df8a1847 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 42: 0x5beaba00d64f - as core::ops::function::FnOnce>::call_once::h6891ad53a5ed6f52 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2085:9 [INFO] [stdout] 43: 0x5beaba00d64f - std::sys::thread::unix::Thread::new::thread_start::h7f3e77fa86df70af [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/thread/unix.rs:124:17 [INFO] [stdout] 44: 0x7deab9a85aa4 - [INFO] [stdout] 45: 0x7deab9b12a64 - clone [INFO] [stdout] 46: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- platform_utils::tests::test_setup_example_db stdout ---- [INFO] [stdout] 错误: 无法创建目录 "test_setup_1763065347149421_0_db": Read-only file system (os error 30) [INFO] [stdout] [INFO] [stdout] thread 'platform_utils::tests::test_setup_example_db' (37) panicked at src/platform_utils.rs:140:9: [INFO] [stdout] 无法准备示例数据库目录: "test_setup_1763065347149421_0_db" [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x5beaba0392d2 - std::backtrace_rs::backtrace::libunwind::trace::h9ea1e07ac77a25d7 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x5beaba0392d2 - std::backtrace_rs::backtrace::trace_unsynchronized::h72b75eb83b53d15a [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x5beaba0392d2 - std::sys::backtrace::_print_fmt::h255777b7ec902439 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:66:9 [INFO] [stdout] 3: 0x5beaba0392d2 - ::fmt::h8a1ac49fcd7ee8ce [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:39:26 [INFO] [stdout] 4: 0x5beaba04a1cf - core::fmt::rt::Argument::fmt::h635cbf3c6754cc90 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/rt.rs:173:76 [INFO] [stdout] 5: 0x5beaba04a1cf - core::fmt::write::hbdcc0ec4f1bab1db [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/mod.rs:1469:25 [INFO] [stdout] 6: 0x5beaba0059e3 - std::io::default_write_fmt::h2580ece0d4b58e51 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x5beaba0059e3 - std::io::Write::write_fmt::hac9e42858f273b87 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:1954:13 [INFO] [stdout] 8: 0x5beaba012112 - std::sys::backtrace::BacktraceLock::print::h052febbd86f7bf07 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:42:9 [INFO] [stdout] 9: 0x5beaba0171df - std::panicking::default_hook::{{closure}}::h66aeee20dd470abb [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:301:27 [INFO] [stdout] 10: 0x5beaba017071 - std::panicking::default_hook::h9d66b9642014ce48 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:325:9 [INFO] [stdout] 11: 0x5beab9e8e3ee - as core::ops::function::Fn>::call::h8c698701e444e564 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9 [INFO] [stderr] error: test failed, to rerun pass `--lib` [INFO] [stdout] 12: 0x5beab9e8e3ee - test::test_main_with_exit_callback::{{closure}}::ha1c98e7b69c4defb [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x5beaba01789f - as core::ops::function::Fn>::call::hc4f222a8a57c637a [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9 [INFO] [stdout] 14: 0x5beaba01789f - std::panicking::panic_with_hook::h6d5921a1a1fa5a8e [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:842:13 [INFO] [stdout] 15: 0x5beaba01764a - std::panicking::panic_handler::{{closure}}::hafeef6f707d43542 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:707:13 [INFO] [stdout] 16: 0x5beaba012249 - std::sys::backtrace::__rust_end_short_backtrace::h08cbc3319a3d0120 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:174:18 [INFO] [stdout] 17: 0x5beab9ff9d9d - __rustc[ce5c411ff86ab1b2]::rust_begin_unwind [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:698:5 [INFO] [stdout] 18: 0x5beaba051cf0 - core::panicking::panic_fmt::h774fb860369a0f7b [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panicking.rs:80:14 [INFO] [stdout] 19: 0x5beab9e5b1f1 - melange_db::platform_utils::setup_example_db::hc563a1d9882d0fc5 [INFO] [stdout] at /opt/rustwide/workdir/src/platform_utils.rs:140:9 [INFO] [stdout] 20: 0x5beab9e64c08 - melange_db::platform_utils::tests::test_setup_example_db::h8975e30b62bf3bed [INFO] [stdout] at /opt/rustwide/workdir/src/platform_utils.rs:175:20 [INFO] [stdout] 21: 0x5beab9e64f07 - melange_db::platform_utils::tests::test_setup_example_db::{{closure}}::hfbc2a355550f9cfa [INFO] [stdout] at /opt/rustwide/workdir/src/platform_utils.rs:174:31 [INFO] [stdout] 22: 0x5beab9e53756 - core::ops::function::FnOnce::call_once::h257b09f4a8a8c94b [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 23: 0x5beab9e8e23b - core::ops::function::FnOnce::call_once::h4f6eabe90cccb47d [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 24: 0x5beab9e8e23b - test::__rust_begin_short_backtrace::h94208530f2b4c8c7 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:663:18 [INFO] [stdout] 25: 0x5beab9ea224d - test::run_test_in_process::{{closure}}::hbdc6a45a78c46404 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:74 [INFO] [stdout] 26: 0x5beab9ea224d - as core::ops::function::FnOnce<()>>::call_once::h7f9d8efc7eedd165 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 27: 0x5beab9ea224d - std::panicking::catch_unwind::do_call::he5edbaf126c13b99 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40 [INFO] [stdout] 28: 0x5beab9ea224d - std::panicking::catch_unwind::h3d6a8652eceeabce [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19 [INFO] [stdout] 29: 0x5beab9ea224d - std::panic::catch_unwind::hbef0c501dd7bb498 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14 [INFO] [stdout] 30: 0x5beab9ea224d - test::run_test_in_process::h400008a46a5006a0 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:27 [INFO] [stdout] 31: 0x5beab9ea224d - test::run_test::{{closure}}::h9a131655b31d9427 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:607:43 [INFO] [stdout] 32: 0x5beab9e7b794 - test::run_test::{{closure}}::he4a7177c216308c0 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:637:41 [INFO] [stdout] 33: 0x5beab9e7b794 - std::sys::backtrace::__rust_begin_short_backtrace::hd3980e9c55d6c539 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:158:18 [INFO] [stdout] 34: 0x5beab9e7f0ca - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h18552df67c7aa9b8 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:562:17 [INFO] [stdout] 35: 0x5beab9e7f0ca - as core::ops::function::FnOnce<()>>::call_once::h3d7b285234641a08 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 36: 0x5beab9e7f0ca - std::panicking::catch_unwind::do_call::h5a2b5cf36528a5b2 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40 [INFO] [stdout] 37: 0x5beab9e7f0ca - std::panicking::catch_unwind::h7e8b531bbda77d20 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19 [INFO] [stdout] 38: 0x5beab9e7f0ca - std::panic::catch_unwind::hf9bbb2040b4f1e6c [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14 [INFO] [stdout] 39: 0x5beab9e7f0ca - std::thread::Builder::spawn_unchecked_::{{closure}}::h600f92cf68549574 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:560:30 [INFO] [stdout] 40: 0x5beab9e7f0ca - core::ops::function::FnOnce::call_once{{vtable.shim}}::hb6607307df8a1847 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 41: 0x5beaba00d64f - as core::ops::function::FnOnce>::call_once::h6891ad53a5ed6f52 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2085:9 [INFO] [stdout] 42: 0x5beaba00d64f - std::sys::thread::unix::Thread::new::thread_start::h7f3e77fa86df70af [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/thread/unix.rs:124:17 [INFO] [stdout] 43: 0x7deab9a85aa4 - [INFO] [stdout] 44: 0x7deab9b12a64 - 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' (35) panicked at src/platform_utils.rs:169:9: [INFO] [stdout] assertion failed: is_path_writable(&path) [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x5beaba0392d2 - std::backtrace_rs::backtrace::libunwind::trace::h9ea1e07ac77a25d7 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x5beaba0392d2 - std::backtrace_rs::backtrace::trace_unsynchronized::h72b75eb83b53d15a [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x5beaba0392d2 - std::sys::backtrace::_print_fmt::h255777b7ec902439 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:66:9 [INFO] [stdout] 3: 0x5beaba0392d2 - ::fmt::h8a1ac49fcd7ee8ce [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:39:26 [INFO] [stdout] 4: 0x5beaba04a1cf - core::fmt::rt::Argument::fmt::h635cbf3c6754cc90 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/rt.rs:173:76 [INFO] [stdout] 5: 0x5beaba04a1cf - core::fmt::write::hbdcc0ec4f1bab1db [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/mod.rs:1469:25 [INFO] [stdout] 6: 0x5beaba0059e3 - std::io::default_write_fmt::h2580ece0d4b58e51 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x5beaba0059e3 - std::io::Write::write_fmt::hac9e42858f273b87 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:1954:13 [INFO] [stdout] 8: 0x5beaba012112 - std::sys::backtrace::BacktraceLock::print::h052febbd86f7bf07 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:42:9 [INFO] [stdout] 9: 0x5beaba0171df - std::panicking::default_hook::{{closure}}::h66aeee20dd470abb [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:301:27 [INFO] [stdout] 10: 0x5beaba017071 - std::panicking::default_hook::h9d66b9642014ce48 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:325:9 [INFO] [stdout] 11: 0x5beab9e8e3ee - as core::ops::function::Fn>::call::h8c698701e444e564 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9 [INFO] [stdout] 12: 0x5beab9e8e3ee - test::test_main_with_exit_callback::{{closure}}::ha1c98e7b69c4defb [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x5beaba01789f - as core::ops::function::Fn>::call::hc4f222a8a57c637a [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9 [INFO] [stdout] 14: 0x5beaba01789f - std::panicking::panic_with_hook::h6d5921a1a1fa5a8e [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:842:13 [INFO] [stdout] 15: 0x5beaba017616 - std::panicking::panic_handler::{{closure}}::hafeef6f707d43542 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:700:13 [INFO] [stdout] 16: 0x5beaba012249 - std::sys::backtrace::__rust_end_short_backtrace::h08cbc3319a3d0120 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:174:18 [INFO] [stdout] 17: 0x5beab9ff9d9d - __rustc[ce5c411ff86ab1b2]::rust_begin_unwind [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:698:5 [INFO] [stdout] 18: 0x5beaba051cf0 - core::panicking::panic_fmt::h774fb860369a0f7b [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panicking.rs:80:14 [INFO] [stdout] 19: 0x5beaba051ccc - core::panicking::panic::h2a6fe4ac012a7582 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panicking.rs:150:5 [INFO] [stdout] 20: 0x5beab9e64b67 - melange_db::platform_utils::tests::test_is_path_writable::he92439b93beb16f6 [INFO] [stdout] at /opt/rustwide/workdir/src/platform_utils.rs:169:9 [INFO] [stdout] 21: 0x5beab9e64bc7 - melange_db::platform_utils::tests::test_is_path_writable::{{closure}}::h335d5fe53d5f8900 [INFO] [stdout] at /opt/rustwide/workdir/src/platform_utils.rs:167:31 [INFO] [stdout] 22: 0x5beab9e53c16 - core::ops::function::FnOnce::call_once::h8d0196f3446c4511 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 23: 0x5beab9e8e23b - core::ops::function::FnOnce::call_once::h4f6eabe90cccb47d [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 24: 0x5beab9e8e23b - test::__rust_begin_short_backtrace::h94208530f2b4c8c7 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:663:18 [INFO] [stdout] 25: 0x5beab9ea224d - test::run_test_in_process::{{closure}}::hbdc6a45a78c46404 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:74 [INFO] [stdout] 26: 0x5beab9ea224d - as core::ops::function::FnOnce<()>>::call_once::h7f9d8efc7eedd165 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 27: 0x5beab9ea224d - std::panicking::catch_unwind::do_call::he5edbaf126c13b99 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40 [INFO] [stdout] 28: 0x5beab9ea224d - std::panicking::catch_unwind::h3d6a8652eceeabce [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19 [INFO] [stdout] 29: 0x5beab9ea224d - std::panic::catch_unwind::hbef0c501dd7bb498 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14 [INFO] [stdout] 30: 0x5beab9ea224d - test::run_test_in_process::h400008a46a5006a0 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:27 [INFO] [stdout] 31: 0x5beab9ea224d - test::run_test::{{closure}}::h9a131655b31d9427 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:607:43 [INFO] [stdout] 32: 0x5beab9e7b794 - test::run_test::{{closure}}::he4a7177c216308c0 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:637:41 [INFO] [stdout] 33: 0x5beab9e7b794 - std::sys::backtrace::__rust_begin_short_backtrace::hd3980e9c55d6c539 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:158:18 [INFO] [stdout] 34: 0x5beab9e7f0ca - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h18552df67c7aa9b8 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:562:17 [INFO] [stdout] 35: 0x5beab9e7f0ca - as core::ops::function::FnOnce<()>>::call_once::h3d7b285234641a08 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 36: 0x5beab9e7f0ca - std::panicking::catch_unwind::do_call::h5a2b5cf36528a5b2 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40 [INFO] [stdout] 37: 0x5beab9e7f0ca - std::panicking::catch_unwind::h7e8b531bbda77d20 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19 [INFO] [stdout] 38: 0x5beab9e7f0ca - std::panic::catch_unwind::hf9bbb2040b4f1e6c [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14 [INFO] [stdout] 39: 0x5beab9e7f0ca - std::thread::Builder::spawn_unchecked_::{{closure}}::h600f92cf68549574 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:560:30 [INFO] [stdout] 40: 0x5beab9e7f0ca - core::ops::function::FnOnce::call_once{{vtable.shim}}::hb6607307df8a1847 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 41: 0x5beaba00d64f - as core::ops::function::FnOnce>::call_once::h6891ad53a5ed6f52 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2085:9 [INFO] [stdout] 42: 0x5beaba00d64f - std::sys::thread::unix::Thread::new::thread_start::h7f3e77fa86df70af [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/thread/unix.rs:124:17 [INFO] [stdout] 43: 0x7deab9a85aa4 - [INFO] [stdout] 44: 0x7deab9b12a64 - clone [INFO] [stdout] 45: 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' (36) panicked at src/platform_utils.rs:162:9: [INFO] [stdout] assertion failed: prepare_directory(&path) [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x5beaba0392d2 - std::backtrace_rs::backtrace::libunwind::trace::h9ea1e07ac77a25d7 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x5beaba0392d2 - std::backtrace_rs::backtrace::trace_unsynchronized::h72b75eb83b53d15a [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x5beaba0392d2 - std::sys::backtrace::_print_fmt::h255777b7ec902439 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:66:9 [INFO] [stdout] 3: 0x5beaba0392d2 - ::fmt::h8a1ac49fcd7ee8ce [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:39:26 [INFO] [stdout] 4: 0x5beaba04a1cf - core::fmt::rt::Argument::fmt::h635cbf3c6754cc90 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/rt.rs:173:76 [INFO] [stdout] 5: 0x5beaba04a1cf - core::fmt::write::hbdcc0ec4f1bab1db [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/mod.rs:1469:25 [INFO] [stdout] 6: 0x5beaba0059e3 - std::io::default_write_fmt::h2580ece0d4b58e51 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x5beaba0059e3 - std::io::Write::write_fmt::hac9e42858f273b87 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:1954:13 [INFO] [stdout] 8: 0x5beaba012112 - std::sys::backtrace::BacktraceLock::print::h052febbd86f7bf07 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:42:9 [INFO] [stdout] 9: 0x5beaba0171df - std::panicking::default_hook::{{closure}}::h66aeee20dd470abb [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:301:27 [INFO] [stdout] 10: 0x5beaba017071 - std::panicking::default_hook::h9d66b9642014ce48 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:325:9 [INFO] [stdout] 11: 0x5beab9e8e3ee - as core::ops::function::Fn>::call::h8c698701e444e564 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9 [INFO] [stdout] 12: 0x5beab9e8e3ee - test::test_main_with_exit_callback::{{closure}}::ha1c98e7b69c4defb [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x5beaba01789f - as core::ops::function::Fn>::call::hc4f222a8a57c637a [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9 [INFO] [stdout] 14: 0x5beaba01789f - std::panicking::panic_with_hook::h6d5921a1a1fa5a8e [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:842:13 [INFO] [stdout] 15: 0x5beaba017616 - std::panicking::panic_handler::{{closure}}::hafeef6f707d43542 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:700:13 [INFO] [stdout] 16: 0x5beaba012249 - std::sys::backtrace::__rust_end_short_backtrace::h08cbc3319a3d0120 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:174:18 [INFO] [stdout] 17: 0x5beab9ff9d9d - __rustc[ce5c411ff86ab1b2]::rust_begin_unwind [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:698:5 [INFO] [stdout] 18: 0x5beaba051cf0 - core::panicking::panic_fmt::h774fb860369a0f7b [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panicking.rs:80:14 [INFO] [stdout] 19: 0x5beaba051ccc - core::panicking::panic::h2a6fe4ac012a7582 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panicking.rs:150:5 [INFO] [stdout] 20: 0x5beab9e64fb7 - melange_db::platform_utils::tests::test_prepare_directory::hdbe250993b139774 [INFO] [stdout] at /opt/rustwide/workdir/src/platform_utils.rs:162:9 [INFO] [stdout] 21: 0x5beab9e65047 - melange_db::platform_utils::tests::test_prepare_directory::{{closure}}::hf55690212f2a0146 [INFO] [stdout] at /opt/rustwide/workdir/src/platform_utils.rs:160:32 [INFO] [stdout] 22: 0x5beab9e53af6 - core::ops::function::FnOnce::call_once::h65a858d849ddbaf6 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 23: 0x5beab9e8e23b - core::ops::function::FnOnce::call_once::h4f6eabe90cccb47d [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 24: 0x5beab9e8e23b - test::__rust_begin_short_backtrace::h94208530f2b4c8c7 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:663:18 [INFO] [stdout] 25: 0x5beab9ea224d - test::run_test_in_process::{{closure}}::hbdc6a45a78c46404 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:74 [INFO] [stdout] 26: 0x5beab9ea224d - as core::ops::function::FnOnce<()>>::call_once::h7f9d8efc7eedd165 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 27: 0x5beab9ea224d - std::panicking::catch_unwind::do_call::he5edbaf126c13b99 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40 [INFO] [stdout] 28: 0x5beab9ea224d - std::panicking::catch_unwind::h3d6a8652eceeabce [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19 [INFO] [stdout] 29: 0x5beab9ea224d - std::panic::catch_unwind::hbef0c501dd7bb498 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14 [INFO] [stdout] 30: 0x5beab9ea224d - test::run_test_in_process::h400008a46a5006a0 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:27 [INFO] [stdout] 31: 0x5beab9ea224d - test::run_test::{{closure}}::h9a131655b31d9427 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:607:43 [INFO] [stdout] 32: 0x5beab9e7b794 - test::run_test::{{closure}}::he4a7177c216308c0 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:637:41 [INFO] [stdout] 33: 0x5beab9e7b794 - std::sys::backtrace::__rust_begin_short_backtrace::hd3980e9c55d6c539 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:158:18 [INFO] [stdout] 34: 0x5beab9e7f0ca - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h18552df67c7aa9b8 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:562:17 [INFO] [stdout] 35: 0x5beab9e7f0ca - as core::ops::function::FnOnce<()>>::call_once::h3d7b285234641a08 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 36: 0x5beab9e7f0ca - std::panicking::catch_unwind::do_call::h5a2b5cf36528a5b2 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40 [INFO] [stdout] 37: 0x5beab9e7f0ca - std::panicking::catch_unwind::h7e8b531bbda77d20 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19 [INFO] [stdout] 38: 0x5beab9e7f0ca - std::panic::catch_unwind::hf9bbb2040b4f1e6c [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14 [INFO] [stdout] 39: 0x5beab9e7f0ca - std::thread::Builder::spawn_unchecked_::{{closure}}::h600f92cf68549574 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:560:30 [INFO] [stdout] 40: 0x5beab9e7f0ca - core::ops::function::FnOnce::call_once{{vtable.shim}}::hb6607307df8a1847 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 41: 0x5beaba00d64f - as core::ops::function::FnOnce>::call_once::h6891ad53a5ed6f52 [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2085:9 [INFO] [stdout] 42: 0x5beaba00d64f - std::sys::thread::unix::Thread::new::thread_start::h7f3e77fa86df70af [INFO] [stdout] at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/thread/unix.rs:124:17 [INFO] [stdout] 43: 0x7deab9a85aa4 - [INFO] [stdout] 44: 0x7deab9b12a64 - 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 5.79s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "094d52757d333ed94b603b277f81dfb746f667ffd0695217832117ea1d84bbde", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "094d52757d333ed94b603b277f81dfb746f667ffd0695217832117ea1d84bbde", kill_on_drop: false }` [INFO] [stdout] 094d52757d333ed94b603b277f81dfb746f667ffd0695217832117ea1d84bbde