[INFO] fetching crate vsdbsled 0.34.7-p1...
[INFO] testing vsdbsled-0.34.7-p1 against beta-2025-10-28 for beta-1.92-2
[INFO] extracting crate vsdbsled 0.34.7-p1 into /workspace/builds/worker-4-tc2/source
[INFO] started tweaking crates.io crate vsdbsled 0.34.7-p1
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate vsdbsled 0.34.7-p1
[INFO] tweaked toml for crates.io crate vsdbsled 0.34.7-p1 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate vsdbsled 0.34.7-p1 on toolchain beta-2025-10-28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-10-28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate vsdbsled 0.34.7-p1 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" "+beta-2025-10-28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: version requirement `0.11.1+zstd.1.5.2` for dependency `zstd` includes semver metadata which will be ignored, removing the metadata is recommended to avoid confusion
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-10-28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ddaa8521e044bc2733bc610f467a86fd29da6d9a7b70b5bea3a4cd4fc38dc3b3
[INFO] running `Command { std: "docker" "start" "-a" "ddaa8521e044bc2733bc610f467a86fd29da6d9a7b70b5bea3a4cd4fc38dc3b3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ddaa8521e044bc2733bc610f467a86fd29da6d9a7b70b5bea3a4cd4fc38dc3b3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ddaa8521e044bc2733bc610f467a86fd29da6d9a7b70b5bea3a4cd4fc38dc3b3", kill_on_drop: false }`
[INFO] [stdout] ddaa8521e044bc2733bc610f467a86fd29da6d9a7b70b5bea3a4cd4fc38dc3b3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-10-28" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 068596a6be02be56e668b4cd0b571b1ef6f8e825f836ca68a31e072323a37ea0
[INFO] running `Command { std: "docker" "start" "-a" "068596a6be02be56e668b4cd0b571b1ef6f8e825f836ca68a31e072323a37ea0", kill_on_drop: false }`
[INFO] [stderr] warning: version requirement `0.11.1+zstd.1.5.2` for dependency `zstd` includes semver metadata which will be ignored, removing the metadata is recommended to avoid confusion
[INFO] [stderr]    Compiling libc v0.2.121
[INFO] [stderr]    Compiling lock_api v0.4.7
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]    Compiling parking_lot_core v0.9.2
[INFO] [stderr]    Compiling crossbeam-utils v0.8.8
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.8
[INFO] [stderr]    Compiling log v0.4.16
[INFO] [stderr]    Compiling fs4 v0.5.4
[INFO] [stderr]    Compiling parking_lot v0.12.0
[INFO] [stderr]    Compiling vsdbsled v0.34.7-p1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/arc.rs:48:27
[INFO] [stdout]    |
[INFO] [stdout] 48 |             std::cmp::max(mem::align_of::<T>(), mem::align_of::<AtomicUsize>());
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 95 |     unused_qualifications
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 48 -             std::cmp::max(mem::align_of::<T>(), mem::align_of::<AtomicUsize>());
[INFO] [stdout] 48 +             std::cmp::max(align_of::<T>(), mem::align_of::<AtomicUsize>());
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/arc.rs:48:49
[INFO] [stdout]    |
[INFO] [stdout] 48 |             std::cmp::max(mem::align_of::<T>(), mem::align_of::<AtomicUsize>());
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 48 -             std::cmp::max(mem::align_of::<T>(), mem::align_of::<AtomicUsize>());
[INFO] [stdout] 48 +             std::cmp::max(mem::align_of::<T>(), align_of::<AtomicUsize>());
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/arc.rs:50:45
[INFO] [stdout]    |
[INFO] [stdout] 50 |         let rc_width = std::cmp::max(align, mem::size_of::<AtomicUsize>());
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 50 -         let rc_width = std::cmp::max(align, mem::size_of::<AtomicUsize>());
[INFO] [stdout] 50 +         let rc_width = std::cmp::max(align, size_of::<AtomicUsize>());
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/arc.rs:51:26
[INFO] [stdout]    |
[INFO] [stdout] 51 |         let data_width = mem::size_of::<T>().checked_mul(s.len()).unwrap();
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 51 -         let data_width = mem::size_of::<T>().checked_mul(s.len()).unwrap();
[INFO] [stdout] 51 +         let data_width = size_of::<T>().checked_mul(s.len()).unwrap();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/arc.rs:94:27
[INFO] [stdout]    |
[INFO] [stdout] 94 |             std::cmp::max(mem::align_of::<T>(), mem::align_of::<AtomicUsize>());
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 94 -             std::cmp::max(mem::align_of::<T>(), mem::align_of::<AtomicUsize>());
[INFO] [stdout] 94 +             std::cmp::max(align_of::<T>(), mem::align_of::<AtomicUsize>());
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/arc.rs:94:49
[INFO] [stdout]    |
[INFO] [stdout] 94 |             std::cmp::max(mem::align_of::<T>(), mem::align_of::<AtomicUsize>());
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 94 -             std::cmp::max(mem::align_of::<T>(), mem::align_of::<AtomicUsize>());
[INFO] [stdout] 94 +             std::cmp::max(mem::align_of::<T>(), align_of::<AtomicUsize>());
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/arc.rs:96:45
[INFO] [stdout]    |
[INFO] [stdout] 96 |         let rc_width = std::cmp::max(align, mem::size_of::<AtomicUsize>());
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 96 -         let rc_width = std::cmp::max(align, mem::size_of::<AtomicUsize>());
[INFO] [stdout] 96 +         let rc_width = std::cmp::max(align, size_of::<AtomicUsize>());
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/arc.rs:179:17
[INFO] [stdout]     |
[INFO] [stdout] 179 |                 mem::align_of::<AtomicUsize>(),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 179 -                 mem::align_of::<AtomicUsize>(),
[INFO] [stdout] 179 +                 align_of::<AtomicUsize>(),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/arc.rs:181:49
[INFO] [stdout]     |
[INFO] [stdout] 181 |             let rc_width = std::cmp::max(align, mem::size_of::<AtomicUsize>());
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 181 -             let rc_width = std::cmp::max(align, mem::size_of::<AtomicUsize>());
[INFO] [stdout] 181 +             let rc_width = std::cmp::max(align, size_of::<AtomicUsize>());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/config.rs:276:9
[INFO] [stdout]     |
[INFO] [stdout] 276 |         <T as std::convert::TryFrom<usize>>::Error: Debug,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 276 -         <T as std::convert::TryFrom<usize>>::Error: Debug,
[INFO] [stdout] 276 +         <T as TryFrom<usize>>::Error: Debug,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/context.rs:61:31
[INFO] [stdout]    |
[INFO] [stdout] 61 |             flusher: Arc::new(parking_lot::Mutex::new(None)),
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 61 -             flusher: Arc::new(parking_lot::Mutex::new(None)),
[INFO] [stdout] 61 +             flusher: Arc::new(Mutex::new(None)),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/lru.rs:119:39
[INFO] [stdout]     |
[INFO] [stdout] 119 |         let ptr = self.full_list.swap(std::ptr::null_mut(), Ordering::AcqRel);
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 119 -         let ptr = self.full_list.swap(std::ptr::null_mut(), Ordering::AcqRel);
[INFO] [stdout] 119 +         let ptr = self.full_list.swap(ptr::null_mut(), Ordering::AcqRel);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/lru.rs:138:39
[INFO] [stdout]     |
[INFO] [stdout] 138 |                     (*head).next.swap(std::ptr::null_mut(), Ordering::Release);
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 138 -                     (*head).next.swap(std::ptr::null_mut(), Ordering::Release);
[INFO] [stdout] 138 +                     (*head).next.swap(ptr::null_mut(), Ordering::Release);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/meta.rs:39:34
[INFO] [stdout]    |
[INFO] [stdout] 39 |                 k.len() as u64 + std::mem::size_of::<PageId>() as u64
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 39 -                 k.len() as u64 + std::mem::size_of::<PageId>() as u64
[INFO] [stdout] 39 +                 k.len() as u64 + size_of::<PageId>() as u64
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/node.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 42 |         std::mem::size_of::<Node>() as u64
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 42 -         std::mem::size_of::<Node>() as u64
[INFO] [stdout] 42 +         size_of::<Node>() as u64
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/pagecache/logger.rs:590:17
[INFO] [stdout]     |
[INFO] [stdout] 590 |                 std::mem::size_of::<u64>(),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 590 -                 std::mem::size_of::<u64>(),
[INFO] [stdout] 590 +                 size_of::<u64>(),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/pagecache/logger.rs:595:17
[INFO] [stdout]     |
[INFO] [stdout] 595 |                 std::mem::size_of::<u64>(),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 595 -                 std::mem::size_of::<u64>(),
[INFO] [stdout] 595 +                 size_of::<u64>(),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/pagecache/logger.rs:606:17
[INFO] [stdout]     |
[INFO] [stdout] 606 |                 std::mem::size_of::<u32>(),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 606 -                 std::mem::size_of::<u32>(),
[INFO] [stdout] 606 +                 size_of::<u32>(),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/pagecache/logger.rs:842:35
[INFO] [stdout]     |
[INFO] [stdout] 842 |             assert_eq!(buf.len(), std::mem::size_of::<Lsn>());
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 842 -             assert_eq!(buf.len(), std::mem::size_of::<Lsn>());
[INFO] [stdout] 842 +             assert_eq!(buf.len(), size_of::<Lsn>());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/pagecache/blob_io.rs:17:41
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let mut crc_expected_bytes = [0_u8; std::mem::size_of::<u32>()];
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 17 -     let mut crc_expected_bytes = [0_u8; std::mem::size_of::<u32>()];
[INFO] [stdout] 17 +     let mut crc_expected_bytes = [0_u8; size_of::<u32>()];
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/pagecache/iobuf.rs:654:21
[INFO] [stdout]     |
[INFO] [stdout] 654 |                     std::mem::size_of::<u32>(),
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 654 -                     std::mem::size_of::<u32>(),
[INFO] [stdout] 654 +                     size_of::<u32>(),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/pagecache/reservation.rs:136:17
[INFO] [stdout]     |
[INFO] [stdout] 136 |                 std::mem::size_of::<u32>(),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 136 -                 std::mem::size_of::<u32>(),
[INFO] [stdout] 136 +                 size_of::<u32>(),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MAX_SPACE_AMPLIFICATION`
[INFO] [stdout]   --> src/pagecache/mod.rs:61:29
[INFO] [stdout]    |
[INFO] [stdout] 61 |         MAX_MSG_HEADER_LEN, MAX_SPACE_AMPLIFICATION, MINIMUM_ITEMS_PER_SEGMENT,
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]     --> src/pagecache/mod.rs:1433:26
[INFO] [stdout]      |
[INFO] [stdout] 1433 |         let idgen_size = std::mem::size_of::<u64>() as u64;
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]      |
[INFO] [stdout] 1433 -         let idgen_size = std::mem::size_of::<u64>() as u64;
[INFO] [stdout] 1433 +         let idgen_size = size_of::<u64>() as u64;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/tree.rs:211:21
[INFO] [stdout]     |
[INFO] [stdout] 211 |                     subscriber::Event::Insert {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 211 -                     subscriber::Event::Insert {
[INFO] [stdout] 211 +                     Event::Insert {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/tree.rs:216:21
[INFO] [stdout]     |
[INFO] [stdout] 216 |                     subscriber::Event::Remove { key: key.as_ref().into() }
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 216 -                     subscriber::Event::Remove { key: key.as_ref().into() }
[INFO] [stdout] 216 +                     Event::Remove { key: key.as_ref().into() }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/tree.rs:582:25
[INFO] [stdout]     |
[INFO] [stdout] 582 |                         subscriber::Event::Insert {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 582 -                         subscriber::Event::Insert {
[INFO] [stdout] 582 +                         Event::Insert {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/tree.rs:587:25
[INFO] [stdout]     |
[INFO] [stdout] 587 |                         subscriber::Event::Remove { key: key.as_ref().into() }
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 587 -                         subscriber::Event::Remove { key: key.as_ref().into() }
[INFO] [stdout] 587 +                         Event::Remove { key: key.as_ref().into() }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]     --> src/tree.rs:1061:25
[INFO] [stdout]      |
[INFO] [stdout] 1061 |                         subscriber::Event::Insert {
[INFO] [stdout]      |                         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]      |
[INFO] [stdout] 1061 -                         subscriber::Event::Insert {
[INFO] [stdout] 1061 +                         Event::Insert {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]     --> src/tree.rs:1066:25
[INFO] [stdout]      |
[INFO] [stdout] 1066 |                         subscriber::Event::Remove { key: key.as_ref().into() }
[INFO] [stdout]      |                         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]      |
[INFO] [stdout] 1066 -                         subscriber::Event::Remove { key: key.as_ref().into() }
[INFO] [stdout] 1066 +                         Event::Remove { key: key.as_ref().into() }
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/flusher.rs:29:31
[INFO] [stdout]    |
[INFO] [stdout] 29 |     join_handle: Mutex<Option<std::thread::JoinHandle<()>>>,
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 29 -     join_handle: Mutex<Option<std::thread::JoinHandle<()>>>,
[INFO] [stdout] 29 +     join_handle: Mutex<Option<thread::JoinHandle<()>>>,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/concurrency_control.rs:35:11
[INFO] [stdout]    |
[INFO] [stdout] 35 |     Write(RwLockWriteGuard<'a, ()>),
[INFO] [stdout]    |     ----- ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Protector` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 35 -     Write(RwLockWriteGuard<'a, ()>),
[INFO] [stdout] 35 +     Write(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/concurrency_control.rs:36:10
[INFO] [stdout]    |
[INFO] [stdout] 36 |     Read(RwLockReadGuard<'a, ()>),
[INFO] [stdout]    |     ---- ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Protector` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 36 -     Read(RwLockReadGuard<'a, ()>),
[INFO] [stdout] 36 +     Read(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/metrics.rs:88:9
[INFO] [stdout]     |
[INFO] [stdout]  87 | pub struct Metrics {
[INFO] [stdout]     |            ------- fields in this struct
[INFO] [stdout]  88 |     pub accountant_bump_tip: Histogram,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  96 |     pub compress: Histogram,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]  97 |     pub decompress: Histogram,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub log_reservation_attempts: CachePadded<AtomicUsize>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 103 |     pub log_reservations: CachePadded<AtomicUsize>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 |     pub segment_utilization_startup: Histogram,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub tree_child_split_attempt: CachePadded<AtomicUsize>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 |     pub tree_child_split_success: CachePadded<AtomicUsize>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub tree_loops: CachePadded<AtomicUsize>,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 126 |     pub tree_merge: Histogram,
[INFO] [stdout] 127 |     pub tree_parent_split_attempt: CachePadded<AtomicUsize>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 128 |     pub tree_parent_split_success: CachePadded<AtomicUsize>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 129 |     pub tree_reverse_scan: Histogram,
[INFO] [stdout] 130 |     pub tree_root_split_attempt: CachePadded<AtomicUsize>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 131 |     pub tree_root_split_success: CachePadded<AtomicUsize>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Metrics` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]    --> src/arc.rs:156:17
[INFO] [stdout]     |
[INFO] [stdout] 156 |                 Box::from_raw(self.ptr);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 156 |                 let _ = Box::from_raw(self.ptr);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]    --> src/lru.rs:130:13
[INFO] [stdout]     |
[INFO] [stdout] 130 |             Box::from_raw(writing);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 130 |             let _ = Box::from_raw(writing);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]    --> src/lru.rs:139:17
[INFO] [stdout]     |
[INFO] [stdout] 139 |                 Box::from_raw(head);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 139 |                 let _ = Box::from_raw(head);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.43s
[INFO] running `Command { std: "docker" "inspect" "068596a6be02be56e668b4cd0b571b1ef6f8e825f836ca68a31e072323a37ea0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "068596a6be02be56e668b4cd0b571b1ef6f8e825f836ca68a31e072323a37ea0", kill_on_drop: false }`
[INFO] [stdout] 068596a6be02be56e668b4cd0b571b1ef6f8e825f836ca68a31e072323a37ea0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-10-28" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a1a99bd016d1e68487afe4c5b8c3d2a34b72f6cebdb3abf33b0ce52f5aca25d0
[INFO] running `Command { std: "docker" "start" "-a" "a1a99bd016d1e68487afe4c5b8c3d2a34b72f6cebdb3abf33b0ce52f5aca25d0", kill_on_drop: false }`
[INFO] [stderr] warning: version requirement `0.11.1+zstd.1.5.2` for dependency `zstd` includes semver metadata which will be ignored, removing the metadata is recommended to avoid confusion
[INFO] [stderr]    Compiling proc-macro2 v1.0.36
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]    Compiling unicode-xid v0.2.2
[INFO] [stderr]    Compiling log v0.4.16
[INFO] [stderr]    Compiling syn v1.0.90
[INFO] [stderr]    Compiling libm v0.2.2
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling regex v1.5.5
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]    Compiling rand_chacha v0.2.2
[INFO] [stderr]    Compiling vsdbsled v0.34.7-p1 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling rand v0.7.3
[INFO] [stderr]    Compiling quote v1.0.17
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/arc.rs:48:27
[INFO] [stdout]    |
[INFO] [stdout] 48 |             std::cmp::max(mem::align_of::<T>(), mem::align_of::<AtomicUsize>());
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 95 |     unused_qualifications
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 48 -             std::cmp::max(mem::align_of::<T>(), mem::align_of::<AtomicUsize>());
[INFO] [stdout] 48 +             std::cmp::max(align_of::<T>(), mem::align_of::<AtomicUsize>());
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/arc.rs:48:49
[INFO] [stdout]    |
[INFO] [stdout] 48 |             std::cmp::max(mem::align_of::<T>(), mem::align_of::<AtomicUsize>());
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 48 -             std::cmp::max(mem::align_of::<T>(), mem::align_of::<AtomicUsize>());
[INFO] [stdout] 48 +             std::cmp::max(mem::align_of::<T>(), align_of::<AtomicUsize>());
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/arc.rs:50:45
[INFO] [stdout]    |
[INFO] [stdout] 50 |         let rc_width = std::cmp::max(align, mem::size_of::<AtomicUsize>());
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 50 -         let rc_width = std::cmp::max(align, mem::size_of::<AtomicUsize>());
[INFO] [stdout] 50 +         let rc_width = std::cmp::max(align, size_of::<AtomicUsize>());
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/arc.rs:51:26
[INFO] [stdout]    |
[INFO] [stdout] 51 |         let data_width = mem::size_of::<T>().checked_mul(s.len()).unwrap();
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 51 -         let data_width = mem::size_of::<T>().checked_mul(s.len()).unwrap();
[INFO] [stdout] 51 +         let data_width = size_of::<T>().checked_mul(s.len()).unwrap();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/arc.rs:94:27
[INFO] [stdout]    |
[INFO] [stdout] 94 |             std::cmp::max(mem::align_of::<T>(), mem::align_of::<AtomicUsize>());
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 94 -             std::cmp::max(mem::align_of::<T>(), mem::align_of::<AtomicUsize>());
[INFO] [stdout] 94 +             std::cmp::max(align_of::<T>(), mem::align_of::<AtomicUsize>());
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/arc.rs:94:49
[INFO] [stdout]    |
[INFO] [stdout] 94 |             std::cmp::max(mem::align_of::<T>(), mem::align_of::<AtomicUsize>());
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 94 -             std::cmp::max(mem::align_of::<T>(), mem::align_of::<AtomicUsize>());
[INFO] [stdout] 94 +             std::cmp::max(mem::align_of::<T>(), align_of::<AtomicUsize>());
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/arc.rs:96:45
[INFO] [stdout]    |
[INFO] [stdout] 96 |         let rc_width = std::cmp::max(align, mem::size_of::<AtomicUsize>());
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 96 -         let rc_width = std::cmp::max(align, mem::size_of::<AtomicUsize>());
[INFO] [stdout] 96 +         let rc_width = std::cmp::max(align, size_of::<AtomicUsize>());
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/arc.rs:179:17
[INFO] [stdout]     |
[INFO] [stdout] 179 |                 mem::align_of::<AtomicUsize>(),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 179 -                 mem::align_of::<AtomicUsize>(),
[INFO] [stdout] 179 +                 align_of::<AtomicUsize>(),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/arc.rs:181:49
[INFO] [stdout]     |
[INFO] [stdout] 181 |             let rc_width = std::cmp::max(align, mem::size_of::<AtomicUsize>());
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 181 -             let rc_width = std::cmp::max(align, mem::size_of::<AtomicUsize>());
[INFO] [stdout] 181 +             let rc_width = std::cmp::max(align, size_of::<AtomicUsize>());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/config.rs:276:9
[INFO] [stdout]     |
[INFO] [stdout] 276 |         <T as std::convert::TryFrom<usize>>::Error: Debug,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 276 -         <T as std::convert::TryFrom<usize>>::Error: Debug,
[INFO] [stdout] 276 +         <T as TryFrom<usize>>::Error: Debug,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/context.rs:61:31
[INFO] [stdout]    |
[INFO] [stdout] 61 |             flusher: Arc::new(parking_lot::Mutex::new(None)),
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 61 -             flusher: Arc::new(parking_lot::Mutex::new(None)),
[INFO] [stdout] 61 +             flusher: Arc::new(Mutex::new(None)),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/lru.rs:119:39
[INFO] [stdout]     |
[INFO] [stdout] 119 |         let ptr = self.full_list.swap(std::ptr::null_mut(), Ordering::AcqRel);
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 119 -         let ptr = self.full_list.swap(std::ptr::null_mut(), Ordering::AcqRel);
[INFO] [stdout] 119 +         let ptr = self.full_list.swap(ptr::null_mut(), Ordering::AcqRel);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/lru.rs:138:39
[INFO] [stdout]     |
[INFO] [stdout] 138 |                     (*head).next.swap(std::ptr::null_mut(), Ordering::Release);
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 138 -                     (*head).next.swap(std::ptr::null_mut(), Ordering::Release);
[INFO] [stdout] 138 +                     (*head).next.swap(ptr::null_mut(), Ordering::Release);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/meta.rs:39:34
[INFO] [stdout]    |
[INFO] [stdout] 39 |                 k.len() as u64 + std::mem::size_of::<PageId>() as u64
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 39 -                 k.len() as u64 + std::mem::size_of::<PageId>() as u64
[INFO] [stdout] 39 +                 k.len() as u64 + size_of::<PageId>() as u64
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/node.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 42 |         std::mem::size_of::<Node>() as u64
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 42 -         std::mem::size_of::<Node>() as u64
[INFO] [stdout] 42 +         size_of::<Node>() as u64
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/pagecache/logger.rs:590:17
[INFO] [stdout]     |
[INFO] [stdout] 590 |                 std::mem::size_of::<u64>(),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 590 -                 std::mem::size_of::<u64>(),
[INFO] [stdout] 590 +                 size_of::<u64>(),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/pagecache/logger.rs:595:17
[INFO] [stdout]     |
[INFO] [stdout] 595 |                 std::mem::size_of::<u64>(),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 595 -                 std::mem::size_of::<u64>(),
[INFO] [stdout] 595 +                 size_of::<u64>(),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/pagecache/logger.rs:606:17
[INFO] [stdout]     |
[INFO] [stdout] 606 |                 std::mem::size_of::<u32>(),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 606 -                 std::mem::size_of::<u32>(),
[INFO] [stdout] 606 +                 size_of::<u32>(),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/pagecache/logger.rs:842:35
[INFO] [stdout]     |
[INFO] [stdout] 842 |             assert_eq!(buf.len(), std::mem::size_of::<Lsn>());
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 842 -             assert_eq!(buf.len(), std::mem::size_of::<Lsn>());
[INFO] [stdout] 842 +             assert_eq!(buf.len(), size_of::<Lsn>());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/pagecache/blob_io.rs:17:41
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let mut crc_expected_bytes = [0_u8; std::mem::size_of::<u32>()];
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 17 -     let mut crc_expected_bytes = [0_u8; std::mem::size_of::<u32>()];
[INFO] [stdout] 17 +     let mut crc_expected_bytes = [0_u8; size_of::<u32>()];
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/pagecache/iobuf.rs:654:21
[INFO] [stdout]     |
[INFO] [stdout] 654 |                     std::mem::size_of::<u32>(),
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 654 -                     std::mem::size_of::<u32>(),
[INFO] [stdout] 654 +                     size_of::<u32>(),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/pagecache/reservation.rs:136:17
[INFO] [stdout]     |
[INFO] [stdout] 136 |                 std::mem::size_of::<u32>(),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 136 -                 std::mem::size_of::<u32>(),
[INFO] [stdout] 136 +                 size_of::<u32>(),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MAX_SPACE_AMPLIFICATION`
[INFO] [stdout]   --> src/pagecache/mod.rs:61:29
[INFO] [stdout]    |
[INFO] [stdout] 61 |         MAX_MSG_HEADER_LEN, MAX_SPACE_AMPLIFICATION, MINIMUM_ITEMS_PER_SEGMENT,
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]     --> src/pagecache/mod.rs:1433:26
[INFO] [stdout]      |
[INFO] [stdout] 1433 |         let idgen_size = std::mem::size_of::<u64>() as u64;
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]      |
[INFO] [stdout] 1433 -         let idgen_size = std::mem::size_of::<u64>() as u64;
[INFO] [stdout] 1433 +         let idgen_size = size_of::<u64>() as u64;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/tree.rs:211:21
[INFO] [stdout]     |
[INFO] [stdout] 211 |                     subscriber::Event::Insert {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 211 -                     subscriber::Event::Insert {
[INFO] [stdout] 211 +                     Event::Insert {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/tree.rs:216:21
[INFO] [stdout]     |
[INFO] [stdout] 216 |                     subscriber::Event::Remove { key: key.as_ref().into() }
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 216 -                     subscriber::Event::Remove { key: key.as_ref().into() }
[INFO] [stdout] 216 +                     Event::Remove { key: key.as_ref().into() }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/tree.rs:582:25
[INFO] [stdout]     |
[INFO] [stdout] 582 |                         subscriber::Event::Insert {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 582 -                         subscriber::Event::Insert {
[INFO] [stdout] 582 +                         Event::Insert {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/tree.rs:587:25
[INFO] [stdout]     |
[INFO] [stdout] 587 |                         subscriber::Event::Remove { key: key.as_ref().into() }
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 587 -                         subscriber::Event::Remove { key: key.as_ref().into() }
[INFO] [stdout] 587 +                         Event::Remove { key: key.as_ref().into() }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]     --> src/tree.rs:1061:25
[INFO] [stdout]      |
[INFO] [stdout] 1061 |                         subscriber::Event::Insert {
[INFO] [stdout]      |                         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]      |
[INFO] [stdout] 1061 -                         subscriber::Event::Insert {
[INFO] [stdout] 1061 +                         Event::Insert {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]     --> src/tree.rs:1066:25
[INFO] [stdout]      |
[INFO] [stdout] 1066 |                         subscriber::Event::Remove { key: key.as_ref().into() }
[INFO] [stdout]      |                         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]      |
[INFO] [stdout] 1066 -                         subscriber::Event::Remove { key: key.as_ref().into() }
[INFO] [stdout] 1066 +                         Event::Remove { key: key.as_ref().into() }
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/flusher.rs:29:31
[INFO] [stdout]    |
[INFO] [stdout] 29 |     join_handle: Mutex<Option<std::thread::JoinHandle<()>>>,
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 29 -     join_handle: Mutex<Option<std::thread::JoinHandle<()>>>,
[INFO] [stdout] 29 +     join_handle: Mutex<Option<thread::JoinHandle<()>>>,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling rand_distr v0.3.0
[INFO] [stderr]    Compiling env_logger v0.7.1
[INFO] [stderr]    Compiling env_logger v0.8.4
[INFO] [stderr]    Compiling quickcheck v0.9.2
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/concurrency_control.rs:35:11
[INFO] [stdout]    |
[INFO] [stdout] 35 |     Write(RwLockWriteGuard<'a, ()>),
[INFO] [stdout]    |     ----- ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Protector` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 35 -     Write(RwLockWriteGuard<'a, ()>),
[INFO] [stdout] 35 +     Write(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/concurrency_control.rs:36:10
[INFO] [stdout]    |
[INFO] [stdout] 36 |     Read(RwLockReadGuard<'a, ()>),
[INFO] [stdout]    |     ---- ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Protector` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 36 -     Read(RwLockReadGuard<'a, ()>),
[INFO] [stdout] 36 +     Read(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/metrics.rs:88:9
[INFO] [stdout]     |
[INFO] [stdout]  87 | pub struct Metrics {
[INFO] [stdout]     |            ------- fields in this struct
[INFO] [stdout]  88 |     pub accountant_bump_tip: Histogram,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  96 |     pub compress: Histogram,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]  97 |     pub decompress: Histogram,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub log_reservation_attempts: CachePadded<AtomicUsize>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 103 |     pub log_reservations: CachePadded<AtomicUsize>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 |     pub segment_utilization_startup: Histogram,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub tree_child_split_attempt: CachePadded<AtomicUsize>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 |     pub tree_child_split_success: CachePadded<AtomicUsize>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub tree_loops: CachePadded<AtomicUsize>,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 126 |     pub tree_merge: Histogram,
[INFO] [stdout] 127 |     pub tree_parent_split_attempt: CachePadded<AtomicUsize>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 128 |     pub tree_parent_split_success: CachePadded<AtomicUsize>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 129 |     pub tree_reverse_scan: Histogram,
[INFO] [stdout] 130 |     pub tree_root_split_attempt: CachePadded<AtomicUsize>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 131 |     pub tree_root_split_success: CachePadded<AtomicUsize>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Metrics` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]    --> src/arc.rs:156:17
[INFO] [stdout]     |
[INFO] [stdout] 156 |                 Box::from_raw(self.ptr);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 156 |                 let _ = Box::from_raw(self.ptr);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]    --> src/lru.rs:130:13
[INFO] [stdout]     |
[INFO] [stdout] 130 |             Box::from_raw(writing);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 130 |             let _ = Box::from_raw(writing);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]    --> src/lru.rs:139:17
[INFO] [stdout]     |
[INFO] [stdout] 139 |                 Box::from_raw(head);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 139 |                 let _ = Box::from_raw(head);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling synstructure v0.12.6
[INFO] [stderr]    Compiling zerocopy-derive v0.2.0
[INFO] [stderr]    Compiling zerocopy v0.3.0
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/arc.rs:48:27
[INFO] [stdout]    |
[INFO] [stdout] 48 |             std::cmp::max(mem::align_of::<T>(), mem::align_of::<AtomicUsize>());
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 95 |     unused_qualifications
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 48 -             std::cmp::max(mem::align_of::<T>(), mem::align_of::<AtomicUsize>());
[INFO] [stdout] 48 +             std::cmp::max(align_of::<T>(), mem::align_of::<AtomicUsize>());
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/arc.rs:48:49
[INFO] [stdout]    |
[INFO] [stdout] 48 |             std::cmp::max(mem::align_of::<T>(), mem::align_of::<AtomicUsize>());
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 48 -             std::cmp::max(mem::align_of::<T>(), mem::align_of::<AtomicUsize>());
[INFO] [stdout] 48 +             std::cmp::max(mem::align_of::<T>(), align_of::<AtomicUsize>());
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/arc.rs:50:45
[INFO] [stdout]    |
[INFO] [stdout] 50 |         let rc_width = std::cmp::max(align, mem::size_of::<AtomicUsize>());
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 50 -         let rc_width = std::cmp::max(align, mem::size_of::<AtomicUsize>());
[INFO] [stdout] 50 +         let rc_width = std::cmp::max(align, size_of::<AtomicUsize>());
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/arc.rs:51:26
[INFO] [stdout]    |
[INFO] [stdout] 51 |         let data_width = mem::size_of::<T>().checked_mul(s.len()).unwrap();
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 51 -         let data_width = mem::size_of::<T>().checked_mul(s.len()).unwrap();
[INFO] [stdout] 51 +         let data_width = size_of::<T>().checked_mul(s.len()).unwrap();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/arc.rs:94:27
[INFO] [stdout]    |
[INFO] [stdout] 94 |             std::cmp::max(mem::align_of::<T>(), mem::align_of::<AtomicUsize>());
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 94 -             std::cmp::max(mem::align_of::<T>(), mem::align_of::<AtomicUsize>());
[INFO] [stdout] 94 +             std::cmp::max(align_of::<T>(), mem::align_of::<AtomicUsize>());
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/arc.rs:94:49
[INFO] [stdout]    |
[INFO] [stdout] 94 |             std::cmp::max(mem::align_of::<T>(), mem::align_of::<AtomicUsize>());
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 94 -             std::cmp::max(mem::align_of::<T>(), mem::align_of::<AtomicUsize>());
[INFO] [stdout] 94 +             std::cmp::max(mem::align_of::<T>(), align_of::<AtomicUsize>());
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/arc.rs:96:45
[INFO] [stdout]    |
[INFO] [stdout] 96 |         let rc_width = std::cmp::max(align, mem::size_of::<AtomicUsize>());
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 96 -         let rc_width = std::cmp::max(align, mem::size_of::<AtomicUsize>());
[INFO] [stdout] 96 +         let rc_width = std::cmp::max(align, size_of::<AtomicUsize>());
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/arc.rs:179:17
[INFO] [stdout]     |
[INFO] [stdout] 179 |                 mem::align_of::<AtomicUsize>(),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 179 -                 mem::align_of::<AtomicUsize>(),
[INFO] [stdout] 179 +                 align_of::<AtomicUsize>(),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/arc.rs:181:49
[INFO] [stdout]     |
[INFO] [stdout] 181 |             let rc_width = std::cmp::max(align, mem::size_of::<AtomicUsize>());
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 181 -             let rc_width = std::cmp::max(align, mem::size_of::<AtomicUsize>());
[INFO] [stdout] 181 +             let rc_width = std::cmp::max(align, size_of::<AtomicUsize>());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/config.rs:276:9
[INFO] [stdout]     |
[INFO] [stdout] 276 |         <T as std::convert::TryFrom<usize>>::Error: Debug,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 276 -         <T as std::convert::TryFrom<usize>>::Error: Debug,
[INFO] [stdout] 276 +         <T as TryFrom<usize>>::Error: Debug,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/context.rs:61:31
[INFO] [stdout]    |
[INFO] [stdout] 61 |             flusher: Arc::new(parking_lot::Mutex::new(None)),
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 61 -             flusher: Arc::new(parking_lot::Mutex::new(None)),
[INFO] [stdout] 61 +             flusher: Arc::new(Mutex::new(None)),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/lru.rs:119:39
[INFO] [stdout]     |
[INFO] [stdout] 119 |         let ptr = self.full_list.swap(std::ptr::null_mut(), Ordering::AcqRel);
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 119 -         let ptr = self.full_list.swap(std::ptr::null_mut(), Ordering::AcqRel);
[INFO] [stdout] 119 +         let ptr = self.full_list.swap(ptr::null_mut(), Ordering::AcqRel);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/lru.rs:138:39
[INFO] [stdout]     |
[INFO] [stdout] 138 |                     (*head).next.swap(std::ptr::null_mut(), Ordering::Release);
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 138 -                     (*head).next.swap(std::ptr::null_mut(), Ordering::Release);
[INFO] [stdout] 138 +                     (*head).next.swap(ptr::null_mut(), Ordering::Release);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/meta.rs:39:34
[INFO] [stdout]    |
[INFO] [stdout] 39 |                 k.len() as u64 + std::mem::size_of::<PageId>() as u64
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 39 -                 k.len() as u64 + std::mem::size_of::<PageId>() as u64
[INFO] [stdout] 39 +                 k.len() as u64 + size_of::<PageId>() as u64
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/node.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 42 |         std::mem::size_of::<Node>() as u64
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 42 -         std::mem::size_of::<Node>() as u64
[INFO] [stdout] 42 +         size_of::<Node>() as u64
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/pagecache/logger.rs:590:17
[INFO] [stdout]     |
[INFO] [stdout] 590 |                 std::mem::size_of::<u64>(),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 590 -                 std::mem::size_of::<u64>(),
[INFO] [stdout] 590 +                 size_of::<u64>(),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/pagecache/logger.rs:595:17
[INFO] [stdout]     |
[INFO] [stdout] 595 |                 std::mem::size_of::<u64>(),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 595 -                 std::mem::size_of::<u64>(),
[INFO] [stdout] 595 +                 size_of::<u64>(),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/pagecache/logger.rs:606:17
[INFO] [stdout]     |
[INFO] [stdout] 606 |                 std::mem::size_of::<u32>(),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 606 -                 std::mem::size_of::<u32>(),
[INFO] [stdout] 606 +                 size_of::<u32>(),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/pagecache/logger.rs:842:35
[INFO] [stdout]     |
[INFO] [stdout] 842 |             assert_eq!(buf.len(), std::mem::size_of::<Lsn>());
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 842 -             assert_eq!(buf.len(), std::mem::size_of::<Lsn>());
[INFO] [stdout] 842 +             assert_eq!(buf.len(), size_of::<Lsn>());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/pagecache/blob_io.rs:17:41
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let mut crc_expected_bytes = [0_u8; std::mem::size_of::<u32>()];
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 17 -     let mut crc_expected_bytes = [0_u8; std::mem::size_of::<u32>()];
[INFO] [stdout] 17 +     let mut crc_expected_bytes = [0_u8; size_of::<u32>()];
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/pagecache/iobuf.rs:654:21
[INFO] [stdout]     |
[INFO] [stdout] 654 |                     std::mem::size_of::<u32>(),
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 654 -                     std::mem::size_of::<u32>(),
[INFO] [stdout] 654 +                     size_of::<u32>(),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/pagecache/reservation.rs:136:17
[INFO] [stdout]     |
[INFO] [stdout] 136 |                 std::mem::size_of::<u32>(),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 136 -                 std::mem::size_of::<u32>(),
[INFO] [stdout] 136 +                 size_of::<u32>(),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MAX_SPACE_AMPLIFICATION`
[INFO] [stdout]   --> src/pagecache/mod.rs:61:29
[INFO] [stdout]    |
[INFO] [stdout] 61 |         MAX_MSG_HEADER_LEN, MAX_SPACE_AMPLIFICATION, MINIMUM_ITEMS_PER_SEGMENT,
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]     --> src/pagecache/mod.rs:1433:26
[INFO] [stdout]      |
[INFO] [stdout] 1433 |         let idgen_size = std::mem::size_of::<u64>() as u64;
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]      |
[INFO] [stdout] 1433 -         let idgen_size = std::mem::size_of::<u64>() as u64;
[INFO] [stdout] 1433 +         let idgen_size = size_of::<u64>() as u64;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/tree.rs:211:21
[INFO] [stdout]     |
[INFO] [stdout] 211 |                     subscriber::Event::Insert {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 211 -                     subscriber::Event::Insert {
[INFO] [stdout] 211 +                     Event::Insert {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/tree.rs:216:21
[INFO] [stdout]     |
[INFO] [stdout] 216 |                     subscriber::Event::Remove { key: key.as_ref().into() }
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 216 -                     subscriber::Event::Remove { key: key.as_ref().into() }
[INFO] [stdout] 216 +                     Event::Remove { key: key.as_ref().into() }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/tree.rs:582:25
[INFO] [stdout]     |
[INFO] [stdout] 582 |                         subscriber::Event::Insert {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 582 -                         subscriber::Event::Insert {
[INFO] [stdout] 582 +                         Event::Insert {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/tree.rs:587:25
[INFO] [stdout]     |
[INFO] [stdout] 587 |                         subscriber::Event::Remove { key: key.as_ref().into() }
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 587 -                         subscriber::Event::Remove { key: key.as_ref().into() }
[INFO] [stdout] 587 +                         Event::Remove { key: key.as_ref().into() }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]     --> src/tree.rs:1061:25
[INFO] [stdout]      |
[INFO] [stdout] 1061 |                         subscriber::Event::Insert {
[INFO] [stdout]      |                         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]      |
[INFO] [stdout] 1061 -                         subscriber::Event::Insert {
[INFO] [stdout] 1061 +                         Event::Insert {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]     --> src/tree.rs:1066:25
[INFO] [stdout]      |
[INFO] [stdout] 1066 |                         subscriber::Event::Remove { key: key.as_ref().into() }
[INFO] [stdout]      |                         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]      |
[INFO] [stdout] 1066 -                         subscriber::Event::Remove { key: key.as_ref().into() }
[INFO] [stdout] 1066 +                         Event::Remove { key: key.as_ref().into() }
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/flusher.rs:29:31
[INFO] [stdout]    |
[INFO] [stdout] 29 |     join_handle: Mutex<Option<std::thread::JoinHandle<()>>>,
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 29 -     join_handle: Mutex<Option<std::thread::JoinHandle<()>>>,
[INFO] [stdout] 29 +     join_handle: Mutex<Option<thread::JoinHandle<()>>>,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: please run tests using the "testing" feature, which enables additional checks at runtime and causes more race conditions to jump out by inserting delays in concurrent code.
[INFO] [stdout]  --> tests/common/mod.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | / compile_error!(
[INFO] [stdout] 3 | |     "please run tests using the \"testing\" feature, \
[INFO] [stdout] 4 | |      which enables additional checks at runtime and \
[INFO] [stdout] 5 | |      causes more race conditions to jump out by \
[INFO] [stdout] 6 | |      inserting delays in concurrent code."
[INFO] [stdout] 7 | | );
[INFO] [stdout]   | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: please run tests using the "testing" feature, which enables additional checks at runtime and causes more race conditions to jump out by inserting delays in concurrent code.
[INFO] [stdout]  --> tests/common/mod.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | / compile_error!(
[INFO] [stdout] 3 | |     "please run tests using the \"testing\" feature, \
[INFO] [stdout] 4 | |      which enables additional checks at runtime and \
[INFO] [stdout] 5 | |      causes more race conditions to jump out by \
[INFO] [stdout] 6 | |      inserting delays in concurrent code."
[INFO] [stdout] 7 | | );
[INFO] [stdout]   | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: please run tests using the "testing" feature, which enables additional checks at runtime and causes more race conditions to jump out by inserting delays in concurrent code.
[INFO] [stdout]  --> tests/common/mod.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | / compile_error!(
[INFO] [stdout] 3 | |     "please run tests using the \"testing\" feature, \
[INFO] [stdout] 4 | |      which enables additional checks at runtime and \
[INFO] [stdout] 5 | |      causes more race conditions to jump out by \
[INFO] [stdout] 6 | |      inserting delays in concurrent code."
[INFO] [stdout] 7 | | );
[INFO] [stdout]   | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: please run tests using the "testing" feature, which enables additional checks at runtime and causes more race conditions to jump out by inserting delays in concurrent code.
[INFO] [stdout]  --> tests/common/mod.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | / compile_error!(
[INFO] [stdout] 3 | |     "please run tests using the \"testing\" feature, \
[INFO] [stdout] 4 | |      which enables additional checks at runtime and \
[INFO] [stdout] 5 | |      causes more race conditions to jump out by \
[INFO] [stdout] 6 | |      inserting delays in concurrent code."
[INFO] [stdout] 7 | | );
[INFO] [stdout]   | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: please run tests using the "testing" feature, which enables additional checks at runtime and causes more race conditions to jump out by inserting delays in concurrent code.
[INFO] [stdout]  --> tests/common/mod.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | / compile_error!(
[INFO] [stdout] 3 | |     "please run tests using the \"testing\" feature, \
[INFO] [stdout] 4 | |      which enables additional checks at runtime and \
[INFO] [stdout] 5 | |      causes more race conditions to jump out by \
[INFO] [stdout] 6 | |      inserting delays in concurrent code."
[INFO] [stdout] 7 | | );
[INFO] [stdout]   | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `vsdbsled` (test "test_quiescent") due to 1 previous error
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `vsdbsled` (test "test_space_leaks") due to 1 previous error
[INFO] [stderr] error: could not compile `vsdbsled` (test "test_log") due to 1 previous error
[INFO] [stderr] error: could not compile `vsdbsled` (test "test_crash_recovery") due to 1 previous error
[INFO] [stderr] error: could not compile `vsdbsled` (test "test_tree") due to 1 previous error
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/concurrency_control.rs:35:11
[INFO] [stdout]    |
[INFO] [stdout] 35 |     Write(RwLockWriteGuard<'a, ()>),
[INFO] [stdout]    |     ----- ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Protector` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 35 -     Write(RwLockWriteGuard<'a, ()>),
[INFO] [stdout] 35 +     Write(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/concurrency_control.rs:36:10
[INFO] [stdout]    |
[INFO] [stdout] 36 |     Read(RwLockReadGuard<'a, ()>),
[INFO] [stdout]    |     ---- ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Protector` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 36 -     Read(RwLockReadGuard<'a, ()>),
[INFO] [stdout] 36 +     Read(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/metrics.rs:88:9
[INFO] [stdout]     |
[INFO] [stdout]  87 | pub struct Metrics {
[INFO] [stdout]     |            ------- fields in this struct
[INFO] [stdout]  88 |     pub accountant_bump_tip: Histogram,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  96 |     pub compress: Histogram,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]  97 |     pub decompress: Histogram,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub log_reservation_attempts: CachePadded<AtomicUsize>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 103 |     pub log_reservations: CachePadded<AtomicUsize>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 |     pub segment_utilization_startup: Histogram,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub tree_child_split_attempt: CachePadded<AtomicUsize>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 |     pub tree_child_split_success: CachePadded<AtomicUsize>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub tree_loops: CachePadded<AtomicUsize>,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 126 |     pub tree_merge: Histogram,
[INFO] [stdout] 127 |     pub tree_parent_split_attempt: CachePadded<AtomicUsize>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 128 |     pub tree_parent_split_success: CachePadded<AtomicUsize>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 129 |     pub tree_reverse_scan: Histogram,
[INFO] [stdout] 130 |     pub tree_root_split_attempt: CachePadded<AtomicUsize>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 131 |     pub tree_root_split_success: CachePadded<AtomicUsize>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Metrics` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]    --> src/arc.rs:156:17
[INFO] [stdout]     |
[INFO] [stdout] 156 |                 Box::from_raw(self.ptr);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 156 |                 let _ = Box::from_raw(self.ptr);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]    --> src/lru.rs:130:13
[INFO] [stdout]     |
[INFO] [stdout] 130 |             Box::from_raw(writing);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 130 |             let _ = Box::from_raw(writing);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]    --> src/lru.rs:139:17
[INFO] [stdout]     |
[INFO] [stdout] 139 |                 Box::from_raw(head);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 139 |                 let _ = Box::from_raw(head);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "a1a99bd016d1e68487afe4c5b8c3d2a34b72f6cebdb3abf33b0ce52f5aca25d0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a1a99bd016d1e68487afe4c5b8c3d2a34b72f6cebdb3abf33b0ce52f5aca25d0", kill_on_drop: false }`
[INFO] [stdout] a1a99bd016d1e68487afe4c5b8c3d2a34b72f6cebdb3abf33b0ce52f5aca25d0
