[INFO] fetching crate pi_store 0.8.1... [INFO] checking pi_store-0.8.1 against try#a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d for pr-145342-1 [INFO] extracting crate pi_store 0.8.1 into /workspace/builds/worker-3-tc2/source [INFO] started tweaking crates.io crate pi_store 0.8.1 [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate pi_store 0.8.1 [INFO] tweaked toml for crates.io crate pi_store 0.8.1 written to /workspace/builds/worker-3-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate pi_store 0.8.1 on toolchain a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate pi_store 0.8.1 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" "+a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 283f30c2916d9f530a753f97ff98d2b34376acb4a6ab1ff3a7c898584f76f410 [INFO] running `Command { std: "docker" "start" "-a" "283f30c2916d9f530a753f97ff98d2b34376acb4a6ab1ff3a7c898584f76f410", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "283f30c2916d9f530a753f97ff98d2b34376acb4a6ab1ff3a7c898584f76f410", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "283f30c2916d9f530a753f97ff98d2b34376acb4a6ab1ff3a7c898584f76f410", kill_on_drop: false }` [INFO] [stdout] 283f30c2916d9f530a753f97ff98d2b34376acb4a6ab1ff3a7c898584f76f410 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 3a8b5df31252e3d82288ae14c6f760653c183f98b9030da60dc86ca4d0092065 [INFO] running `Command { std: "docker" "start" "-a" "3a8b5df31252e3d82288ae14c6f760653c183f98b9030da60dc86ca4d0092065", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.172 [INFO] [stderr] Compiling proc-macro2 v1.0.95 [INFO] [stderr] Compiling unicode-ident v1.0.18 [INFO] [stderr] Compiling autocfg v1.4.0 [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling zerocopy v0.8.25 [INFO] [stderr] Checking memchr v2.7.4 [INFO] [stderr] Checking stable_deref_trait v1.2.0 [INFO] [stderr] Checking smallvec v1.15.0 [INFO] [stderr] Checking pin-project-lite v0.2.16 [INFO] [stderr] Checking futures-core v0.3.31 [INFO] [stderr] Compiling version_check v0.9.5 [INFO] [stderr] Checking scopeguard v1.2.0 [INFO] [stderr] Compiling lock_api v0.4.12 [INFO] [stderr] Compiling slotmap v1.0.7 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling slab v0.4.9 [INFO] [stderr] Checking futures-sink v0.3.31 [INFO] [stderr] Compiling getrandom v0.3.2 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Compiling parking_lot_core v0.9.10 [INFO] [stderr] Checking crossbeam-epoch v0.9.18 [INFO] [stderr] Compiling jobserver v0.1.33 [INFO] [stderr] Checking once_cell v1.21.3 [INFO] [stderr] Checking static_assertions v1.1.0 [INFO] [stderr] Compiling syn v2.0.101 [INFO] [stderr] Checking litemap v0.7.5 [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Checking writeable v0.5.5 [INFO] [stderr] Compiling shlex v1.3.0 [INFO] [stderr] Checking log v0.4.27 [INFO] [stderr] Checking getrandom v0.2.16 [INFO] [stderr] Compiling icu_locid_transform_data v1.5.1 [INFO] [stderr] Compiling cc v1.2.20 [INFO] [stderr] Checking fxhash v0.2.1 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking pi_slot_deque v0.2.1 [INFO] [stderr] Checking crossbeam-deque v0.8.6 [INFO] [stderr] Checking futures-channel v0.3.31 [INFO] [stderr] Checking futures-io v0.3.31 [INFO] [stderr] Compiling icu_properties_data v1.5.1 [INFO] [stderr] Checking pin-utils v0.1.0 [INFO] [stderr] Checking futures-task v0.3.31 [INFO] [stderr] Compiling object v0.36.7 [INFO] [stderr] Checking rand_core v0.9.3 [INFO] [stderr] Checking adler2 v2.0.0 [INFO] [stderr] Checking lazy_static v1.5.0 [INFO] [stderr] Checking gimli v0.31.1 [INFO] [stderr] Compiling icu_normalizer_data v1.5.1 [INFO] [stderr] Checking pi_ext_heap v0.1.1 [INFO] [stderr] Checking bitflags v2.9.0 [INFO] [stderr] Checking raw-cpuid v11.5.0 [INFO] [stderr] Checking miniz_oxide v0.8.8 [INFO] [stderr] Checking pi_slot_wheel v0.2.0 [INFO] [stderr] Checking nanorand v0.7.0 [INFO] [stderr] Checking spin v0.9.8 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Checking ppv-lite86 v0.2.21 [INFO] [stderr] Compiling rayon-core v1.12.1 [INFO] [stderr] Checking rustc-demangle v0.1.24 [INFO] [stderr] Checking pi_wheel v0.1.0 [INFO] [stderr] Checking pi_timer v0.1.0 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand_chacha v0.9.0 [INFO] [stderr] Checking flume v0.11.1 [INFO] [stderr] Checking rand v0.9.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking pi_cancel_timer v0.2.0 [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Checking parking_lot v0.12.3 [INFO] [stderr] Checking num_cpus v1.16.0 [INFO] [stderr] Checking st3 v0.4.1 [INFO] [stderr] Checking crossbeam-channel v0.5.15 [INFO] [stderr] Checking crossbeam-queue v0.3.12 [INFO] [stderr] Checking concurrent-queue v2.5.0 [INFO] [stderr] Checking twox-hash v1.6.3 [INFO] [stderr] Checking quanta v0.12.5 [INFO] [stderr] Checking utf8_iter v1.0.4 [INFO] [stderr] Checking parking v2.2.1 [INFO] [stderr] Checking utf16_iter v1.0.5 [INFO] [stderr] Checking pi_null v0.1.11 [INFO] [stderr] Checking pi_wrr v0.1.1 [INFO] [stderr] Checking write16 v1.0.0 [INFO] [stderr] Checking event-listener v5.4.0 [INFO] [stderr] Checking pi_share v0.5.2 [INFO] [stderr] Checking num-bigint v0.4.6 [INFO] [stderr] Checking pi_hash v0.1.1 [INFO] [stderr] Checking bytes v1.10.1 [INFO] [stderr] Checking either v1.15.0 [INFO] [stderr] Checking addr2line v0.24.2 [INFO] [stderr] Checking hashbrown v0.14.5 [INFO] [stderr] Checking event-listener-strategy v0.5.4 [INFO] [stderr] Compiling lzzzz v1.0.5 [INFO] [stderr] Compiling lz4-sys v1.11.1+lz4-1.10.0 [INFO] [stderr] Checking rayon v1.10.0 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Checking pi_print_any v0.1.2 [INFO] [stderr] Checking percent-encoding v2.3.1 [INFO] [stderr] Checking regex-syntax v0.8.5 [INFO] [stderr] Checking dashmap v6.1.0 [INFO] [stderr] Compiling fastcmp v1.0.1 [INFO] [stderr] Checking smol_str v0.2.2 [INFO] [stderr] Compiling thiserror v2.0.12 [INFO] [stderr] Checking form_urlencoded v1.2.1 [INFO] [stderr] Checking pi_cache v0.4.3 [INFO] [stderr] Checking pi_bon v0.3.0 [INFO] [stderr] Checking pi_futures v0.1.0 [INFO] [stderr] Checking crc-catalog v2.4.0 [INFO] [stderr] Compiling redb v2.2.0 [INFO] [stderr] Checking normpath v1.3.0 [INFO] [stderr] Checking crc v3.2.1 [INFO] [stderr] Checking async-lock v3.4.0 [INFO] [stderr] Checking regex-automata v0.4.9 [INFO] [stderr] Compiling synstructure v0.13.1 [INFO] [stderr] Checking backtrace v0.3.74 [INFO] [stderr] Checking async-channel v2.3.1 [INFO] [stderr] Checking zigzag v0.1.0 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking fs2 v0.4.3 [INFO] [stderr] Checking crc32fast v1.4.2 [INFO] [stderr] Checking humantime v2.2.0 [INFO] [stderr] Checking data-encoding v2.9.0 [INFO] [stderr] Checking unsigned-varint v0.8.0 [INFO] [stderr] Checking linked-hash-map v0.5.6 [INFO] [stderr] Checking termcolor v1.4.1 [INFO] [stderr] Checking sysinfo v0.29.11 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.7.5 [INFO] [stderr] Compiling zerovec-derive v0.10.3 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling icu_provider_macros v1.5.0 [INFO] [stderr] Compiling ctor v0.2.9 [INFO] [stderr] Compiling async-stream-impl v0.3.6 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Checking futures-util v0.3.31 [INFO] [stderr] Checking pi_time v0.3.4 [INFO] [stderr] Checking zerofrom v0.1.6 [INFO] [stderr] Checking pi_guid v0.1.3 [INFO] [stderr] Checking yoke v0.7.5 [INFO] [stderr] Checking pi_time v0.5.1 [INFO] [stderr] Checking async-stream v0.3.6 [INFO] [stderr] Checking zerovec v0.10.4 [INFO] [stderr] Compiling thiserror-impl v2.0.12 [INFO] [stderr] Checking regex v1.11.1 [INFO] [stderr] Checking env_logger v0.9.3 [INFO] [stderr] Checking tinystr v0.7.6 [INFO] [stderr] Checking icu_collections v1.5.0 [INFO] [stderr] Checking icu_locid v1.5.0 [INFO] [stderr] Checking persy v1.6.0 [INFO] [stderr] Checking icu_provider v1.5.0 [INFO] [stderr] Checking icu_locid_transform v1.5.0 [INFO] [stderr] Checking icu_properties v1.5.1 [INFO] [stderr] Checking futures-executor v0.3.31 [INFO] [stderr] Checking futures v0.3.31 [INFO] [stderr] Checking pi-async-rt v0.2.5 [INFO] [stderr] Checking pi_async_file v0.7.0 [INFO] [stderr] Checking icu_normalizer v1.5.0 [INFO] [stderr] Checking idna_adapter v1.2.0 [INFO] [stderr] Checking idna v1.0.3 [INFO] [stderr] Checking url v2.5.4 [INFO] [stderr] Checking pi_atom v0.6.1 [INFO] [stderr] Checking pi_assets v0.15.1 [INFO] [stderr] Checking pi_async_transaction v0.10.0 [INFO] [stderr] Checking pi_store v0.8.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/free_lock/b_plus_tree.rs:382:32 [INFO] [stdout] | [INFO] [stdout] 382 | return Err((key)); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 382 - return Err((key)); [INFO] [stdout] 382 + return Err(key); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/log_store/log_file.rs:803:29 [INFO] [stdout] | [INFO] [stdout] 803 | let waits = (&mut *mutex); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 803 - let waits = (&mut *mutex); [INFO] [stdout] 803 + let waits = &mut *mutex; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/log_store/log_file.rs:826:37 [INFO] [stdout] | [INFO] [stdout] 826 | let waits = (&mut *mutex); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 826 - let waits = (&mut *mutex); [INFO] [stdout] 826 + let waits = &mut *mutex; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/log_store/log_file.rs:845:37 [INFO] [stdout] | [INFO] [stdout] 845 | let waits = (&mut *mutex); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 845 - let waits = (&mut *mutex); [INFO] [stdout] 845 + let waits = &mut *mutex; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Buf` [INFO] [stdout] --> src/vpm/mod.rs:9:13 [INFO] [stdout] | [INFO] [stdout] 9 | use bytes::{Buf, BufMut}; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BytesMut` [INFO] [stdout] --> src/vpm/page_manager.rs:14:26 [INFO] [stdout] | [INFO] [stdout] 14 | use bytes::{Buf, BufMut, BytesMut}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `VIRTUAL_PAGE_MANAGER_DEVICES_INDEX` and `VirtualPageTableIteratorItem` [INFO] [stdout] --> src/vpm/page_manager.rs:21:30 [INFO] [stdout] | [INFO] [stdout] 21 | ...E, VIRTUAL_PAGE_MANAGER_DEVICES_INDEX, VirtualPageWriteDelta, VirtualPageBuf, PageId, VirtualPageWriteCmd, WriteIndex, VirtualPageEncoding, DefaultVirtualPageEncoder, page_cache::{VirtualPageLFUCache, VirtualPageLFUCacheDirtyIterator}, page_table::{VirtualPageTable, VirtualPageTableIteratorItem}, ... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `map_first_last` has been stable since 1.66.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/lib.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | #![feature(map_first_last)] [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/log_store/log_file.rs:539:13 [INFO] [stdout] | [INFO] [stdout] 539 | let mut offset = None; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/log_store/log_file.rs:568:18 [INFO] [stdout] | [INFO] [stdout] 568 | Some(mut i) => { [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/log_store/log_file.rs:609:13 [INFO] [stdout] | [INFO] [stdout] 609 | let mut offset = None; [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/log_store/log_file.rs:632:21 [INFO] [stdout] | [INFO] [stdout] 632 | if let Some(mut i) = log_index { [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/log_store/log_file.rs:704:21 [INFO] [stdout] | [INFO] [stdout] 704 | if let Some(mut i) = log_index { [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `commit_block` is never read [INFO] [stdout] --> src/log_store/log_file.rs:749:17 [INFO] [stdout] | [INFO] [stdout] 749 | let mut commit_block = None; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/log_store/log_file.rs:1145:31 [INFO] [stdout] | [INFO] [stdout] 1145 | ... mut remove_paths: Vec, [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/vpm/page_manager.rs:231:24 [INFO] [stdout] | [INFO] [stdout] 231 | pub async fn build(mut self) -> VirtualPageManager { [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/vpm/page_manager.rs:862:32 [INFO] [stdout] | [INFO] [stdout] 862 | ... mut cmd: VirtualPageWriteCmd, [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/vpm/page_manager.rs:1531:9 [INFO] [stdout] | [INFO] [stdout] 1531 | let mut locked = write_cmd_buffer [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/commit_logger.rs:132:24 [INFO] [stdout] | [INFO] [stdout] 132 | pub async fn build(mut self) -> Result { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Read` [INFO] [stdout] --> src/vpm/page_manager.rs:7:41 [INFO] [stdout] | [INFO] [stdout] 7 | use std::io::{Error, Result, ErrorKind, Read}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Buf` [INFO] [stdout] --> src/vpm/page_cache.rs:7:13 [INFO] [stdout] | [INFO] [stdout] 7 | use bytes::{Buf, BufMut}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> src/free_lock/b_plus_tree.rs:364:26 [INFO] [stdout] | [INFO] [stdout] 364 | key: K, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/free_lock/b_plus_tree.rs:365:26 [INFO] [stdout] | [INFO] [stdout] 365 | value: V, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `timeout` [INFO] [stdout] --> src/free_lock/b_plus_tree.rs:366:26 [INFO] [stdout] | [INFO] [stdout] 366 | timeout: Option) -> Result, (K, V)> { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeout` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> src/free_lock/b_plus_tree.rs:464:26 [INFO] [stdout] | [INFO] [stdout] 464 | key: K, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `timeout` [INFO] [stdout] --> src/free_lock/b_plus_tree.rs:465:26 [INFO] [stdout] | [INFO] [stdout] 465 | timeout: Option) -> Result, (K, V)> { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeout` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `current_raw` is never read [INFO] [stdout] --> src/free_lock/b_plus_tree.rs:692:13 [INFO] [stdout] | [INFO] [stdout] 692 | current_raw = current.load(AtomicOrdering::Acquire); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/free_lock/b_plus_tree.rs:853:9 [INFO] [stdout] | [INFO] [stdout] 853 | let mut index = node.index(key); [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/free_lock/b_plus_tree.rs:935:43 [INFO] [stdout] | [INFO] [stdout] 935 | while let Some((Node::NonLeaf(mut non_leaf), _)) = stack.pop() { [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/free_lock/b_plus_tree.rs:979:25 [INFO] [stdout] | [INFO] [stdout] 979 | mut leaf: Arc>) -> Arc> [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/free_lock/b_plus_tree.rs:1054:29 [INFO] [stdout] | [INFO] [stdout] 1054 | ... mut non_leaf: Arc>) -> Arc> [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `superior_child_index` [INFO] [stdout] --> src/free_lock/b_plus_tree.rs:1192:62 [INFO] [stdout] | [INFO] [stdout] 1192 | while let Some((Node::NonLeaf(mut non_leaf), superior_child_index)) = nodes.pop() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_superior_child_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/free_lock/b_plus_tree.rs:1192:47 [INFO] [stdout] | [INFO] [stdout] 1192 | while let Some((Node::NonLeaf(mut non_leaf), superior_child_index)) = nodes.pop() { [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/free_lock/b_plus_tree.rs:1230:25 [INFO] [stdout] | [INFO] [stdout] 1230 | mut leaf: Arc>, [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/free_lock/b_plus_tree.rs:1424:29 [INFO] [stdout] | [INFO] [stdout] 1424 | ... mut non_leaf: Arc>, [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/free_lock/b_plus_tree.rs:1439:27 [INFO] [stdout] | [INFO] [stdout] 1439 | if let (Node::NonLeaf(mut superior_non_leaf), superior_child_index) = stack.pop().unwrap() { [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/log_store/log_file.rs:869:41 [INFO] [stdout] | [INFO] [stdout] 819 | unsafe { [INFO] [stdout] | ------ because it's nested under this `unsafe` block [INFO] [stdout] ... [INFO] [stdout] 869 | unsafe { [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/log_store/log_file.rs:1029:28 [INFO] [stdout] | [INFO] [stdout] 1029 | let readable_len = unsafe { (&*readable_box).len() }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/log_store/log_file.rs:1038:34 [INFO] [stdout] | [INFO] [stdout] 1038 | let last_readable_path = unsafe { &(&*readable_box)[readable_len - 1] }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `time` [INFO] [stdout] --> src/vpm/page_cache.rs:458:105 [INFO] [stdout] | [INFO] [stdout] 458 | ... |keys: &mut Vec, key: &u128, val: &SharedPageBuffer, time: u64| { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_time` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/devices/simple_device.rs:141:31 [INFO] [stdout] | [INFO] [stdout] 141 | fn put(&mut self, mut src: T) { [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `location` [INFO] [stdout] --> src/devices/simple_device.rs:237:24 [INFO] [stdout] | [INFO] [stdout] 237 | fn is_freed(&self, location: &BlockLocation) -> bool { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_location` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `location` [INFO] [stdout] --> src/devices/simple_device.rs:261:26 [INFO] [stdout] | [INFO] [stdout] 261 | fn block_size(&self, location: &BlockLocation) -> usize { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_location` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/devices/simple_device.rs:444:17 [INFO] [stdout] | [INFO] [stdout] 444 | let mut hasher = Hasher::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/commit_logger.rs:229:13 [INFO] [stdout] | [INFO] [stdout] 229 | let mut logger = self.clone(); [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/commit_logger.rs:350:17 [INFO] [stdout] | [INFO] [stdout] 350 | let mut only_read_paths = commit_logger.0.file.all_readable_path(); [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/commit_logger.rs:317:34 [INFO] [stdout] | [INFO] [stdout] 317 | fn start_replay(&self, mut callback: Arc) -> BoxFuture<'static, Result<(usize, usize)>> [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/commit_logger.rs:617:17 [INFO] [stdout] | [INFO] [stdout] 617 | let mut only_read_paths = commit_logger.0.file.all_readable_path(); [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/commit_logger.rs:577:38 [INFO] [stdout] | [INFO] [stdout] 577 | fn start_replay_ext(&self, mut callback: Arc) [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_non_leaf` and `into_non_leaf` are never used [INFO] [stdout] --> src/free_lock/b_plus_tree.rs:1752:8 [INFO] [stdout] | [INFO] [stdout] 1736 | / impl< [INFO] [stdout] 1737 | | K: Ord + Debug + Clone + Send + 'static, [INFO] [stdout] 1738 | | V: Debug + Clone + Send + 'static, [INFO] [stdout] 1739 | | > Node { [INFO] [stdout] | |____________- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 1752 | fn is_non_leaf(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1807 | fn into_non_leaf(self) -> Option>> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `page` is never read [INFO] [stdout] --> src/free_lock/b_plus_tree.rs:1824:5 [INFO] [stdout] | [INFO] [stdout] 1818 | struct Leaf< [INFO] [stdout] | ---- field in this struct [INFO] [stdout] ... [INFO] [stdout] 1824 | page: Option, //叶节点的逻辑页,非空表示叶节点需要持久化 [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Leaf` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `prev` and `next` are never read [INFO] [stdout] --> src/free_lock/b_plus_tree.rs:2033:5 [INFO] [stdout] | [INFO] [stdout] 2032 | struct LogicChildPage { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 2033 | prev: PageId, //前趋逻辑页唯一id [INFO] [stdout] | ^^^^ [INFO] [stdout] 2034 | next: PageId, //后继逻辑页唯一id [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LogicChildPage` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `min_key` and `max_key` are never used [INFO] [stdout] --> src/free_lock/b_plus_tree.rs:2095:8 [INFO] [stdout] | [INFO] [stdout] 2047 | / impl< [INFO] [stdout] 2048 | | K: Ord + Debug + Clone + Send + 'static, [INFO] [stdout] 2049 | | V: Debug + Clone + Send + 'static, [INFO] [stdout] 2050 | | > NonLeaf { [INFO] [stdout] | |_______________- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 2095 | fn min_key<'a>(&'a self) -> Option<&'a K> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2105 | fn max_key<'a>(&'a self) -> Option<&'a K> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `page` and `childs` are never read [INFO] [stdout] --> src/free_lock/b_plus_tree.rs:2247:5 [INFO] [stdout] | [INFO] [stdout] 2240 | struct KeyChildPair< [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] ... [INFO] [stdout] 2247 | page: Option, //非叶节点的逻辑页,非空表示非叶节点需要持久化 [INFO] [stdout] | ^^^^ [INFO] [stdout] 2248 | childs: Option, //非叶节点的逻辑子节点叶 [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `KeyChildPair` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `root` is never read [INFO] [stdout] --> src/free_lock/b_plus_tree.rs:2320:5 [INFO] [stdout] | [INFO] [stdout] 2315 | pub struct KeyRefGuard< [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 2320 | root: Arc>, //根节点的共享引用 [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `root` is never read [INFO] [stdout] --> src/free_lock/b_plus_tree.rs:2344:5 [INFO] [stdout] | [INFO] [stdout] 2339 | pub struct ValueRefGuard< [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 2344 | root: Arc>, //根节点的共享引用 [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `root` is never read [INFO] [stdout] --> src/free_lock/b_plus_tree.rs:2416:5 [INFO] [stdout] | [INFO] [stdout] 2411 | pub struct KeyAscendingIterator< [INFO] [stdout] | -------------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 2416 | root: Arc>, //根节点的共享引用 [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `root` is never read [INFO] [stdout] --> src/free_lock/b_plus_tree.rs:2628:5 [INFO] [stdout] | [INFO] [stdout] 2623 | pub struct KeyDescendingIterator< [INFO] [stdout] | --------------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 2628 | root: Arc>, //根节点的共享引用 [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `root` is never read [INFO] [stdout] --> src/free_lock/b_plus_tree.rs:2893:5 [INFO] [stdout] | [INFO] [stdout] 2888 | pub struct KVPairAscendingIterator< [INFO] [stdout] | ----------------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 2893 | root: Arc>, //根节点的共享引用 [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `root` is never read [INFO] [stdout] --> src/free_lock/b_plus_tree.rs:3103:5 [INFO] [stdout] | [INFO] [stdout] 3098 | pub struct KVPairDescendingIterator< [INFO] [stdout] | ------------------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 3103 | root: Arc>, //根节点的共享引用 [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `root` is never read [INFO] [stdout] --> src/free_lock/b_plus_tree.rs:3369:5 [INFO] [stdout] | [INFO] [stdout] 3364 | pub struct ManualCommit< [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 3369 | root: Arc>, //根节点的共享引用 [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/free_lock/b_plus_tree.rs:3388:8 [INFO] [stdout] | [INFO] [stdout] 3383 | / impl< [INFO] [stdout] 3384 | | K: Ord + Debug + Clone + Send + 'static, [INFO] [stdout] 3385 | | V: Debug + Clone + Send + 'static, [INFO] [stdout] 3386 | | > ManualCommit { [INFO] [stdout] | |____________________- associated function in this implementation [INFO] [stdout] 3387 | // 构建手动提交对树的修改 [INFO] [stdout] 3388 | fn new(tree: CowBtreeMap, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_MERGE_LOG_BUF_SIZE` is never used [INFO] [stdout] --> src/log_store/log_file.rs:86:7 [INFO] [stdout] | [INFO] [stdout] 86 | const DEFAULT_MERGE_LOG_BUF_SIZE: usize = 1024; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_old` is never used [INFO] [stdout] --> src/log_store/log_file.rs:1470:4 [INFO] [stdout] | [INFO] [stdout] 1470 | fn is_old>(path: P) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_collectable` is never used [INFO] [stdout] --> src/log_store/log_file.rs:1482:4 [INFO] [stdout] | [INFO] [stdout] 1482 | fn is_collectable>(path: P) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `VIRTUAL_PAGE_MANAGER_DEVICES_INDEX` is never used [INFO] [stdout] --> src/vpm/mod.rs:27:7 [INFO] [stdout] | [INFO] [stdout] 27 | const VIRTUAL_PAGE_MANAGER_DEVICES_INDEX: u32 = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RESERVED_MIN_PAGE_UID` is never used [INFO] [stdout] --> src/vpm/page_manager.rs:34:7 [INFO] [stdout] | [INFO] [stdout] 34 | const RESERVED_MIN_PAGE_UID: PageId = PageId(EMPTY_PAGE); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RESERVED_MAX_PAGE_UID` is never used [INFO] [stdout] --> src/vpm/page_manager.rs:41:7 [INFO] [stdout] | [INFO] [stdout] 41 | const RESERVED_MAX_PAGE_UID: PageId = PageId(u64::MAX as u128); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_PAGE_DELTAS_SIZE_LIMIT` is never used [INFO] [stdout] --> src/vpm/page_manager.rs:76:7 [INFO] [stdout] | [INFO] [stdout] 76 | const DEFAULT_PAGE_DELTAS_SIZE_LIMIT: usize = 4096; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `rt` is never read [INFO] [stdout] --> src/vpm/page_pool.rs:332:5 [INFO] [stdout] | [INFO] [stdout] 323 | struct InnerVirtualPageBufPool< [INFO] [stdout] | ----------------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 332 | rt: MultiTaskRuntime<()>, //运行时 [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `rt` is never read [INFO] [stdout] --> src/vpm/page_table.rs:566:5 [INFO] [stdout] | [INFO] [stdout] 565 | struct InnerVirtualPageTable { [INFO] [stdout] | --------------------- field in this struct [INFO] [stdout] 566 | rt: MultiTaskRuntime<()>, //异步运行时 [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/devices/mod.rs:166:5 [INFO] [stdout] | [INFO] [stdout] 165 | pub struct DeviceStatistics { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] 166 | alloc_blocks: u128, //累计分配块数量 [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 167 | alloc_bytes: u128, //累计分配大小,单位B [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 168 | free_blocks: u128, //累计释放块数量 [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 169 | free_bytes: u128, //累计释放大小,单位B [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 170 | blocks_in: u128, //累计输入块数量 [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 171 | blocks_out: u128, //累计输出块数量 [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 172 | bytes_in: u128, //累计输入大小,单位B [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 173 | bytes_out: u128, //累计输出大小,单位B [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 174 | time: u128, //块设备本次运行时长,单位ms [INFO] [stdout] | ^^^^ [INFO] [stdout] 175 | slow_alloc_count: Option, //块设备慢分配次数 [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 176 | slow_free_count: Option, //块设备慢释放次数 [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 177 | slow_in_count: Option, //块设备慢输入次数 [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 178 | slow_out_count: Option, //块设备慢输出次数 [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 179 | min_alloc_bytes: Option, //最小分配大小,单位B [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 180 | max_alloc_bytes: Option, //最大分配大小,单位B [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 181 | min_alloc_time: Option, //最小分配时长,单位ms [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 182 | max_alloc_time: Option, //最大分配时长,单位ms [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 183 | min_free_time: Option, //最小释放时长,单位ms [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 184 | max_free_time: Option, //最大释放时长,单位ms [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 185 | min_in_time: Option, //最小输入时长,单位ms [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 186 | max_in_time: Option, //最大输入时长,单位ms [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 187 | min_out_time: Option, //最小输出时长,单位ms [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 188 | max_out_time: Option, //最大输出时长,单位ms [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 189 | soft_faults: Option, //软故障次数 [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 190 | hard_faults: Option, //硬故障次数 [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/free_lock/b_plus_tree.rs:87:13 [INFO] [stdout] | [INFO] [stdout] 87 | map.upsert(key, value, None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 87 | let _ = map.upsert(key, value, None); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a value that implements `Copy` does nothing [INFO] [stdout] --> src/free_lock/b_plus_tree.rs:771:17 [INFO] [stdout] | [INFO] [stdout] 771 | drop(writable); //避免无法释放 [INFO] [stdout] | ^^^^^--------^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `bool` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dropping_copy_types)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 771 - drop(writable); //避免无法释放 [INFO] [stdout] 771 + let _ = writable; //避免无法释放 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a value that implements `Copy` does nothing [INFO] [stdout] --> src/free_lock/b_plus_tree.rs:791:17 [INFO] [stdout] | [INFO] [stdout] 791 | drop(writable); //避免无法释放 [INFO] [stdout] | ^^^^^--------^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `bool` [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 791 - drop(writable); //避免无法释放 [INFO] [stdout] 791 + let _ = writable; //避免无法释放 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing [INFO] [stdout] --> src/free_lock/b_plus_tree.rs:992:5 [INFO] [stdout] | [INFO] [stdout] 992 | drop(leaf_mut); //对当前叶节点的修改已完成,则立即释放当前叶节点的可写引用 [INFO] [stdout] | ^^^^^--------^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `&mut Leaf` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dropping_references)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 992 - drop(leaf_mut); //对当前叶节点的修改已完成,则立即释放当前叶节点的可写引用 [INFO] [stdout] 992 + let _ = leaf_mut; //对当前叶节点的修改已完成,则立即释放当前叶节点的可写引用 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing [INFO] [stdout] --> src/free_lock/b_plus_tree.rs:1069:5 [INFO] [stdout] | [INFO] [stdout] 1069 | drop(non_leaf_mut); //对当前非叶节点的修改已完成,则立即释放当前非叶节点的可写引用 [INFO] [stdout] | ^^^^^------------^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `&mut NonLeaf` [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 1069 - drop(non_leaf_mut); //对当前非叶节点的修改已完成,则立即释放当前非叶节点的可写引用 [INFO] [stdout] 1069 + let _ = non_leaf_mut; //对当前非叶节点的修改已完成,则立即释放当前非叶节点的可写引用 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Box::::into_raw` that must be used [INFO] [stdout] --> src/log_store/log_file.rs:397:9 [INFO] [stdout] | [INFO] [stdout] 397 | Box::into_raw(writable); //避免提前释放 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: losing the pointer will leak memory [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 397 | let _ = Box::into_raw(writable); //避免提前释放 [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Box::::into_raw` that must be used [INFO] [stdout] --> src/log_store/log_file.rs:557:9 [INFO] [stdout] | [INFO] [stdout] 557 | Box::into_raw(readable_box); //避免被提前释放 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: losing the pointer will leak memory [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 557 | let _ = Box::into_raw(readable_box); //避免被提前释放 [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Box::::into_raw` that must be used [INFO] [stdout] --> src/log_store/log_file.rs:629:9 [INFO] [stdout] | [INFO] [stdout] 629 | Box::into_raw(readable_box); //避免被提前释放 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: losing the pointer will leak memory [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 629 | let _ = Box::into_raw(readable_box); //避免被提前释放 [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Box::::into_raw` that must be used [INFO] [stdout] --> src/log_store/log_file.rs:701:9 [INFO] [stdout] | [INFO] [stdout] 701 | Box::into_raw(readable_box); //避免被提前释放 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: losing the pointer will leak memory [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 701 | let _ = Box::into_raw(readable_box); //避免被提前释放 [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Box::::into_raw` that must be used [INFO] [stdout] --> src/log_store/log_file.rs:833:25 [INFO] [stdout] | [INFO] [stdout] 833 | Box::into_raw(async_file); //避免被释放 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: losing the pointer will leak memory [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 833 | let _ = Box::into_raw(async_file); //避免被释放 [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Box::::into_raw` that must be used [INFO] [stdout] --> src/log_store/log_file.rs:863:41 [INFO] [stdout] | [INFO] [stdout] 863 | ... Box::into_raw(async_file); //避免释放可写文件 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: losing the pointer will leak memory [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 863 | let _ = Box::into_raw(async_file); //避免释放可写文件 [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Box::::into_raw` that must be used [INFO] [stdout] --> src/log_store/log_file.rs:887:25 [INFO] [stdout] | [INFO] [stdout] 887 | Box::into_raw(async_file); //避免释放可写文件 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: losing the pointer will leak memory [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 887 | let _ = Box::into_raw(async_file); //避免释放可写文件 [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/log_store/log_file.rs:903:25 [INFO] [stdout] | [INFO] [stdout] 903 | pub fn delay_commit(&self, [INFO] [stdout] | ^^^^^ the lifetime is elided here [INFO] [stdout] ... [INFO] [stdout] 906 | timeout: usize) -> BoxFuture> { [INFO] [stdout] | --------------------- the same lifetime is hidden 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] 906 | timeout: usize) -> BoxFuture<'_, Result<()>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Box::::into_raw` that must be used [INFO] [stdout] --> src/log_store/log_file.rs:1032:13 [INFO] [stdout] | [INFO] [stdout] 1032 | Box::into_raw(readable_box); //避免被回收 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: losing the pointer will leak memory [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 1032 | let _ = Box::into_raw(readable_box); //避免被回收 [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Box::::into_raw` that must be used [INFO] [stdout] --> src/log_store/log_file.rs:1040:9 [INFO] [stdout] | [INFO] [stdout] 1040 | Box::into_raw(readable_box); //避免被回收 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: losing the pointer will leak memory [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 1040 | let _ = Box::into_raw(readable_box); //避免被回收 [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Box::::into_raw` that must be used [INFO] [stdout] --> src/log_store/log_file.rs:1133:21 [INFO] [stdout] | [INFO] [stdout] 1133 | Box::into_raw(readable_box); //避免被回收 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: losing the pointer will leak memory [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 1133 | let _ = Box::into_raw(readable_box); //避免被回收 [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Box::::into_raw` that must be used [INFO] [stdout] --> src/log_store/log_file.rs:1302:21 [INFO] [stdout] | [INFO] [stdout] 1302 | Box::into_raw(readable_box); //避免被回收 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: losing the pointer will leak memory [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 1302 | let _ = Box::into_raw(readable_box); //避免被回收 [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Box::::into_raw` that must be used [INFO] [stdout] --> src/log_store/log_file.rs:1594:13 [INFO] [stdout] | [INFO] [stdout] 1594 | Box::into_raw(readable); //避免被回收 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: losing the pointer will leak memory [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 1594 | let _ = Box::into_raw(readable); //避免被回收 [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Box::::into_raw` that must be used [INFO] [stdout] --> src/log_store/log_file.rs:1612:13 [INFO] [stdout] | [INFO] [stdout] 1612 | Box::into_raw(writable); //避免被回收 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: losing the pointer will leak memory [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 1612 | let _ = Box::into_raw(writable); //避免被回收 [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Box::::into_raw` that must be used [INFO] [stdout] --> src/log_store/log_file.rs:1696:13 [INFO] [stdout] | [INFO] [stdout] 1696 | Box::into_raw(readable); //避免被回收 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: losing the pointer will leak memory [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 1696 | let _ = Box::into_raw(readable); //避免被回收 [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Box::::into_raw` that must be used [INFO] [stdout] --> src/log_store/log_file.rs:1714:13 [INFO] [stdout] | [INFO] [stdout] 1714 | Box::into_raw(writable); //避免被回收 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: losing the pointer will leak memory [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 1714 | let _ = Box::into_raw(writable); //避免被回收 [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Box::::into_raw` that must be used [INFO] [stdout] --> src/log_store/log_file.rs:2200:13 [INFO] [stdout] | [INFO] [stdout] 2200 | Box::into_raw(readable); //避免被回收 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: losing the pointer will leak memory [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 2200 | let _ = Box::into_raw(readable); //避免被回收 [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Box::::into_raw` that must be used [INFO] [stdout] --> src/log_store/log_file.rs:2218:13 [INFO] [stdout] | [INFO] [stdout] 2218 | Box::into_raw(writable); //避免被回收 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: losing the pointer will leak memory [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 2218 | let _ = Box::into_raw(writable); //避免被回收 [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/vpm/page_manager.rs:575:9 [INFO] [stdout] | [INFO] [stdout] 575 | / self.0.rt.spawn(async move { [INFO] [stdout] 576 | | loop { [INFO] [stdout] 577 | | manager [INFO] [stdout] 578 | | .0 [INFO] [stdout] ... | [INFO] [stdout] 595 | | }); [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 575 | let _ = self.0.rt.spawn(async move { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Box::::into_raw` that must be used [INFO] [stdout] --> src/vpm/page_table.rs:152:13 [INFO] [stdout] | [INFO] [stdout] 152 | Box::into_raw(iterator); //还未迭代完成,则需要避免迭代器被提前释放 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: losing the pointer will leak memory [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 152 | let _ = Box::into_raw(iterator); //还未迭代完成,则需要避免迭代器被提前释放 [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Box::::into_raw` that must be used [INFO] [stdout] --> src/vpm/page_table.rs:187:13 [INFO] [stdout] | [INFO] [stdout] 187 | Box::into_raw(iterator); //还未迭代完成,则需要避免迭代器被提前释放 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: losing the pointer will leak memory [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 187 | let _ = Box::into_raw(iterator); //还未迭代完成,则需要避免迭代器被提前释放 [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Box::::into_raw` that must be used [INFO] [stdout] --> src/vpm/page_cache.rs:103:9 [INFO] [stdout] | [INFO] [stdout] 103 | Box::into_raw(boxed); //避免提前释放 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: losing the pointer will leak memory [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 103 | let _ = Box::into_raw(boxed); //避免提前释放 [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Box::::into_raw` that must be used [INFO] [stdout] --> src/vpm/page_cache.rs:228:25 [INFO] [stdout] | [INFO] [stdout] 228 | Box::into_raw(boxed); //避免提前释放 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: losing the pointer will leak memory [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 228 | let _ = Box::into_raw(boxed); //避免提前释放 [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Box::::into_raw` that must be used [INFO] [stdout] --> src/vpm/page_cache.rs:231:25 [INFO] [stdout] | [INFO] [stdout] 231 | Box::into_raw(boxed); //避免提前释放 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: losing the pointer will leak memory [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 231 | let _ = Box::into_raw(boxed); //避免提前释放 [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/devices/mod.rs:304:20 [INFO] [stdout] | [INFO] [stdout] 304 | fn alloc_block(&self, size: usize) -> BoxFuture; [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] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 304 | fn alloc_block(&self, size: usize) -> BoxFuture<'_, BlockLocation>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/devices/mod.rs:307:13 [INFO] [stdout] | [INFO] [stdout] 307 | fn read(&self, location: &BlockLocation) -> BoxFuture>; [INFO] [stdout] | ^^^^^ the lifetime is elided here ---------------------------- the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 307 | fn read(&self, location: &BlockLocation) -> BoxFuture<'_, Result>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/devices/mod.rs:310:14 [INFO] [stdout] | [INFO] [stdout] 310 | fn write(&self, [INFO] [stdout] | ^^^^^ the lifetime is elided here [INFO] [stdout] ... [INFO] [stdout] 313 | option: WriteOption) -> BoxFuture>; [INFO] [stdout] | ------------------------ the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 313 | option: WriteOption) -> BoxFuture<'_, Result>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/devices/mod.rs:316:19 [INFO] [stdout] | [INFO] [stdout] 316 | fn free_block(&self, location: &BlockLocation) -> BoxFuture; [INFO] [stdout] | ^^^^^ the lifetime is elided here --------------- the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 316 | fn free_block(&self, location: &BlockLocation) -> BoxFuture<'_, bool>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/devices/mod.rs:319:31 [INFO] [stdout] | [INFO] [stdout] 319 | fn collect_alloced_blocks(&self, alloced: &[BlockLocation]) -> BoxFuture>; [INFO] [stdout] | ^^^^^ the lifetime is elided here ------------------------ the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 319 | fn collect_alloced_blocks(&self, alloced: &[BlockLocation]) -> BoxFuture<'_, Result>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/devices/mod.rs:322:20 [INFO] [stdout] | [INFO] [stdout] 322 | fn blocks_iter(&self) [INFO] [stdout] | ^^^^^ the lifetime is elided here [INFO] [stdout] 323 | -> BoxFuture>>>; [INFO] [stdout] | --------------------------------------------------------------------- the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 323 | -> BoxFuture<'_, Option>>>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/devices/mod.rs:329:18 [INFO] [stdout] | [INFO] [stdout] 329 | fn on_commit(&self) -> BoxFuture>>; [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] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 329 | fn on_commit(&self) -> BoxFuture<'_, Result>>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/devices/simple_device.rs:314:20 [INFO] [stdout] | [INFO] [stdout] 314 | fn alloc_block(&self, size: usize) -> BoxFuture { [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] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 314 | fn alloc_block(&self, size: usize) -> BoxFuture<'_, BlockLocation> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/devices/simple_device.rs:383:13 [INFO] [stdout] | [INFO] [stdout] 383 | fn read(&self, location: &BlockLocation) -> BoxFuture> { [INFO] [stdout] | ^^^^^ the lifetime is elided here ---------------------------- the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 383 | fn read(&self, location: &BlockLocation) -> BoxFuture<'_, Result> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/devices/simple_device.rs:418:14 [INFO] [stdout] | [INFO] [stdout] 418 | fn write(&self, [INFO] [stdout] | ^^^^^ the lifetime is elided here [INFO] [stdout] ... [INFO] [stdout] 421 | _option: WriteOption) -> BoxFuture> { [INFO] [stdout] | ------------------------ the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 421 | _option: WriteOption) -> BoxFuture<'_, Result> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/devices/simple_device.rs:466:19 [INFO] [stdout] | [INFO] [stdout] 466 | fn free_block(&self, location: &BlockLocation) -> BoxFuture { [INFO] [stdout] | ^^^^^ the lifetime is elided here --------------- the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 466 | fn free_block(&self, location: &BlockLocation) -> BoxFuture<'_, bool> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/devices/simple_device.rs:479:31 [INFO] [stdout] | [INFO] [stdout] 479 | fn collect_alloced_blocks(&self, alloced: &[BlockLocation]) -> BoxFuture> { [INFO] [stdout] | ^^^^^ the lifetime is elided here ------------------------ the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 479 | fn collect_alloced_blocks(&self, alloced: &[BlockLocation]) -> BoxFuture<'_, Result> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/devices/simple_device.rs:550:20 [INFO] [stdout] | [INFO] [stdout] 550 | fn blocks_iter(&self) [INFO] [stdout] | ^^^^^ the lifetime is elided here [INFO] [stdout] 551 | -> BoxFuture>>> { [INFO] [stdout] | --------------------------------------------------------------------- the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 551 | -> BoxFuture<'_, Option>>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/devices/simple_device.rs:562:18 [INFO] [stdout] | [INFO] [stdout] 562 | fn on_commit(&self) -> BoxFuture>> { [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] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 562 | fn on_commit(&self) -> BoxFuture<'_, Result>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/commit_logger.rs:570:9 [INFO] [stdout] | [INFO] [stdout] 570 | new_check_point(&logger, false).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 570 | let _ = new_check_point(&logger, false).await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/commit_logger.rs:924:9 [INFO] [stdout] | [INFO] [stdout] 924 | (self.callback)(None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 924 | let _ = (self.callback)(None); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking lz4 v1.25.0 [INFO] [stdout] warning: unused import: `std::thread` [INFO] [stdout] --> benches/bench_persy.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::thread; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Instant` [INFO] [stdout] --> benches/bench_persy.rs:7:27 [INFO] [stdout] | [INFO] [stdout] 7 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `bounded` [INFO] [stdout] --> benches/bench_persy.rs:9:36 [INFO] [stdout] | [INFO] [stdout] 9 | use crossbeam_channel::{unbounded, bounded}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Rng` [INFO] [stdout] --> benches/bench_persy.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | use rand::{Rng, SeedableRng, seq::SliceRandom, rngs::SmallRng}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ToSegmentId` [INFO] [stdout] --> benches/bench_persy.rs:11:48 [INFO] [stdout] | [INFO] [stdout] 11 | use persy::{Config, Persy, ValueMode, PersyId, ToSegmentId}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `pi_blocks_allocator` [INFO] [stdout] --> tests/test_vpm.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | use pi_blocks_allocator::device::{BuddyBlocksDeviceBuilder, BuddyBlocksDevice}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `pi_blocks_allocator` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `pi_blocks_allocator`, use `cargo add pi_blocks_allocator` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Binary` and `SimpleDevice` [INFO] [stdout] --> tests/test_vpm.rs:35:41 [INFO] [stdout] | [INFO] [stdout] 35 | devices::simple_device::{Binary, SimpleDevice}}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `error_count` is assigned to, but never used [INFO] [stdout] --> benches/bench_persy.rs:65:17 [INFO] [stdout] | [INFO] [stdout] 65 | let mut error_count = 0; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_error_count` instead [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: future cannot be sent between threads safely [INFO] [stdout] --> benches/bench_persy.rs:44:16 [INFO] [stdout] | [INFO] [stdout] 44 | rt.spawn(async move { [INFO] [stdout] | ^^^^^ future created by async block is not `Send` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Send` is not implemented for `(dyn Any + 'static)` [INFO] [stdout] note: captured value is not `Send` [INFO] [stdout] --> benches/bench_persy.rs:45:33 [INFO] [stdout] | [INFO] [stdout] 45 | if let Ok(id) = tx.insert("test_seg", index.to_le_bytes().as_slice()) { [INFO] [stdout] | ^^ has type `Transaction` which is not `Send` [INFO] [stdout] note: required by a bound in `pi_async_rt::prelude::AsyncRuntime::spawn` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pi-async-rt-0.2.5/src/rt/mod.rs:634:39 [INFO] [stdout] | [INFO] [stdout] 633 | fn spawn(&self, future: F) -> Result [INFO] [stdout] | ----- required by a bound in this associated function [INFO] [stdout] 634 | where F: Future + Send + 'static; [INFO] [stdout] | ^^^^ required by this bound in `AsyncRuntime::spawn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: future cannot be sent between threads safely [INFO] [stdout] --> benches/bench_persy.rs:44:16 [INFO] [stdout] | [INFO] [stdout] 44 | rt.spawn(async move { [INFO] [stdout] | ^^^^^ future created by async block is not `Send` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Send` is not implemented for `(dyn persy::index::dynamic_entries_container::Applier + 'static)` [INFO] [stdout] note: captured value is not `Send` [INFO] [stdout] --> benches/bench_persy.rs:45:33 [INFO] [stdout] | [INFO] [stdout] 45 | if let Ok(id) = tx.insert("test_seg", index.to_le_bytes().as_slice()) { [INFO] [stdout] | ^^ has type `Transaction` which is not `Send` [INFO] [stdout] note: required by a bound in `pi_async_rt::prelude::AsyncRuntime::spawn` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pi-async-rt-0.2.5/src/rt/mod.rs:634:39 [INFO] [stdout] | [INFO] [stdout] 633 | fn spawn(&self, future: F) -> Result [INFO] [stdout] | ----- required by a bound in this associated function [INFO] [stdout] 634 | where F: Future + Send + 'static; [INFO] [stdout] | ^^^^ required by this bound in `AsyncRuntime::spawn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: couldn't read `benches/./input.txt`: No such file or directory (os error 2) [INFO] [stdout] --> benches/test_compress.rs:14:17 [INFO] [stdout] | [INFO] [stdout] 14 | let bytes = include_bytes!("./input.txt").as_slice(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: couldn't read `benches/./input.txt`: No such file or directory (os error 2) [INFO] [stdout] --> benches/test_compress.rs:43:17 [INFO] [stdout] | [INFO] [stdout] 43 | let bytes = include_bytes!("./input.txt").as_slice(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: couldn't read `benches/./input.txt`: No such file or directory (os error 2) [INFO] [stdout] --> benches/test_compress.rs:69:17 [INFO] [stdout] | [INFO] [stdout] 69 | let bytes = include_bytes!("./input.txt").as_slice(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: couldn't read `benches/./input.txt`: No such file or directory (os error 2) [INFO] [stdout] --> benches/test_compress.rs:88:17 [INFO] [stdout] | [INFO] [stdout] 88 | let bytes = include_bytes!("./input.txt").as_slice(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `pi_store` (bench "bench_persy") due to 2 previous errors; 6 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: unused imports: `AsyncRuntimeBuilder` and `AsyncRuntime` [INFO] [stdout] --> benches/bench_any.rs:11:23 [INFO] [stdout] | [INFO] [stdout] 11 | use pi_async_rt::rt::{AsyncRuntime, AsyncRuntimeBuilder}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `pi_blocks_allocator` [INFO] [stdout] --> tests/test_devices.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use pi_blocks_allocator::device::{BuddyBlocksDeviceBuilder, BuddyBlocksDevice}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `pi_blocks_allocator` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `pi_blocks_allocator`, use `cargo add pi_blocks_allocator` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/free_lock/b_plus_tree.rs:382:32 [INFO] [stdout] | [INFO] [stdout] 382 | return Err((key)); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 382 - return Err((key)); [INFO] [stdout] 382 + return Err(key); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/log_store/log_file.rs:803:29 [INFO] [stdout] | [INFO] [stdout] 803 | let waits = (&mut *mutex); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 803 - let waits = (&mut *mutex); [INFO] [stdout] 803 + let waits = &mut *mutex; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/log_store/log_file.rs:826:37 [INFO] [stdout] | [INFO] [stdout] 826 | let waits = (&mut *mutex); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 826 - let waits = (&mut *mutex); [INFO] [stdout] 826 + let waits = &mut *mutex; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/log_store/log_file.rs:845:37 [INFO] [stdout] | [INFO] [stdout] 845 | let waits = (&mut *mutex); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 845 - let waits = (&mut *mutex); [INFO] [stdout] 845 + let waits = &mut *mutex; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Buf` [INFO] [stdout] --> src/vpm/mod.rs:9:13 [INFO] [stdout] | [INFO] [stdout] 9 | use bytes::{Buf, BufMut}; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BytesMut` [INFO] [stdout] --> src/vpm/page_manager.rs:14:26 [INFO] [stdout] | [INFO] [stdout] 14 | use bytes::{Buf, BufMut, BytesMut}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `VIRTUAL_PAGE_MANAGER_DEVICES_INDEX` and `VirtualPageTableIteratorItem` [INFO] [stdout] --> src/vpm/page_manager.rs:21:30 [INFO] [stdout] | [INFO] [stdout] 21 | ...E, VIRTUAL_PAGE_MANAGER_DEVICES_INDEX, VirtualPageWriteDelta, VirtualPageBuf, PageId, VirtualPageWriteCmd, WriteIndex, VirtualPageEncoding, DefaultVirtualPageEncoder, page_cache::{VirtualPageLFUCache, VirtualPageLFUCacheDirtyIterator}, page_table::{VirtualPageTable, VirtualPageTableIteratorItem}, ... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `pi_store` (bench "test_compress") due to 4 previous errors [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> tests/test_devices.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DeviceStatus` [INFO] [stdout] --> tests/test_devices.rs:10:53 [INFO] [stdout] | [INFO] [stdout] 10 | use pi_store::devices::{BlockDevice, BlockLocation, DeviceStatus, simple_device::{Binary, SimpleDevice}}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Duration` [INFO] [stdout] --> tests/test_b_plus_tree.rs:2:17 [INFO] [stdout] | [INFO] [stdout] 2 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `map_first_last` has been stable since 1.66.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/lib.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | #![feature(map_first_last)] [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `StorageBackend` [INFO] [stdout] --> benches/bench_b_plus_tree.rs:9:21 [INFO] [stdout] | [INFO] [stdout] 9 | use redb::{Builder, StorageBackend, TableDefinition, Table, ReadOnlyTable, backends::InMemoryBackend, ReadableTable}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> benches/bench_b_plus_tree.rs:639:9 [INFO] [stdout] | [INFO] [stdout] 639 | join0.join(); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 639 | let _ = join0.join(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> benches/bench_b_plus_tree.rs:640:9 [INFO] [stdout] | [INFO] [stdout] 640 | join1.join(); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 640 | let _ = join1.join(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> benches/bench_b_plus_tree.rs:641:9 [INFO] [stdout] | [INFO] [stdout] 641 | join2.join(); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 641 | let _ = join2.join(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> benches/bench_b_plus_tree.rs:642:9 [INFO] [stdout] | [INFO] [stdout] 642 | join3.join(); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 642 | let _ = join3.join(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/log_store/log_file.rs:539:13 [INFO] [stdout] | [INFO] [stdout] 539 | let mut offset = None; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/log_store/log_file.rs:568:18 [INFO] [stdout] | [INFO] [stdout] 568 | Some(mut i) => { [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/log_store/log_file.rs:609:13 [INFO] [stdout] | [INFO] [stdout] 609 | let mut offset = None; [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/log_store/log_file.rs:632:21 [INFO] [stdout] | [INFO] [stdout] 632 | if let Some(mut i) = log_index { [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/log_store/log_file.rs:704:21 [INFO] [stdout] | [INFO] [stdout] 704 | if let Some(mut i) = log_index { [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `commit_block` is never read [INFO] [stdout] --> src/log_store/log_file.rs:749:17 [INFO] [stdout] | [INFO] [stdout] 749 | let mut commit_block = None; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/log_store/log_file.rs:1145:31 [INFO] [stdout] | [INFO] [stdout] 1145 | ... mut remove_paths: Vec, [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/vpm/page_manager.rs:231:24 [INFO] [stdout] | [INFO] [stdout] 231 | pub async fn build(mut self) -> VirtualPageManager { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ReadableTable` [INFO] [stdout] --> tests/test_b_plus_tree.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | use redb::{ReadableTable, Builder, StorageBackend, TableDefinition, Table, ReadOnlyTable, Durability}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `StorageBackend` [INFO] [stdout] --> tests/test_b_plus_tree.rs:8:36 [INFO] [stdout] | [INFO] [stdout] 8 | use redb::{ReadableTable, Builder, StorageBackend, TableDefinition, Table, ReadOnlyTable, Durability}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/test_b_plus_tree.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 14 | let mut db = Builder::new() [INFO] [stdout] | ----^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/test_b_plus_tree.rs:95:9 [INFO] [stdout] | [INFO] [stdout] 95 | let mut db = Builder::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] --> tests/test_b_plus_tree.rs:119:9 [INFO] [stdout] | [INFO] [stdout] 119 | let mut tr = db.begin_write().unwrap(); //默认Durability::Immediate [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] --> tests/test_b_plus_tree.rs:150:9 [INFO] [stdout] | [INFO] [stdout] 150 | let mut tr = db.begin_write().unwrap(); //默认Durability::Immediate [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] --> tests/test_b_plus_tree.rs:188:9 [INFO] [stdout] | [INFO] [stdout] 188 | let mut tr = db.begin_write().unwrap(); [INFO] [stdout] | ----^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function depends on never type fallback being `()` [INFO] [stdout] --> tests/test_devices.rs:410:1 [INFO] [stdout] | [INFO] [stdout] 410 | fn test_load_buddy_blocks_device_after_crashed() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: specify the types explicitly [INFO] [stdout] note: in edition 2024, the requirement `!: Default` will fail [INFO] [stdout] --> tests/test_devices.rs:413:19 [INFO] [stdout] | [INFO] [stdout] 413 | let builder = MultiTaskRuntimeBuilder::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(dependency_on_unit_never_type_fallback)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/vpm/page_manager.rs:862:32 [INFO] [stdout] | [INFO] [stdout] 862 | ... mut cmd: VirtualPageWriteCmd, [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] --> tests/test_b_plus_tree.rs:592:9 [INFO] [stdout] | [INFO] [stdout] 592 | let mut iterator = map.keys(None, false); [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] --> tests/test_b_plus_tree.rs:618:9 [INFO] [stdout] | [INFO] [stdout] 618 | let mut iterator = map.keys(Some(&0), false); [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] --> tests/test_b_plus_tree.rs:644:9 [INFO] [stdout] | [INFO] [stdout] 644 | let mut iterator = map.keys(Some(&700), false); [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] --> tests/test_b_plus_tree.rs:670:9 [INFO] [stdout] | [INFO] [stdout] 670 | let mut iterator = map.keys(Some(&999), false); [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] --> tests/test_b_plus_tree.rs:698:9 [INFO] [stdout] | [INFO] [stdout] 698 | let mut iterator = map.keys(Some(&-1), false); [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] --> tests/test_b_plus_tree.rs:699:35 [INFO] [stdout] | [INFO] [stdout] 699 | if let KeyIterator::Ascending(mut keys) = iterator { [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] --> tests/test_b_plus_tree.rs:712:9 [INFO] [stdout] | [INFO] [stdout] 712 | let mut iterator = map.keys(Some(&1500), false); [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] --> tests/test_b_plus_tree.rs:713:35 [INFO] [stdout] | [INFO] [stdout] 713 | if let KeyIterator::Ascending(mut keys) = iterator { [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] --> tests/test_b_plus_tree.rs:723:9 [INFO] [stdout] | [INFO] [stdout] 723 | let mut iterator = map.keys(Some(&3000), false); [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] --> tests/test_b_plus_tree.rs:751:9 [INFO] [stdout] | [INFO] [stdout] 751 | let mut iterator = map.keys(None, true); [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] --> tests/test_b_plus_tree.rs:781:9 [INFO] [stdout] | [INFO] [stdout] 781 | let mut iterator = map.keys(Some(&0), true); [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] --> tests/test_b_plus_tree.rs:806:9 [INFO] [stdout] | [INFO] [stdout] 806 | let mut iterator = map.keys(Some(&700), true); [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] --> tests/test_b_plus_tree.rs:836:9 [INFO] [stdout] | [INFO] [stdout] 836 | let mut iterator = map.keys(Some(&999), true); [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] --> tests/test_b_plus_tree.rs:837:36 [INFO] [stdout] | [INFO] [stdout] 837 | if let KeyIterator::Descending(mut keys) = iterator { [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] --> tests/test_b_plus_tree.rs:877:9 [INFO] [stdout] | [INFO] [stdout] 877 | let mut iterator = map.keys(Some(&-1), true); [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] --> tests/test_b_plus_tree.rs:883:9 [INFO] [stdout] | [INFO] [stdout] 883 | let mut iterator = map.keys(Some(&1500), true); [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] --> tests/test_b_plus_tree.rs:884:36 [INFO] [stdout] | [INFO] [stdout] 884 | if let KeyIterator::Descending(mut keys) = iterator { [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] --> tests/test_b_plus_tree.rs:894:9 [INFO] [stdout] | [INFO] [stdout] 894 | let mut iterator = map.keys(Some(&3000), true); [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] --> tests/test_b_plus_tree.rs:895:36 [INFO] [stdout] | [INFO] [stdout] 895 | if let KeyIterator::Descending(mut keys) = iterator { [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] --> tests/test_b_plus_tree.rs:926:9 [INFO] [stdout] | [INFO] [stdout] 926 | let mut iterator = map.values(None, false); [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] --> tests/test_b_plus_tree.rs:953:9 [INFO] [stdout] | [INFO] [stdout] 953 | let mut iterator = map.values(Some(&0), false); [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] --> tests/test_b_plus_tree.rs:981:9 [INFO] [stdout] | [INFO] [stdout] 981 | let mut iterator = map.values(Some(&700), false); [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] --> tests/test_b_plus_tree.rs:1008:9 [INFO] [stdout] | [INFO] [stdout] 1008 | let mut iterator = map.values(Some(&999), false); [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] --> tests/test_b_plus_tree.rs:1036:9 [INFO] [stdout] | [INFO] [stdout] 1036 | let mut iterator = map.values(Some(&-1), false); [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] --> tests/test_b_plus_tree.rs:1037:38 [INFO] [stdout] | [INFO] [stdout] 1037 | if let KVPairIterator::Ascending(mut values) = iterator { [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] --> tests/test_b_plus_tree.rs:1051:9 [INFO] [stdout] | [INFO] [stdout] 1051 | let mut iterator = map.values(Some(&1500), false); [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] --> tests/test_b_plus_tree.rs:1052:38 [INFO] [stdout] | [INFO] [stdout] 1052 | if let KVPairIterator::Ascending(mut values) = iterator { [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] --> tests/test_b_plus_tree.rs:1063:9 [INFO] [stdout] | [INFO] [stdout] 1063 | let mut iterator = map.values(Some(&3000), false); [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] --> tests/test_b_plus_tree.rs:1091:9 [INFO] [stdout] | [INFO] [stdout] 1091 | let mut iterator = map.values(None, true); [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] --> tests/test_b_plus_tree.rs:1122:9 [INFO] [stdout] | [INFO] [stdout] 1122 | let mut iterator = map.values(Some(&0), true); [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] --> tests/test_b_plus_tree.rs:1147:9 [INFO] [stdout] | [INFO] [stdout] 1147 | let mut iterator = map.values(Some(&700), true); [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] --> tests/test_b_plus_tree.rs:1178:9 [INFO] [stdout] | [INFO] [stdout] 1178 | let mut iterator = map.values(Some(&999), true); [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] --> tests/test_b_plus_tree.rs:1179:39 [INFO] [stdout] | [INFO] [stdout] 1179 | if let KVPairIterator::Descending(mut values) = iterator { [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] --> tests/test_b_plus_tree.rs:1220:9 [INFO] [stdout] | [INFO] [stdout] 1220 | let mut iterator = map.values(Some(&-1), true); [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] --> tests/test_b_plus_tree.rs:1226:9 [INFO] [stdout] | [INFO] [stdout] 1226 | let mut iterator = map.values(Some(&1500), true); [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] --> tests/test_b_plus_tree.rs:1227:39 [INFO] [stdout] | [INFO] [stdout] 1227 | if let KVPairIterator::Descending(mut values) = iterator { [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] --> tests/test_b_plus_tree.rs:1238:9 [INFO] [stdout] | [INFO] [stdout] 1238 | let mut iterator = map.values(Some(&3000), true); [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] --> tests/test_b_plus_tree.rs:1239:39 [INFO] [stdout] | [INFO] [stdout] 1239 | if let KVPairIterator::Descending(mut values) = iterator { [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] --> tests/test_b_plus_tree.rs:2679:13 [INFO] [stdout] | [INFO] [stdout] 2679 | let mut iterator = map0.keys(None, false); [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] --> tests/test_b_plus_tree.rs:2692:13 [INFO] [stdout] | [INFO] [stdout] 2692 | let mut iterator = map1.keys(None, false); [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] --> tests/test_b_plus_tree.rs:2705:13 [INFO] [stdout] | [INFO] [stdout] 2705 | let mut iterator = map2.keys(None, false); [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] --> tests/test_b_plus_tree.rs:2718:13 [INFO] [stdout] | [INFO] [stdout] 2718 | let mut iterator = map3.keys(None, false); [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] --> tests/test_b_plus_tree.rs:2741:13 [INFO] [stdout] | [INFO] [stdout] 2741 | let mut iterator = map0.keys(Some(&0), false); [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] --> tests/test_b_plus_tree.rs:2754:13 [INFO] [stdout] | [INFO] [stdout] 2754 | let mut iterator = map1.keys(Some(&0), false); [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] --> tests/test_b_plus_tree.rs:2767:13 [INFO] [stdout] | [INFO] [stdout] 2767 | let mut iterator = map2.keys(Some(&0), false); [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] --> tests/test_b_plus_tree.rs:2780:13 [INFO] [stdout] | [INFO] [stdout] 2780 | let mut iterator = map3.keys(Some(&0), false); [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] --> tests/test_b_plus_tree.rs:2803:13 [INFO] [stdout] | [INFO] [stdout] 2803 | let mut iterator = map0.keys(Some(&1), false); [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] --> tests/test_b_plus_tree.rs:2816:13 [INFO] [stdout] | [INFO] [stdout] 2816 | let mut iterator = map1.keys(Some(&10000), false); [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] --> tests/test_b_plus_tree.rs:2829:13 [INFO] [stdout] | [INFO] [stdout] 2829 | let mut iterator = map2.keys(Some(&90000), false); [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] --> tests/test_b_plus_tree.rs:2842:13 [INFO] [stdout] | [INFO] [stdout] 2842 | let mut iterator = map3.keys(Some(&99999), false); [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] --> tests/test_b_plus_tree.rs:2865:13 [INFO] [stdout] | [INFO] [stdout] 2865 | let mut iterator = map0.keys(Some(&99999), false); [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] --> tests/test_b_plus_tree.rs:2878:13 [INFO] [stdout] | [INFO] [stdout] 2878 | let mut iterator = map1.keys(Some(&99999), false); [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] --> tests/test_b_plus_tree.rs:2891:13 [INFO] [stdout] | [INFO] [stdout] 2891 | let mut iterator = map2.keys(Some(&99999), false); [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] --> tests/test_b_plus_tree.rs:2904:13 [INFO] [stdout] | [INFO] [stdout] 2904 | let mut iterator = map3.keys(Some(&99999), false); [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] --> tests/test_b_plus_tree.rs:2927:13 [INFO] [stdout] | [INFO] [stdout] 2927 | let mut iterator = map0.keys(Some(&-1), false); [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] --> tests/test_b_plus_tree.rs:2940:13 [INFO] [stdout] | [INFO] [stdout] 2940 | let mut iterator = map1.keys(Some(&-1), false); [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] --> tests/test_b_plus_tree.rs:2953:13 [INFO] [stdout] | [INFO] [stdout] 2953 | let mut iterator = map2.keys(Some(&-1), false); [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] --> tests/test_b_plus_tree.rs:2966:13 [INFO] [stdout] | [INFO] [stdout] 2966 | let mut iterator = map3.keys(Some(&-1), false); [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] --> tests/test_b_plus_tree.rs:2989:13 [INFO] [stdout] | [INFO] [stdout] 2989 | let mut iterator = map0.keys(Some(&100000), false); [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] --> tests/test_b_plus_tree.rs:3002:13 [INFO] [stdout] | [INFO] [stdout] 3002 | let mut iterator = map1.keys(Some(&100000), false); [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] --> tests/test_b_plus_tree.rs:3015:13 [INFO] [stdout] | [INFO] [stdout] 3015 | let mut iterator = map2.keys(Some(&100000), false); [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] --> tests/test_b_plus_tree.rs:3028:13 [INFO] [stdout] | [INFO] [stdout] 3028 | let mut iterator = map3.keys(Some(&100000), false); [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] --> tests/test_b_plus_tree.rs:3126:13 [INFO] [stdout] | [INFO] [stdout] 3126 | let mut iterator = map0.keys(None, true); [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] --> tests/test_b_plus_tree.rs:3139:13 [INFO] [stdout] | [INFO] [stdout] 3139 | let mut iterator = map1.keys(None, true); [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] --> tests/test_b_plus_tree.rs:3152:13 [INFO] [stdout] | [INFO] [stdout] 3152 | let mut iterator = map2.keys(None, true); [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] --> tests/test_b_plus_tree.rs:3165:13 [INFO] [stdout] | [INFO] [stdout] 3165 | let mut iterator = map3.keys(None, true); [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] --> tests/test_b_plus_tree.rs:3188:13 [INFO] [stdout] | [INFO] [stdout] 3188 | let mut iterator = map0.keys(Some(&0), true); [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] --> tests/test_b_plus_tree.rs:3201:13 [INFO] [stdout] | [INFO] [stdout] 3201 | let mut iterator = map1.keys(Some(&0), true); [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] --> tests/test_b_plus_tree.rs:3214:13 [INFO] [stdout] | [INFO] [stdout] 3214 | let mut iterator = map2.keys(Some(&0), true); [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] --> tests/test_b_plus_tree.rs:3227:13 [INFO] [stdout] | [INFO] [stdout] 3227 | let mut iterator = map3.keys(Some(&0), true); [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] --> tests/test_b_plus_tree.rs:3250:13 [INFO] [stdout] | [INFO] [stdout] 3250 | let mut iterator = map0.keys(Some(&1), true); [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] --> tests/test_b_plus_tree.rs:3263:13 [INFO] [stdout] | [INFO] [stdout] 3263 | let mut iterator = map1.keys(Some(&10000), true); [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] --> tests/test_b_plus_tree.rs:3276:13 [INFO] [stdout] | [INFO] [stdout] 3276 | let mut iterator = map2.keys(Some(&90000), true); [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] --> tests/test_b_plus_tree.rs:3289:13 [INFO] [stdout] | [INFO] [stdout] 3289 | let mut iterator = map3.keys(Some(&99999), true); [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] --> tests/test_b_plus_tree.rs:3312:13 [INFO] [stdout] | [INFO] [stdout] 3312 | let mut iterator = map0.keys(Some(&99999), true); [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] --> tests/test_b_plus_tree.rs:3325:13 [INFO] [stdout] | [INFO] [stdout] 3325 | let mut iterator = map1.keys(Some(&99999), true); [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] --> tests/test_b_plus_tree.rs:3338:13 [INFO] [stdout] | [INFO] [stdout] 3338 | let mut iterator = map2.keys(Some(&99999), true); [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] --> tests/test_b_plus_tree.rs:3351:13 [INFO] [stdout] | [INFO] [stdout] 3351 | let mut iterator = map3.keys(Some(&99999), true); [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] --> tests/test_b_plus_tree.rs:3374:13 [INFO] [stdout] | [INFO] [stdout] 3374 | let mut iterator = map0.keys(Some(&-1), true); [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] --> tests/test_b_plus_tree.rs:3387:13 [INFO] [stdout] | [INFO] [stdout] 3387 | let mut iterator = map1.keys(Some(&-1), true); [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] --> tests/test_b_plus_tree.rs:3400:13 [INFO] [stdout] | [INFO] [stdout] 3400 | let mut iterator = map2.keys(Some(&-1), true); [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] --> tests/test_b_plus_tree.rs:3413:13 [INFO] [stdout] | [INFO] [stdout] 3413 | let mut iterator = map3.keys(Some(&-1), true); [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] --> tests/test_b_plus_tree.rs:3436:13 [INFO] [stdout] | [INFO] [stdout] 3436 | let mut iterator = map0.keys(Some(&100000), true); [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] --> tests/test_b_plus_tree.rs:3449:13 [INFO] [stdout] | [INFO] [stdout] 3449 | let mut iterator = map1.keys(Some(&100000), true); [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] --> tests/test_b_plus_tree.rs:3462:13 [INFO] [stdout] | [INFO] [stdout] 3462 | let mut iterator = map2.keys(Some(&100000), true); [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] --> tests/test_b_plus_tree.rs:3475:13 [INFO] [stdout] | [INFO] [stdout] 3475 | let mut iterator = map3.keys(Some(&100000), true); [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] --> tests/test_b_plus_tree.rs:3573:13 [INFO] [stdout] | [INFO] [stdout] 3573 | let mut iterator = map0.values(None, false); [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] --> tests/test_b_plus_tree.rs:3587:13 [INFO] [stdout] | [INFO] [stdout] 3587 | let mut iterator = map1.values(None, false); [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] --> tests/test_b_plus_tree.rs:3601:13 [INFO] [stdout] | [INFO] [stdout] 3601 | let mut iterator = map2.values(None, false); [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] --> tests/test_b_plus_tree.rs:3615:13 [INFO] [stdout] | [INFO] [stdout] 3615 | let mut iterator = map3.values(None, false); [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] --> tests/test_b_plus_tree.rs:3639:13 [INFO] [stdout] | [INFO] [stdout] 3639 | let mut iterator = map0.values(Some(&0), false); [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] --> tests/test_b_plus_tree.rs:3653:13 [INFO] [stdout] | [INFO] [stdout] 3653 | let mut iterator = map1.values(Some(&0), false); [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] --> tests/test_b_plus_tree.rs:3667:13 [INFO] [stdout] | [INFO] [stdout] 3667 | let mut iterator = map2.values(Some(&0), false); [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] --> tests/test_b_plus_tree.rs:3681:13 [INFO] [stdout] | [INFO] [stdout] 3681 | let mut iterator = map3.values(Some(&0), false); [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] --> tests/test_b_plus_tree.rs:3705:13 [INFO] [stdout] | [INFO] [stdout] 3705 | let mut iterator = map0.values(Some(&1), false); [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] --> tests/test_b_plus_tree.rs:3719:13 [INFO] [stdout] | [INFO] [stdout] 3719 | let mut iterator = map1.values(Some(&10000), false); [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] --> tests/test_b_plus_tree.rs:3733:13 [INFO] [stdout] | [INFO] [stdout] 3733 | let mut iterator = map2.values(Some(&90000), false); [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] --> tests/test_b_plus_tree.rs:3747:13 [INFO] [stdout] | [INFO] [stdout] 3747 | let mut iterator = map3.values(Some(&99999), false); [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] --> tests/test_b_plus_tree.rs:3771:13 [INFO] [stdout] | [INFO] [stdout] 3771 | let mut iterator = map0.values(Some(&99999), false); [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] --> tests/test_b_plus_tree.rs:3785:13 [INFO] [stdout] | [INFO] [stdout] 3785 | let mut iterator = map1.values(Some(&99999), false); [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] --> tests/test_b_plus_tree.rs:3799:13 [INFO] [stdout] | [INFO] [stdout] 3799 | let mut iterator = map2.values(Some(&99999), false); [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] --> tests/test_b_plus_tree.rs:3813:13 [INFO] [stdout] | [INFO] [stdout] 3813 | let mut iterator = map3.values(Some(&99999), false); [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] --> tests/test_b_plus_tree.rs:3837:13 [INFO] [stdout] | [INFO] [stdout] 3837 | let mut iterator = map0.values(Some(&-1), false); [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] --> tests/test_b_plus_tree.rs:3851:13 [INFO] [stdout] | [INFO] [stdout] 3851 | let mut iterator = map1.values(Some(&-1), false); [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] --> tests/test_b_plus_tree.rs:3865:13 [INFO] [stdout] | [INFO] [stdout] 3865 | let mut iterator = map2.values(Some(&-1), false); [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] --> tests/test_b_plus_tree.rs:3879:13 [INFO] [stdout] | [INFO] [stdout] 3879 | let mut iterator = map3.values(Some(&-1), false); [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] --> tests/test_b_plus_tree.rs:3903:13 [INFO] [stdout] | [INFO] [stdout] 3903 | let mut iterator = map0.values(Some(&100000), false); [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] --> tests/test_b_plus_tree.rs:3917:13 [INFO] [stdout] | [INFO] [stdout] 3917 | let mut iterator = map1.values(Some(&100000), false); [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] --> tests/test_b_plus_tree.rs:3931:13 [INFO] [stdout] | [INFO] [stdout] 3931 | let mut iterator = map2.values(Some(&100000), false); [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] --> tests/test_b_plus_tree.rs:3945:13 [INFO] [stdout] | [INFO] [stdout] 3945 | let mut iterator = map3.values(Some(&100000), false); [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] --> tests/test_b_plus_tree.rs:4044:13 [INFO] [stdout] | [INFO] [stdout] 4044 | let mut iterator = map0.values(None, true); [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] --> tests/test_b_plus_tree.rs:4058:13 [INFO] [stdout] | [INFO] [stdout] 4058 | let mut iterator = map1.values(None, true); [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] --> tests/test_b_plus_tree.rs:4072:13 [INFO] [stdout] | [INFO] [stdout] 4072 | let mut iterator = map2.values(None, true); [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] --> tests/test_b_plus_tree.rs:4086:13 [INFO] [stdout] | [INFO] [stdout] 4086 | let mut iterator = map3.values(None, true); [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] --> tests/test_b_plus_tree.rs:4110:13 [INFO] [stdout] | [INFO] [stdout] 4110 | let mut iterator = map0.values(Some(&0), true); [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] --> tests/test_b_plus_tree.rs:4124:13 [INFO] [stdout] | [INFO] [stdout] 4124 | let mut iterator = map1.values(Some(&0), true); [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] --> tests/test_b_plus_tree.rs:4138:13 [INFO] [stdout] | [INFO] [stdout] 4138 | let mut iterator = map2.values(Some(&0), true); [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] --> tests/test_b_plus_tree.rs:4152:13 [INFO] [stdout] | [INFO] [stdout] 4152 | let mut iterator = map3.values(Some(&0), true); [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] --> tests/test_b_plus_tree.rs:4176:13 [INFO] [stdout] | [INFO] [stdout] 4176 | let mut iterator = map0.values(Some(&1), true); [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] --> tests/test_b_plus_tree.rs:4190:13 [INFO] [stdout] | [INFO] [stdout] 4190 | let mut iterator = map1.values(Some(&10000), true); [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] --> tests/test_b_plus_tree.rs:4204:13 [INFO] [stdout] | [INFO] [stdout] 4204 | let mut iterator = map2.values(Some(&90000), true); [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] --> tests/test_b_plus_tree.rs:4218:13 [INFO] [stdout] | [INFO] [stdout] 4218 | let mut iterator = map3.values(Some(&99999), true); [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] --> tests/test_b_plus_tree.rs:4242:13 [INFO] [stdout] | [INFO] [stdout] 4242 | let mut iterator = map0.values(Some(&99999), true); [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] --> tests/test_b_plus_tree.rs:4256:13 [INFO] [stdout] | [INFO] [stdout] 4256 | let mut iterator = map1.values(Some(&99999), true); [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] --> tests/test_b_plus_tree.rs:4270:13 [INFO] [stdout] | [INFO] [stdout] 4270 | let mut iterator = map2.values(Some(&99999), true); [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] --> tests/test_b_plus_tree.rs:4284:13 [INFO] [stdout] | [INFO] [stdout] 4284 | let mut iterator = map3.values(Some(&99999), true); [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] --> tests/test_b_plus_tree.rs:4308:13 [INFO] [stdout] | [INFO] [stdout] 4308 | let mut iterator = map0.values(Some(&-1), true); [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] --> tests/test_b_plus_tree.rs:4322:13 [INFO] [stdout] | [INFO] [stdout] 4322 | let mut iterator = map1.values(Some(&-1), true); [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] --> tests/test_b_plus_tree.rs:4336:13 [INFO] [stdout] | [INFO] [stdout] 4336 | let mut iterator = map2.values(Some(&-1), true); [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] --> tests/test_b_plus_tree.rs:4350:13 [INFO] [stdout] | [INFO] [stdout] 4350 | let mut iterator = map3.values(Some(&-1), true); [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] --> tests/test_b_plus_tree.rs:4374:13 [INFO] [stdout] | [INFO] [stdout] 4374 | let mut iterator = map0.values(Some(&100000), true); [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] --> tests/test_b_plus_tree.rs:4388:13 [INFO] [stdout] | [INFO] [stdout] 4388 | let mut iterator = map1.values(Some(&100000), true); [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] --> tests/test_b_plus_tree.rs:4402:13 [INFO] [stdout] | [INFO] [stdout] 4402 | let mut iterator = map2.values(Some(&100000), true); [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] --> tests/test_b_plus_tree.rs:4416:13 [INFO] [stdout] | [INFO] [stdout] 4416 | let mut iterator = map3.values(Some(&100000), true); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `count` is assigned to, but never used [INFO] [stdout] --> tests/test_b_plus_tree.rs:4487:17 [INFO] [stdout] | [INFO] [stdout] 4487 | let mut count = 0; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_count` instead [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `start` is never read [INFO] [stdout] --> tests/test_b_plus_tree.rs:4499:17 [INFO] [stdout] | [INFO] [stdout] 4499 | start = index; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `count` is assigned to, but never used [INFO] [stdout] --> tests/test_b_plus_tree.rs:4504:17 [INFO] [stdout] | [INFO] [stdout] 4504 | let mut count = 0; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_count` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `start` is never read [INFO] [stdout] --> tests/test_b_plus_tree.rs:4516:17 [INFO] [stdout] | [INFO] [stdout] 4516 | start = index; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `count` is assigned to, but never used [INFO] [stdout] --> tests/test_b_plus_tree.rs:4521:17 [INFO] [stdout] | [INFO] [stdout] 4521 | let mut count = 0; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_count` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `start` is never read [INFO] [stdout] --> tests/test_b_plus_tree.rs:4533:17 [INFO] [stdout] | [INFO] [stdout] 4533 | start = index; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `count` is assigned to, but never used [INFO] [stdout] --> tests/test_b_plus_tree.rs:4538:17 [INFO] [stdout] | [INFO] [stdout] 4538 | let mut count = 0; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_count` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `start` is never read [INFO] [stdout] --> tests/test_b_plus_tree.rs:4550:17 [INFO] [stdout] | [INFO] [stdout] 4550 | start = index; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `count` is assigned to, but never used [INFO] [stdout] --> tests/test_b_plus_tree.rs:4628:17 [INFO] [stdout] | [INFO] [stdout] 4628 | let mut count = 0; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_count` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `start` is never read [INFO] [stdout] --> tests/test_b_plus_tree.rs:4640:17 [INFO] [stdout] | [INFO] [stdout] 4640 | start = index; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `count` is assigned to, but never used [INFO] [stdout] --> tests/test_b_plus_tree.rs:4645:17 [INFO] [stdout] | [INFO] [stdout] 4645 | let mut count = 0; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_count` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `start` is never read [INFO] [stdout] --> tests/test_b_plus_tree.rs:4657:17 [INFO] [stdout] | [INFO] [stdout] 4657 | start = index; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `count` is assigned to, but never used [INFO] [stdout] --> tests/test_b_plus_tree.rs:4662:17 [INFO] [stdout] | [INFO] [stdout] 4662 | let mut count = 0; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_count` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `start` is never read [INFO] [stdout] --> tests/test_b_plus_tree.rs:4674:17 [INFO] [stdout] | [INFO] [stdout] 4674 | start = index; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `count` is assigned to, but never used [INFO] [stdout] --> tests/test_b_plus_tree.rs:4679:17 [INFO] [stdout] | [INFO] [stdout] 4679 | let mut count = 0; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_count` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `start` is never read [INFO] [stdout] --> tests/test_b_plus_tree.rs:4691:17 [INFO] [stdout] | [INFO] [stdout] 4691 | start = index; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `count` is assigned to, but never used [INFO] [stdout] --> tests/test_b_plus_tree.rs:4769:17 [INFO] [stdout] | [INFO] [stdout] 4769 | let mut count = 0; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_count` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `start` is never read [INFO] [stdout] --> tests/test_b_plus_tree.rs:4781:17 [INFO] [stdout] | [INFO] [stdout] 4781 | start = index; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `count` is assigned to, but never used [INFO] [stdout] --> tests/test_b_plus_tree.rs:4786:17 [INFO] [stdout] | [INFO] [stdout] 4786 | let mut count = 0; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_count` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `start` is never read [INFO] [stdout] --> tests/test_b_plus_tree.rs:4798:17 [INFO] [stdout] | [INFO] [stdout] 4798 | start = index; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `count` is assigned to, but never used [INFO] [stdout] --> tests/test_b_plus_tree.rs:4803:17 [INFO] [stdout] | [INFO] [stdout] 4803 | let mut count = 0; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_count` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `start` is never read [INFO] [stdout] --> tests/test_b_plus_tree.rs:4815:17 [INFO] [stdout] | [INFO] [stdout] 4815 | start = index; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `count` is assigned to, but never used [INFO] [stdout] --> tests/test_b_plus_tree.rs:4820:17 [INFO] [stdout] | [INFO] [stdout] 4820 | let mut count = 0; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_count` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `start` is never read [INFO] [stdout] --> tests/test_b_plus_tree.rs:4832:17 [INFO] [stdout] | [INFO] [stdout] 4832 | start = index; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `start` is never read [INFO] [stdout] --> tests/test_b_plus_tree.rs:4884:17 [INFO] [stdout] | [INFO] [stdout] 4884 | start = index; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `start` is never read [INFO] [stdout] --> tests/test_b_plus_tree.rs:4897:17 [INFO] [stdout] | [INFO] [stdout] 4897 | start = index; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `start` is never read [INFO] [stdout] --> tests/test_b_plus_tree.rs:4910:17 [INFO] [stdout] | [INFO] [stdout] 4910 | start = index; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `start` is never read [INFO] [stdout] --> tests/test_b_plus_tree.rs:4923:17 [INFO] [stdout] | [INFO] [stdout] 4923 | start = index; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> tests/test_b_plus_tree.rs:47:5 [INFO] [stdout] | [INFO] [stdout] 47 | tr.close(); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 47 | let _ = tr.close(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> tests/test_b_plus_tree.rs:82:5 [INFO] [stdout] | [INFO] [stdout] 82 | tr.close(); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 82 | let _ = tr.close(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> tests/test_b_plus_tree.rs:183:5 [INFO] [stdout] | [INFO] [stdout] 183 | tr.close(); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 183 | let _ = tr.close(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this method takes 3 arguments but 2 arguments were supplied [INFO] [stdout] --> tests/test_devices.rs:488:30 [INFO] [stdout] | [INFO] [stdout] 488 | match device.write(&location, [INFO] [stdout] | ______________________________^^^^^- [INFO] [stdout] 489 | | &Binary::new("Hello Simple device".to_string().into_bytes())).await { [INFO] [stdout] | |________________________________________________________________________________________________- argument #3 of type `WriteOption` is missing [INFO] [stdout] | [INFO] [stdout] note: method defined here [INFO] [stdout] --> /opt/rustwide/workdir/src/devices/mod.rs:310:8 [INFO] [stdout] | [INFO] [stdout] 310 | fn write(&self, [INFO] [stdout] | ^^^^^ [INFO] [stdout] help: provide the argument [INFO] [stdout] | [INFO] [stdout] 488 ~ match device.write( [INFO] [stdout] 489 + &location, [INFO] [stdout] 490 + &Binary::new("Hello Simple device".to_string().into_bytes()), [INFO] [stdout] 491 + /* WriteOption */, [INFO] [stdout] 492 ~ ).await { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/vpm/page_manager.rs:1531:9 [INFO] [stdout] | [INFO] [stdout] 1531 | let mut locked = write_cmd_buffer [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this method takes 3 arguments but 2 arguments were supplied [INFO] [stdout] --> tests/test_devices.rs:532:30 [INFO] [stdout] | [INFO] [stdout] 532 | match device.write(&location, [INFO] [stdout] | ______________________________^^^^^- [INFO] [stdout] 533 | | &Binary::new("Hello Simple device".to_string().into_bytes())).await { [INFO] [stdout] | |________________________________________________________________________________________________- argument #3 of type `WriteOption` is missing [INFO] [stdout] | [INFO] [stdout] note: method defined here [INFO] [stdout] --> /opt/rustwide/workdir/src/devices/mod.rs:310:8 [INFO] [stdout] | [INFO] [stdout] 310 | fn write(&self, [INFO] [stdout] | ^^^^^ [INFO] [stdout] help: provide the argument [INFO] [stdout] | [INFO] [stdout] 532 ~ match device.write( [INFO] [stdout] 533 + &location, [INFO] [stdout] 534 + &Binary::new("Hello Simple device".to_string().into_bytes()), [INFO] [stdout] 535 + /* WriteOption */, [INFO] [stdout] 536 ~ ).await { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0061, E0433. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0061`. [INFO] [stdout] [INFO] [stderr] error: could not compile `pi_store` (test "test_devices") due to 3 previous errors; 4 warnings emitted [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/commit_logger.rs:132:24 [INFO] [stdout] | [INFO] [stdout] 132 | pub async fn build(mut self) -> Result { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crossbeam_channel::internal::SelectHandle` [INFO] [stdout] --> tests/test_vpm.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use crossbeam_channel::internal::SelectHandle; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `VirtualPageCachingStrategy` [INFO] [stdout] --> tests/test_vpm.rs:31:34 [INFO] [stdout] | [INFO] [stdout] 31 | page_pool::{VirtualPageCachingStrategy, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `futures::task::SpawnExt` [INFO] [stdout] --> tests/test_vpm.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use futures::task::SpawnExt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r` [INFO] [stdout] --> tests/test_vpm.rs:81:21 [INFO] [stdout] | [INFO] [stdout] 81 | let r = value_clone.await; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_r` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0433`. [INFO] [stdout] [INFO] [stderr] error: could not compile `pi_store` (test "test_vpm") due to 1 previous error; 5 warnings emitted [INFO] [stdout] warning: unused import: `Read` [INFO] [stdout] --> src/vpm/page_manager.rs:7:41 [INFO] [stdout] | [INFO] [stdout] 7 | use std::io::{Error, Result, ErrorKind, Read}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Buf` [INFO] [stdout] --> src/vpm/page_cache.rs:7:13 [INFO] [stdout] | [INFO] [stdout] 7 | use bytes::{Buf, BufMut}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> src/free_lock/b_plus_tree.rs:364:26 [INFO] [stdout] | [INFO] [stdout] 364 | key: K, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/free_lock/b_plus_tree.rs:365:26 [INFO] [stdout] | [INFO] [stdout] 365 | value: V, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `timeout` [INFO] [stdout] --> src/free_lock/b_plus_tree.rs:366:26 [INFO] [stdout] | [INFO] [stdout] 366 | timeout: Option) -> Result, (K, V)> { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeout` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> src/free_lock/b_plus_tree.rs:464:26 [INFO] [stdout] | [INFO] [stdout] 464 | key: K, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `timeout` [INFO] [stdout] --> src/free_lock/b_plus_tree.rs:465:26 [INFO] [stdout] | [INFO] [stdout] 465 | timeout: Option) -> Result, (K, V)> { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeout` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `current_raw` is never read [INFO] [stdout] --> src/free_lock/b_plus_tree.rs:692:13 [INFO] [stdout] | [INFO] [stdout] 692 | current_raw = current.load(AtomicOrdering::Acquire); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/free_lock/b_plus_tree.rs:853:9 [INFO] [stdout] | [INFO] [stdout] 853 | let mut index = node.index(key); [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/free_lock/b_plus_tree.rs:935:43 [INFO] [stdout] | [INFO] [stdout] 935 | while let Some((Node::NonLeaf(mut non_leaf), _)) = stack.pop() { [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/free_lock/b_plus_tree.rs:979:25 [INFO] [stdout] | [INFO] [stdout] 979 | mut leaf: Arc>) -> Arc> [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/free_lock/b_plus_tree.rs:1054:29 [INFO] [stdout] | [INFO] [stdout] 1054 | ... mut non_leaf: Arc>) -> Arc> [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `superior_child_index` [INFO] [stdout] --> src/free_lock/b_plus_tree.rs:1192:62 [INFO] [stdout] | [INFO] [stdout] 1192 | while let Some((Node::NonLeaf(mut non_leaf), superior_child_index)) = nodes.pop() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_superior_child_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/free_lock/b_plus_tree.rs:1192:47 [INFO] [stdout] | [INFO] [stdout] 1192 | while let Some((Node::NonLeaf(mut non_leaf), superior_child_index)) = nodes.pop() { [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/free_lock/b_plus_tree.rs:1230:25 [INFO] [stdout] | [INFO] [stdout] 1230 | mut leaf: Arc>, [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/free_lock/b_plus_tree.rs:1424:29 [INFO] [stdout] | [INFO] [stdout] 1424 | ... mut non_leaf: Arc>, [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/free_lock/b_plus_tree.rs:1439:27 [INFO] [stdout] | [INFO] [stdout] 1439 | if let (Node::NonLeaf(mut superior_non_leaf), superior_child_index) = stack.pop().unwrap() { [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/log_store/log_file.rs:869:41 [INFO] [stdout] | [INFO] [stdout] 819 | unsafe { [INFO] [stdout] | ------ because it's nested under this `unsafe` block [INFO] [stdout] ... [INFO] [stdout] 869 | unsafe { [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/log_store/log_file.rs:1029:28 [INFO] [stdout] | [INFO] [stdout] 1029 | let readable_len = unsafe { (&*readable_box).len() }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/log_store/log_file.rs:1038:34 [INFO] [stdout] | [INFO] [stdout] 1038 | let last_readable_path = unsafe { &(&*readable_box)[readable_len - 1] }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `time` [INFO] [stdout] --> src/vpm/page_cache.rs:458:105 [INFO] [stdout] | [INFO] [stdout] 458 | ... |keys: &mut Vec, key: &u128, val: &SharedPageBuffer, time: u64| { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_time` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/devices/simple_device.rs:141:31 [INFO] [stdout] | [INFO] [stdout] 141 | fn put(&mut self, mut src: T) { [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `location` [INFO] [stdout] --> src/devices/simple_device.rs:237:24 [INFO] [stdout] | [INFO] [stdout] 237 | fn is_freed(&self, location: &BlockLocation) -> bool { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_location` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `location` [INFO] [stdout] --> src/devices/simple_device.rs:261:26 [INFO] [stdout] | [INFO] [stdout] 261 | fn block_size(&self, location: &BlockLocation) -> usize { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_location` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/devices/simple_device.rs:444:17 [INFO] [stdout] | [INFO] [stdout] 444 | let mut hasher = Hasher::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/commit_logger.rs:229:13 [INFO] [stdout] | [INFO] [stdout] 229 | let mut logger = self.clone(); [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/commit_logger.rs:350:17 [INFO] [stdout] | [INFO] [stdout] 350 | let mut only_read_paths = commit_logger.0.file.all_readable_path(); [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/commit_logger.rs:317:34 [INFO] [stdout] | [INFO] [stdout] 317 | fn start_replay(&self, mut callback: Arc) -> BoxFuture<'static, Result<(usize, usize)>> [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/commit_logger.rs:617:17 [INFO] [stdout] | [INFO] [stdout] 617 | let mut only_read_paths = commit_logger.0.file.all_readable_path(); [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/commit_logger.rs:577:38 [INFO] [stdout] | [INFO] [stdout] 577 | fn start_replay_ext(&self, mut callback: Arc) [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_non_leaf` and `into_non_leaf` are never used [INFO] [stdout] --> src/free_lock/b_plus_tree.rs:1752:8 [INFO] [stdout] | [INFO] [stdout] 1736 | / impl< [INFO] [stdout] 1737 | | K: Ord + Debug + Clone + Send + 'static, [INFO] [stdout] 1738 | | V: Debug + Clone + Send + 'static, [INFO] [stdout] 1739 | | > Node { [INFO] [stdout] | |____________- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 1752 | fn is_non_leaf(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1807 | fn into_non_leaf(self) -> Option>> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `page` is never read [INFO] [stdout] --> src/free_lock/b_plus_tree.rs:1824:5 [INFO] [stdout] | [INFO] [stdout] 1818 | struct Leaf< [INFO] [stdout] | ---- field in this struct [INFO] [stdout] ... [INFO] [stdout] 1824 | page: Option, //叶节点的逻辑页,非空表示叶节点需要持久化 [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Leaf` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `prev` and `next` are never read [INFO] [stdout] --> src/free_lock/b_plus_tree.rs:2033:5 [INFO] [stdout] | [INFO] [stdout] 2032 | struct LogicChildPage { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 2033 | prev: PageId, //前趋逻辑页唯一id [INFO] [stdout] | ^^^^ [INFO] [stdout] 2034 | next: PageId, //后继逻辑页唯一id [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LogicChildPage` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `min_key` and `max_key` are never used [INFO] [stdout] --> src/free_lock/b_plus_tree.rs:2095:8 [INFO] [stdout] | [INFO] [stdout] 2047 | / impl< [INFO] [stdout] 2048 | | K: Ord + Debug + Clone + Send + 'static, [INFO] [stdout] 2049 | | V: Debug + Clone + Send + 'static, [INFO] [stdout] 2050 | | > NonLeaf { [INFO] [stdout] | |_______________- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 2095 | fn min_key<'a>(&'a self) -> Option<&'a K> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2105 | fn max_key<'a>(&'a self) -> Option<&'a K> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `page` and `childs` are never read [INFO] [stdout] --> src/free_lock/b_plus_tree.rs:2247:5 [INFO] [stdout] | [INFO] [stdout] 2240 | struct KeyChildPair< [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] ... [INFO] [stdout] 2247 | page: Option, //非叶节点的逻辑页,非空表示非叶节点需要持久化 [INFO] [stdout] | ^^^^ [INFO] [stdout] 2248 | childs: Option, //非叶节点的逻辑子节点叶 [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `KeyChildPair` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `root` is never read [INFO] [stdout] --> src/free_lock/b_plus_tree.rs:2320:5 [INFO] [stdout] | [INFO] [stdout] 2315 | pub struct KeyRefGuard< [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 2320 | root: Arc>, //根节点的共享引用 [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `root` is never read [INFO] [stdout] --> src/free_lock/b_plus_tree.rs:2344:5 [INFO] [stdout] | [INFO] [stdout] 2339 | pub struct ValueRefGuard< [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 2344 | root: Arc>, //根节点的共享引用 [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `root` is never read [INFO] [stdout] --> src/free_lock/b_plus_tree.rs:2416:5 [INFO] [stdout] | [INFO] [stdout] 2411 | pub struct KeyAscendingIterator< [INFO] [stdout] | -------------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 2416 | root: Arc>, //根节点的共享引用 [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `root` is never read [INFO] [stdout] --> src/free_lock/b_plus_tree.rs:2628:5 [INFO] [stdout] | [INFO] [stdout] 2623 | pub struct KeyDescendingIterator< [INFO] [stdout] | --------------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 2628 | root: Arc>, //根节点的共享引用 [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `root` is never read [INFO] [stdout] --> src/free_lock/b_plus_tree.rs:2893:5 [INFO] [stdout] | [INFO] [stdout] 2888 | pub struct KVPairAscendingIterator< [INFO] [stdout] | ----------------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 2893 | root: Arc>, //根节点的共享引用 [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `root` is never read [INFO] [stdout] --> src/free_lock/b_plus_tree.rs:3103:5 [INFO] [stdout] | [INFO] [stdout] 3098 | pub struct KVPairDescendingIterator< [INFO] [stdout] | ------------------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 3103 | root: Arc>, //根节点的共享引用 [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `root` is never read [INFO] [stdout] --> src/free_lock/b_plus_tree.rs:3369:5 [INFO] [stdout] | [INFO] [stdout] 3364 | pub struct ManualCommit< [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 3369 | root: Arc>, //根节点的共享引用 [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/free_lock/b_plus_tree.rs:3388:8 [INFO] [stdout] | [INFO] [stdout] 3383 | / impl< [INFO] [stdout] 3384 | | K: Ord + Debug + Clone + Send + 'static, [INFO] [stdout] 3385 | | V: Debug + Clone + Send + 'static, [INFO] [stdout] 3386 | | > ManualCommit { [INFO] [stdout] | |____________________- associated function in this implementation [INFO] [stdout] 3387 | // 构建手动提交对树的修改 [INFO] [stdout] 3388 | fn new(tree: CowBtreeMap, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_MERGE_LOG_BUF_SIZE` is never used [INFO] [stdout] --> src/log_store/log_file.rs:86:7 [INFO] [stdout] | [INFO] [stdout] 86 | const DEFAULT_MERGE_LOG_BUF_SIZE: usize = 1024; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_old` is never used [INFO] [stdout] --> src/log_store/log_file.rs:1470:4 [INFO] [stdout] | [INFO] [stdout] 1470 | fn is_old>(path: P) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_collectable` is never used [INFO] [stdout] --> src/log_store/log_file.rs:1482:4 [INFO] [stdout] | [INFO] [stdout] 1482 | fn is_collectable>(path: P) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `VIRTUAL_PAGE_MANAGER_DEVICES_INDEX` is never used [INFO] [stdout] --> src/vpm/mod.rs:27:7 [INFO] [stdout] | [INFO] [stdout] 27 | const VIRTUAL_PAGE_MANAGER_DEVICES_INDEX: u32 = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RESERVED_MIN_PAGE_UID` is never used [INFO] [stdout] --> src/vpm/page_manager.rs:34:7 [INFO] [stdout] | [INFO] [stdout] 34 | const RESERVED_MIN_PAGE_UID: PageId = PageId(EMPTY_PAGE); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RESERVED_MAX_PAGE_UID` is never used [INFO] [stdout] --> src/vpm/page_manager.rs:41:7 [INFO] [stdout] | [INFO] [stdout] 41 | const RESERVED_MAX_PAGE_UID: PageId = PageId(u64::MAX as u128); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_PAGE_DELTAS_SIZE_LIMIT` is never used [INFO] [stdout] --> src/vpm/page_manager.rs:76:7 [INFO] [stdout] | [INFO] [stdout] 76 | const DEFAULT_PAGE_DELTAS_SIZE_LIMIT: usize = 4096; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `rt` is never read [INFO] [stdout] --> src/vpm/page_pool.rs:332:5 [INFO] [stdout] | [INFO] [stdout] 323 | struct InnerVirtualPageBufPool< [INFO] [stdout] | ----------------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 332 | rt: MultiTaskRuntime<()>, //运行时 [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `rt` is never read [INFO] [stdout] --> src/vpm/page_table.rs:566:5 [INFO] [stdout] | [INFO] [stdout] 565 | struct InnerVirtualPageTable { [INFO] [stdout] | --------------------- field in this struct [INFO] [stdout] 566 | rt: MultiTaskRuntime<()>, //异步运行时 [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/devices/mod.rs:166:5 [INFO] [stdout] | [INFO] [stdout] 165 | pub struct DeviceStatistics { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] 166 | alloc_blocks: u128, //累计分配块数量 [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 167 | alloc_bytes: u128, //累计分配大小,单位B [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 168 | free_blocks: u128, //累计释放块数量 [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 169 | free_bytes: u128, //累计释放大小,单位B [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 170 | blocks_in: u128, //累计输入块数量 [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 171 | blocks_out: u128, //累计输出块数量 [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 172 | bytes_in: u128, //累计输入大小,单位B [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 173 | bytes_out: u128, //累计输出大小,单位B [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 174 | time: u128, //块设备本次运行时长,单位ms [INFO] [stdout] | ^^^^ [INFO] [stdout] 175 | slow_alloc_count: Option, //块设备慢分配次数 [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 176 | slow_free_count: Option, //块设备慢释放次数 [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 177 | slow_in_count: Option, //块设备慢输入次数 [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 178 | slow_out_count: Option, //块设备慢输出次数 [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 179 | min_alloc_bytes: Option, //最小分配大小,单位B [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 180 | max_alloc_bytes: Option, //最大分配大小,单位B [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 181 | min_alloc_time: Option, //最小分配时长,单位ms [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 182 | max_alloc_time: Option, //最大分配时长,单位ms [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 183 | min_free_time: Option, //最小释放时长,单位ms [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 184 | max_free_time: Option, //最大释放时长,单位ms [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 185 | min_in_time: Option, //最小输入时长,单位ms [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 186 | max_in_time: Option, //最大输入时长,单位ms [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 187 | min_out_time: Option, //最小输出时长,单位ms [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 188 | max_out_time: Option, //最大输出时长,单位ms [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 189 | soft_faults: Option, //软故障次数 [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 190 | hard_faults: Option, //硬故障次数 [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/free_lock/b_plus_tree.rs:87:13 [INFO] [stdout] | [INFO] [stdout] 87 | map.upsert(key, value, None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 87 | let _ = map.upsert(key, value, None); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a value that implements `Copy` does nothing [INFO] [stdout] --> src/free_lock/b_plus_tree.rs:771:17 [INFO] [stdout] | [INFO] [stdout] 771 | drop(writable); //避免无法释放 [INFO] [stdout] | ^^^^^--------^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `bool` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dropping_copy_types)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 771 - drop(writable); //避免无法释放 [INFO] [stdout] 771 + let _ = writable; //避免无法释放 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a value that implements `Copy` does nothing [INFO] [stdout] --> src/free_lock/b_plus_tree.rs:791:17 [INFO] [stdout] | [INFO] [stdout] 791 | drop(writable); //避免无法释放 [INFO] [stdout] | ^^^^^--------^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `bool` [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 791 - drop(writable); //避免无法释放 [INFO] [stdout] 791 + let _ = writable; //避免无法释放 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing [INFO] [stdout] --> src/free_lock/b_plus_tree.rs:992:5 [INFO] [stdout] | [INFO] [stdout] 992 | drop(leaf_mut); //对当前叶节点的修改已完成,则立即释放当前叶节点的可写引用 [INFO] [stdout] | ^^^^^--------^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `&mut Leaf` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dropping_references)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 992 - drop(leaf_mut); //对当前叶节点的修改已完成,则立即释放当前叶节点的可写引用 [INFO] [stdout] 992 + let _ = leaf_mut; //对当前叶节点的修改已完成,则立即释放当前叶节点的可写引用 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing [INFO] [stdout] --> src/free_lock/b_plus_tree.rs:1069:5 [INFO] [stdout] | [INFO] [stdout] 1069 | drop(non_leaf_mut); //对当前非叶节点的修改已完成,则立即释放当前非叶节点的可写引用 [INFO] [stdout] | ^^^^^------------^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `&mut NonLeaf` [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 1069 - drop(non_leaf_mut); //对当前非叶节点的修改已完成,则立即释放当前非叶节点的可写引用 [INFO] [stdout] 1069 + let _ = non_leaf_mut; //对当前非叶节点的修改已完成,则立即释放当前非叶节点的可写引用 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Box::::into_raw` that must be used [INFO] [stdout] --> src/log_store/log_file.rs:397:9 [INFO] [stdout] | [INFO] [stdout] 397 | Box::into_raw(writable); //避免提前释放 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: losing the pointer will leak memory [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 397 | let _ = Box::into_raw(writable); //避免提前释放 [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Box::::into_raw` that must be used [INFO] [stdout] --> src/log_store/log_file.rs:557:9 [INFO] [stdout] | [INFO] [stdout] 557 | Box::into_raw(readable_box); //避免被提前释放 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: losing the pointer will leak memory [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 557 | let _ = Box::into_raw(readable_box); //避免被提前释放 [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Box::::into_raw` that must be used [INFO] [stdout] --> src/log_store/log_file.rs:629:9 [INFO] [stdout] | [INFO] [stdout] 629 | Box::into_raw(readable_box); //避免被提前释放 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: losing the pointer will leak memory [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 629 | let _ = Box::into_raw(readable_box); //避免被提前释放 [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Box::::into_raw` that must be used [INFO] [stdout] --> src/log_store/log_file.rs:701:9 [INFO] [stdout] | [INFO] [stdout] 701 | Box::into_raw(readable_box); //避免被提前释放 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: losing the pointer will leak memory [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 701 | let _ = Box::into_raw(readable_box); //避免被提前释放 [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Box::::into_raw` that must be used [INFO] [stdout] --> src/log_store/log_file.rs:833:25 [INFO] [stdout] | [INFO] [stdout] 833 | Box::into_raw(async_file); //避免被释放 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: losing the pointer will leak memory [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 833 | let _ = Box::into_raw(async_file); //避免被释放 [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Box::::into_raw` that must be used [INFO] [stdout] --> src/log_store/log_file.rs:863:41 [INFO] [stdout] | [INFO] [stdout] 863 | ... Box::into_raw(async_file); //避免释放可写文件 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: losing the pointer will leak memory [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 863 | let _ = Box::into_raw(async_file); //避免释放可写文件 [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Box::::into_raw` that must be used [INFO] [stdout] --> src/log_store/log_file.rs:887:25 [INFO] [stdout] | [INFO] [stdout] 887 | Box::into_raw(async_file); //避免释放可写文件 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: losing the pointer will leak memory [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 887 | let _ = Box::into_raw(async_file); //避免释放可写文件 [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/log_store/log_file.rs:903:25 [INFO] [stdout] | [INFO] [stdout] 903 | pub fn delay_commit(&self, [INFO] [stdout] | ^^^^^ the lifetime is elided here [INFO] [stdout] ... [INFO] [stdout] 906 | timeout: usize) -> BoxFuture> { [INFO] [stdout] | --------------------- the same lifetime is hidden 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] 906 | timeout: usize) -> BoxFuture<'_, Result<()>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Box::::into_raw` that must be used [INFO] [stdout] --> src/log_store/log_file.rs:1032:13 [INFO] [stdout] | [INFO] [stdout] 1032 | Box::into_raw(readable_box); //避免被回收 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: losing the pointer will leak memory [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 1032 | let _ = Box::into_raw(readable_box); //避免被回收 [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Box::::into_raw` that must be used [INFO] [stdout] --> src/log_store/log_file.rs:1040:9 [INFO] [stdout] | [INFO] [stdout] 1040 | Box::into_raw(readable_box); //避免被回收 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: losing the pointer will leak memory [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 1040 | let _ = Box::into_raw(readable_box); //避免被回收 [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Box::::into_raw` that must be used [INFO] [stdout] --> src/log_store/log_file.rs:1133:21 [INFO] [stdout] | [INFO] [stdout] 1133 | Box::into_raw(readable_box); //避免被回收 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: losing the pointer will leak memory [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 1133 | let _ = Box::into_raw(readable_box); //避免被回收 [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Box::::into_raw` that must be used [INFO] [stdout] --> src/log_store/log_file.rs:1302:21 [INFO] [stdout] | [INFO] [stdout] 1302 | Box::into_raw(readable_box); //避免被回收 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: losing the pointer will leak memory [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 1302 | let _ = Box::into_raw(readable_box); //避免被回收 [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Box::::into_raw` that must be used [INFO] [stdout] --> src/log_store/log_file.rs:1594:13 [INFO] [stdout] | [INFO] [stdout] 1594 | Box::into_raw(readable); //避免被回收 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: losing the pointer will leak memory [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 1594 | let _ = Box::into_raw(readable); //避免被回收 [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Box::::into_raw` that must be used [INFO] [stdout] --> src/log_store/log_file.rs:1612:13 [INFO] [stdout] | [INFO] [stdout] 1612 | Box::into_raw(writable); //避免被回收 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: losing the pointer will leak memory [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 1612 | let _ = Box::into_raw(writable); //避免被回收 [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Box::::into_raw` that must be used [INFO] [stdout] --> src/log_store/log_file.rs:1696:13 [INFO] [stdout] | [INFO] [stdout] 1696 | Box::into_raw(readable); //避免被回收 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: losing the pointer will leak memory [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 1696 | let _ = Box::into_raw(readable); //避免被回收 [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Box::::into_raw` that must be used [INFO] [stdout] --> src/log_store/log_file.rs:1714:13 [INFO] [stdout] | [INFO] [stdout] 1714 | Box::into_raw(writable); //避免被回收 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: losing the pointer will leak memory [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 1714 | let _ = Box::into_raw(writable); //避免被回收 [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Box::::into_raw` that must be used [INFO] [stdout] --> src/log_store/log_file.rs:2200:13 [INFO] [stdout] | [INFO] [stdout] 2200 | Box::into_raw(readable); //避免被回收 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: losing the pointer will leak memory [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 2200 | let _ = Box::into_raw(readable); //避免被回收 [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Box::::into_raw` that must be used [INFO] [stdout] --> src/log_store/log_file.rs:2218:13 [INFO] [stdout] | [INFO] [stdout] 2218 | Box::into_raw(writable); //避免被回收 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: losing the pointer will leak memory [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 2218 | let _ = Box::into_raw(writable); //避免被回收 [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/vpm/page_manager.rs:575:9 [INFO] [stdout] | [INFO] [stdout] 575 | / self.0.rt.spawn(async move { [INFO] [stdout] 576 | | loop { [INFO] [stdout] 577 | | manager [INFO] [stdout] 578 | | .0 [INFO] [stdout] ... | [INFO] [stdout] 595 | | }); [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 575 | let _ = self.0.rt.spawn(async move { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Box::::into_raw` that must be used [INFO] [stdout] --> src/vpm/page_table.rs:152:13 [INFO] [stdout] | [INFO] [stdout] 152 | Box::into_raw(iterator); //还未迭代完成,则需要避免迭代器被提前释放 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: losing the pointer will leak memory [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 152 | let _ = Box::into_raw(iterator); //还未迭代完成,则需要避免迭代器被提前释放 [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Box::::into_raw` that must be used [INFO] [stdout] --> src/vpm/page_table.rs:187:13 [INFO] [stdout] | [INFO] [stdout] 187 | Box::into_raw(iterator); //还未迭代完成,则需要避免迭代器被提前释放 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: losing the pointer will leak memory [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 187 | let _ = Box::into_raw(iterator); //还未迭代完成,则需要避免迭代器被提前释放 [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Box::::into_raw` that must be used [INFO] [stdout] --> src/vpm/page_cache.rs:103:9 [INFO] [stdout] | [INFO] [stdout] 103 | Box::into_raw(boxed); //避免提前释放 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: losing the pointer will leak memory [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 103 | let _ = Box::into_raw(boxed); //避免提前释放 [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Box::::into_raw` that must be used [INFO] [stdout] --> src/vpm/page_cache.rs:228:25 [INFO] [stdout] | [INFO] [stdout] 228 | Box::into_raw(boxed); //避免提前释放 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: losing the pointer will leak memory [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 228 | let _ = Box::into_raw(boxed); //避免提前释放 [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Box::::into_raw` that must be used [INFO] [stdout] --> src/vpm/page_cache.rs:231:25 [INFO] [stdout] | [INFO] [stdout] 231 | Box::into_raw(boxed); //避免提前释放 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: losing the pointer will leak memory [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 231 | let _ = Box::into_raw(boxed); //避免提前释放 [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/devices/mod.rs:304:20 [INFO] [stdout] | [INFO] [stdout] 304 | fn alloc_block(&self, size: usize) -> BoxFuture; [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] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 304 | fn alloc_block(&self, size: usize) -> BoxFuture<'_, BlockLocation>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/devices/mod.rs:307:13 [INFO] [stdout] | [INFO] [stdout] 307 | fn read(&self, location: &BlockLocation) -> BoxFuture>; [INFO] [stdout] | ^^^^^ the lifetime is elided here ---------------------------- the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 307 | fn read(&self, location: &BlockLocation) -> BoxFuture<'_, Result>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/devices/mod.rs:310:14 [INFO] [stdout] | [INFO] [stdout] 310 | fn write(&self, [INFO] [stdout] | ^^^^^ the lifetime is elided here [INFO] [stdout] ... [INFO] [stdout] 313 | option: WriteOption) -> BoxFuture>; [INFO] [stdout] | ------------------------ the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 313 | option: WriteOption) -> BoxFuture<'_, Result>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/devices/mod.rs:316:19 [INFO] [stdout] | [INFO] [stdout] 316 | fn free_block(&self, location: &BlockLocation) -> BoxFuture; [INFO] [stdout] | ^^^^^ the lifetime is elided here --------------- the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 316 | fn free_block(&self, location: &BlockLocation) -> BoxFuture<'_, bool>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/devices/mod.rs:319:31 [INFO] [stdout] | [INFO] [stdout] 319 | fn collect_alloced_blocks(&self, alloced: &[BlockLocation]) -> BoxFuture>; [INFO] [stdout] | ^^^^^ the lifetime is elided here ------------------------ the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 319 | fn collect_alloced_blocks(&self, alloced: &[BlockLocation]) -> BoxFuture<'_, Result>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/devices/mod.rs:322:20 [INFO] [stdout] | [INFO] [stdout] 322 | fn blocks_iter(&self) [INFO] [stdout] | ^^^^^ the lifetime is elided here [INFO] [stdout] 323 | -> BoxFuture>>>; [INFO] [stdout] | --------------------------------------------------------------------- the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 323 | -> BoxFuture<'_, Option>>>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/devices/mod.rs:329:18 [INFO] [stdout] | [INFO] [stdout] 329 | fn on_commit(&self) -> BoxFuture>>; [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] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 329 | fn on_commit(&self) -> BoxFuture<'_, Result>>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/devices/simple_device.rs:314:20 [INFO] [stdout] | [INFO] [stdout] 314 | fn alloc_block(&self, size: usize) -> BoxFuture { [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] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 314 | fn alloc_block(&self, size: usize) -> BoxFuture<'_, BlockLocation> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/devices/simple_device.rs:383:13 [INFO] [stdout] | [INFO] [stdout] 383 | fn read(&self, location: &BlockLocation) -> BoxFuture> { [INFO] [stdout] | ^^^^^ the lifetime is elided here ---------------------------- the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 383 | fn read(&self, location: &BlockLocation) -> BoxFuture<'_, Result> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/devices/simple_device.rs:418:14 [INFO] [stdout] | [INFO] [stdout] 418 | fn write(&self, [INFO] [stdout] | ^^^^^ the lifetime is elided here [INFO] [stdout] ... [INFO] [stdout] 421 | _option: WriteOption) -> BoxFuture> { [INFO] [stdout] | ------------------------ the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 421 | _option: WriteOption) -> BoxFuture<'_, Result> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/devices/simple_device.rs:466:19 [INFO] [stdout] | [INFO] [stdout] 466 | fn free_block(&self, location: &BlockLocation) -> BoxFuture { [INFO] [stdout] | ^^^^^ the lifetime is elided here --------------- the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 466 | fn free_block(&self, location: &BlockLocation) -> BoxFuture<'_, bool> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/devices/simple_device.rs:479:31 [INFO] [stdout] | [INFO] [stdout] 479 | fn collect_alloced_blocks(&self, alloced: &[BlockLocation]) -> BoxFuture> { [INFO] [stdout] | ^^^^^ the lifetime is elided here ------------------------ the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 479 | fn collect_alloced_blocks(&self, alloced: &[BlockLocation]) -> BoxFuture<'_, Result> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/devices/simple_device.rs:550:20 [INFO] [stdout] | [INFO] [stdout] 550 | fn blocks_iter(&self) [INFO] [stdout] | ^^^^^ the lifetime is elided here [INFO] [stdout] 551 | -> BoxFuture>>> { [INFO] [stdout] | --------------------------------------------------------------------- the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 551 | -> BoxFuture<'_, Option>>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/devices/simple_device.rs:562:18 [INFO] [stdout] | [INFO] [stdout] 562 | fn on_commit(&self) -> BoxFuture>> { [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] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 562 | fn on_commit(&self) -> BoxFuture<'_, Result>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/commit_logger.rs:570:9 [INFO] [stdout] | [INFO] [stdout] 570 | new_check_point(&logger, false).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 570 | let _ = new_check_point(&logger, false).await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/commit_logger.rs:924:9 [INFO] [stdout] | [INFO] [stdout] 924 | (self.callback)(None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 924 | let _ = (self.callback)(None); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "3a8b5df31252e3d82288ae14c6f760653c183f98b9030da60dc86ca4d0092065", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3a8b5df31252e3d82288ae14c6f760653c183f98b9030da60dc86ca4d0092065", kill_on_drop: false }` [INFO] [stdout] 3a8b5df31252e3d82288ae14c6f760653c183f98b9030da60dc86ca4d0092065