[INFO] fetching crate sled 1.0.0-alpha.122... [INFO] checking sled-1.0.0-alpha.122 against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] extracting crate sled 1.0.0-alpha.122 into /workspace/builds/worker-1-tc2/source [INFO] validating manifest of crates.io crate sled 1.0.0-alpha.122 on toolchain ccf408f4326a858c00dd845a64a86b16f360a801 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate sled 1.0.0-alpha.122 [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate sled 1.0.0-alpha.122 [INFO] tweaked toml for crates.io crate sled 1.0.0-alpha.122 written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] crate crates.io crate sled 1.0.0-alpha.122 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" "+ccf408f4326a858c00dd845a64a86b16f360a801" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: `panic` setting is ignored for `test` profile [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] a81cd2a2dd12ea712861dfb665d3e630368bd39ce1afe079d7bebf547519181a [INFO] running `Command { std: "docker" "start" "-a" "a81cd2a2dd12ea712861dfb665d3e630368bd39ce1afe079d7bebf547519181a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a81cd2a2dd12ea712861dfb665d3e630368bd39ce1afe079d7bebf547519181a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a81cd2a2dd12ea712861dfb665d3e630368bd39ce1afe079d7bebf547519181a", kill_on_drop: false }` [INFO] [stdout] a81cd2a2dd12ea712861dfb665d3e630368bd39ce1afe079d7bebf547519181a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6f88b28e6f8976b99d3e19d9ba1919dc88922a0a116580b9cb360c2bbfe0209d [INFO] running `Command { std: "docker" "start" "-a" "6f88b28e6f8976b99d3e19d9ba1919dc88922a0a116580b9cb360c2bbfe0209d", kill_on_drop: false }` [INFO] [stderr] Copying to /tmp/fixit [INFO] [stderr] Running `cargo fix --edition` [INFO] [stderr] Migrating Cargo.toml from 2021 edition to 2024 [INFO] [stderr] warning: `panic` setting is ignored for `test` profile [INFO] [stderr] Compiling serde v1.0.209 [INFO] [stderr] Compiling zstd-safe v6.0.6 [INFO] [stderr] Compiling libc v0.2.158 [INFO] [stderr] Compiling lock_api v0.4.12 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Compiling libm v0.2.8 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Checking remove_dir_all v0.5.3 [INFO] [stderr] Checking rand v0.4.6 [INFO] [stderr] Checking is-terminal v0.4.13 [INFO] [stderr] Checking fs2 v0.4.3 [INFO] [stderr] Checking crossbeam-queue v0.3.11 [INFO] [stderr] Compiling syn v2.0.77 [INFO] [stderr] Checking rayon v1.10.0 [INFO] [stderr] Checking pagetable v0.4.6 [INFO] [stderr] Checking fault-injection v1.0.10 [INFO] [stderr] Checking cache-advisor v1.0.16 [INFO] [stderr] Checking parking_lot v0.12.3 [INFO] [stderr] Checking tempdir v0.3.7 [INFO] [stderr] Checking shared-local-state v0.1.4 [INFO] [stderr] Compiling jobserver v0.1.32 [INFO] [stderr] Checking ebr v0.2.13 [INFO] [stderr] Compiling cc v1.1.15 [INFO] [stderr] Checking regex-automata v0.4.7 [INFO] [stderr] Compiling zstd-sys v2.0.13+zstd.1.5.6 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Compiling serde_derive v1.0.209 [INFO] [stderr] Checking zerocopy v0.7.35 [INFO] [stderr] Checking regex v1.10.6 [INFO] [stderr] Checking env_logger v0.8.4 [INFO] [stderr] Checking env_logger v0.10.2 [INFO] [stderr] Checking ppv-lite86 v0.2.20 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking rand_distr v0.4.3 [INFO] [stderr] Checking quickcheck v1.0.3 [INFO] [stderr] Checking zstd v0.12.4 [INFO] [stderr] Checking stack-map v1.0.5 [INFO] [stderr] Checking bincode v1.3.3 [INFO] [stderr] Checking concurrent-map v5.0.36 [INFO] [stderr] Checking inline-array v0.1.12 [INFO] [stderr] Checking sled v1.0.0-alpha.122 (/tmp/fixit) [INFO] [stderr] Migrating src/lib.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `sled` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/config.rs [INFO] [stderr] * src/lib.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/config.rs:11:29 [INFO] [stderr] | [INFO] [stderr] 11 | ($(($name:ident, $t:ty, $desc:expr_2021)),*) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition value: `testing_shred_allocator` [INFO] [stderr] --> src/lib.rs:145:5 [INFO] [stderr] | [INFO] [stderr] 145 | feature = "testing_shred_allocator", [INFO] [stderr] | ^^^^^^^^^^------------------------- [INFO] [stderr] | | [INFO] [stderr] | help: there is a expected value with a similar name: `"testing-shred-allocator"` [INFO] [stderr] | [INFO] [stderr] = note: expected values for `feature` are: `for-internal-testing-only`, `monotonic-behavior`, `testing-count-allocator`, and `testing-shred-allocator` [INFO] [stderr] = help: consider adding `testing_shred_allocator` as a feature in `Cargo.toml` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition value: `testing_count_allocator` [INFO] [stderr] --> src/lib.rs:146:5 [INFO] [stderr] | [INFO] [stderr] 146 | feature = "testing_count_allocator" [INFO] [stderr] | ^^^^^^^^^^------------------------- [INFO] [stderr] | | [INFO] [stderr] | help: there is a expected value with a similar name: `"testing-count-allocator"` [INFO] [stderr] | [INFO] [stderr] = note: expected values for `feature` are: `for-internal-testing-only`, `monotonic-behavior`, `testing-count-allocator`, and `testing-shred-allocator` [INFO] [stderr] = help: consider adding `testing_count_allocator` as a feature in `Cargo.toml` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] [INFO] [stderr] error: aborting due to 1 previous error; 2 warnings emitted [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: unexpected `cfg` condition value: `testing_shred_allocator` [INFO] [stdout] --> src/lib.rs:145:5 [INFO] [stdout] | [INFO] [stdout] 145 | feature = "testing_shred_allocator", [INFO] [stdout] | ^^^^^^^^^^------------------------- [INFO] [stdout] | | [INFO] [stdout] | help: there is a expected value with a similar name: `"testing-shred-allocator"` [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `for-internal-testing-only`, `monotonic-behavior`, `testing-count-allocator`, and `testing-shred-allocator` [INFO] [stdout] = help: consider adding `testing_shred_allocator` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `testing_count_allocator` [INFO] [stdout] --> src/lib.rs:146:5 [INFO] [stdout] | [INFO] [stdout] 146 | feature = "testing_count_allocator" [INFO] [stdout] | ^^^^^^^^^^------------------------- [INFO] [stdout] | | [INFO] [stdout] | help: there is a expected value with a similar name: `"testing-count-allocator"` [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `for-internal-testing-only`, `monotonic-behavior`, `testing-count-allocator`, and `testing-shred-allocator` [INFO] [stdout] = help: consider adding `testing_count_allocator` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/config.rs:11:35 [INFO] [stdout] | [INFO] [stdout] 11 | ($(($name:ident, $t:ty, $desc:expr)),*) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 11 | ($(($name:ident, $t:ty, $desc:expr_2021)),*) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:366:16 [INFO] [stdout] | [INFO] [stdout] 366 | if let Err(e) = rx.recv() { [INFO] [stdout] | ^^^^^^^^^^^^^--^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:368:13 [INFO] [stdout] | [INFO] [stdout] 368 | } else { [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 366 ~ match rx.recv() { Err(e) => { [INFO] [stdout] 367 | log::error!("failed to shut down flusher thread: {:?}", e); [INFO] [stdout] 368 ~ } _ => { [INFO] [stdout] 369 | log::debug!("flush thread successfully terminated"); [INFO] [stdout] 370 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:376:16 [INFO] [stdout] | [INFO] [stdout] 376 | if let Err(e) = cache.flush() { [INFO] [stdout] | ^^^^^^^^^^^^^------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:382:13 [INFO] [stdout] | [INFO] [stdout] 382 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 376 ~ match cache.flush() { Err(e) => { [INFO] [stdout] 377 | log::error!( [INFO] [stdout] ... [INFO] [stdout] 381 | cache.set_error(&e); [INFO] [stdout] 382 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/db.rs:150:16 [INFO] [stdout] | [INFO] [stdout] 150 | if let Err(e) = self.flush() { [INFO] [stdout] | ^^^^^^^^^^^^^------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/db.rs:152:13 [INFO] [stdout] | [INFO] [stdout] 152 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 150 ~ match self.flush() { Err(e) => { [INFO] [stdout] 151 | log::error!("failed to flush Db on Drop: {e:?}"); [INFO] [stdout] 152 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/db.rs:290:16 [INFO] [stdout] | [INFO] [stdout] 290 | if let Err(e) = spawn_res { [INFO] [stdout] | ^^^^^^^^^^^^^--------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/db.rs:295:13 [INFO] [stdout] | [INFO] [stdout] 295 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 290 ~ match spawn_res { Err(e) => { [INFO] [stdout] 291 | return Err(io::Error::new( [INFO] [stdout] ... [INFO] [stdout] 294 | )); [INFO] [stdout] 295 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/db.rs:465:23 [INFO] [stdout] | [INFO] [stdout] 465 | let tree = if let Some(collection_id_buf) = [INFO] [stdout] | _______________________^ [INFO] [stdout] 466 | | self.collection_name_mapping.get(name_ref)? [INFO] [stdout] | |_____________------------------------------------------^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/db.rs:473:9 [INFO] [stdout] | [INFO] [stdout] 473 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 465 ~ let tree = match self.collection_name_mapping.get(name_ref)? [INFO] [stdout] 466 ~ { Some(collection_id_buf) => { [INFO] [stdout] 467 | let collection_id = CollectionId(u64::from_le_bytes( [INFO] [stdout] ... [INFO] [stdout] 471 | trees.get(&collection_id).unwrap() [INFO] [stdout] 472 ~ } _ => { [INFO] [stdout] 473 | return Ok(false); [INFO] [stdout] 474 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/id_allocator.rs:45:15 [INFO] [stdout] | [INFO] [stdout] 45 | while let Some(free_id) = self.free_queue.pop() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^---------------^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/id_allocator.rs:47:9 [INFO] [stdout] | [INFO] [stdout] 47 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/id_allocator.rs:105:15 [INFO] [stdout] | [INFO] [stdout] 105 | while let Some(free_id) = self.free_queue.pop() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^---------------^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/id_allocator.rs:107:9 [INFO] [stdout] | [INFO] [stdout] 107 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/id_allocator.rs:125:16 [INFO] [stdout] | [INFO] [stdout] 125 | if let Some(mut free) = self.free_and_pending.try_lock() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^-------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/id_allocator.rs:132:13 [INFO] [stdout] | [INFO] [stdout] 132 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 125 ~ match self.free_and_pending.try_lock() { Some(mut free) => { [INFO] [stdout] 126 | while let Some(free_id) = self.free_queue.pop() { [INFO] [stdout] ... [INFO] [stdout] 131 | compact(&mut free); [INFO] [stdout] 132 ~ } _ => { [INFO] [stdout] 133 | self.free_queue.push(id); [INFO] [stdout] 134 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/id_allocator.rs:126:23 [INFO] [stdout] | [INFO] [stdout] 126 | while let Some(free_id) = self.free_queue.pop() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^---------------^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/id_allocator.rs:128:17 [INFO] [stdout] | [INFO] [stdout] 128 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/metadata_store.rs:631:11 [INFO] [stdout] | [INFO] [stdout] 631 | while let Ok(frame) = read_frame(&mut file, &mut reusable_frame_buffer) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/metadata_store.rs:635:5 [INFO] [stdout] | [INFO] [stdout] 635 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/metadata_store.rs:685:28 [INFO] [stdout] | [INFO] [stdout] 685 | let file_name = if let Ok(f) = dir_entry.file_name().into_string() { [INFO] [stdout] | ^^^^^^^^^^^^---------^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/metadata_store.rs:687:9 [INFO] [stdout] | [INFO] [stdout] 687 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 685 ~ let file_name = match dir_entry.file_name().into_string() { Ok(f) => { [INFO] [stdout] 686 | f [INFO] [stdout] 687 ~ } _ => { [INFO] [stdout] 688 | log::warn!( [INFO] [stdout] ... [INFO] [stdout] 692 | continue; [INFO] [stdout] 693 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/object_cache.rs:383:12 [INFO] [stdout] | [INFO] [stdout] 383 | if let Some(last_dirty) = last_dirty_opt { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^-------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/object_cache.rs:390:9 [INFO] [stdout] | [INFO] [stdout] 390 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 383 ~ match last_dirty_opt { Some(last_dirty) => { [INFO] [stdout] 384 | assert!( [INFO] [stdout] ... [INFO] [stdout] 389 | ); [INFO] [stdout] 390 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/object_cache.rs:412:27 [INFO] [stdout] | [INFO] [stdout] 412 | let node = if let Some(n) = self.object_id_index.get(&object_id) { [INFO] [stdout] | ^^^^^^^^^^^^^^------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/object_cache.rs:418:13 [INFO] [stdout] | [INFO] [stdout] 418 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 412 ~ let node = match self.object_id_index.get(&object_id) { Some(n) => { [INFO] [stdout] 413 | if *n.object_id != *node_to_evict { [INFO] [stdout] ... [INFO] [stdout] 417 | n [INFO] [stdout] 418 ~ } _ => { [INFO] [stdout] 419 | log::debug!("during cache eviction, unable to find node to evict for {:?}", node_to_evict); [INFO] [stdout] 420 | continue; [INFO] [stdout] 421 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/object_cache.rs:586:63 [INFO] [stdout] | [INFO] [stdout] 586 | let leaf_ref: &mut Leaf = if let Some( [INFO] [stdout] | _______________________________________________________________^ [INFO] [stdout] 587 | | lock_ref, [INFO] [stdout] 588 | | ) = [INFO] [stdout] 589 | | lock.leaf.as_mut() [INFO] [stdout] | |_________________________---------________^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/object_cache.rs:592:21 [INFO] [stdout] | [INFO] [stdout] 592 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 586 ~ let leaf_ref: &mut Leaf = match lock.leaf.as_mut() [INFO] [stdout] 587 ~ { Some( [INFO] [stdout] 588 + lock_ref, [INFO] [stdout] 589 ~ ) => { [INFO] [stdout] 590 | lock_ref [INFO] [stdout] 591 ~ } _ => { [INFO] [stdout] 592 | #[cfg(feature = "for-internal-testing-only")] [INFO] [stdout] ... [INFO] [stdout] 596 | panic!("failed to get lock for node that was NotYetSerialized, low key {:?} id {:?}", low_key, node.object_id); [INFO] [stdout] 597 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/object_cache.rs:646:28 [INFO] [stdout] | [INFO] [stdout] 646 | if let Some(Dirty::CooperativelySerialized { [INFO] [stdout] | ____________________________^ [INFO] [stdout] 647 | | low_key: low_key_2, [INFO] [stdout] 648 | | mutation_count: _, [INFO] [stdout] 649 | | mut data, [INFO] [stdout] 650 | | collection_id: ci2, [INFO] [stdout] 651 | | object_id: ni2, [INFO] [stdout] 652 | | }) = dirty_value_2_opt [INFO] [stdout] | |______________________________----------------^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/object_cache.rs:677:25 [INFO] [stdout] | [INFO] [stdout] 677 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 646 ~ match dirty_value_2_opt [INFO] [stdout] 647 ~ { Some(Dirty::CooperativelySerialized { [INFO] [stdout] 648 + low_key: low_key_2, [INFO] [stdout] 649 + mutation_count: _, [INFO] [stdout] 650 + mut data, [INFO] [stdout] 651 + collection_id: ci2, [INFO] [stdout] 652 + object_id: ni2, [INFO] [stdout] 653 ~ }) => { [INFO] [stdout] 654 | assert_eq!(node.object_id, ni2); [INFO] [stdout] ... [INFO] [stdout] 676 | Arc::into_inner(data).unwrap() [INFO] [stdout] 677 ~ } _ => { [INFO] [stdout] 678 | log::error!( [INFO] [stdout] ... [INFO] [stdout] 691 | unreachable!("a leaf was expected to be cooperatively serialized but it was not available"); [INFO] [stdout] 692 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/object_cache.rs:727:33 [INFO] [stdout] | [INFO] [stdout] 727 | let object = if let Some(object) = object_opt { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/object_cache.rs:729:17 [INFO] [stdout] | [INFO] [stdout] 729 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 727 ~ let object = match object_opt { Some(object) => { [INFO] [stdout] 728 | object [INFO] [stdout] 729 ~ } _ => { [INFO] [stdout] 730 | log::debug!("defragmenting object not found in object_id_index: {fragmented_object_id:?}"); [INFO] [stdout] 731 | continue; [INFO] [stdout] 732 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/object_location_mapper.rs:33:39 [INFO] [stdout] | [INFO] [stdout] 33 | let (frag_min, frag_max) = if let Some(frag) = [INFO] [stdout] | _______________________________________^ [INFO] [stdout] 34 | | self.slot_allocator.fragmentation_cutoff(target_fill_ratio) [INFO] [stdout] | |_____________-------------------_______________________________________^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/object_location_mapper.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 33 ~ let (frag_min, frag_max) = match self.slot_allocator.fragmentation_cutoff(target_fill_ratio) [INFO] [stdout] 34 ~ { Some(frag) => { [INFO] [stdout] 35 | frag [INFO] [stdout] 36 ~ } _ => { [INFO] [stdout] 37 | return vec![]; [INFO] [stdout] 38 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/object_location_mapper.rs:122:16 [INFO] [stdout] | [INFO] [stdout] 122 | if let Some(max_allocated) = slab.slot_allocator.max_allocated() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^-------------------^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/object_location_mapper.rs:124:13 [INFO] [stdout] | [INFO] [stdout] 124 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 122 ~ match slab.slot_allocator.max_allocated() { Some(max_allocated) => { [INFO] [stdout] 123 | ret.push((i, max_allocated)); [INFO] [stdout] 124 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/object_location_mapper.rs:283:32 [INFO] [stdout] | [INFO] [stdout] 283 | let rt_sa = if let Some(rt_raw_sa) = NonZeroU64::new( [INFO] [stdout] | ________________________________^ [INFO] [stdout] 284 | | self.object_id_to_location [INFO] [stdout] | | -------------------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 285 | | .get(*object_id) [INFO] [stdout] 286 | | .load(Ordering::Acquire), [INFO] [stdout] 287 | | ) { [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/object_location_mapper.rs:289:17 [INFO] [stdout] | [INFO] [stdout] 289 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 283 ~ let rt_sa = match NonZeroU64::new( [INFO] [stdout] 284 | self.object_id_to_location [INFO] [stdout] 285 | .get(*object_id) [INFO] [stdout] 286 | .load(Ordering::Acquire), [INFO] [stdout] 287 ~ ) { Some(rt_raw_sa) => { [INFO] [stdout] 288 | SlabAddress::from(rt_raw_sa) [INFO] [stdout] 289 ~ } _ => { [INFO] [stdout] 290 | // object has been removed but its slot has not yet been freed, [INFO] [stdout] ... [INFO] [stdout] 293 | continue; [INFO] [stdout] 294 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tree.rs:34:16 [INFO] [stdout] | [INFO] [stdout] 34 | if let Err(e) = self.flush() { [INFO] [stdout] | ^^^^^^^^^^^^^------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tree.rs:36:13 [INFO] [stdout] | [INFO] [stdout] 36 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 34 ~ match self.flush() { Err(e) => { [INFO] [stdout] 35 | log::error!("failed to flush Db on Drop: {e:?}"); [INFO] [stdout] 36 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tree.rs:87:12 [INFO] [stdout] | [INFO] [stdout] 87 | if let Err(e) = self.inner.cache.mark_access_and_evict( [INFO] [stdout] | ____________^ - [INFO] [stdout] | |_________________________| [INFO] [stdout] 88 | || self.object_id, [INFO] [stdout] 89 | || size, [INFO] [stdout] 90 | || current_epoch, [INFO] [stdout] 91 | || ) { [INFO] [stdout] | ||_________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | |_________| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tree.rs:99:9 [INFO] [stdout] | [INFO] [stdout] 99 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 87 ~ match self.inner.cache.mark_access_and_evict( [INFO] [stdout] 88 | self.object_id, [INFO] [stdout] 89 | size, [INFO] [stdout] 90 | current_epoch, [INFO] [stdout] 91 ~ ) { Err(e) => { [INFO] [stdout] 92 | self.inner.set_error(&e); [INFO] [stdout] ... [INFO] [stdout] 98 | ); [INFO] [stdout] 99 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tree.rs:141:12 [INFO] [stdout] | [INFO] [stdout] 141 | if let Err(e) = self.inner.cache.mark_access_and_evict( [INFO] [stdout] | ____________^ - [INFO] [stdout] | |_________________________| [INFO] [stdout] 142 | || self.node.object_id, [INFO] [stdout] 143 | || size, [INFO] [stdout] 144 | || self.epoch(), [INFO] [stdout] 145 | || ) { [INFO] [stdout] | ||_________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | |_________| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tree.rs:148:9 [INFO] [stdout] | [INFO] [stdout] 148 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 141 ~ match self.inner.cache.mark_access_and_evict( [INFO] [stdout] 142 | self.node.object_id, [INFO] [stdout] 143 | size, [INFO] [stdout] 144 | self.epoch(), [INFO] [stdout] 145 ~ ) { Err(e) => { [INFO] [stdout] 146 | self.inner.set_error(&e); [INFO] [stdout] 147 | log::error!("io error while paging out dirty data: {:?}", e); [INFO] [stdout] 148 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tree.rs:225:24 [INFO] [stdout] | [INFO] [stdout] 225 | if let Some(read_res) = self.cache.read(node.object_id) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tree.rs:230:21 [INFO] [stdout] | [INFO] [stdout] 230 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 225 ~ match self.cache.read(node.object_id) { Some(read_res) => { [INFO] [stdout] 226 | match read_res { [INFO] [stdout] ... [INFO] [stdout] 229 | } [INFO] [stdout] 230 ~ } _ => { [INFO] [stdout] 231 | // this particular object ID is not present [INFO] [stdout] ... [INFO] [stdout] 244 | continue; [INFO] [stdout] 245 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tree.rs:976:16 [INFO] [stdout] | [INFO] [stdout] 976 | if let Some(ref new_value) = proposed { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^-------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tree.rs:978:13 [INFO] [stdout] | [INFO] [stdout] 978 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 976 ~ match proposed { Some(ref new_value) => { [INFO] [stdout] 977 | leaf.insert(key_ref.into(), new_value.clone()) [INFO] [stdout] 978 ~ } _ => { [INFO] [stdout] 979 | leaf.remove(key_ref) [INFO] [stdout] 980 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tree.rs:1303:20 [INFO] [stdout] | [INFO] [stdout] 1303 | if let Some(hi) = &leaf.hi { [INFO] [stdout] | ^^^^^^^^^^^^^^^^------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tree.rs:1308:17 [INFO] [stdout] | [INFO] [stdout] 1308 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1303 ~ match &leaf.hi { Some(hi) => { [INFO] [stdout] 1304 | if hi <= key { [INFO] [stdout] ... [INFO] [stdout] 1307 | } [INFO] [stdout] 1308 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tree.rs:1418:16 [INFO] [stdout] | [INFO] [stdout] 1418 | if let Some(value) = value_opt { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^--------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tree.rs:1435:13 [INFO] [stdout] | [INFO] [stdout] 1435 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1418 ~ match value_opt { Some(value) => { [INFO] [stdout] 1419 | leaf.insert(key, value); [INFO] [stdout] ... [INFO] [stdout] 1434 | } [INFO] [stdout] 1435 ~ } _ => { [INFO] [stdout] 1436 | leaf.remove(&key); [INFO] [stdout] ... [INFO] [stdout] 1441 | } [INFO] [stdout] 1442 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tree.rs:1424:20 [INFO] [stdout] | [INFO] [stdout] 1424 | if let Some((split_key, rhs_node)) = leaf.split_if_full( [INFO] [stdout] | ____________________^ - [INFO] [stdout] | |______________________________________________________| [INFO] [stdout] 1425 | || new_epoch, [INFO] [stdout] 1426 | || &self.cache, [INFO] [stdout] 1427 | || self.collection_id, [INFO] [stdout] 1428 | || ) { [INFO] [stdout] | ||_________________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | |_________________| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tree.rs:1434:17 [INFO] [stdout] | [INFO] [stdout] 1434 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1424 ~ match leaf.split_if_full( [INFO] [stdout] 1425 | new_epoch, [INFO] [stdout] 1426 | &self.cache, [INFO] [stdout] 1427 | self.collection_id, [INFO] [stdout] 1428 ~ ) { Some((split_key, rhs_node)) => { [INFO] [stdout] 1429 | let write = rhs_node.inner.write_arc(); [INFO] [stdout] ... [INFO] [stdout] 1433 | acquired_locks.insert(split_key, (write, rhs_node)); [INFO] [stdout] 1434 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tree.rs:1713:16 [INFO] [stdout] | [INFO] [stdout] 1713 | if let Some(first_res) = self.iter().next_back() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^----------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tree.rs:1727:13 [INFO] [stdout] | [INFO] [stdout] 1727 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1713 ~ match self.iter().next_back() { Some(first_res) => { [INFO] [stdout] 1714 | let first = first_res?; [INFO] [stdout] ... [INFO] [stdout] 1726 | // try again [INFO] [stdout] 1727 ~ } _ => { [INFO] [stdout] 1728 | log::trace!("pop_last removed nothing from empty tree"); [INFO] [stdout] 1729 | return Ok(None); [INFO] [stdout] 1730 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tree.rs:1787:29 [INFO] [stdout] | [INFO] [stdout] 1787 | let (k, v) = if let Some(kv_res) = r.next_back() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tree.rs:1789:13 [INFO] [stdout] | [INFO] [stdout] 1789 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1787 ~ let (k, v) = match r.next_back() { Some(kv_res) => { [INFO] [stdout] 1788 | kv_res? [INFO] [stdout] 1789 ~ } _ => { [INFO] [stdout] 1790 | return Ok(None); [INFO] [stdout] 1791 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tree.rs:1827:16 [INFO] [stdout] | [INFO] [stdout] 1827 | if let Some(first_res) = self.iter().next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tree.rs:1841:13 [INFO] [stdout] | [INFO] [stdout] 1841 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1827 ~ match self.iter().next() { Some(first_res) => { [INFO] [stdout] 1828 | let first = first_res?; [INFO] [stdout] ... [INFO] [stdout] 1840 | // try again [INFO] [stdout] 1841 ~ } _ => { [INFO] [stdout] 1842 | log::trace!("pop_first removed nothing from empty tree"); [INFO] [stdout] 1843 | return Ok(None); [INFO] [stdout] 1844 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tree.rs:1896:29 [INFO] [stdout] | [INFO] [stdout] 1896 | let (k, v) = if let Some(kv_res) = r.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^-------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tree.rs:1898:13 [INFO] [stdout] | [INFO] [stdout] 1898 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1896 ~ let (k, v) = match r.next() { Some(kv_res) => { [INFO] [stdout] 1897 | kv_res? [INFO] [stdout] 1898 ~ } _ => { [INFO] [stdout] 1899 | return Ok(None); [INFO] [stdout] 1900 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tree.rs:1934:12 [INFO] [stdout] | [INFO] [stdout] 1934 | if let Some(res) = self.iter().next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tree.rs:1937:9 [INFO] [stdout] | [INFO] [stdout] 1937 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1934 ~ match self.iter().next() { Some(res) => { [INFO] [stdout] 1935 | res?; [INFO] [stdout] 1936 | Ok(false) [INFO] [stdout] 1937 ~ } _ => { [INFO] [stdout] 1938 | Ok(true) [INFO] [stdout] 1939 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tree.rs:1989:33 [INFO] [stdout] | [INFO] [stdout] 1989 | let search_key = if let Some(last) = &self.next_fetch { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^--------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tree.rs:1991:13 [INFO] [stdout] | [INFO] [stdout] 1991 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1989 ~ let search_key = match &self.next_fetch { Some(last) => { [INFO] [stdout] 1990 | last.clone() [INFO] [stdout] 1991 ~ } _ => { [INFO] [stdout] 1992 | return None; [INFO] [stdout] 1993 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tree.rs:2033:46 [INFO] [stdout] | [INFO] [stdout] 2033 | let search_key: InlineArray = if let Some(last) = [INFO] [stdout] | ______________________________________________^ [INFO] [stdout] 2034 | | &self.next_back_last_lo [INFO] [stdout] | |__________________---------------------^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tree.rs:2045:13 [INFO] [stdout] | [INFO] [stdout] 2045 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 2033 ~ let search_key: InlineArray = match &self.next_back_last_lo [INFO] [stdout] 2034 ~ { Some(last) => { [INFO] [stdout] 2035 | if !self.bounds.contains(last) || last == &InlineArray::MIN { [INFO] [stdout] ... [INFO] [stdout] 2043 | .0 [INFO] [stdout] 2044 ~ } _ => { [INFO] [stdout] 2045 | match &self.bounds.1 { [INFO] [stdout] ... [INFO] [stdout] 2052 | } [INFO] [stdout] 2053 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tree.rs:2095:28 [INFO] [stdout] | [INFO] [stdout] 2095 | if let Some(last_lo) = &self.next_back_last_lo { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^---------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tree.rs:2097:25 [INFO] [stdout] | [INFO] [stdout] 2097 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 2095 ~ match &self.next_back_last_lo { Some(last_lo) => { [INFO] [stdout] 2096 | k < last_lo [INFO] [stdout] 2097 ~ } _ => { [INFO] [stdout] 2098 | true [INFO] [stdout] 2099 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 38 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating tests/concurrent_batch_atomicity.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `sled` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/config.rs [INFO] [stderr] * src/lib.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/config.rs:11:29 [INFO] [stderr] | [INFO] [stderr] 11 | ($(($name:ident, $t:ty, $desc:expr_2021)),*) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition value: `testing_shred_allocator` [INFO] [stderr] --> src/lib.rs:145:5 [INFO] [stderr] | [INFO] [stderr] 145 | feature = "testing_shred_allocator", [INFO] [stderr] | ^^^^^^^^^^------------------------- [INFO] [stderr] | | [INFO] [stderr] | help: there is a expected value with a similar name: `"testing-shred-allocator"` [INFO] [stderr] | [INFO] [stderr] = note: expected values for `feature` are: `for-internal-testing-only`, `monotonic-behavior`, `testing-count-allocator`, and `testing-shred-allocator` [INFO] [stderr] = help: consider adding `testing_shred_allocator` as a feature in `Cargo.toml` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition value: `testing_count_allocator` [INFO] [stderr] --> src/lib.rs:146:5 [INFO] [stderr] | [INFO] [stderr] 146 | feature = "testing_count_allocator" [INFO] [stderr] | ^^^^^^^^^^------------------------- [INFO] [stderr] | | [INFO] [stderr] | help: there is a expected value with a similar name: `"testing-count-allocator"` [INFO] [stderr] | [INFO] [stderr] = note: expected values for `feature` are: `for-internal-testing-only`, `monotonic-behavior`, `testing-count-allocator`, and `testing-shred-allocator` [INFO] [stderr] = help: consider adding `testing_count_allocator` as a feature in `Cargo.toml` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] [INFO] [stderr] error: aborting due to 1 previous error; 2 warnings emitted [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: unexpected `cfg` condition value: `testing_shred_allocator` [INFO] [stdout] --> src/lib.rs:145:5 [INFO] [stdout] | [INFO] [stdout] 145 | feature = "testing_shred_allocator", [INFO] [stdout] | ^^^^^^^^^^------------------------- [INFO] [stdout] | | [INFO] [stdout] | help: there is a expected value with a similar name: `"testing-shred-allocator"` [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `for-internal-testing-only`, `monotonic-behavior`, `testing-count-allocator`, and `testing-shred-allocator` [INFO] [stdout] = help: consider adding `testing_shred_allocator` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `testing_count_allocator` [INFO] [stdout] --> src/lib.rs:146:5 [INFO] [stdout] | [INFO] [stdout] 146 | feature = "testing_count_allocator" [INFO] [stdout] | ^^^^^^^^^^------------------------- [INFO] [stdout] | | [INFO] [stdout] | help: there is a expected value with a similar name: `"testing-count-allocator"` [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `for-internal-testing-only`, `monotonic-behavior`, `testing-count-allocator`, and `testing-shred-allocator` [INFO] [stdout] = help: consider adding `testing_count_allocator` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/config.rs:11:35 [INFO] [stdout] | [INFO] [stdout] 11 | ($(($name:ident, $t:ty, $desc:expr)),*) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 11 | ($(($name:ident, $t:ty, $desc:expr_2021)),*) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:366:16 [INFO] [stdout] | [INFO] [stdout] 366 | if let Err(e) = rx.recv() { [INFO] [stdout] | ^^^^^^^^^^^^^--^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:368:13 [INFO] [stdout] | [INFO] [stdout] 368 | } else { [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 366 ~ match rx.recv() { Err(e) => { [INFO] [stdout] 367 | log::error!("failed to shut down flusher thread: {:?}", e); [INFO] [stdout] 368 ~ } _ => { [INFO] [stdout] 369 | log::debug!("flush thread successfully terminated"); [INFO] [stdout] 370 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:376:16 [INFO] [stdout] | [INFO] [stdout] 376 | if let Err(e) = cache.flush() { [INFO] [stdout] | ^^^^^^^^^^^^^------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:382:13 [INFO] [stdout] | [INFO] [stdout] 382 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 376 ~ match cache.flush() { Err(e) => { [INFO] [stdout] 377 | log::error!( [INFO] [stdout] ... [INFO] [stdout] 381 | cache.set_error(&e); [INFO] [stdout] 382 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/db.rs:150:16 [INFO] [stdout] | [INFO] [stdout] 150 | if let Err(e) = self.flush() { [INFO] [stdout] | ^^^^^^^^^^^^^------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/db.rs:152:13 [INFO] [stdout] | [INFO] [stdout] 152 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 150 ~ match self.flush() { Err(e) => { [INFO] [stdout] 151 | log::error!("failed to flush Db on Drop: {e:?}"); [INFO] [stdout] 152 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/db.rs:290:16 [INFO] [stdout] | [INFO] [stdout] 290 | if let Err(e) = spawn_res { [INFO] [stdout] | ^^^^^^^^^^^^^--------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/db.rs:295:13 [INFO] [stdout] | [INFO] [stdout] 295 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 290 ~ match spawn_res { Err(e) => { [INFO] [stdout] 291 | return Err(io::Error::new( [INFO] [stdout] ... [INFO] [stdout] 294 | )); [INFO] [stdout] 295 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/db.rs:465:23 [INFO] [stdout] | [INFO] [stdout] 465 | let tree = if let Some(collection_id_buf) = [INFO] [stdout] | _______________________^ [INFO] [stdout] 466 | | self.collection_name_mapping.get(name_ref)? [INFO] [stdout] | |_____________------------------------------------------^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/db.rs:473:9 [INFO] [stdout] | [INFO] [stdout] 473 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 465 ~ let tree = match self.collection_name_mapping.get(name_ref)? [INFO] [stdout] 466 ~ { Some(collection_id_buf) => { [INFO] [stdout] 467 | let collection_id = CollectionId(u64::from_le_bytes( [INFO] [stdout] ... [INFO] [stdout] 471 | trees.get(&collection_id).unwrap() [INFO] [stdout] 472 ~ } _ => { [INFO] [stdout] 473 | return Ok(false); [INFO] [stdout] 474 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/id_allocator.rs:45:15 [INFO] [stdout] | [INFO] [stdout] 45 | while let Some(free_id) = self.free_queue.pop() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^---------------^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/id_allocator.rs:47:9 [INFO] [stdout] | [INFO] [stdout] 47 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/id_allocator.rs:105:15 [INFO] [stdout] | [INFO] [stdout] 105 | while let Some(free_id) = self.free_queue.pop() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^---------------^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/id_allocator.rs:107:9 [INFO] [stdout] | [INFO] [stdout] 107 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/id_allocator.rs:125:16 [INFO] [stdout] | [INFO] [stdout] 125 | if let Some(mut free) = self.free_and_pending.try_lock() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^-------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/id_allocator.rs:132:13 [INFO] [stdout] | [INFO] [stdout] 132 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 125 ~ match self.free_and_pending.try_lock() { Some(mut free) => { [INFO] [stdout] 126 | while let Some(free_id) = self.free_queue.pop() { [INFO] [stdout] ... [INFO] [stdout] 131 | compact(&mut free); [INFO] [stdout] 132 ~ } _ => { [INFO] [stdout] 133 | self.free_queue.push(id); [INFO] [stdout] 134 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/id_allocator.rs:126:23 [INFO] [stdout] | [INFO] [stdout] 126 | while let Some(free_id) = self.free_queue.pop() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^---------------^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/id_allocator.rs:128:17 [INFO] [stdout] | [INFO] [stdout] 128 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/metadata_store.rs:631:11 [INFO] [stdout] | [INFO] [stdout] 631 | while let Ok(frame) = read_frame(&mut file, &mut reusable_frame_buffer) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/metadata_store.rs:635:5 [INFO] [stdout] | [INFO] [stdout] 635 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/metadata_store.rs:685:28 [INFO] [stdout] | [INFO] [stdout] 685 | let file_name = if let Ok(f) = dir_entry.file_name().into_string() { [INFO] [stdout] | ^^^^^^^^^^^^---------^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/metadata_store.rs:687:9 [INFO] [stdout] | [INFO] [stdout] 687 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 685 ~ let file_name = match dir_entry.file_name().into_string() { Ok(f) => { [INFO] [stdout] 686 | f [INFO] [stdout] 687 ~ } _ => { [INFO] [stdout] 688 | log::warn!( [INFO] [stdout] ... [INFO] [stdout] 692 | continue; [INFO] [stdout] 693 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/object_cache.rs:383:12 [INFO] [stdout] | [INFO] [stdout] 383 | if let Some(last_dirty) = last_dirty_opt { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^-------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/object_cache.rs:390:9 [INFO] [stdout] | [INFO] [stdout] 390 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 383 ~ match last_dirty_opt { Some(last_dirty) => { [INFO] [stdout] 384 | assert!( [INFO] [stdout] ... [INFO] [stdout] 389 | ); [INFO] [stdout] 390 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/object_cache.rs:412:27 [INFO] [stdout] | [INFO] [stdout] 412 | let node = if let Some(n) = self.object_id_index.get(&object_id) { [INFO] [stdout] | ^^^^^^^^^^^^^^------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/object_cache.rs:418:13 [INFO] [stdout] | [INFO] [stdout] 418 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 412 ~ let node = match self.object_id_index.get(&object_id) { Some(n) => { [INFO] [stdout] 413 | if *n.object_id != *node_to_evict { [INFO] [stdout] ... [INFO] [stdout] 417 | n [INFO] [stdout] 418 ~ } _ => { [INFO] [stdout] 419 | log::debug!("during cache eviction, unable to find node to evict for {:?}", node_to_evict); [INFO] [stdout] 420 | continue; [INFO] [stdout] 421 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/object_cache.rs:586:63 [INFO] [stdout] | [INFO] [stdout] 586 | let leaf_ref: &mut Leaf = if let Some( [INFO] [stdout] | _______________________________________________________________^ [INFO] [stdout] 587 | | lock_ref, [INFO] [stdout] 588 | | ) = [INFO] [stdout] 589 | | lock.leaf.as_mut() [INFO] [stdout] | |_________________________---------________^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/object_cache.rs:592:21 [INFO] [stdout] | [INFO] [stdout] 592 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 586 ~ let leaf_ref: &mut Leaf = match lock.leaf.as_mut() [INFO] [stdout] 587 ~ { Some( [INFO] [stdout] 588 + lock_ref, [INFO] [stdout] 589 ~ ) => { [INFO] [stdout] 590 | lock_ref [INFO] [stdout] 591 ~ } _ => { [INFO] [stdout] 592 | #[cfg(feature = "for-internal-testing-only")] [INFO] [stdout] ... [INFO] [stdout] 596 | panic!("failed to get lock for node that was NotYetSerialized, low key {:?} id {:?}", low_key, node.object_id); [INFO] [stdout] 597 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/object_cache.rs:646:28 [INFO] [stdout] | [INFO] [stdout] 646 | if let Some(Dirty::CooperativelySerialized { [INFO] [stdout] | ____________________________^ [INFO] [stdout] 647 | | low_key: low_key_2, [INFO] [stdout] 648 | | mutation_count: _, [INFO] [stdout] 649 | | mut data, [INFO] [stdout] 650 | | collection_id: ci2, [INFO] [stdout] 651 | | object_id: ni2, [INFO] [stdout] 652 | | }) = dirty_value_2_opt [INFO] [stdout] | |______________________________----------------^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/object_cache.rs:677:25 [INFO] [stdout] | [INFO] [stdout] 677 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 646 ~ match dirty_value_2_opt [INFO] [stdout] 647 ~ { Some(Dirty::CooperativelySerialized { [INFO] [stdout] 648 + low_key: low_key_2, [INFO] [stdout] 649 + mutation_count: _, [INFO] [stdout] 650 + mut data, [INFO] [stdout] 651 + collection_id: ci2, [INFO] [stdout] 652 + object_id: ni2, [INFO] [stdout] 653 ~ }) => { [INFO] [stdout] 654 | assert_eq!(node.object_id, ni2); [INFO] [stdout] ... [INFO] [stdout] 676 | Arc::into_inner(data).unwrap() [INFO] [stdout] 677 ~ } _ => { [INFO] [stdout] 678 | log::error!( [INFO] [stdout] ... [INFO] [stdout] 691 | unreachable!("a leaf was expected to be cooperatively serialized but it was not available"); [INFO] [stdout] 692 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/object_cache.rs:727:33 [INFO] [stdout] | [INFO] [stdout] 727 | let object = if let Some(object) = object_opt { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/object_cache.rs:729:17 [INFO] [stdout] | [INFO] [stdout] 729 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 727 ~ let object = match object_opt { Some(object) => { [INFO] [stdout] 728 | object [INFO] [stdout] 729 ~ } _ => { [INFO] [stdout] 730 | log::debug!("defragmenting object not found in object_id_index: {fragmented_object_id:?}"); [INFO] [stdout] 731 | continue; [INFO] [stdout] 732 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/object_location_mapper.rs:33:39 [INFO] [stdout] | [INFO] [stdout] 33 | let (frag_min, frag_max) = if let Some(frag) = [INFO] [stdout] | _______________________________________^ [INFO] [stdout] 34 | | self.slot_allocator.fragmentation_cutoff(target_fill_ratio) [INFO] [stdout] | |_____________-------------------_______________________________________^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/object_location_mapper.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 33 ~ let (frag_min, frag_max) = match self.slot_allocator.fragmentation_cutoff(target_fill_ratio) [INFO] [stdout] 34 ~ { Some(frag) => { [INFO] [stdout] 35 | frag [INFO] [stdout] 36 ~ } _ => { [INFO] [stdout] 37 | return vec![]; [INFO] [stdout] 38 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/object_location_mapper.rs:122:16 [INFO] [stdout] | [INFO] [stdout] 122 | if let Some(max_allocated) = slab.slot_allocator.max_allocated() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^-------------------^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/object_location_mapper.rs:124:13 [INFO] [stdout] | [INFO] [stdout] 124 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 122 ~ match slab.slot_allocator.max_allocated() { Some(max_allocated) => { [INFO] [stdout] 123 | ret.push((i, max_allocated)); [INFO] [stdout] 124 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/object_location_mapper.rs:283:32 [INFO] [stdout] | [INFO] [stdout] 283 | let rt_sa = if let Some(rt_raw_sa) = NonZeroU64::new( [INFO] [stdout] | ________________________________^ [INFO] [stdout] 284 | | self.object_id_to_location [INFO] [stdout] | | -------------------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 285 | | .get(*object_id) [INFO] [stdout] 286 | | .load(Ordering::Acquire), [INFO] [stdout] 287 | | ) { [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/object_location_mapper.rs:289:17 [INFO] [stdout] | [INFO] [stdout] 289 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 283 ~ let rt_sa = match NonZeroU64::new( [INFO] [stdout] 284 | self.object_id_to_location [INFO] [stdout] 285 | .get(*object_id) [INFO] [stdout] 286 | .load(Ordering::Acquire), [INFO] [stdout] 287 ~ ) { Some(rt_raw_sa) => { [INFO] [stdout] 288 | SlabAddress::from(rt_raw_sa) [INFO] [stdout] 289 ~ } _ => { [INFO] [stdout] 290 | // object has been removed but its slot has not yet been freed, [INFO] [stdout] ... [INFO] [stdout] 293 | continue; [INFO] [stdout] 294 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tree.rs:34:16 [INFO] [stdout] | [INFO] [stdout] 34 | if let Err(e) = self.flush() { [INFO] [stdout] | ^^^^^^^^^^^^^------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tree.rs:36:13 [INFO] [stdout] | [INFO] [stdout] 36 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 34 ~ match self.flush() { Err(e) => { [INFO] [stdout] 35 | log::error!("failed to flush Db on Drop: {e:?}"); [INFO] [stdout] 36 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tree.rs:87:12 [INFO] [stdout] | [INFO] [stdout] 87 | if let Err(e) = self.inner.cache.mark_access_and_evict( [INFO] [stdout] | ____________^ - [INFO] [stdout] | |_________________________| [INFO] [stdout] 88 | || self.object_id, [INFO] [stdout] 89 | || size, [INFO] [stdout] 90 | || current_epoch, [INFO] [stdout] 91 | || ) { [INFO] [stdout] | ||_________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | |_________| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tree.rs:99:9 [INFO] [stdout] | [INFO] [stdout] 99 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 87 ~ match self.inner.cache.mark_access_and_evict( [INFO] [stdout] 88 | self.object_id, [INFO] [stdout] 89 | size, [INFO] [stdout] 90 | current_epoch, [INFO] [stdout] 91 ~ ) { Err(e) => { [INFO] [stdout] 92 | self.inner.set_error(&e); [INFO] [stdout] ... [INFO] [stdout] 98 | ); [INFO] [stdout] 99 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tree.rs:141:12 [INFO] [stdout] | [INFO] [stdout] 141 | if let Err(e) = self.inner.cache.mark_access_and_evict( [INFO] [stdout] | ____________^ - [INFO] [stdout] | |_________________________| [INFO] [stdout] 142 | || self.node.object_id, [INFO] [stdout] 143 | || size, [INFO] [stdout] 144 | || self.epoch(), [INFO] [stdout] 145 | || ) { [INFO] [stdout] | ||_________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | |_________| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tree.rs:148:9 [INFO] [stdout] | [INFO] [stdout] 148 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 141 ~ match self.inner.cache.mark_access_and_evict( [INFO] [stdout] 142 | self.node.object_id, [INFO] [stdout] 143 | size, [INFO] [stdout] 144 | self.epoch(), [INFO] [stdout] 145 ~ ) { Err(e) => { [INFO] [stdout] 146 | self.inner.set_error(&e); [INFO] [stdout] 147 | log::error!("io error while paging out dirty data: {:?}", e); [INFO] [stdout] 148 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tree.rs:225:24 [INFO] [stdout] | [INFO] [stdout] 225 | if let Some(read_res) = self.cache.read(node.object_id) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tree.rs:230:21 [INFO] [stdout] | [INFO] [stdout] 230 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 225 ~ match self.cache.read(node.object_id) { Some(read_res) => { [INFO] [stdout] 226 | match read_res { [INFO] [stdout] ... [INFO] [stdout] 229 | } [INFO] [stdout] 230 ~ } _ => { [INFO] [stdout] 231 | // this particular object ID is not present [INFO] [stdout] ... [INFO] [stdout] 244 | continue; [INFO] [stdout] 245 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tree.rs:976:16 [INFO] [stdout] | [INFO] [stdout] 976 | if let Some(ref new_value) = proposed { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^-------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tree.rs:978:13 [INFO] [stdout] | [INFO] [stdout] 978 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 976 ~ match proposed { Some(ref new_value) => { [INFO] [stdout] 977 | leaf.insert(key_ref.into(), new_value.clone()) [INFO] [stdout] 978 ~ } _ => { [INFO] [stdout] 979 | leaf.remove(key_ref) [INFO] [stdout] 980 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tree.rs:1303:20 [INFO] [stdout] | [INFO] [stdout] 1303 | if let Some(hi) = &leaf.hi { [INFO] [stdout] | ^^^^^^^^^^^^^^^^------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tree.rs:1308:17 [INFO] [stdout] | [INFO] [stdout] 1308 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1303 ~ match &leaf.hi { Some(hi) => { [INFO] [stdout] 1304 | if hi <= key { [INFO] [stdout] ... [INFO] [stdout] 1307 | } [INFO] [stdout] 1308 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tree.rs:1418:16 [INFO] [stdout] | [INFO] [stdout] 1418 | if let Some(value) = value_opt { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^--------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tree.rs:1435:13 [INFO] [stdout] | [INFO] [stdout] 1435 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1418 ~ match value_opt { Some(value) => { [INFO] [stdout] 1419 | leaf.insert(key, value); [INFO] [stdout] ... [INFO] [stdout] 1434 | } [INFO] [stdout] 1435 ~ } _ => { [INFO] [stdout] 1436 | leaf.remove(&key); [INFO] [stdout] ... [INFO] [stdout] 1441 | } [INFO] [stdout] 1442 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tree.rs:1424:20 [INFO] [stdout] | [INFO] [stdout] 1424 | if let Some((split_key, rhs_node)) = leaf.split_if_full( [INFO] [stdout] | ____________________^ - [INFO] [stdout] | |______________________________________________________| [INFO] [stdout] 1425 | || new_epoch, [INFO] [stdout] 1426 | || &self.cache, [INFO] [stdout] 1427 | || self.collection_id, [INFO] [stdout] 1428 | || ) { [INFO] [stdout] | ||_________________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | |_________________| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tree.rs:1434:17 [INFO] [stdout] | [INFO] [stdout] 1434 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1424 ~ match leaf.split_if_full( [INFO] [stdout] 1425 | new_epoch, [INFO] [stdout] 1426 | &self.cache, [INFO] [stdout] 1427 | self.collection_id, [INFO] [stdout] 1428 ~ ) { Some((split_key, rhs_node)) => { [INFO] [stdout] 1429 | let write = rhs_node.inner.write_arc(); [INFO] [stdout] ... [INFO] [stdout] 1433 | acquired_locks.insert(split_key, (write, rhs_node)); [INFO] [stdout] 1434 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tree.rs:1713:16 [INFO] [stdout] | [INFO] [stdout] 1713 | if let Some(first_res) = self.iter().next_back() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^----------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tree.rs:1727:13 [INFO] [stdout] | [INFO] [stdout] 1727 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1713 ~ match self.iter().next_back() { Some(first_res) => { [INFO] [stdout] 1714 | let first = first_res?; [INFO] [stdout] ... [INFO] [stdout] 1726 | // try again [INFO] [stdout] 1727 ~ } _ => { [INFO] [stdout] 1728 | log::trace!("pop_last removed nothing from empty tree"); [INFO] [stdout] 1729 | return Ok(None); [INFO] [stdout] 1730 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tree.rs:1787:29 [INFO] [stdout] | [INFO] [stdout] 1787 | let (k, v) = if let Some(kv_res) = r.next_back() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tree.rs:1789:13 [INFO] [stdout] | [INFO] [stdout] 1789 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1787 ~ let (k, v) = match r.next_back() { Some(kv_res) => { [INFO] [stdout] 1788 | kv_res? [INFO] [stdout] 1789 ~ } _ => { [INFO] [stdout] 1790 | return Ok(None); [INFO] [stdout] 1791 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tree.rs:1827:16 [INFO] [stdout] | [INFO] [stdout] 1827 | if let Some(first_res) = self.iter().next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tree.rs:1841:13 [INFO] [stdout] | [INFO] [stdout] 1841 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1827 ~ match self.iter().next() { Some(first_res) => { [INFO] [stdout] 1828 | let first = first_res?; [INFO] [stdout] ... [INFO] [stdout] 1840 | // try again [INFO] [stdout] 1841 ~ } _ => { [INFO] [stdout] 1842 | log::trace!("pop_first removed nothing from empty tree"); [INFO] [stdout] 1843 | return Ok(None); [INFO] [stdout] 1844 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tree.rs:1896:29 [INFO] [stdout] | [INFO] [stdout] 1896 | let (k, v) = if let Some(kv_res) = r.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^-------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tree.rs:1898:13 [INFO] [stdout] | [INFO] [stdout] 1898 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1896 ~ let (k, v) = match r.next() { Some(kv_res) => { [INFO] [stdout] 1897 | kv_res? [INFO] [stdout] 1898 ~ } _ => { [INFO] [stdout] 1899 | return Ok(None); [INFO] [stdout] 1900 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tree.rs:1934:12 [INFO] [stdout] | [INFO] [stdout] 1934 | if let Some(res) = self.iter().next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tree.rs:1937:9 [INFO] [stdout] | [INFO] [stdout] 1937 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1934 ~ match self.iter().next() { Some(res) => { [INFO] [stdout] 1935 | res?; [INFO] [stdout] 1936 | Ok(false) [INFO] [stdout] 1937 ~ } _ => { [INFO] [stdout] 1938 | Ok(true) [INFO] [stdout] 1939 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tree.rs:1989:33 [INFO] [stdout] | [INFO] [stdout] 1989 | let search_key = if let Some(last) = &self.next_fetch { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^--------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tree.rs:1991:13 [INFO] [stdout] | [INFO] [stdout] 1991 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1989 ~ let search_key = match &self.next_fetch { Some(last) => { [INFO] [stdout] 1990 | last.clone() [INFO] [stdout] 1991 ~ } _ => { [INFO] [stdout] 1992 | return None; [INFO] [stdout] 1993 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tree.rs:2033:46 [INFO] [stdout] | [INFO] [stdout] 2033 | let search_key: InlineArray = if let Some(last) = [INFO] [stdout] | ______________________________________________^ [INFO] [stdout] 2034 | | &self.next_back_last_lo [INFO] [stdout] | |__________________---------------------^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tree.rs:2045:13 [INFO] [stdout] | [INFO] [stdout] 2045 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 2033 ~ let search_key: InlineArray = match &self.next_back_last_lo [INFO] [stdout] 2034 ~ { Some(last) => { [INFO] [stdout] 2035 | if !self.bounds.contains(last) || last == &InlineArray::MIN { [INFO] [stdout] ... [INFO] [stdout] 2043 | .0 [INFO] [stdout] 2044 ~ } _ => { [INFO] [stdout] 2045 | match &self.bounds.1 { [INFO] [stdout] ... [INFO] [stdout] 2052 | } [INFO] [stdout] 2053 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tree.rs:2095:28 [INFO] [stdout] | [INFO] [stdout] 2095 | if let Some(last_lo) = &self.next_back_last_lo { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^---------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tree.rs:2097:25 [INFO] [stdout] | [INFO] [stdout] 2097 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 2095 ~ match &self.next_back_last_lo { Some(last_lo) => { [INFO] [stdout] 2096 | k < last_lo [INFO] [stdout] 2097 ~ } _ => { [INFO] [stdout] 2098 | true [INFO] [stdout] 2099 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 38 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating tests/test_crash_recovery.rs from 2021 edition to 2024 [INFO] [stderr] Fixed tests/test_crash_recovery.rs (3 fixes) [INFO] [stderr] Migrating tests/test_quiescent.rs from 2021 edition to 2024 [INFO] [stderr] Fixed tests/crash_tests/crash_iter.rs (1 fix) [INFO] [stderr] Fixed tests/crash_tests/crash_batches.rs (1 fix) [INFO] [stderr] Fixed tests/crash_tests/crash_sequential_writes.rs (1 fix) [INFO] [stdout] warning: unexpected `cfg` condition value: `memshred` [INFO] [stdout] --> tests/common/mod.rs:6:7 [INFO] [stdout] | [INFO] [stdout] 6 | #[cfg(feature = "memshred")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `for-internal-testing-only`, `monotonic-behavior`, `testing-count-allocator`, and `testing-shred-allocator` [INFO] [stdout] = help: consider adding `memshred` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `pretty_backtrace` [INFO] [stdout] --> tests/common/mod.rs:38:11 [INFO] [stdout] | [INFO] [stdout] 38 | #[cfg(feature = "pretty_backtrace")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `for-internal-testing-only`, `monotonic-behavior`, `testing-count-allocator`, and `testing-shred-allocator` [INFO] [stdout] = help: consider adding `pretty_backtrace` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `heap` [INFO] [stdout] --> tests/crash_tests/crash_heap.rs:9:24 [INFO] [stdout] | [INFO] [stdout] 9 | let HeapRecovery { heap, recovered_nodes, was_recovered } = [INFO] [stdout] | ^^^^ help: try ignoring the field: `heap: _` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `recovered_nodes` [INFO] [stdout] --> tests/crash_tests/crash_heap.rs:9:30 [INFO] [stdout] | [INFO] [stdout] 9 | let HeapRecovery { heap, recovered_nodes, was_recovered } = [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try ignoring the field: `recovered_nodes: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `was_recovered` [INFO] [stdout] --> tests/crash_tests/crash_heap.rs:9:47 [INFO] [stdout] | [INFO] [stdout] 9 | let HeapRecovery { heap, recovered_nodes, was_recovered } = [INFO] [stdout] | ^^^^^^^^^^^^^ help: try ignoring the field: `was_recovered: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `metadata_store` [INFO] [stdout] --> tests/crash_tests/crash_metadata_store.rs:4:10 [INFO] [stdout] | [INFO] [stdout] 4 | let (metadata_store, recovered) = [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_metadata_store` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `recovered` [INFO] [stdout] --> tests/crash_tests/crash_metadata_store.rs:4:26 [INFO] [stdout] | [INFO] [stdout] 4 | let (metadata_store, recovered) = [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_recovered` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `oc` [INFO] [stdout] --> tests/crash_tests/crash_object_cache.rs:9:10 [INFO] [stdout] | [INFO] [stdout] 9 | let (oc, collections, was_recovered): (ObjectCache, _, bool) = [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_oc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `collections` [INFO] [stdout] --> tests/crash_tests/crash_object_cache.rs:9:14 [INFO] [stdout] | [INFO] [stdout] 9 | let (oc, collections, was_recovered): (ObjectCache, _, bool) = [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_collections` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `was_recovered` [INFO] [stdout] --> tests/crash_tests/crash_object_cache.rs:9:27 [INFO] [stdout] | [INFO] [stdout] 9 | let (oc, collections, was_recovered): (ObjectCache, _, bool) = [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_was_recovered` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 10 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Fixed tests/test_quiescent.rs (1 fix) [INFO] [stderr] Migrating tests/test_tree.rs from 2021 edition to 2024 [INFO] [stdout] warning: unexpected `cfg` condition value: `memshred` [INFO] [stdout] --> tests/common/mod.rs:6:7 [INFO] [stdout] | [INFO] [stdout] 6 | #[cfg(feature = "memshred")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `for-internal-testing-only`, `monotonic-behavior`, `testing-count-allocator`, and `testing-shred-allocator` [INFO] [stdout] = help: consider adding `memshred` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `pretty_backtrace` [INFO] [stdout] --> tests/common/mod.rs:38:11 [INFO] [stdout] | [INFO] [stdout] 38 | #[cfg(feature = "pretty_backtrace")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `for-internal-testing-only`, `monotonic-behavior`, `testing-count-allocator`, and `testing-shred-allocator` [INFO] [stdout] = help: consider adding `pretty_backtrace` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating tests/test_tree_failpoints.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `test_tree` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * tests/common/mod.rs [INFO] [stderr] * tests/test_tree.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> tests/test_tree.rs:370:24 [INFO] [stderr] | [INFO] [stderr] 370 | ($t:ident, $f:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition value: `memshred` [INFO] [stderr] --> tests/common/mod.rs:6:7 [INFO] [stderr] | [INFO] [stderr] 6 | #[cfg(feature = "memshred")] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: expected values for `feature` are: `for-internal-testing-only`, `monotonic-behavior`, `testing-count-allocator`, and `testing-shred-allocator` [INFO] [stderr] = help: consider adding `memshred` as a feature in `Cargo.toml` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition value: `pretty_backtrace` [INFO] [stderr] --> tests/common/mod.rs:38:11 [INFO] [stderr] | [INFO] [stderr] 38 | #[cfg(feature = "pretty_backtrace")] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: expected values for `feature` are: `for-internal-testing-only`, `monotonic-behavior`, `testing-count-allocator`, and `testing-shred-allocator` [INFO] [stderr] = help: consider adding `pretty_backtrace` as a feature in `Cargo.toml` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] [INFO] [stderr] error: aborting due to 1 previous error; 2 warnings emitted [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> tests/test_tree.rs:1369:10 [INFO] [stdout] | [INFO] [stdout] 1369 | .gen(Gen::new(100)) [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] = note: `--force-warn keyword-idents-2024` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `memshred` [INFO] [stdout] --> tests/common/mod.rs:6:7 [INFO] [stdout] | [INFO] [stdout] 6 | #[cfg(feature = "memshred")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `for-internal-testing-only`, `monotonic-behavior`, `testing-count-allocator`, and `testing-shred-allocator` [INFO] [stdout] = help: consider adding `memshred` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `pretty_backtrace` [INFO] [stdout] --> tests/common/mod.rs:38:11 [INFO] [stdout] | [INFO] [stdout] 38 | #[cfg(feature = "pretty_backtrace")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `for-internal-testing-only`, `monotonic-behavior`, `testing-count-allocator`, and `testing-shred-allocator` [INFO] [stdout] = help: consider adding `pretty_backtrace` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> tests/test_tree.rs:370:27 [INFO] [stdout] | [INFO] [stdout] 370 | ($t:ident, $f:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 370 | ($t:ident, $f:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> tests/test_tree.rs:406:23 [INFO] [stdout] | [INFO] [stdout] 406 | while let Some(thread) = threads.pop() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 416 | / par! {t, move |tree: &Db, k: InlineArray| { [INFO] [stdout] 417 | | assert_eq!(tree.get(&*k).unwrap(), None); [INFO] [stdout] 418 | | tree.insert(&k, k.clone()).expect("we should write successfully"); [INFO] [stdout] 419 | | assert_eq!(tree.get(&*k).unwrap(), Some(k.clone().into()), [INFO] [stdout] 420 | | "failed to read key {:?} that we just wrote from tree {:?}", [INFO] [stdout] 421 | | k, tree); [INFO] [stdout] 422 | | }}; [INFO] [stdout] | |__________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> tests/test_tree.rs:410:17 [INFO] [stdout] | [INFO] [stdout] 410 | } [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 416 | / par! {t, move |tree: &Db, k: InlineArray| { [INFO] [stdout] 417 | | assert_eq!(tree.get(&*k).unwrap(), None); [INFO] [stdout] 418 | | tree.insert(&k, k.clone()).expect("we should write successfully"); [INFO] [stdout] 419 | | assert_eq!(tree.get(&*k).unwrap(), Some(k.clone().into()), [INFO] [stdout] 420 | | "failed to read key {:?} that we just wrote from tree {:?}", [INFO] [stdout] 421 | | k, tree); [INFO] [stdout] 422 | | }}; [INFO] [stdout] | |__________- in this macro invocation [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] = note: this warning originates in the macro `par` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> tests/test_tree.rs:407:24 [INFO] [stdout] | [INFO] [stdout] 407 | if let Err(e) = thread.join() { [INFO] [stdout] | ^^^^^^^^^^^^^------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 416 | / par! {t, move |tree: &Db, k: InlineArray| { [INFO] [stdout] 417 | | assert_eq!(tree.get(&*k).unwrap(), None); [INFO] [stdout] 418 | | tree.insert(&k, k.clone()).expect("we should write successfully"); [INFO] [stdout] 419 | | assert_eq!(tree.get(&*k).unwrap(), Some(k.clone().into()), [INFO] [stdout] 420 | | "failed to read key {:?} that we just wrote from tree {:?}", [INFO] [stdout] 421 | | k, tree); [INFO] [stdout] 422 | | }}; [INFO] [stdout] | |__________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> tests/test_tree.rs:409:21 [INFO] [stdout] | [INFO] [stdout] 409 | } [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 416 | / par! {t, move |tree: &Db, k: InlineArray| { [INFO] [stdout] 417 | | assert_eq!(tree.get(&*k).unwrap(), None); [INFO] [stdout] 418 | | tree.insert(&k, k.clone()).expect("we should write successfully"); [INFO] [stdout] 419 | | assert_eq!(tree.get(&*k).unwrap(), Some(k.clone().into()), [INFO] [stdout] 420 | | "failed to read key {:?} that we just wrote from tree {:?}", [INFO] [stdout] 421 | | k, tree); [INFO] [stdout] 422 | | }}; [INFO] [stdout] | |__________- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `par` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> tests/test_tree.rs:447:16 [INFO] [stdout] | [INFO] [stdout] 447 | if let Some(v) = tree.get(&*k).unwrap() { [INFO] [stdout] | ^^^^^^^^^^^^^^^---------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> tests/test_tree.rs:451:13 [INFO] [stdout] | [INFO] [stdout] 451 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 447 ~ match tree.get(&*k).unwrap() { Some(v) => { [INFO] [stdout] 448 | if v != k { [INFO] [stdout] 449 | panic!("expected key {:?} not found", k); [INFO] [stdout] 450 | } [INFO] [stdout] 451 ~ } _ => { [INFO] [stdout] 452 | panic!( [INFO] [stdout] ... [INFO] [stdout] 455 | ); [INFO] [stdout] 456 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> tests/test_tree.rs:406:23 [INFO] [stdout] | [INFO] [stdout] 406 | while let Some(thread) = threads.pop() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 446 | / par! {t, move |tree: &Db, k: InlineArray| { [INFO] [stdout] 447 | | if let Some(v) = tree.get(&*k).unwrap() { [INFO] [stdout] 448 | | if v != k { [INFO] [stdout] 449 | | panic!("expected key {:?} not found", k); [INFO] [stdout] ... | [INFO] [stdout] 456 | | } [INFO] [stdout] 457 | | }}; [INFO] [stdout] | |__________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> tests/test_tree.rs:410:17 [INFO] [stdout] | [INFO] [stdout] 410 | } [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 446 | / par! {t, move |tree: &Db, k: InlineArray| { [INFO] [stdout] 447 | | if let Some(v) = tree.get(&*k).unwrap() { [INFO] [stdout] 448 | | if v != k { [INFO] [stdout] 449 | | panic!("expected key {:?} not found", k); [INFO] [stdout] ... | [INFO] [stdout] 456 | | } [INFO] [stdout] 457 | | }}; [INFO] [stdout] | |__________- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `par` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> tests/test_tree.rs:407:24 [INFO] [stdout] | [INFO] [stdout] 407 | if let Err(e) = thread.join() { [INFO] [stdout] | ^^^^^^^^^^^^^------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 446 | / par! {t, move |tree: &Db, k: InlineArray| { [INFO] [stdout] 447 | | if let Some(v) = tree.get(&*k).unwrap() { [INFO] [stdout] 448 | | if v != k { [INFO] [stdout] 449 | | panic!("expected key {:?} not found", k); [INFO] [stdout] ... | [INFO] [stdout] 456 | | } [INFO] [stdout] 457 | | }}; [INFO] [stdout] | |__________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> tests/test_tree.rs:409:21 [INFO] [stdout] | [INFO] [stdout] 409 | } [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 446 | / par! {t, move |tree: &Db, k: InlineArray| { [INFO] [stdout] 447 | | if let Some(v) = tree.get(&*k).unwrap() { [INFO] [stdout] 448 | | if v != k { [INFO] [stdout] 449 | | panic!("expected key {:?} not found", k); [INFO] [stdout] ... | [INFO] [stdout] 456 | | } [INFO] [stdout] 457 | | }}; [INFO] [stdout] | |__________- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `par` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> tests/test_tree.rs:406:23 [INFO] [stdout] | [INFO] [stdout] 406 | while let Some(thread) = threads.pop() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 463 | / par! {t, move |tree: &Db, k: InlineArray| { [INFO] [stdout] 464 | | let k1 = k.clone(); [INFO] [stdout] 465 | | let mut k2 = k; [INFO] [stdout] 466 | | k2.make_mut().reverse(); [INFO] [stdout] 467 | | tree.compare_and_swap(&k1, Some(&*k1), Some(k2)).unwrap().unwrap(); [INFO] [stdout] 468 | | }}; [INFO] [stdout] | |__________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> tests/test_tree.rs:410:17 [INFO] [stdout] | [INFO] [stdout] 410 | } [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 463 | / par! {t, move |tree: &Db, k: InlineArray| { [INFO] [stdout] 464 | | let k1 = k.clone(); [INFO] [stdout] 465 | | let mut k2 = k; [INFO] [stdout] 466 | | k2.make_mut().reverse(); [INFO] [stdout] 467 | | tree.compare_and_swap(&k1, Some(&*k1), Some(k2)).unwrap().unwrap(); [INFO] [stdout] 468 | | }}; [INFO] [stdout] | |__________- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `par` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> tests/test_tree.rs:407:24 [INFO] [stdout] | [INFO] [stdout] 407 | if let Err(e) = thread.join() { [INFO] [stdout] | ^^^^^^^^^^^^^------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 463 | / par! {t, move |tree: &Db, k: InlineArray| { [INFO] [stdout] 464 | | let k1 = k.clone(); [INFO] [stdout] 465 | | let mut k2 = k; [INFO] [stdout] 466 | | k2.make_mut().reverse(); [INFO] [stdout] 467 | | tree.compare_and_swap(&k1, Some(&*k1), Some(k2)).unwrap().unwrap(); [INFO] [stdout] 468 | | }}; [INFO] [stdout] | |__________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> tests/test_tree.rs:409:21 [INFO] [stdout] | [INFO] [stdout] 409 | } [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 463 | / par! {t, move |tree: &Db, k: InlineArray| { [INFO] [stdout] 464 | | let k1 = k.clone(); [INFO] [stdout] 465 | | let mut k2 = k; [INFO] [stdout] 466 | | k2.make_mut().reverse(); [INFO] [stdout] 467 | | tree.compare_and_swap(&k1, Some(&*k1), Some(k2)).unwrap().unwrap(); [INFO] [stdout] 468 | | }}; [INFO] [stdout] | |__________- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `par` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> tests/test_tree.rs:406:23 [INFO] [stdout] | [INFO] [stdout] 406 | while let Some(thread) = threads.pop() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 473 | / par! {t, move |tree: &Db, k: InlineArray| { [INFO] [stdout] 474 | | let k1 = k.clone(); [INFO] [stdout] 475 | | let mut k2 = k; [INFO] [stdout] 476 | | k2.make_mut().reverse(); [INFO] [stdout] 477 | | assert_eq!(tree.get(&*k1).unwrap().unwrap(), k2); [INFO] [stdout] 478 | | }}; [INFO] [stdout] | |__________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> tests/test_tree.rs:410:17 [INFO] [stdout] | [INFO] [stdout] 410 | } [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 473 | / par! {t, move |tree: &Db, k: InlineArray| { [INFO] [stdout] 474 | | let k1 = k.clone(); [INFO] [stdout] 475 | | let mut k2 = k; [INFO] [stdout] 476 | | k2.make_mut().reverse(); [INFO] [stdout] 477 | | assert_eq!(tree.get(&*k1).unwrap().unwrap(), k2); [INFO] [stdout] 478 | | }}; [INFO] [stdout] | |__________- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `par` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> tests/test_tree.rs:407:24 [INFO] [stdout] | [INFO] [stdout] 407 | if let Err(e) = thread.join() { [INFO] [stdout] | ^^^^^^^^^^^^^------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 473 | / par! {t, move |tree: &Db, k: InlineArray| { [INFO] [stdout] 474 | | let k1 = k.clone(); [INFO] [stdout] 475 | | let mut k2 = k; [INFO] [stdout] 476 | | k2.make_mut().reverse(); [INFO] [stdout] 477 | | assert_eq!(tree.get(&*k1).unwrap().unwrap(), k2); [INFO] [stdout] 478 | | }}; [INFO] [stdout] | |__________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> tests/test_tree.rs:409:21 [INFO] [stdout] | [INFO] [stdout] 409 | } [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 473 | / par! {t, move |tree: &Db, k: InlineArray| { [INFO] [stdout] 474 | | let k1 = k.clone(); [INFO] [stdout] 475 | | let mut k2 = k; [INFO] [stdout] 476 | | k2.make_mut().reverse(); [INFO] [stdout] 477 | | assert_eq!(tree.get(&*k1).unwrap().unwrap(), k2); [INFO] [stdout] 478 | | }}; [INFO] [stdout] | |__________- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `par` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> tests/test_tree.rs:406:23 [INFO] [stdout] | [INFO] [stdout] 406 | while let Some(thread) = threads.pop() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 484 | / par! {t, move |tree: &Db, k: InlineArray| { [INFO] [stdout] 485 | | tree.remove(&*k).unwrap().unwrap(); [INFO] [stdout] 486 | | }}; [INFO] [stdout] | |__________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> tests/test_tree.rs:410:17 [INFO] [stdout] | [INFO] [stdout] 410 | } [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 484 | / par! {t, move |tree: &Db, k: InlineArray| { [INFO] [stdout] 485 | | tree.remove(&*k).unwrap().unwrap(); [INFO] [stdout] 486 | | }}; [INFO] [stdout] | |__________- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `par` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> tests/test_tree.rs:407:24 [INFO] [stdout] | [INFO] [stdout] 407 | if let Err(e) = thread.join() { [INFO] [stdout] | ^^^^^^^^^^^^^------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 484 | / par! {t, move |tree: &Db, k: InlineArray| { [INFO] [stdout] 485 | | tree.remove(&*k).unwrap().unwrap(); [INFO] [stdout] 486 | | }}; [INFO] [stdout] | |__________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> tests/test_tree.rs:409:21 [INFO] [stdout] | [INFO] [stdout] 409 | } [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 484 | / par! {t, move |tree: &Db, k: InlineArray| { [INFO] [stdout] 485 | | tree.remove(&*k).unwrap().unwrap(); [INFO] [stdout] 486 | | }}; [INFO] [stdout] | |__________- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `par` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> tests/test_tree.rs:406:23 [INFO] [stdout] | [INFO] [stdout] 406 | while let Some(thread) = threads.pop() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 491 | / par! {t, move |tree: &Db, k: InlineArray| { [INFO] [stdout] 492 | | assert_eq!(tree.get(&*k).unwrap(), None); [INFO] [stdout] 493 | | }}; [INFO] [stdout] | |__________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> tests/test_tree.rs:410:17 [INFO] [stdout] | [INFO] [stdout] 410 | } [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 491 | / par! {t, move |tree: &Db, k: InlineArray| { [INFO] [stdout] 492 | | assert_eq!(tree.get(&*k).unwrap(), None); [INFO] [stdout] 493 | | }}; [INFO] [stdout] | |__________- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `par` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> tests/test_tree.rs:407:24 [INFO] [stdout] | [INFO] [stdout] 407 | if let Err(e) = thread.join() { [INFO] [stdout] | ^^^^^^^^^^^^^------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 491 | / par! {t, move |tree: &Db, k: InlineArray| { [INFO] [stdout] 492 | | assert_eq!(tree.get(&*k).unwrap(), None); [INFO] [stdout] 493 | | }}; [INFO] [stdout] | |__________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> tests/test_tree.rs:409:21 [INFO] [stdout] | [INFO] [stdout] 409 | } [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 491 | / par! {t, move |tree: &Db, k: InlineArray| { [INFO] [stdout] 492 | | assert_eq!(tree.get(&*k).unwrap(), None); [INFO] [stdout] 493 | | }}; [INFO] [stdout] | |__________- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `par` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> tests/test_tree.rs:617:32 [INFO] [stdout] | [INFO] [stdout] 617 | ... if let Some(Ok(k)) = keys.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> tests/test_tree.rs:630:29 [INFO] [stdout] | [INFO] [stdout] 630 | ... } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 617 ~ match keys.next() { Some(Ok(k)) => { [INFO] [stdout] 618 | assert!( [INFO] [stdout] ... [INFO] [stdout] 629 | } [INFO] [stdout] 630 ~ } _ => { [INFO] [stdout] 631 | panic!("undershot key on tree: \n{:?}", t); [INFO] [stdout] 632 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> tests/tree/mod.rs:164:8 [INFO] [stdout] | [INFO] [stdout] 164 | if let Err(e) = prop_tree_matches_btreemap_inner( [INFO] [stdout] | ________^ - [INFO] [stdout] | |_____________________| [INFO] [stdout] 165 | || ops, [INFO] [stdout] 166 | || flusher, [INFO] [stdout] 167 | || compression_level, [INFO] [stdout] 168 | || cache_size, [INFO] [stdout] 169 | || ) { [INFO] [stdout] | ||_____^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | |_____| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> tests/tree/mod.rs:172:5 [INFO] [stdout] | [INFO] [stdout] 172 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 164 ~ match prop_tree_matches_btreemap_inner( [INFO] [stdout] 165 | ops, [INFO] [stdout] ... [INFO] [stdout] 168 | cache_size, [INFO] [stdout] 169 ~ ) { Err(e) => { [INFO] [stdout] 170 | eprintln!("hit error while running quickcheck on tree: {:?}", e); [INFO] [stdout] 171 | false [INFO] [stdout] 172 ~ } _ => { [INFO] [stdout] 173 | true [INFO] [stdout] 174 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> tests/tree/mod.rs:328:12 [INFO] [stdout] | [INFO] [stdout] 328 | if let Err(e) = tree.check_error() { [INFO] [stdout] | ^^^^^^^^^^^^^------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> tests/tree/mod.rs:331:9 [INFO] [stdout] | [INFO] [stdout] 331 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 328 ~ match tree.check_error() { Err(e) => { [INFO] [stdout] 329 | eprintln!("quickcheck test encountered error: {:?}", e); [INFO] [stdout] 330 | return Err(e); [INFO] [stdout] 331 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 20 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Fixed tests/test_tree_failpoints.rs (4 fixes) [INFO] [stderr] Migrating tests/00_regression.rs from 2021 edition to 2024 [INFO] [stdout] warning: unexpected `cfg` condition value: `failpoints` [INFO] [stdout] --> tests/test_tree_failpoints.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | #![cfg(feature = "failpoints")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `for-internal-testing-only`, `monotonic-behavior`, `testing-count-allocator`, and `testing-shred-allocator` [INFO] [stdout] = help: consider adding `failpoints` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Fixed tests/00_regression.rs (2 fixes) [INFO] [stderr] Migrating tests/test_space_leaks.rs from 2021 edition to 2024 [INFO] [stderr] Fixed tests/tree/mod.rs (2 fixes) [INFO] [stdout] warning: unexpected `cfg` condition value: `memshred` [INFO] [stdout] --> tests/common/mod.rs:6:7 [INFO] [stdout] | [INFO] [stdout] 6 | #[cfg(feature = "memshred")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `for-internal-testing-only`, `monotonic-behavior`, `testing-count-allocator`, and `testing-shred-allocator` [INFO] [stdout] = help: consider adding `memshred` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `pretty_backtrace` [INFO] [stdout] --> tests/common/mod.rs:38:11 [INFO] [stdout] | [INFO] [stdout] 38 | #[cfg(feature = "pretty_backtrace")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `for-internal-testing-only`, `monotonic-behavior`, `testing-count-allocator`, and `testing-shred-allocator` [INFO] [stdout] = help: consider adding `pretty_backtrace` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `memshred` [INFO] [stdout] --> tests/common/mod.rs:6:7 [INFO] [stdout] | [INFO] [stdout] 6 | #[cfg(feature = "memshred")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `for-internal-testing-only`, `monotonic-behavior`, `testing-count-allocator`, and `testing-shred-allocator` [INFO] [stdout] = help: consider adding `memshred` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `pretty_backtrace` [INFO] [stdout] --> tests/common/mod.rs:38:11 [INFO] [stdout] | [INFO] [stdout] 38 | #[cfg(feature = "pretty_backtrace")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `for-internal-testing-only`, `monotonic-behavior`, `testing-count-allocator`, and `testing-shred-allocator` [INFO] [stdout] = help: consider adding `pretty_backtrace` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 9.42s [INFO] [stderr] Running `cargo check` to verify 2024 [INFO] [stderr] warning: `panic` setting is ignored for `test` profile [INFO] [stderr] Checking sled v1.0.0-alpha.122 (/tmp/fixit) [INFO] [stdout] warning: unexpected `cfg` condition value: `testing_shred_allocator` [INFO] [stdout] --> src/lib.rs:145:5 [INFO] [stdout] | [INFO] [stdout] 145 | feature = "testing_shred_allocator", [INFO] [stdout] | ^^^^^^^^^^------------------------- [INFO] [stdout] | | [INFO] [stdout] | help: there is a expected value with a similar name: `"testing-shred-allocator"` [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `for-internal-testing-only`, `monotonic-behavior`, `testing-count-allocator`, and `testing-shred-allocator` [INFO] [stdout] = help: consider adding `testing_shred_allocator` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `testing_count_allocator` [INFO] [stdout] --> src/lib.rs:146:5 [INFO] [stdout] | [INFO] [stdout] 146 | feature = "testing_count_allocator" [INFO] [stdout] | ^^^^^^^^^^------------------------- [INFO] [stdout] | | [INFO] [stdout] | help: there is a expected value with a similar name: `"testing-count-allocator"` [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `for-internal-testing-only`, `monotonic-behavior`, `testing-count-allocator`, and `testing-shred-allocator` [INFO] [stdout] = help: consider adding `testing_count_allocator` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `testing_shred_allocator` [INFO] [stdout] --> src/lib.rs:145:5 [INFO] [stdout] | [INFO] [stdout] 145 | feature = "testing_shred_allocator", [INFO] [stdout] | ^^^^^^^^^^------------------------- [INFO] [stdout] | | [INFO] [stdout] | help: there is a expected value with a similar name: `"testing-shred-allocator"` [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `for-internal-testing-only`, `monotonic-behavior`, `testing-count-allocator`, and `testing-shred-allocator` [INFO] [stdout] = help: consider adding `testing_shred_allocator` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `testing_count_allocator` [INFO] [stdout] --> src/lib.rs:146:5 [INFO] [stdout] | [INFO] [stdout] 146 | feature = "testing_count_allocator" [INFO] [stdout] | ^^^^^^^^^^------------------------- [INFO] [stdout] | | [INFO] [stdout] | help: there is a expected value with a similar name: `"testing-count-allocator"` [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `for-internal-testing-only`, `monotonic-behavior`, `testing-count-allocator`, and `testing-shred-allocator` [INFO] [stdout] = help: consider adding `testing_count_allocator` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> tests/test_tree.rs:1369:10 [INFO] [stdout] | [INFO] [stdout] 1369 | .gen(Gen::new(100)) [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 1369 | .r#gen(Gen::new(100)) [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `failpoints` [INFO] [stdout] --> tests/test_tree_failpoints.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | #![cfg(feature = "failpoints")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `for-internal-testing-only`, `monotonic-behavior`, `testing-count-allocator`, and `testing-shred-allocator` [INFO] [stdout] = help: consider adding `failpoints` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `memshred` [INFO] [stdout] --> tests/common/mod.rs:6:7 [INFO] [stdout] | [INFO] [stdout] 6 | #[cfg(feature = "memshred")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `for-internal-testing-only`, `monotonic-behavior`, `testing-count-allocator`, and `testing-shred-allocator` [INFO] [stdout] = help: consider adding `memshred` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `pretty_backtrace` [INFO] [stdout] --> tests/common/mod.rs:38:11 [INFO] [stdout] | [INFO] [stdout] 38 | #[cfg(feature = "pretty_backtrace")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `for-internal-testing-only`, `monotonic-behavior`, `testing-count-allocator`, and `testing-shred-allocator` [INFO] [stdout] = help: consider adding `pretty_backtrace` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `memshred` [INFO] [stdout] --> tests/common/mod.rs:6:7 [INFO] [stdout] | [INFO] [stdout] 6 | #[cfg(feature = "memshred")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `for-internal-testing-only`, `monotonic-behavior`, `testing-count-allocator`, and `testing-shred-allocator` [INFO] [stdout] = help: consider adding `memshred` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `pretty_backtrace` [INFO] [stdout] --> tests/common/mod.rs:38:11 [INFO] [stdout] | [INFO] [stdout] 38 | #[cfg(feature = "pretty_backtrace")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `for-internal-testing-only`, `monotonic-behavior`, `testing-count-allocator`, and `testing-shred-allocator` [INFO] [stdout] = help: consider adding `pretty_backtrace` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `memshred` [INFO] [stdout] --> tests/common/mod.rs:6:7 [INFO] [stdout] | [INFO] [stdout] 6 | #[cfg(feature = "memshred")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `for-internal-testing-only`, `monotonic-behavior`, `testing-count-allocator`, and `testing-shred-allocator` [INFO] [stdout] = help: consider adding `memshred` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `pretty_backtrace` [INFO] [stdout] --> tests/common/mod.rs:38:11 [INFO] [stdout] | [INFO] [stdout] 38 | #[cfg(feature = "pretty_backtrace")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `for-internal-testing-only`, `monotonic-behavior`, `testing-count-allocator`, and `testing-shred-allocator` [INFO] [stdout] = help: consider adding `pretty_backtrace` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `memshred` [INFO] [stdout] --> tests/common/mod.rs:6:7 [INFO] [stdout] | [INFO] [stdout] 6 | #[cfg(feature = "memshred")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `for-internal-testing-only`, `monotonic-behavior`, `testing-count-allocator`, and `testing-shred-allocator` [INFO] [stdout] = help: consider adding `memshred` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `memshred` [INFO] [stdout] --> tests/common/mod.rs:6:7 [INFO] [stdout] | [INFO] [stdout] 6 | #[cfg(feature = "memshred")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `for-internal-testing-only`, `monotonic-behavior`, `testing-count-allocator`, and `testing-shred-allocator` [INFO] [stdout] = help: consider adding `memshred` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `pretty_backtrace` [INFO] [stdout] --> tests/common/mod.rs:38:11 [INFO] [stdout] | [INFO] [stdout] 38 | #[cfg(feature = "pretty_backtrace")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `for-internal-testing-only`, `monotonic-behavior`, `testing-count-allocator`, and `testing-shred-allocator` [INFO] [stdout] = help: consider adding `pretty_backtrace` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `pretty_backtrace` [INFO] [stdout] --> tests/common/mod.rs:38:11 [INFO] [stdout] | [INFO] [stdout] 38 | #[cfg(feature = "pretty_backtrace")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `for-internal-testing-only`, `monotonic-behavior`, `testing-count-allocator`, and `testing-shred-allocator` [INFO] [stdout] = help: consider adding `pretty_backtrace` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `heap` [INFO] [stdout] --> tests/crash_tests/crash_heap.rs:9:24 [INFO] [stdout] | [INFO] [stdout] 9 | let HeapRecovery { heap, recovered_nodes, was_recovered } = [INFO] [stdout] | ^^^^ help: try ignoring the field: `heap: _` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `recovered_nodes` [INFO] [stdout] --> tests/crash_tests/crash_heap.rs:9:30 [INFO] [stdout] | [INFO] [stdout] 9 | let HeapRecovery { heap, recovered_nodes, was_recovered } = [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try ignoring the field: `recovered_nodes: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `was_recovered` [INFO] [stdout] --> tests/crash_tests/crash_heap.rs:9:47 [INFO] [stdout] | [INFO] [stdout] 9 | let HeapRecovery { heap, recovered_nodes, was_recovered } = [INFO] [stdout] | ^^^^^^^^^^^^^ help: try ignoring the field: `was_recovered: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `metadata_store` [INFO] [stdout] --> tests/crash_tests/crash_metadata_store.rs:4:10 [INFO] [stdout] | [INFO] [stdout] 4 | let (metadata_store, recovered) = [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_metadata_store` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `recovered` [INFO] [stdout] --> tests/crash_tests/crash_metadata_store.rs:4:26 [INFO] [stdout] | [INFO] [stdout] 4 | let (metadata_store, recovered) = [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_recovered` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `oc` [INFO] [stdout] --> tests/crash_tests/crash_object_cache.rs:9:10 [INFO] [stdout] | [INFO] [stdout] 9 | let (oc, collections, was_recovered): (ObjectCache, _, bool) = [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_oc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `collections` [INFO] [stdout] --> tests/crash_tests/crash_object_cache.rs:9:14 [INFO] [stdout] | [INFO] [stdout] 9 | let (oc, collections, was_recovered): (ObjectCache, _, bool) = [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_collections` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `was_recovered` [INFO] [stdout] --> tests/crash_tests/crash_object_cache.rs:9:27 [INFO] [stdout] | [INFO] [stdout] 9 | let (oc, collections, was_recovered): (ObjectCache, _, bool) = [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_was_recovered` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 10 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error; 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `sled` (test "test_tree") due to 2 previous errors; 2 warnings emitted [INFO] [stderr] error: failed to check after updating to 2024 [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `cargo check --frozen --all --all-targets --message-format=json` (exit status: 101) [INFO] running `Command { std: "docker" "inspect" "6f88b28e6f8976b99d3e19d9ba1919dc88922a0a116580b9cb360c2bbfe0209d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6f88b28e6f8976b99d3e19d9ba1919dc88922a0a116580b9cb360c2bbfe0209d", kill_on_drop: false }` [INFO] [stdout] 6f88b28e6f8976b99d3e19d9ba1919dc88922a0a116580b9cb360c2bbfe0209d