[INFO] fetching crate fusion-blossom 0.2.10... [INFO] checking fusion-blossom-0.2.10 against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] extracting crate fusion-blossom 0.2.10 into /workspace/builds/worker-5-tc2/source [INFO] validating manifest of crates.io crate fusion-blossom 0.2.10 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] removed /workspace/builds/worker-5-tc2/source/rust-toolchain.toml [INFO] started tweaking crates.io crate fusion-blossom 0.2.10 [INFO] finished tweaking crates.io crate fusion-blossom 0.2.10 [INFO] tweaked toml for crates.io crate fusion-blossom 0.2.10 written to /workspace/builds/worker-5-tc2/source/Cargo.toml [INFO] crate crates.io crate fusion-blossom 0.2.10 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] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] 8dc5dad81295d6dfecaac0ffa9478fda30b2e00b4d702433d93706841d7c1b2f [INFO] running `Command { std: "docker" "start" "-a" "8dc5dad81295d6dfecaac0ffa9478fda30b2e00b4d702433d93706841d7c1b2f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "8dc5dad81295d6dfecaac0ffa9478fda30b2e00b4d702433d93706841d7c1b2f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8dc5dad81295d6dfecaac0ffa9478fda30b2e00b4d702433d93706841d7c1b2f", kill_on_drop: false }` [INFO] [stdout] 8dc5dad81295d6dfecaac0ffa9478fda30b2e00b4d702433d93706841d7c1b2f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] 9d84abbb67cff4858f60fb86b7b164744822333cc1bd0c862e9f196d2b60be6e [INFO] running `Command { std: "docker" "start" "-a" "9d84abbb67cff4858f60fb86b7b164744822333cc1bd0c862e9f196d2b60be6e", 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] Fixed Cargo.toml (2 fixes) [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling indexmap v1.9.3 [INFO] [stderr] Compiling serde v1.0.202 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling priority-queue v1.4.0 [INFO] [stderr] Checking smallvec v1.13.2 [INFO] [stderr] Checking getrandom v0.2.15 [INFO] [stderr] Compiling syn v2.0.66 [INFO] [stderr] Checking ppv-lite86 v0.2.17 [INFO] [stderr] Checking crossbeam-channel v0.5.13 [INFO] [stderr] Compiling fusion-blossom v0.2.10 (/tmp/fixit) [INFO] [stderr] Checking clap_builder v4.5.2 [INFO] [stderr] Checking num_cpus v1.16.0 [INFO] [stderr] Checking either v1.12.0 [INFO] [stderr] Checking petgraph v0.6.5 [INFO] [stderr] Migrating build.rs from 2021 edition to 2024 [INFO] [stderr] Checking core_affinity v0.8.1 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking rayon v1.10.0 [INFO] [stderr] Checking parking_lot_core v0.9.10 [INFO] [stderr] Checking urlencoding v2.1.3 [INFO] [stderr] Checking weak-table v0.3.2 [INFO] [stderr] Checking rand_xoshiro v0.6.0 [INFO] [stderr] Checking parking_lot v0.12.2 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking pbr v1.1.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking chrono v0.4.38 [INFO] [stderr] Compiling derivative v2.2.0 [INFO] [stderr] Compiling serde_derive v1.0.202 [INFO] [stderr] Compiling clap_derive v4.5.4 [INFO] [stderr] Compiling nonzero v0.2.0 [INFO] [stderr] Checking clap v4.5.4 [INFO] [stderr] Checking serde_json v1.0.117 [INFO] [stderr] Migrating src/lib.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `fusion_blossom` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/pointers.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/pointers.rs:787:31 [INFO] [stderr] | [INFO] [stderr] 787 | ($variable:ident, $lock:expr_2021) => { let mut $variable = $lock.write(); }; [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] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/pointers.rs:788:31 [INFO] [stderr] | [INFO] [stderr] 788 | ($variable:ident, $lock:expr_2021, $timestamp:expr_2021) => { let mut $variable = $lock.write($timestamp); }; [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] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/pointers.rs:788:48 [INFO] [stderr] | [INFO] [stderr] 788 | ($variable:ident, $lock:expr_2021, $timestamp:expr_2021) => { let mut $variable = $lock.write($timestamp); }; [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] error: aborting due to 3 previous errors [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] --> src/cli.rs:351:71 [INFO] [stdout] | [INFO] [stdout] 351 | let seed = if use_deterministic_seed { round } else { rng.gen() }; [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: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/example_codes.rs:456:84 [INFO] [stdout] | [INFO] [stdout] 456 | #[pyo3(name = "generate_random_errors", signature = (seed=thread_rng().gen()))] [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] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/pointers.rs:787:37 [INFO] [stdout] | [INFO] [stdout] 787 | ($variable:ident, $lock:expr) => { let mut $variable = $lock.write(); }; [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] 787 | ($variable:ident, $lock:expr_2021) => { let mut $variable = $lock.write(); }; [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/pointers.rs:788:37 [INFO] [stdout] | [INFO] [stdout] 788 | ($variable:ident, $lock:expr, $timestamp:expr) => { let mut $variable = $lock.write($timestamp); }; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 788 | ($variable:ident, $lock:expr_2021, $timestamp:expr) => { let mut $variable = $lock.write($timestamp); }; [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/pointers.rs:788:54 [INFO] [stdout] | [INFO] [stdout] 788 | ($variable:ident, $lock:expr, $timestamp:expr) => { let mut $variable = $lock.write($timestamp); }; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 788 | ($variable:ident, $lock:expr, $timestamp:expr_2021) => { let mut $variable = $lock.write($timestamp); }; [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/complete_graph.rs:142:20 [INFO] [stdout] | [INFO] [stdout] 142 | if let Some(PriorityElement { [INFO] [stdout] | ____________________^ [INFO] [stdout] 143 | | weight: existing_weight, [INFO] [stdout] 144 | | previous: existing_previous, [INFO] [stdout] 145 | | }) = pq.get_priority(&neighbor) [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/complete_graph.rs:169:17 [INFO] [stdout] | [INFO] [stdout] 169 | } 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] 142 ~ match pq.get_priority(&neighbor) [INFO] [stdout] 143 ~ { Some(PriorityElement { [INFO] [stdout] 144 + weight: existing_weight, [INFO] [stdout] 145 + previous: existing_previous, [INFO] [stdout] 146 ~ }) => { [INFO] [stdout] 147 | // update the priority if weight is smaller or weight is equal but distance is smaller [INFO] [stdout] ... [INFO] [stdout] 168 | } [INFO] [stdout] 169 ~ } _ => { [INFO] [stdout] 170 | // insert new entry only if neighbor has not been visited [INFO] [stdout] ... [INFO] [stdout] 173 | } [INFO] [stdout] 174 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dual_module.rs:81:12 [INFO] [stdout] | [INFO] [stdout] 81 | if let Some((weak, ..)) = &self.propagated_grandson_dual_node { [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/dual_module.rs:83:9 [INFO] [stdout] | [INFO] [stdout] 83 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 81 ~ match &self.propagated_grandson_dual_node { Some((weak, ..)) => { [INFO] [stdout] 82 | weak.upgrade_force().update(); [INFO] [stdout] 83 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dual_module.rs:154:12 [INFO] [stdout] | [INFO] [stdout] 154 | if let Some(dual_node_ptr) = max_update_length.get_vertex_shrink_stop() { [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/dual_module.rs:173:9 [INFO] [stdout] | [INFO] [stdout] 173 | } 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] 154 ~ match max_update_length.get_vertex_shrink_stop() { Some(dual_node_ptr) => { [INFO] [stdout] 155 | let vertex_index = dual_node_ptr.get_representative_vertex(); [INFO] [stdout] ... [INFO] [stdout] 172 | } [INFO] [stdout] 173 ~ } _ => { [INFO] [stdout] 174 | list.push(max_update_length); [INFO] [stdout] 175 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dual_module.rs:157:20 [INFO] [stdout] | [INFO] [stdout] 157 | if let MaxUpdateLength::VertexShrinkStop((_, Some(weak_pair))) = &max_update_length { [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/dual_module.rs:169:17 [INFO] [stdout] | [INFO] [stdout] 169 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 157 ~ match &max_update_length { MaxUpdateLength::VertexShrinkStop((_, Some(weak_pair))) => { [INFO] [stdout] 158 | // otherwise don't update [INFO] [stdout] ... [INFO] [stdout] 168 | } [INFO] [stdout] 169 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dual_module.rs:181:20 [INFO] [stdout] | [INFO] [stdout] 181 | if let MaxUpdateLength::NonZeroGrow((length, has_empty_boundary_node)) = max_update_length { [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/dual_module.rs:185:17 [INFO] [stdout] | [INFO] [stdout] 185 | } 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] 181 ~ match max_update_length { MaxUpdateLength::NonZeroGrow((length, has_empty_boundary_node)) => { [INFO] [stdout] 182 | *current_length = std::cmp::min(*current_length, length); [INFO] [stdout] 183 | *current_has_empty_boundary_node |= has_empty_boundary_node; [INFO] [stdout] 184 | // or [INFO] [stdout] 185 ~ } _ => { [INFO] [stdout] 186 | let mut list = ConflictList::new(); [INFO] [stdout] ... [INFO] [stdout] 194 | *self = Self::Conflicts((list, pending_stops)); [INFO] [stdout] 195 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dual_module.rs:188:24 [INFO] [stdout] | [INFO] [stdout] 188 | if let Some(dual_node_ptr) = max_update_length.get_vertex_shrink_stop() { [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/dual_module.rs:191:21 [INFO] [stdout] | [INFO] [stdout] 191 | } 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] 188 ~ match max_update_length.get_vertex_shrink_stop() { Some(dual_node_ptr) => { [INFO] [stdout] 189 | let vertex_index = dual_node_ptr.get_representative_vertex(); [INFO] [stdout] 190 | pending_stops.insert(vertex_index, max_update_length); [INFO] [stdout] 191 ~ } _ => { [INFO] [stdout] 192 | list.push(max_update_length); [INFO] [stdout] 193 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dual_module.rs:224:20 [INFO] [stdout] | [INFO] [stdout] 224 | if let Self::Conflicts((other_list, other_pending_stops)) = other { [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/dual_module.rs:229:17 [INFO] [stdout] | [INFO] [stdout] 229 | } // only add conflicts, not NonZeroGrow [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 224 ~ match other { Self::Conflicts((other_list, other_pending_stops)) => { [INFO] [stdout] 225 | list.extend(other_list); [INFO] [stdout] ... [INFO] [stdout] 228 | } [INFO] [stdout] 229 ~ } _ => {}} // only add conflicts, not NonZeroGrow [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dual_module.rs:914:12 [INFO] [stdout] | [INFO] [stdout] 914 | if let Some(ptr) = interface.get_node(dual_node.index).as_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/dual_module.rs:916:9 [INFO] [stdout] | [INFO] [stdout] 916 | } 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] 914 ~ match interface.get_node(dual_node.index).as_ref() { Some(ptr) => { [INFO] [stdout] 915 | ptr == dual_node_ptr [INFO] [stdout] 916 ~ } _ => { [INFO] [stdout] 917 | false [INFO] [stdout] 918 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dual_module.rs:1027:16 [INFO] [stdout] | [INFO] [stdout] 1027 | if let DualNodeClass::Blossom { nodes_circle, .. } = &node.class { [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/dual_module.rs:1029:13 [INFO] [stdout] | [INFO] [stdout] 1029 | } 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] 1027 ~ match &node.class { DualNodeClass::Blossom { nodes_circle, .. } => { [INFO] [stdout] 1028 | eprintln!("[expand blossom] {:?} -> {:?}", blossom_node_ptr, nodes_circle); [INFO] [stdout] 1029 ~ } _ => { [INFO] [stdout] 1030 | unreachable!() [INFO] [stdout] 1031 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dual_module.rs:1038:16 [INFO] [stdout] | [INFO] [stdout] 1038 | if let DualNodeClass::Blossom { nodes_circle, .. } = &node.class { [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/dual_module.rs:1042:13 [INFO] [stdout] | [INFO] [stdout] 1042 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1038 ~ match &node.class { DualNodeClass::Blossom { nodes_circle, .. } => { [INFO] [stdout] 1039 | for node_weak in nodes_circle.iter() { [INFO] [stdout] 1040 | node_weak.upgrade_force().update(); [INFO] [stdout] 1041 | } [INFO] [stdout] 1042 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dual_module.rs:1318:20 [INFO] [stdout] | [INFO] [stdout] 1318 | if let Some(parent_blossom_weak) = &dual_node.parent_blossom { [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/dual_module.rs:1363:17 [INFO] [stdout] | [INFO] [stdout] 1363 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1318 ~ match &dual_node.parent_blossom { Some(parent_blossom_weak) => { [INFO] [stdout] 1319 | if dual_node.grow_state != DualNodeGrowState::Stay { [INFO] [stdout] ... [INFO] [stdout] 1362 | } [INFO] [stdout] 1363 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dual_module_parallel.rs:168:23 [INFO] [stdout] | [INFO] [stdout] 168 | while let Some(parent_index) = &partition_info.units[current_index].parent { [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/dual_module_parallel.rs:212:17 [INFO] [stdout] | [INFO] [stdout] 212 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dual_module_parallel.rs:361:16 [INFO] [stdout] | [INFO] [stdout] 361 | if let Some(parent_index) = &partition_info.units[unit_index].parent { [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/dual_module_parallel.rs:363:13 [INFO] [stdout] | [INFO] [stdout] 363 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 361 ~ match &partition_info.units[unit_index].parent { Some(parent_index) => { [INFO] [stdout] 362 | unit.parent = Some(units[*parent_index].downgrade()); [INFO] [stdout] 363 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dual_module_parallel.rs:377:16 [INFO] [stdout] | [INFO] [stdout] 377 | if let Some((left_children_weak, right_children_weak)) = unit.children.clone() { [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/dual_module_parallel.rs:391:13 [INFO] [stdout] | [INFO] [stdout] 391 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 377 ~ match unit.children.clone() { Some((left_children_weak, right_children_weak)) => { [INFO] [stdout] 378 | for child_weak in [left_children_weak, right_children_weak] { [INFO] [stdout] ... [INFO] [stdout] 390 | } [INFO] [stdout] 391 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dual_module_parallel.rs:423:16 [INFO] [stdout] | [INFO] [stdout] 423 | if let Some(parent_weak) = &owning_unit.parent { [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/dual_module_parallel.rs:427:13 [INFO] [stdout] | [INFO] [stdout] 427 | } 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] 423 ~ match &owning_unit.parent { Some(parent_weak) => { [INFO] [stdout] 424 | let parent_owning_unit_ptr = parent_weak.upgrade_force(); [INFO] [stdout] 425 | drop(owning_unit); [INFO] [stdout] 426 | owning_unit_ptr = parent_owning_unit_ptr; [INFO] [stdout] 427 ~ } _ => { [INFO] [stdout] 428 | return None; [INFO] [stdout] 429 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dual_module_parallel.rs:438:16 [INFO] [stdout] | [INFO] [stdout] 438 | if let Some((left_child_weak, right_child_weak)) = &unit.children { [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/dual_module_parallel.rs:454:13 [INFO] [stdout] | [INFO] [stdout] 454 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 438 ~ match &unit.children { Some((left_child_weak, right_child_weak)) => { [INFO] [stdout] 439 | { [INFO] [stdout] ... [INFO] [stdout] 453 | unit.static_fuse(); [INFO] [stdout] 454 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dual_module_parallel.rs:1025:12 [INFO] [stdout] | [INFO] [stdout] 1025 | if let Some((left_child_weak, right_child_weak)) = self.children.as_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/dual_module_parallel.rs:1039:9 [INFO] [stdout] | [INFO] [stdout] 1039 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1025 ~ match self.children.as_ref() { Some((left_child_weak, right_child_weak)) => { [INFO] [stdout] 1026 | if self.enable_parallel_execution { [INFO] [stdout] ... [INFO] [stdout] 1038 | } [INFO] [stdout] 1039 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dual_module_parallel.rs:1134:24 [INFO] [stdout] | [INFO] [stdout] 1134 | if let Some((left_child_weak, right_child_weak)) = self.children.as_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/dual_module_parallel.rs:1167:21 [INFO] [stdout] | [INFO] [stdout] 1167 | } 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] 1134 ~ match self.children.as_ref() { Some((left_child_weak, right_child_weak)) => { [INFO] [stdout] 1135 | let mut child_ptr = if representative_vertex < self.owning_range.start() { [INFO] [stdout] ... [INFO] [stdout] 1166 | child.iterative_add_defect_node(dual_node_ptr, *defect_index); [INFO] [stdout] 1167 ~ } _ => { [INFO] [stdout] 1168 | unreachable!() [INFO] [stdout] 1169 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dual_module_parallel.rs:1151:55 [INFO] [stdout] | [INFO] [stdout] 1151 | ... let grandson_ptr = if let Some((left_child_weak, right_child_weak)) = child.children.as_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/dual_module_parallel.rs:1158:33 [INFO] [stdout] | [INFO] [stdout] 1158 | ... } 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] 1151 ~ let grandson_ptr = match child.children.as_ref() [INFO] [stdout] 1152 ~ { Some((left_child_weak, right_child_weak)) => { [INFO] [stdout] 1153 | if representative_vertex < child.owning_range.start() { [INFO] [stdout] ... [INFO] [stdout] 1157 | } [INFO] [stdout] 1158 ~ } _ => { [INFO] [stdout] 1159 | unreachable!() [INFO] [stdout] 1160 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dual_module_parallel.rs:1314:12 [INFO] [stdout] | [INFO] [stdout] 1314 | if let Some((propagated_dual_node_weak, _, representative_vertex)) = [INFO] [stdout] | ____________^ [INFO] [stdout] 1315 | | sync_event.propagated_grandson_dual_node.as_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/dual_module_parallel.rs:1320:9 [INFO] [stdout] | [INFO] [stdout] 1320 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1314 ~ match sync_event.propagated_grandson_dual_node.as_ref() [INFO] [stdout] 1315 ~ { Some((propagated_dual_node_weak, _, representative_vertex)) => { [INFO] [stdout] 1316 | if !self.whole_range.contains(*representative_vertex) { [INFO] [stdout] 1317 | self.elevated_dual_nodes.insert(propagated_dual_node_weak.upgrade_force()); [INFO] [stdout] 1318 | } [INFO] [stdout] 1319 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dual_module_serial.rs:363:28 [INFO] [stdout] | [INFO] [stdout] 363 | if let Some(dual_node_internal_ptr) = self.get_dual_node_internal_ptr_optional(&dual_node_ptr) { [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/dual_module_serial.rs:391:25 [INFO] [stdout] | [INFO] [stdout] 391 | } 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] 363 ~ match self.get_dual_node_internal_ptr_optional(&dual_node_ptr) { Some(dual_node_internal_ptr) => { [INFO] [stdout] 364 | let dual_node_internal = dual_node_internal_ptr.read_recursive(); [INFO] [stdout] ... [INFO] [stdout] 390 | } [INFO] [stdout] 391 ~ } _ => { [INFO] [stdout] 392 | debug_assert!( [INFO] [stdout] ... [INFO] [stdout] 395 | ); [INFO] [stdout] 396 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dual_module_serial.rs:484:12 [INFO] [stdout] | [INFO] [stdout] 484 | if let DualNodeClass::Blossom { nodes_circle, .. } = &node.class { [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/dual_module_serial.rs:511:9 [INFO] [stdout] | [INFO] [stdout] 511 | } 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] 484 ~ match &node.class { DualNodeClass::Blossom { nodes_circle, .. } => { [INFO] [stdout] 485 | for circle_dual_node_weak in nodes_circle.iter() { [INFO] [stdout] ... [INFO] [stdout] 510 | } [INFO] [stdout] 511 ~ } _ => { [INFO] [stdout] 512 | unreachable!() [INFO] [stdout] 513 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dual_module_serial.rs:487:20 [INFO] [stdout] | [INFO] [stdout] 487 | if let Some(circle_dual_node_internal_ptr) = self.get_dual_node_internal_ptr_optional(&circle_dual_node_ptr) [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/dual_module_serial.rs:507:17 [INFO] [stdout] | [INFO] [stdout] 507 | } 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] 487 ~ match self.get_dual_node_internal_ptr_optional(&circle_dual_node_ptr) [INFO] [stdout] 488 ~ { Some(circle_dual_node_internal_ptr) => { [INFO] [stdout] 489 | let circle_dual_node_internal = circle_dual_node_internal_ptr.read_recursive(); [INFO] [stdout] ... [INFO] [stdout] 506 | } [INFO] [stdout] 507 ~ } _ => { [INFO] [stdout] 508 | debug_assert!(self.unit_module_info.is_some(), "only happens if partitioned"); [INFO] [stdout] 509 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dual_module_serial.rs:580:48 [INFO] [stdout] | [INFO] [stdout] 580 | ... if let Some((other_dual_node_ptr, other_grandson_dual_node)) = [INFO] [stdout] | __________________________^ [INFO] [stdout] 581 | | ... &potential_conflict [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/dual_module_serial.rs:589:45 [INFO] [stdout] | [INFO] [stdout] 589 | ... } 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] 580 ~ match &potential_conflict [INFO] [stdout] 581 ~ { Some((other_dual_node_ptr, other_grandson_dual_node)) => { [INFO] [stdout] 582 | if &peer_dual_node_ptr != other_dual_node_ptr { [INFO] [stdout] ... [INFO] [stdout] 587 | } [INFO] [stdout] 588 ~ } _ => { [INFO] [stdout] 589 | potential_conflict = Some((peer_dual_node_ptr, peer_grandson_dual_node_ptr)); [INFO] [stdout] 590 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dual_module_serial.rs:900:20 [INFO] [stdout] | [INFO] [stdout] 900 | if let Some(internal_dual_node_ptr) = self.active_list[i].upgrade() { [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/dual_module_serial.rs:903:17 [INFO] [stdout] | [INFO] [stdout] 903 | } 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] 900 ~ match self.active_list[i].upgrade() { Some(internal_dual_node_ptr) => { [INFO] [stdout] 901 | let dual_node_internal = internal_dual_node_ptr.read_recursive(); [INFO] [stdout] 902 | dual_node_internal.origin.upgrade_force() [INFO] [stdout] 903 ~ } _ => { [INFO] [stdout] 904 | continue; // a blossom could be in the active list even after it's been removed [INFO] [stdout] 905 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dual_module_serial.rs:918:20 [INFO] [stdout] | [INFO] [stdout] 918 | if let Some(internal_dual_node_ptr) = self.active_list[i].upgrade() { [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/dual_module_serial.rs:921:17 [INFO] [stdout] | [INFO] [stdout] 921 | } 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] 918 ~ match self.active_list[i].upgrade() { Some(internal_dual_node_ptr) => { [INFO] [stdout] 919 | let dual_node_internal = internal_dual_node_ptr.read_recursive(); [INFO] [stdout] 920 | dual_node_internal.origin.upgrade_force() [INFO] [stdout] 921 ~ } _ => { [INFO] [stdout] 922 | continue; // a blossom could be in the active list even after it's been removed [INFO] [stdout] 923 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dual_module_serial.rs:1208:16 [INFO] [stdout] | [INFO] [stdout] 1208 | if let Some(dual_node_internal_ptr) = propagated_dual_node_internal_ptr.as_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/dual_module_serial.rs:1237:13 [INFO] [stdout] | [INFO] [stdout] 1237 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1208 ~ match propagated_dual_node_internal_ptr.as_ref() { Some(dual_node_internal_ptr) => { [INFO] [stdout] 1209 | // grandson dual node must present [INFO] [stdout] ... [INFO] [stdout] 1236 | self.active_list.push(dual_node_internal_ptr.downgrade()); [INFO] [stdout] 1237 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dual_module_serial.rs:1286:12 [INFO] [stdout] | [INFO] [stdout] 1286 | if let Some(ref mirror_unit_ptr) = self.mirror_unit { [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/dual_module_serial.rs:1290:9 [INFO] [stdout] | [INFO] [stdout] 1290 | } 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] 1286 ~ match self.mirror_unit { Some(ref mirror_unit_ptr) => { [INFO] [stdout] 1287 | let mirror_unit_ptr = mirror_unit_ptr.upgrade_force(); [INFO] [stdout] 1288 | let mirror_unit = mirror_unit_ptr.read_recursive(); [INFO] [stdout] 1289 | !mirror_unit.enabled [INFO] [stdout] 1290 ~ } _ => { [INFO] [stdout] 1291 | false [INFO] [stdout] 1292 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dual_module_serial.rs:1412:24 [INFO] [stdout] | [INFO] [stdout] 1412 | if let Some(descendant_parent_ptr) = descendant.parent_blossom.as_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/dual_module_serial.rs:1419:21 [INFO] [stdout] | [INFO] [stdout] 1419 | } 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] 1412 ~ match descendant.parent_blossom.as_ref() { Some(descendant_parent_ptr) => { [INFO] [stdout] 1413 | let descendant_parent_ptr = descendant_parent_ptr.upgrade_force(); [INFO] [stdout] ... [INFO] [stdout] 1418 | descendant_ptr = descendant_parent_ptr; [INFO] [stdout] 1419 ~ } _ => { [INFO] [stdout] 1420 | return Err("grandson check failed".to_string()); [INFO] [stdout] 1421 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dual_module_serial.rs:1438:20 [INFO] [stdout] | [INFO] [stdout] 1438 | if let Some(propagated_dual_node) = vertex.propagated_dual_node.as_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/dual_module_serial.rs:1440:17 [INFO] [stdout] | [INFO] [stdout] 1440 | } 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] 1438 ~ match vertex.propagated_dual_node.as_ref() { Some(propagated_dual_node) => { [INFO] [stdout] 1439 | self.sanity_check_grandson(propagated_dual_node, propagated_grandson_dual_node)?; [INFO] [stdout] 1440 ~ } _ => { [INFO] [stdout] 1441 | return Err(format!( [INFO] [stdout] ... [INFO] [stdout] 1444 | )); [INFO] [stdout] 1445 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dual_module_serial.rs:1538:16 [INFO] [stdout] | [INFO] [stdout] 1538 | if let Some(mirror_unit_ptr) = vertex.mirror_unit.as_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/dual_module_serial.rs:1549:13 [INFO] [stdout] | [INFO] [stdout] 1549 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1538 ~ match vertex.mirror_unit.as_ref() { Some(mirror_unit_ptr) => { [INFO] [stdout] 1539 | let mirror_unit_ptr = mirror_unit_ptr.upgrade_force(); [INFO] [stdout] ... [INFO] [stdout] 1548 | ); [INFO] [stdout] 1549 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dual_module_serial.rs:1601:16 [INFO] [stdout] | [INFO] [stdout] 1601 | if let Some(value) = edge.right_grandson_dual_node.as_ref().map(|weak| { [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] 1602 | | weak.upgrade_force() [INFO] [stdout] 1603 | | .read_recursive() [INFO] [stdout] 1604 | | .origin [INFO] [stdout] ... | [INFO] [stdout] 1607 | | .index [INFO] [stdout] 1608 | | }) { [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/dual_module_serial.rs:1613:13 [INFO] [stdout] | [INFO] [stdout] 1613 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1601 ~ match edge.right_grandson_dual_node.as_ref().map(|weak| { [INFO] [stdout] 1602 | weak.upgrade_force() [INFO] [stdout] ... [INFO] [stdout] 1607 | .index [INFO] [stdout] 1608 ~ }) { Some(value) => { [INFO] [stdout] 1609 | edges[edge.edge_index as usize].as_object_mut().unwrap().insert( [INFO] [stdout] ... [INFO] [stdout] 1612 | ); [INFO] [stdout] 1613 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dual_module_serial.rs:1654:12 [INFO] [stdout] | [INFO] [stdout] 1654 | if let Some(unit_module_info) = self.unit_module_info.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/dual_module_serial.rs:1670:9 [INFO] [stdout] | [INFO] [stdout] 1670 | } 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] 1654 ~ match self.unit_module_info.as_mut() { Some(unit_module_info) => { [INFO] [stdout] 1655 | if unit_module_info.owning_dual_range.is_empty() { [INFO] [stdout] ... [INFO] [stdout] 1669 | } [INFO] [stdout] 1670 ~ } _ => { [INFO] [stdout] 1671 | debug_assert!( [INFO] [stdout] ... [INFO] [stdout] 1674 | ); [INFO] [stdout] 1675 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dual_module_serial.rs:1683:12 [INFO] [stdout] | [INFO] [stdout] 1683 | if let Some(unit_module_info) = self.unit_module_info.as_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/dual_module_serial.rs:1694:9 [INFO] [stdout] | [INFO] [stdout] 1694 | } 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] 1683 ~ match self.unit_module_info.as_ref() { Some(unit_module_info) => { [INFO] [stdout] 1684 | if unit_module_info.owning_dual_range.contains(dual_node.index) { [INFO] [stdout] ... [INFO] [stdout] 1693 | } [INFO] [stdout] 1694 ~ } _ => { [INFO] [stdout] 1695 | Some(dual_node.index as usize) [INFO] [stdout] 1696 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/example_codes.rs:1436:16 [INFO] [stdout] | [INFO] [stdout] 1436 | if let Ok(value) = line { [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/example_codes.rs:1452:13 [INFO] [stdout] | [INFO] [stdout] 1452 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1436 ~ match line { Ok(value) => { [INFO] [stdout] 1437 | match line_index { [INFO] [stdout] ... [INFO] [stdout] 1451 | } [INFO] [stdout] 1452 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/primal_module.rs:194:16 [INFO] [stdout] | [INFO] [stdout] 194 | if let Some(length) = group_max_update_length.get_none_zero_growth() { [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/primal_module.rs:196:13 [INFO] [stdout] | [INFO] [stdout] 196 | } 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] 194 ~ match group_max_update_length.get_none_zero_growth() { Some(length) => { [INFO] [stdout] 195 | interface.grow(length, dual_module); [INFO] [stdout] 196 ~ } _ => { [INFO] [stdout] 197 | self.resolve(group_max_update_length, interface, dual_module); [INFO] [stdout] 198 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/primal_module.rs:310:16 [INFO] [stdout] | [INFO] [stdout] 310 | if let Some(parent_blossom_weak) = child.parent_blossom.as_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/primal_module.rs:343:13 [INFO] [stdout] | [INFO] [stdout] 343 | } 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] 310 ~ match child.parent_blossom.as_ref() { Some(parent_blossom_weak) => { [INFO] [stdout] 311 | let parent_blossom_ptr = parent_blossom_weak.upgrade_force(); [INFO] [stdout] ... [INFO] [stdout] 342 | child_ptr = parent_blossom_ptr.clone(); [INFO] [stdout] 343 ~ } _ => { [INFO] [stdout] 344 | panic!("cannot find parent of {}", child.index) [INFO] [stdout] 345 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/primal_module.rs:375:20 [INFO] [stdout] | [INFO] [stdout] 375 | if let DualNodeClass::DefectVertex { defect_index } = &node.class { [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/primal_module.rs:377:17 [INFO] [stdout] | [INFO] [stdout] 377 | } 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] 375 ~ match &node.class { DualNodeClass::DefectVertex { defect_index } => { [INFO] [stdout] 376 | *defect_index [INFO] [stdout] 377 ~ } _ => { [INFO] [stdout] 378 | unreachable!("can only be syndrome") [INFO] [stdout] 379 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/primal_module.rs:383:20 [INFO] [stdout] | [INFO] [stdout] 383 | if let DualNodeClass::DefectVertex { defect_index } = &node.class { [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/primal_module.rs:385:17 [INFO] [stdout] | [INFO] [stdout] 385 | } 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] 383 ~ match &node.class { DualNodeClass::DefectVertex { defect_index } => { [INFO] [stdout] 384 | *defect_index [INFO] [stdout] 385 ~ } _ => { [INFO] [stdout] 386 | unreachable!("can only be syndrome") [INFO] [stdout] 387 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/primal_module.rs:396:20 [INFO] [stdout] | [INFO] [stdout] 396 | if let DualNodeClass::DefectVertex { defect_index } = &node.class { [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/primal_module.rs:398:17 [INFO] [stdout] | [INFO] [stdout] 398 | } 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] 396 ~ match &node.class { DualNodeClass::DefectVertex { defect_index } => { [INFO] [stdout] 397 | *defect_index [INFO] [stdout] 398 ~ } _ => { [INFO] [stdout] 399 | unreachable!("can only be syndrome") [INFO] [stdout] 400 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/primal_module.rs:535:20 [INFO] [stdout] | [INFO] [stdout] 535 | if let DualNodeClass::DefectVertex { defect_index } = &node.class { [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/primal_module.rs:537:17 [INFO] [stdout] | [INFO] [stdout] 537 | } 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] 535 ~ match &node.class { DualNodeClass::DefectVertex { defect_index } => { [INFO] [stdout] 536 | *defect_index [INFO] [stdout] 537 ~ } _ => { [INFO] [stdout] 538 | unreachable!("can only be syndrome") [INFO] [stdout] 539 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/primal_module.rs:543:20 [INFO] [stdout] | [INFO] [stdout] 543 | if let DualNodeClass::DefectVertex { defect_index } = &node.class { [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/primal_module.rs:545:17 [INFO] [stdout] | [INFO] [stdout] 545 | } 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] 543 ~ match &node.class { DualNodeClass::DefectVertex { defect_index } => { [INFO] [stdout] 544 | *defect_index [INFO] [stdout] 545 ~ } _ => { [INFO] [stdout] 546 | unreachable!("can only be syndrome") [INFO] [stdout] 547 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/primal_module.rs:554:20 [INFO] [stdout] | [INFO] [stdout] 554 | if let DualNodeClass::DefectVertex { defect_index } = &node.class { [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/primal_module.rs:556:17 [INFO] [stdout] | [INFO] [stdout] 556 | } 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] 554 ~ match &node.class { DualNodeClass::DefectVertex { defect_index } => { [INFO] [stdout] 555 | *defect_index [INFO] [stdout] 556 ~ } _ => { [INFO] [stdout] 557 | unreachable!("can only be syndrome") [INFO] [stdout] 558 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/primal_module_parallel.rs:554:12 [INFO] [stdout] | [INFO] [stdout] 554 | if let Some((left_child_weak, right_child_weak)) = primal_unit.children.as_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/primal_module_parallel.rs:588:9 [INFO] [stdout] | [INFO] [stdout] 588 | } 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] 554 ~ match primal_unit.children.as_ref() { Some((left_child_weak, right_child_weak)) => { [INFO] [stdout] 555 | { [INFO] [stdout] ... [INFO] [stdout] 587 | } [INFO] [stdout] 588 ~ } _ => { [INFO] [stdout] 589 | debug_assert!(primal_unit.is_active, "leaf must be active to be solved"); [INFO] [stdout] ... [INFO] [stdout] 603 | } [INFO] [stdout] 604 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/primal_module_parallel.rs:713:16 [INFO] [stdout] | [INFO] [stdout] 713 | if let Some(primal_node_ptr) = primal_node_ptr { [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/primal_module_parallel.rs:728:13 [INFO] [stdout] | [INFO] [stdout] 728 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 713 ~ match primal_node_ptr { Some(primal_node_ptr) => { [INFO] [stdout] 714 | let mut primal_node = primal_node_ptr.write(); [INFO] [stdout] ... [INFO] [stdout] 727 | } [INFO] [stdout] 728 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/primal_module_parallel.rs:715:20 [INFO] [stdout] | [INFO] [stdout] 715 | if let Some((MatchTarget::VirtualVertex(vertex_index), _)) = &primal_node.temporary_match { [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/primal_module_parallel.rs:727:17 [INFO] [stdout] | [INFO] [stdout] 727 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 715 ~ match &primal_node.temporary_match { Some((MatchTarget::VirtualVertex(vertex_index), _)) => { [INFO] [stdout] 716 | if self.partition_info.vertex_to_owning_unit[*vertex_index as usize] == self.unit_index { [INFO] [stdout] ... [INFO] [stdout] 726 | } [INFO] [stdout] 727 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/primal_module_serial.rs:247:15 [INFO] [stdout] | [INFO] [stdout] 247 | while let Some(conflict) = group_max_update_length.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/primal_module_serial.rs:1205:9 [INFO] [stdout] | [INFO] [stdout] 1205 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/primal_module_serial.rs:1231:16 [INFO] [stdout] | [INFO] [stdout] 1231 | if let Some((match_target, match_touching_ptr)) = primal_node_internal.temporary_match.as_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/primal_module_serial.rs:1252:13 [INFO] [stdout] | [INFO] [stdout] 1252 | } 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] 1231 ~ match primal_node_internal.temporary_match.as_ref() { Some((match_target, match_touching_ptr)) => { [INFO] [stdout] 1232 | match match_target { [INFO] [stdout] ... [INFO] [stdout] 1251 | } [INFO] [stdout] 1252 ~ } _ => { [INFO] [stdout] 1253 | panic!( [INFO] [stdout] ... [INFO] [stdout] 1256 | ); [INFO] [stdout] 1257 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/primal_module_serial.rs:1390:12 [INFO] [stdout] | [INFO] [stdout] 1390 | if let Some(parent_dual_node_weak) = &interface_node.parent_blossom { [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/primal_module_serial.rs:1394:9 [INFO] [stdout] | [INFO] [stdout] 1394 | } 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] 1390 ~ match &interface_node.parent_blossom { Some(parent_dual_node_weak) => { [INFO] [stdout] 1391 | let parent_dual_node_ptr = parent_dual_node_weak.upgrade_force(); [INFO] [stdout] 1392 | let parent_primal_node_internal_ptr = self.get_primal_node_internal_ptr(&parent_dual_node_ptr); [INFO] [stdout] 1393 | self.get_outer_node(parent_primal_node_internal_ptr) [INFO] [stdout] 1394 ~ } _ => { [INFO] [stdout] 1395 | primal_node_internal_ptr.clone() [INFO] [stdout] 1396 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/primal_module_serial.rs:1749:32 [INFO] [stdout] | [INFO] [stdout] 1749 | ... if let Some((peer_match_target, _)) = peer.temporary_match.as_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/primal_module_serial.rs:1756:29 [INFO] [stdout] | [INFO] [stdout] 1756 | ... } 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] 1749 ~ match peer.temporary_match.as_ref() { Some((peer_match_target, _)) => { [INFO] [stdout] 1750 | if peer_match_target != &MatchTarget::Peer(primal_module_internal_ptr.downgrade()) { [INFO] [stdout] ... [INFO] [stdout] 1755 | } [INFO] [stdout] 1756 ~ } _ => { [INFO] [stdout] 1757 | return Err("match peer is not marked as matched".to_string()); [INFO] [stdout] 1758 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/primal_module_serial.rs:1763:20 [INFO] [stdout] | [INFO] [stdout] 1763 | if let Some(tree_node) = primal_module_internal.tree_node.as_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/primal_module_serial.rs:1888:17 [INFO] [stdout] | [INFO] [stdout] 1888 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1763 ~ match primal_module_internal.tree_node.as_ref() { Some(tree_node) => { [INFO] [stdout] 1764 | // first check if every child's parent is myself [INFO] [stdout] ... [INFO] [stdout] 1887 | } [INFO] [stdout] 1888 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/primal_module_serial.rs:1768:28 [INFO] [stdout] | [INFO] [stdout] 1768 | if let Some(child_tree_node) = child.tree_node.as_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/primal_module_serial.rs:1776:25 [INFO] [stdout] | [INFO] [stdout] 1776 | } 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] 1768 ~ match child.tree_node.as_ref() { Some(child_tree_node) => { [INFO] [stdout] 1769 | if child_tree_node.parent.as_ref().map(|x| &x.0) != Some(&primal_module_internal_ptr.downgrade()) [INFO] [stdout] ... [INFO] [stdout] 1775 | } [INFO] [stdout] 1776 ~ } _ => { [INFO] [stdout] 1777 | return Err(format!( [INFO] [stdout] ... [INFO] [stdout] 1780 | )); [INFO] [stdout] 1781 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/primal_module_serial.rs:1796:24 [INFO] [stdout] | [INFO] [stdout] 1796 | if let Some((parent_weak, _)) = tree_node.parent.as_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/primal_module_serial.rs:1830:21 [INFO] [stdout] | [INFO] [stdout] 1830 | } 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] 1796 ~ match tree_node.parent.as_ref() { Some((parent_weak, _)) => { [INFO] [stdout] 1797 | let parent_ptr = parent_weak.upgrade_force(); [INFO] [stdout] ... [INFO] [stdout] 1829 | } [INFO] [stdout] 1830 ~ } _ => { [INFO] [stdout] 1831 | if tree_node.root != primal_module_internal_ptr.downgrade() { [INFO] [stdout] 1832 | return Err(format!("{} is not the root of the tree, yet it has no parent", index)); [INFO] [stdout] 1833 | } [INFO] [stdout] 1834 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/primal_module_serial.rs:1799:28 [INFO] [stdout] | [INFO] [stdout] 1799 | if let Some(parent_tree_node) = parent.tree_node.as_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/primal_module_serial.rs:1812:25 [INFO] [stdout] | [INFO] [stdout] 1812 | } 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] 1799 ~ match parent.tree_node.as_ref() { Some(parent_tree_node) => { [INFO] [stdout] 1800 | let mut found_match_count = 0; [INFO] [stdout] ... [INFO] [stdout] 1811 | } [INFO] [stdout] 1812 ~ } _ => { [INFO] [stdout] 1813 | return Err(format!( [INFO] [stdout] ... [INFO] [stdout] 1816 | )); [INFO] [stdout] 1817 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/primal_module_serial.rs:1853:28 [INFO] [stdout] | [INFO] [stdout] 1853 | if let Some(current_tree_node) = current.tree_node.as_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/primal_module_serial.rs:1869:25 [INFO] [stdout] | [INFO] [stdout] 1869 | } 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] 1853 ~ match current.tree_node.as_ref() { Some(current_tree_node) => { [INFO] [stdout] 1854 | if let Some((current_parent_ptr, _)) = current_tree_node.parent.as_ref() { [INFO] [stdout] ... [INFO] [stdout] 1868 | } [INFO] [stdout] 1869 ~ } _ => { [INFO] [stdout] 1870 | return Err(format!( [INFO] [stdout] ... [INFO] [stdout] 1873 | )); [INFO] [stdout] 1874 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/primal_module_serial.rs:1854:32 [INFO] [stdout] | [INFO] [stdout] 1854 | ... if let Some((current_parent_ptr, _)) = current_tree_node.parent.as_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/primal_module_serial.rs:1859:29 [INFO] [stdout] | [INFO] [stdout] 1859 | ... } 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] 1854 ~ match current_tree_node.parent.as_ref() { Some((current_parent_ptr, _)) => { [INFO] [stdout] 1855 | let current_parent_ptr = current_parent_ptr.clone(); [INFO] [stdout] ... [INFO] [stdout] 1858 | current_up += 1; [INFO] [stdout] 1859 ~ } _ => { [INFO] [stdout] 1860 | // confirm this is root and then break the loop [INFO] [stdout] ... [INFO] [stdout] 1867 | break; [INFO] [stdout] 1868 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/primal_module_serial.rs:1913:35 [INFO] [stdout] | [INFO] [stdout] 1913 | let touching = if let Some((_, touching)) = tree_node.parent.as_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/primal_module_serial.rs:1915:17 [INFO] [stdout] | [INFO] [stdout] 1915 | } 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] 1913 ~ let touching = match tree_node.parent.as_ref() { Some((_, touching)) => { [INFO] [stdout] 1914 | touching.clone() [INFO] [stdout] 1915 ~ } _ => { [INFO] [stdout] 1916 | tree_node.children[0].1.clone() [INFO] [stdout] 1917 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util.rs:752:12 [INFO] [stdout] | [INFO] [stdout] 752 | if let Some(file) = self.benchmark_profiler_output.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/util.rs:771:9 [INFO] [stdout] | [INFO] [stdout] 771 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 752 ~ match self.benchmark_profiler_output.as_mut() { Some(file) => { [INFO] [stdout] 753 | let mut events = serde_json::Map::new(); [INFO] [stdout] ... [INFO] [stdout] 770 | file.write_all(b"\n").unwrap(); [INFO] [stdout] 771 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 63 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating src/bin/fusion-paper.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `fusion_blossom` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/pointers.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/pointers.rs:787:31 [INFO] [stderr] | [INFO] [stderr] 787 | ($variable:ident, $lock:expr_2021) => { let mut $variable = $lock.write(); }; [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] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/pointers.rs:788:31 [INFO] [stderr] | [INFO] [stderr] 788 | ($variable:ident, $lock:expr_2021, $timestamp:expr_2021) => { let mut $variable = $lock.write($timestamp); }; [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] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/pointers.rs:788:48 [INFO] [stderr] | [INFO] [stderr] 788 | ($variable:ident, $lock:expr_2021, $timestamp:expr_2021) => { let mut $variable = $lock.write($timestamp); }; [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] error: aborting due to 3 previous errors [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] --> src/cli.rs:351:71 [INFO] [stdout] | [INFO] [stdout] 351 | let seed = if use_deterministic_seed { round } else { rng.gen() }; [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: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/example_codes.rs:456:84 [INFO] [stdout] | [INFO] [stdout] 456 | #[pyo3(name = "generate_random_errors", signature = (seed=thread_rng().gen()))] [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] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/pointers.rs:787:37 [INFO] [stdout] | [INFO] [stdout] 787 | ($variable:ident, $lock:expr) => { let mut $variable = $lock.write(); }; [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] 787 | ($variable:ident, $lock:expr_2021) => { let mut $variable = $lock.write(); }; [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/pointers.rs:788:37 [INFO] [stdout] | [INFO] [stdout] 788 | ($variable:ident, $lock:expr, $timestamp:expr) => { let mut $variable = $lock.write($timestamp); }; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 788 | ($variable:ident, $lock:expr_2021, $timestamp:expr) => { let mut $variable = $lock.write($timestamp); }; [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/pointers.rs:788:54 [INFO] [stdout] | [INFO] [stdout] 788 | ($variable:ident, $lock:expr, $timestamp:expr) => { let mut $variable = $lock.write($timestamp); }; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 788 | ($variable:ident, $lock:expr, $timestamp:expr_2021) => { let mut $variable = $lock.write($timestamp); }; [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/complete_graph.rs:142:20 [INFO] [stdout] | [INFO] [stdout] 142 | if let Some(PriorityElement { [INFO] [stdout] | ____________________^ [INFO] [stdout] 143 | | weight: existing_weight, [INFO] [stdout] 144 | | previous: existing_previous, [INFO] [stdout] 145 | | }) = pq.get_priority(&neighbor) [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/complete_graph.rs:169:17 [INFO] [stdout] | [INFO] [stdout] 169 | } 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] 142 ~ match pq.get_priority(&neighbor) [INFO] [stdout] 143 ~ { Some(PriorityElement { [INFO] [stdout] 144 + weight: existing_weight, [INFO] [stdout] 145 + previous: existing_previous, [INFO] [stdout] 146 ~ }) => { [INFO] [stdout] 147 | // update the priority if weight is smaller or weight is equal but distance is smaller [INFO] [stdout] ... [INFO] [stdout] 168 | } [INFO] [stdout] 169 ~ } _ => { [INFO] [stdout] 170 | // insert new entry only if neighbor has not been visited [INFO] [stdout] ... [INFO] [stdout] 173 | } [INFO] [stdout] 174 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dual_module.rs:81:12 [INFO] [stdout] | [INFO] [stdout] 81 | if let Some((weak, ..)) = &self.propagated_grandson_dual_node { [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/dual_module.rs:83:9 [INFO] [stdout] | [INFO] [stdout] 83 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 81 ~ match &self.propagated_grandson_dual_node { Some((weak, ..)) => { [INFO] [stdout] 82 | weak.upgrade_force().update(); [INFO] [stdout] 83 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dual_module.rs:154:12 [INFO] [stdout] | [INFO] [stdout] 154 | if let Some(dual_node_ptr) = max_update_length.get_vertex_shrink_stop() { [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/dual_module.rs:173:9 [INFO] [stdout] | [INFO] [stdout] 173 | } 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] 154 ~ match max_update_length.get_vertex_shrink_stop() { Some(dual_node_ptr) => { [INFO] [stdout] 155 | let vertex_index = dual_node_ptr.get_representative_vertex(); [INFO] [stdout] ... [INFO] [stdout] 172 | } [INFO] [stdout] 173 ~ } _ => { [INFO] [stdout] 174 | list.push(max_update_length); [INFO] [stdout] 175 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dual_module.rs:157:20 [INFO] [stdout] | [INFO] [stdout] 157 | if let MaxUpdateLength::VertexShrinkStop((_, Some(weak_pair))) = &max_update_length { [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/dual_module.rs:169:17 [INFO] [stdout] | [INFO] [stdout] 169 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 157 ~ match &max_update_length { MaxUpdateLength::VertexShrinkStop((_, Some(weak_pair))) => { [INFO] [stdout] 158 | // otherwise don't update [INFO] [stdout] ... [INFO] [stdout] 168 | } [INFO] [stdout] 169 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dual_module.rs:181:20 [INFO] [stdout] | [INFO] [stdout] 181 | if let MaxUpdateLength::NonZeroGrow((length, has_empty_boundary_node)) = max_update_length { [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/dual_module.rs:185:17 [INFO] [stdout] | [INFO] [stdout] 185 | } 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] 181 ~ match max_update_length { MaxUpdateLength::NonZeroGrow((length, has_empty_boundary_node)) => { [INFO] [stdout] 182 | *current_length = std::cmp::min(*current_length, length); [INFO] [stdout] 183 | *current_has_empty_boundary_node |= has_empty_boundary_node; [INFO] [stdout] 184 | // or [INFO] [stdout] 185 ~ } _ => { [INFO] [stdout] 186 | let mut list = ConflictList::new(); [INFO] [stdout] ... [INFO] [stdout] 194 | *self = Self::Conflicts((list, pending_stops)); [INFO] [stdout] 195 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dual_module.rs:188:24 [INFO] [stdout] | [INFO] [stdout] 188 | if let Some(dual_node_ptr) = max_update_length.get_vertex_shrink_stop() { [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/dual_module.rs:191:21 [INFO] [stdout] | [INFO] [stdout] 191 | } 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] 188 ~ match max_update_length.get_vertex_shrink_stop() { Some(dual_node_ptr) => { [INFO] [stdout] 189 | let vertex_index = dual_node_ptr.get_representative_vertex(); [INFO] [stdout] 190 | pending_stops.insert(vertex_index, max_update_length); [INFO] [stdout] 191 ~ } _ => { [INFO] [stdout] 192 | list.push(max_update_length); [INFO] [stdout] 193 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dual_module.rs:224:20 [INFO] [stdout] | [INFO] [stdout] 224 | if let Self::Conflicts((other_list, other_pending_stops)) = other { [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/dual_module.rs:229:17 [INFO] [stdout] | [INFO] [stdout] 229 | } // only add conflicts, not NonZeroGrow [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 224 ~ match other { Self::Conflicts((other_list, other_pending_stops)) => { [INFO] [stdout] 225 | list.extend(other_list); [INFO] [stdout] ... [INFO] [stdout] 228 | } [INFO] [stdout] 229 ~ } _ => {}} // only add conflicts, not NonZeroGrow [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dual_module.rs:914:12 [INFO] [stdout] | [INFO] [stdout] 914 | if let Some(ptr) = interface.get_node(dual_node.index).as_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/dual_module.rs:916:9 [INFO] [stdout] | [INFO] [stdout] 916 | } 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] 914 ~ match interface.get_node(dual_node.index).as_ref() { Some(ptr) => { [INFO] [stdout] 915 | ptr == dual_node_ptr [INFO] [stdout] 916 ~ } _ => { [INFO] [stdout] 917 | false [INFO] [stdout] 918 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dual_module.rs:1027:16 [INFO] [stdout] | [INFO] [stdout] 1027 | if let DualNodeClass::Blossom { nodes_circle, .. } = &node.class { [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/dual_module.rs:1029:13 [INFO] [stdout] | [INFO] [stdout] 1029 | } 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] 1027 ~ match &node.class { DualNodeClass::Blossom { nodes_circle, .. } => { [INFO] [stdout] 1028 | eprintln!("[expand blossom] {:?} -> {:?}", blossom_node_ptr, nodes_circle); [INFO] [stdout] 1029 ~ } _ => { [INFO] [stdout] 1030 | unreachable!() [INFO] [stdout] 1031 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dual_module.rs:1038:16 [INFO] [stdout] | [INFO] [stdout] 1038 | if let DualNodeClass::Blossom { nodes_circle, .. } = &node.class { [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/dual_module.rs:1042:13 [INFO] [stdout] | [INFO] [stdout] 1042 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1038 ~ match &node.class { DualNodeClass::Blossom { nodes_circle, .. } => { [INFO] [stdout] 1039 | for node_weak in nodes_circle.iter() { [INFO] [stdout] 1040 | node_weak.upgrade_force().update(); [INFO] [stdout] 1041 | } [INFO] [stdout] 1042 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dual_module.rs:1318:20 [INFO] [stdout] | [INFO] [stdout] 1318 | if let Some(parent_blossom_weak) = &dual_node.parent_blossom { [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/dual_module.rs:1363:17 [INFO] [stdout] | [INFO] [stdout] 1363 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1318 ~ match &dual_node.parent_blossom { Some(parent_blossom_weak) => { [INFO] [stdout] 1319 | if dual_node.grow_state != DualNodeGrowState::Stay { [INFO] [stdout] ... [INFO] [stdout] 1362 | } [INFO] [stdout] 1363 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dual_module_parallel.rs:168:23 [INFO] [stdout] | [INFO] [stdout] 168 | while let Some(parent_index) = &partition_info.units[current_index].parent { [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/dual_module_parallel.rs:212:17 [INFO] [stdout] | [INFO] [stdout] 212 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dual_module_parallel.rs:361:16 [INFO] [stdout] | [INFO] [stdout] 361 | if let Some(parent_index) = &partition_info.units[unit_index].parent { [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/dual_module_parallel.rs:363:13 [INFO] [stdout] | [INFO] [stdout] 363 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 361 ~ match &partition_info.units[unit_index].parent { Some(parent_index) => { [INFO] [stdout] 362 | unit.parent = Some(units[*parent_index].downgrade()); [INFO] [stdout] 363 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dual_module_parallel.rs:377:16 [INFO] [stdout] | [INFO] [stdout] 377 | if let Some((left_children_weak, right_children_weak)) = unit.children.clone() { [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/dual_module_parallel.rs:391:13 [INFO] [stdout] | [INFO] [stdout] 391 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 377 ~ match unit.children.clone() { Some((left_children_weak, right_children_weak)) => { [INFO] [stdout] 378 | for child_weak in [left_children_weak, right_children_weak] { [INFO] [stdout] ... [INFO] [stdout] 390 | } [INFO] [stdout] 391 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dual_module_parallel.rs:423:16 [INFO] [stdout] | [INFO] [stdout] 423 | if let Some(parent_weak) = &owning_unit.parent { [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/dual_module_parallel.rs:427:13 [INFO] [stdout] | [INFO] [stdout] 427 | } 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] 423 ~ match &owning_unit.parent { Some(parent_weak) => { [INFO] [stdout] 424 | let parent_owning_unit_ptr = parent_weak.upgrade_force(); [INFO] [stdout] 425 | drop(owning_unit); [INFO] [stdout] 426 | owning_unit_ptr = parent_owning_unit_ptr; [INFO] [stdout] 427 ~ } _ => { [INFO] [stdout] 428 | return None; [INFO] [stdout] 429 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dual_module_parallel.rs:438:16 [INFO] [stdout] | [INFO] [stdout] 438 | if let Some((left_child_weak, right_child_weak)) = &unit.children { [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/dual_module_parallel.rs:454:13 [INFO] [stdout] | [INFO] [stdout] 454 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 438 ~ match &unit.children { Some((left_child_weak, right_child_weak)) => { [INFO] [stdout] 439 | { [INFO] [stdout] ... [INFO] [stdout] 453 | unit.static_fuse(); [INFO] [stdout] 454 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dual_module_parallel.rs:1025:12 [INFO] [stdout] | [INFO] [stdout] 1025 | if let Some((left_child_weak, right_child_weak)) = self.children.as_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/dual_module_parallel.rs:1039:9 [INFO] [stdout] | [INFO] [stdout] 1039 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1025 ~ match self.children.as_ref() { Some((left_child_weak, right_child_weak)) => { [INFO] [stdout] 1026 | if self.enable_parallel_execution { [INFO] [stdout] ... [INFO] [stdout] 1038 | } [INFO] [stdout] 1039 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dual_module_parallel.rs:1134:24 [INFO] [stdout] | [INFO] [stdout] 1134 | if let Some((left_child_weak, right_child_weak)) = self.children.as_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/dual_module_parallel.rs:1167:21 [INFO] [stdout] | [INFO] [stdout] 1167 | } 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] 1134 ~ match self.children.as_ref() { Some((left_child_weak, right_child_weak)) => { [INFO] [stdout] 1135 | let mut child_ptr = if representative_vertex < self.owning_range.start() { [INFO] [stdout] ... [INFO] [stdout] 1166 | child.iterative_add_defect_node(dual_node_ptr, *defect_index); [INFO] [stdout] 1167 ~ } _ => { [INFO] [stdout] 1168 | unreachable!() [INFO] [stdout] 1169 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dual_module_parallel.rs:1151:55 [INFO] [stdout] | [INFO] [stdout] 1151 | ... let grandson_ptr = if let Some((left_child_weak, right_child_weak)) = child.children.as_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/dual_module_parallel.rs:1158:33 [INFO] [stdout] | [INFO] [stdout] 1158 | ... } 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] 1151 ~ let grandson_ptr = match child.children.as_ref() [INFO] [stdout] 1152 ~ { Some((left_child_weak, right_child_weak)) => { [INFO] [stdout] 1153 | if representative_vertex < child.owning_range.start() { [INFO] [stdout] ... [INFO] [stdout] 1157 | } [INFO] [stdout] 1158 ~ } _ => { [INFO] [stdout] 1159 | unreachable!() [INFO] [stdout] 1160 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dual_module_parallel.rs:1314:12 [INFO] [stdout] | [INFO] [stdout] 1314 | if let Some((propagated_dual_node_weak, _, representative_vertex)) = [INFO] [stdout] | ____________^ [INFO] [stdout] 1315 | | sync_event.propagated_grandson_dual_node.as_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/dual_module_parallel.rs:1320:9 [INFO] [stdout] | [INFO] [stdout] 1320 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1314 ~ match sync_event.propagated_grandson_dual_node.as_ref() [INFO] [stdout] 1315 ~ { Some((propagated_dual_node_weak, _, representative_vertex)) => { [INFO] [stdout] 1316 | if !self.whole_range.contains(*representative_vertex) { [INFO] [stdout] 1317 | self.elevated_dual_nodes.insert(propagated_dual_node_weak.upgrade_force()); [INFO] [stdout] 1318 | } [INFO] [stdout] 1319 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dual_module_serial.rs:363:28 [INFO] [stdout] | [INFO] [stdout] 363 | if let Some(dual_node_internal_ptr) = self.get_dual_node_internal_ptr_optional(&dual_node_ptr) { [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/dual_module_serial.rs:391:25 [INFO] [stdout] | [INFO] [stdout] 391 | } 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] 363 ~ match self.get_dual_node_internal_ptr_optional(&dual_node_ptr) { Some(dual_node_internal_ptr) => { [INFO] [stdout] 364 | let dual_node_internal = dual_node_internal_ptr.read_recursive(); [INFO] [stdout] ... [INFO] [stdout] 390 | } [INFO] [stdout] 391 ~ } _ => { [INFO] [stdout] 392 | debug_assert!( [INFO] [stdout] ... [INFO] [stdout] 395 | ); [INFO] [stdout] 396 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dual_module_serial.rs:484:12 [INFO] [stdout] | [INFO] [stdout] 484 | if let DualNodeClass::Blossom { nodes_circle, .. } = &node.class { [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/dual_module_serial.rs:511:9 [INFO] [stdout] | [INFO] [stdout] 511 | } 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] 484 ~ match &node.class { DualNodeClass::Blossom { nodes_circle, .. } => { [INFO] [stdout] 485 | for circle_dual_node_weak in nodes_circle.iter() { [INFO] [stdout] ... [INFO] [stdout] 510 | } [INFO] [stdout] 511 ~ } _ => { [INFO] [stdout] 512 | unreachable!() [INFO] [stdout] 513 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dual_module_serial.rs:487:20 [INFO] [stdout] | [INFO] [stdout] 487 | if let Some(circle_dual_node_internal_ptr) = self.get_dual_node_internal_ptr_optional(&circle_dual_node_ptr) [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/dual_module_serial.rs:507:17 [INFO] [stdout] | [INFO] [stdout] 507 | } 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] 487 ~ match self.get_dual_node_internal_ptr_optional(&circle_dual_node_ptr) [INFO] [stdout] 488 ~ { Some(circle_dual_node_internal_ptr) => { [INFO] [stdout] 489 | let circle_dual_node_internal = circle_dual_node_internal_ptr.read_recursive(); [INFO] [stdout] ... [INFO] [stdout] 506 | } [INFO] [stdout] 507 ~ } _ => { [INFO] [stdout] 508 | debug_assert!(self.unit_module_info.is_some(), "only happens if partitioned"); [INFO] [stdout] 509 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dual_module_serial.rs:580:48 [INFO] [stdout] | [INFO] [stdout] 580 | ... if let Some((other_dual_node_ptr, other_grandson_dual_node)) = [INFO] [stdout] | __________________________^ [INFO] [stdout] 581 | | ... &potential_conflict [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/dual_module_serial.rs:589:45 [INFO] [stdout] | [INFO] [stdout] 589 | ... } 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] 580 ~ match &potential_conflict [INFO] [stdout] 581 ~ { Some((other_dual_node_ptr, other_grandson_dual_node)) => { [INFO] [stdout] 582 | if &peer_dual_node_ptr != other_dual_node_ptr { [INFO] [stdout] ... [INFO] [stdout] 587 | } [INFO] [stdout] 588 ~ } _ => { [INFO] [stdout] 589 | potential_conflict = Some((peer_dual_node_ptr, peer_grandson_dual_node_ptr)); [INFO] [stdout] 590 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dual_module_serial.rs:900:20 [INFO] [stdout] | [INFO] [stdout] 900 | if let Some(internal_dual_node_ptr) = self.active_list[i].upgrade() { [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/dual_module_serial.rs:903:17 [INFO] [stdout] | [INFO] [stdout] 903 | } 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] 900 ~ match self.active_list[i].upgrade() { Some(internal_dual_node_ptr) => { [INFO] [stdout] 901 | let dual_node_internal = internal_dual_node_ptr.read_recursive(); [INFO] [stdout] 902 | dual_node_internal.origin.upgrade_force() [INFO] [stdout] 903 ~ } _ => { [INFO] [stdout] 904 | continue; // a blossom could be in the active list even after it's been removed [INFO] [stdout] 905 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dual_module_serial.rs:918:20 [INFO] [stdout] | [INFO] [stdout] 918 | if let Some(internal_dual_node_ptr) = self.active_list[i].upgrade() { [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/dual_module_serial.rs:921:17 [INFO] [stdout] | [INFO] [stdout] 921 | } 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] 918 ~ match self.active_list[i].upgrade() { Some(internal_dual_node_ptr) => { [INFO] [stdout] 919 | let dual_node_internal = internal_dual_node_ptr.read_recursive(); [INFO] [stdout] 920 | dual_node_internal.origin.upgrade_force() [INFO] [stdout] 921 ~ } _ => { [INFO] [stdout] 922 | continue; // a blossom could be in the active list even after it's been removed [INFO] [stdout] 923 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dual_module_serial.rs:1208:16 [INFO] [stdout] | [INFO] [stdout] 1208 | if let Some(dual_node_internal_ptr) = propagated_dual_node_internal_ptr.as_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/dual_module_serial.rs:1237:13 [INFO] [stdout] | [INFO] [stdout] 1237 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1208 ~ match propagated_dual_node_internal_ptr.as_ref() { Some(dual_node_internal_ptr) => { [INFO] [stdout] 1209 | // grandson dual node must present [INFO] [stdout] ... [INFO] [stdout] 1236 | self.active_list.push(dual_node_internal_ptr.downgrade()); [INFO] [stdout] 1237 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dual_module_serial.rs:1286:12 [INFO] [stdout] | [INFO] [stdout] 1286 | if let Some(ref mirror_unit_ptr) = self.mirror_unit { [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/dual_module_serial.rs:1290:9 [INFO] [stdout] | [INFO] [stdout] 1290 | } 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] 1286 ~ match self.mirror_unit { Some(ref mirror_unit_ptr) => { [INFO] [stdout] 1287 | let mirror_unit_ptr = mirror_unit_ptr.upgrade_force(); [INFO] [stdout] 1288 | let mirror_unit = mirror_unit_ptr.read_recursive(); [INFO] [stdout] 1289 | !mirror_unit.enabled [INFO] [stdout] 1290 ~ } _ => { [INFO] [stdout] 1291 | false [INFO] [stdout] 1292 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dual_module_serial.rs:1412:24 [INFO] [stdout] | [INFO] [stdout] 1412 | if let Some(descendant_parent_ptr) = descendant.parent_blossom.as_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/dual_module_serial.rs:1419:21 [INFO] [stdout] | [INFO] [stdout] 1419 | } 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] 1412 ~ match descendant.parent_blossom.as_ref() { Some(descendant_parent_ptr) => { [INFO] [stdout] 1413 | let descendant_parent_ptr = descendant_parent_ptr.upgrade_force(); [INFO] [stdout] ... [INFO] [stdout] 1418 | descendant_ptr = descendant_parent_ptr; [INFO] [stdout] 1419 ~ } _ => { [INFO] [stdout] 1420 | return Err("grandson check failed".to_string()); [INFO] [stdout] 1421 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dual_module_serial.rs:1438:20 [INFO] [stdout] | [INFO] [stdout] 1438 | if let Some(propagated_dual_node) = vertex.propagated_dual_node.as_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/dual_module_serial.rs:1440:17 [INFO] [stdout] | [INFO] [stdout] 1440 | } 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] 1438 ~ match vertex.propagated_dual_node.as_ref() { Some(propagated_dual_node) => { [INFO] [stdout] 1439 | self.sanity_check_grandson(propagated_dual_node, propagated_grandson_dual_node)?; [INFO] [stdout] 1440 ~ } _ => { [INFO] [stdout] 1441 | return Err(format!( [INFO] [stdout] ... [INFO] [stdout] 1444 | )); [INFO] [stdout] 1445 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dual_module_serial.rs:1538:16 [INFO] [stdout] | [INFO] [stdout] 1538 | if let Some(mirror_unit_ptr) = vertex.mirror_unit.as_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/dual_module_serial.rs:1549:13 [INFO] [stdout] | [INFO] [stdout] 1549 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1538 ~ match vertex.mirror_unit.as_ref() { Some(mirror_unit_ptr) => { [INFO] [stdout] 1539 | let mirror_unit_ptr = mirror_unit_ptr.upgrade_force(); [INFO] [stdout] ... [INFO] [stdout] 1548 | ); [INFO] [stdout] 1549 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dual_module_serial.rs:1601:16 [INFO] [stdout] | [INFO] [stdout] 1601 | if let Some(value) = edge.right_grandson_dual_node.as_ref().map(|weak| { [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] 1602 | | weak.upgrade_force() [INFO] [stdout] 1603 | | .read_recursive() [INFO] [stdout] 1604 | | .origin [INFO] [stdout] ... | [INFO] [stdout] 1607 | | .index [INFO] [stdout] 1608 | | }) { [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/dual_module_serial.rs:1613:13 [INFO] [stdout] | [INFO] [stdout] 1613 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1601 ~ match edge.right_grandson_dual_node.as_ref().map(|weak| { [INFO] [stdout] 1602 | weak.upgrade_force() [INFO] [stdout] ... [INFO] [stdout] 1607 | .index [INFO] [stdout] 1608 ~ }) { Some(value) => { [INFO] [stdout] 1609 | edges[edge.edge_index as usize].as_object_mut().unwrap().insert( [INFO] [stdout] ... [INFO] [stdout] 1612 | ); [INFO] [stdout] 1613 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dual_module_serial.rs:1654:12 [INFO] [stdout] | [INFO] [stdout] 1654 | if let Some(unit_module_info) = self.unit_module_info.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/dual_module_serial.rs:1670:9 [INFO] [stdout] | [INFO] [stdout] 1670 | } 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] 1654 ~ match self.unit_module_info.as_mut() { Some(unit_module_info) => { [INFO] [stdout] 1655 | if unit_module_info.owning_dual_range.is_empty() { [INFO] [stdout] ... [INFO] [stdout] 1669 | } [INFO] [stdout] 1670 ~ } _ => { [INFO] [stdout] 1671 | debug_assert!( [INFO] [stdout] ... [INFO] [stdout] 1674 | ); [INFO] [stdout] 1675 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dual_module_serial.rs:1683:12 [INFO] [stdout] | [INFO] [stdout] 1683 | if let Some(unit_module_info) = self.unit_module_info.as_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/dual_module_serial.rs:1694:9 [INFO] [stdout] | [INFO] [stdout] 1694 | } 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] 1683 ~ match self.unit_module_info.as_ref() { Some(unit_module_info) => { [INFO] [stdout] 1684 | if unit_module_info.owning_dual_range.contains(dual_node.index) { [INFO] [stdout] ... [INFO] [stdout] 1693 | } [INFO] [stdout] 1694 ~ } _ => { [INFO] [stdout] 1695 | Some(dual_node.index as usize) [INFO] [stdout] 1696 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/example_codes.rs:1436:16 [INFO] [stdout] | [INFO] [stdout] 1436 | if let Ok(value) = line { [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/example_codes.rs:1452:13 [INFO] [stdout] | [INFO] [stdout] 1452 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1436 ~ match line { Ok(value) => { [INFO] [stdout] 1437 | match line_index { [INFO] [stdout] ... [INFO] [stdout] 1451 | } [INFO] [stdout] 1452 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/primal_module.rs:194:16 [INFO] [stdout] | [INFO] [stdout] 194 | if let Some(length) = group_max_update_length.get_none_zero_growth() { [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/primal_module.rs:196:13 [INFO] [stdout] | [INFO] [stdout] 196 | } 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] 194 ~ match group_max_update_length.get_none_zero_growth() { Some(length) => { [INFO] [stdout] 195 | interface.grow(length, dual_module); [INFO] [stdout] 196 ~ } _ => { [INFO] [stdout] 197 | self.resolve(group_max_update_length, interface, dual_module); [INFO] [stdout] 198 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/primal_module.rs:310:16 [INFO] [stdout] | [INFO] [stdout] 310 | if let Some(parent_blossom_weak) = child.parent_blossom.as_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/primal_module.rs:343:13 [INFO] [stdout] | [INFO] [stdout] 343 | } 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] 310 ~ match child.parent_blossom.as_ref() { Some(parent_blossom_weak) => { [INFO] [stdout] 311 | let parent_blossom_ptr = parent_blossom_weak.upgrade_force(); [INFO] [stdout] ... [INFO] [stdout] 342 | child_ptr = parent_blossom_ptr.clone(); [INFO] [stdout] 343 ~ } _ => { [INFO] [stdout] 344 | panic!("cannot find parent of {}", child.index) [INFO] [stdout] 345 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/primal_module.rs:375:20 [INFO] [stdout] | [INFO] [stdout] 375 | if let DualNodeClass::DefectVertex { defect_index } = &node.class { [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/primal_module.rs:377:17 [INFO] [stdout] | [INFO] [stdout] 377 | } 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] 375 ~ match &node.class { DualNodeClass::DefectVertex { defect_index } => { [INFO] [stdout] 376 | *defect_index [INFO] [stdout] 377 ~ } _ => { [INFO] [stdout] 378 | unreachable!("can only be syndrome") [INFO] [stdout] 379 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/primal_module.rs:383:20 [INFO] [stdout] | [INFO] [stdout] 383 | if let DualNodeClass::DefectVertex { defect_index } = &node.class { [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/primal_module.rs:385:17 [INFO] [stdout] | [INFO] [stdout] 385 | } 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] 383 ~ match &node.class { DualNodeClass::DefectVertex { defect_index } => { [INFO] [stdout] 384 | *defect_index [INFO] [stdout] 385 ~ } _ => { [INFO] [stdout] 386 | unreachable!("can only be syndrome") [INFO] [stdout] 387 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/primal_module.rs:396:20 [INFO] [stdout] | [INFO] [stdout] 396 | if let DualNodeClass::DefectVertex { defect_index } = &node.class { [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/primal_module.rs:398:17 [INFO] [stdout] | [INFO] [stdout] 398 | } 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] 396 ~ match &node.class { DualNodeClass::DefectVertex { defect_index } => { [INFO] [stdout] 397 | *defect_index [INFO] [stdout] 398 ~ } _ => { [INFO] [stdout] 399 | unreachable!("can only be syndrome") [INFO] [stdout] 400 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/primal_module.rs:535:20 [INFO] [stdout] | [INFO] [stdout] 535 | if let DualNodeClass::DefectVertex { defect_index } = &node.class { [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/primal_module.rs:537:17 [INFO] [stdout] | [INFO] [stdout] 537 | } 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] 535 ~ match &node.class { DualNodeClass::DefectVertex { defect_index } => { [INFO] [stdout] 536 | *defect_index [INFO] [stdout] 537 ~ } _ => { [INFO] [stdout] 538 | unreachable!("can only be syndrome") [INFO] [stdout] 539 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/primal_module.rs:543:20 [INFO] [stdout] | [INFO] [stdout] 543 | if let DualNodeClass::DefectVertex { defect_index } = &node.class { [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/primal_module.rs:545:17 [INFO] [stdout] | [INFO] [stdout] 545 | } 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] 543 ~ match &node.class { DualNodeClass::DefectVertex { defect_index } => { [INFO] [stdout] 544 | *defect_index [INFO] [stdout] 545 ~ } _ => { [INFO] [stdout] 546 | unreachable!("can only be syndrome") [INFO] [stdout] 547 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/primal_module.rs:554:20 [INFO] [stdout] | [INFO] [stdout] 554 | if let DualNodeClass::DefectVertex { defect_index } = &node.class { [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/primal_module.rs:556:17 [INFO] [stdout] | [INFO] [stdout] 556 | } 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] 554 ~ match &node.class { DualNodeClass::DefectVertex { defect_index } => { [INFO] [stdout] 555 | *defect_index [INFO] [stdout] 556 ~ } _ => { [INFO] [stdout] 557 | unreachable!("can only be syndrome") [INFO] [stdout] 558 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/primal_module_parallel.rs:554:12 [INFO] [stdout] | [INFO] [stdout] 554 | if let Some((left_child_weak, right_child_weak)) = primal_unit.children.as_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/primal_module_parallel.rs:588:9 [INFO] [stdout] | [INFO] [stdout] 588 | } 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] 554 ~ match primal_unit.children.as_ref() { Some((left_child_weak, right_child_weak)) => { [INFO] [stdout] 555 | { [INFO] [stdout] ... [INFO] [stdout] 587 | } [INFO] [stdout] 588 ~ } _ => { [INFO] [stdout] 589 | debug_assert!(primal_unit.is_active, "leaf must be active to be solved"); [INFO] [stdout] ... [INFO] [stdout] 603 | } [INFO] [stdout] 604 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/primal_module_parallel.rs:713:16 [INFO] [stdout] | [INFO] [stdout] 713 | if let Some(primal_node_ptr) = primal_node_ptr { [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/primal_module_parallel.rs:728:13 [INFO] [stdout] | [INFO] [stdout] 728 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 713 ~ match primal_node_ptr { Some(primal_node_ptr) => { [INFO] [stdout] 714 | let mut primal_node = primal_node_ptr.write(); [INFO] [stdout] ... [INFO] [stdout] 727 | } [INFO] [stdout] 728 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/primal_module_parallel.rs:715:20 [INFO] [stdout] | [INFO] [stdout] 715 | if let Some((MatchTarget::VirtualVertex(vertex_index), _)) = &primal_node.temporary_match { [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/primal_module_parallel.rs:727:17 [INFO] [stdout] | [INFO] [stdout] 727 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 715 ~ match &primal_node.temporary_match { Some((MatchTarget::VirtualVertex(vertex_index), _)) => { [INFO] [stdout] 716 | if self.partition_info.vertex_to_owning_unit[*vertex_index as usize] == self.unit_index { [INFO] [stdout] ... [INFO] [stdout] 726 | } [INFO] [stdout] 727 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/primal_module_serial.rs:247:15 [INFO] [stdout] | [INFO] [stdout] 247 | while let Some(conflict) = group_max_update_length.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/primal_module_serial.rs:1205:9 [INFO] [stdout] | [INFO] [stdout] 1205 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/primal_module_serial.rs:1231:16 [INFO] [stdout] | [INFO] [stdout] 1231 | if let Some((match_target, match_touching_ptr)) = primal_node_internal.temporary_match.as_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/primal_module_serial.rs:1252:13 [INFO] [stdout] | [INFO] [stdout] 1252 | } 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] 1231 ~ match primal_node_internal.temporary_match.as_ref() { Some((match_target, match_touching_ptr)) => { [INFO] [stdout] 1232 | match match_target { [INFO] [stdout] ... [INFO] [stdout] 1251 | } [INFO] [stdout] 1252 ~ } _ => { [INFO] [stdout] 1253 | panic!( [INFO] [stdout] ... [INFO] [stdout] 1256 | ); [INFO] [stdout] 1257 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/primal_module_serial.rs:1390:12 [INFO] [stdout] | [INFO] [stdout] 1390 | if let Some(parent_dual_node_weak) = &interface_node.parent_blossom { [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/primal_module_serial.rs:1394:9 [INFO] [stdout] | [INFO] [stdout] 1394 | } 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] 1390 ~ match &interface_node.parent_blossom { Some(parent_dual_node_weak) => { [INFO] [stdout] 1391 | let parent_dual_node_ptr = parent_dual_node_weak.upgrade_force(); [INFO] [stdout] 1392 | let parent_primal_node_internal_ptr = self.get_primal_node_internal_ptr(&parent_dual_node_ptr); [INFO] [stdout] 1393 | self.get_outer_node(parent_primal_node_internal_ptr) [INFO] [stdout] 1394 ~ } _ => { [INFO] [stdout] 1395 | primal_node_internal_ptr.clone() [INFO] [stdout] 1396 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/primal_module_serial.rs:1749:32 [INFO] [stdout] | [INFO] [stdout] 1749 | ... if let Some((peer_match_target, _)) = peer.temporary_match.as_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/primal_module_serial.rs:1756:29 [INFO] [stdout] | [INFO] [stdout] 1756 | ... } 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] 1749 ~ match peer.temporary_match.as_ref() { Some((peer_match_target, _)) => { [INFO] [stdout] 1750 | if peer_match_target != &MatchTarget::Peer(primal_module_internal_ptr.downgrade()) { [INFO] [stdout] ... [INFO] [stdout] 1755 | } [INFO] [stdout] 1756 ~ } _ => { [INFO] [stdout] 1757 | return Err("match peer is not marked as matched".to_string()); [INFO] [stdout] 1758 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/primal_module_serial.rs:1763:20 [INFO] [stdout] | [INFO] [stdout] 1763 | if let Some(tree_node) = primal_module_internal.tree_node.as_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/primal_module_serial.rs:1888:17 [INFO] [stdout] | [INFO] [stdout] 1888 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1763 ~ match primal_module_internal.tree_node.as_ref() { Some(tree_node) => { [INFO] [stdout] 1764 | // first check if every child's parent is myself [INFO] [stdout] ... [INFO] [stdout] 1887 | } [INFO] [stdout] 1888 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/primal_module_serial.rs:1768:28 [INFO] [stdout] | [INFO] [stdout] 1768 | if let Some(child_tree_node) = child.tree_node.as_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/primal_module_serial.rs:1776:25 [INFO] [stdout] | [INFO] [stdout] 1776 | } 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] 1768 ~ match child.tree_node.as_ref() { Some(child_tree_node) => { [INFO] [stdout] 1769 | if child_tree_node.parent.as_ref().map(|x| &x.0) != Some(&primal_module_internal_ptr.downgrade()) [INFO] [stdout] ... [INFO] [stdout] 1775 | } [INFO] [stdout] 1776 ~ } _ => { [INFO] [stdout] 1777 | return Err(format!( [INFO] [stdout] ... [INFO] [stdout] 1780 | )); [INFO] [stdout] 1781 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/primal_module_serial.rs:1796:24 [INFO] [stdout] | [INFO] [stdout] 1796 | if let Some((parent_weak, _)) = tree_node.parent.as_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/primal_module_serial.rs:1830:21 [INFO] [stdout] | [INFO] [stdout] 1830 | } 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] 1796 ~ match tree_node.parent.as_ref() { Some((parent_weak, _)) => { [INFO] [stdout] 1797 | let parent_ptr = parent_weak.upgrade_force(); [INFO] [stdout] ... [INFO] [stdout] 1829 | } [INFO] [stdout] 1830 ~ } _ => { [INFO] [stdout] 1831 | if tree_node.root != primal_module_internal_ptr.downgrade() { [INFO] [stdout] 1832 | return Err(format!("{} is not the root of the tree, yet it has no parent", index)); [INFO] [stdout] 1833 | } [INFO] [stdout] 1834 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/primal_module_serial.rs:1799:28 [INFO] [stdout] | [INFO] [stdout] 1799 | if let Some(parent_tree_node) = parent.tree_node.as_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/primal_module_serial.rs:1812:25 [INFO] [stdout] | [INFO] [stdout] 1812 | } 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] 1799 ~ match parent.tree_node.as_ref() { Some(parent_tree_node) => { [INFO] [stdout] 1800 | let mut found_match_count = 0; [INFO] [stdout] ... [INFO] [stdout] 1811 | } [INFO] [stdout] 1812 ~ } _ => { [INFO] [stdout] 1813 | return Err(format!( [INFO] [stdout] ... [INFO] [stdout] 1816 | )); [INFO] [stdout] 1817 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/primal_module_serial.rs:1853:28 [INFO] [stdout] | [INFO] [stdout] 1853 | if let Some(current_tree_node) = current.tree_node.as_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/primal_module_serial.rs:1869:25 [INFO] [stdout] | [INFO] [stdout] 1869 | } 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] 1853 ~ match current.tree_node.as_ref() { Some(current_tree_node) => { [INFO] [stdout] 1854 | if let Some((current_parent_ptr, _)) = current_tree_node.parent.as_ref() { [INFO] [stdout] ... [INFO] [stdout] 1868 | } [INFO] [stdout] 1869 ~ } _ => { [INFO] [stdout] 1870 | return Err(format!( [INFO] [stdout] ... [INFO] [stdout] 1873 | )); [INFO] [stdout] 1874 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/primal_module_serial.rs:1854:32 [INFO] [stdout] | [INFO] [stdout] 1854 | ... if let Some((current_parent_ptr, _)) = current_tree_node.parent.as_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/primal_module_serial.rs:1859:29 [INFO] [stdout] | [INFO] [stdout] 1859 | ... } 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] 1854 ~ match current_tree_node.parent.as_ref() { Some((current_parent_ptr, _)) => { [INFO] [stdout] 1855 | let current_parent_ptr = current_parent_ptr.clone(); [INFO] [stdout] ... [INFO] [stdout] 1858 | current_up += 1; [INFO] [stdout] 1859 ~ } _ => { [INFO] [stdout] 1860 | // confirm this is root and then break the loop [INFO] [stdout] ... [INFO] [stdout] 1867 | break; [INFO] [stdout] 1868 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/primal_module_serial.rs:1913:35 [INFO] [stdout] | [INFO] [stdout] 1913 | let touching = if let Some((_, touching)) = tree_node.parent.as_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/primal_module_serial.rs:1915:17 [INFO] [stdout] | [INFO] [stdout] 1915 | } 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] 1913 ~ let touching = match tree_node.parent.as_ref() { Some((_, touching)) => { [INFO] [stdout] 1914 | touching.clone() [INFO] [stdout] 1915 ~ } _ => { [INFO] [stdout] 1916 | tree_node.children[0].1.clone() [INFO] [stdout] 1917 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util.rs:752:12 [INFO] [stdout] | [INFO] [stdout] 752 | if let Some(file) = self.benchmark_profiler_output.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/util.rs:771:9 [INFO] [stdout] | [INFO] [stdout] 771 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 752 ~ match self.benchmark_profiler_output.as_mut() { Some(file) => { [INFO] [stdout] 753 | let mut events = serde_json::Map::new(); [INFO] [stdout] ... [INFO] [stdout] 770 | file.write_all(b"\n").unwrap(); [INFO] [stdout] 771 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/visualize.rs:985:12 [INFO] [stdout] | [INFO] [stdout] 985 | if let Some(visualizer) = visualizer.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/visualize.rs:997:9 [INFO] [stdout] | [INFO] [stdout] 997 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 985 ~ match visualizer.as_mut() { Some(visualizer) => { [INFO] [stdout] 986 | visualizer [INFO] [stdout] ... [INFO] [stdout] 996 | .unwrap(); [INFO] [stdout] 997 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 64 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating src/main.rs from 2021 edition to 2024 [INFO] [stderr] Migrating src/bin/partition-strategy.rs from 2021 edition to 2024 [INFO] [stderr] Migrating src/bin/aps2023.rs from 2021 edition to 2024 [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 13.15s [INFO] [stderr] Running `cargo check` to verify 2024 [INFO] [stderr] Compiling fusion-blossom v0.2.10 (/tmp/fixit) [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/cli.rs:351:71 [INFO] [stdout] | [INFO] [stdout] 351 | let seed = if use_deterministic_seed { round } else { rng.gen() }; [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 351 | let seed = if use_deterministic_seed { round } else { rng.r#gen() }; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/cli.rs:351:71 [INFO] [stdout] | [INFO] [stdout] 351 | let seed = if use_deterministic_seed { round } else { rng.gen() }; [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 351 | let seed = if use_deterministic_seed { round } else { rng.r#gen() }; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `fusion-blossom` (lib) due to 2 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `fusion-blossom` (lib test) due to 2 previous errors [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" "9d84abbb67cff4858f60fb86b7b164744822333cc1bd0c862e9f196d2b60be6e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9d84abbb67cff4858f60fb86b7b164744822333cc1bd0c862e9f196d2b60be6e", kill_on_drop: false }` [INFO] [stdout] 9d84abbb67cff4858f60fb86b7b164744822333cc1bd0c862e9f196d2b60be6e