[INFO] fetching crate calyx-opt 0.7.1... [INFO] checking calyx-opt-0.7.1 against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] extracting crate calyx-opt 0.7.1 into /workspace/builds/worker-1-tc2/source [INFO] validating manifest of crates.io crate calyx-opt 0.7.1 on toolchain ccf408f4326a858c00dd845a64a86b16f360a801 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate calyx-opt 0.7.1 [INFO] finished tweaking crates.io crate calyx-opt 0.7.1 [INFO] tweaked toml for crates.io crate calyx-opt 0.7.1 written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 61 packages to latest compatible versions [INFO] [stderr] Adding ahash v0.7.8 (available: v0.8.11) [INFO] [stderr] Adding fixedbitset v0.4.2 (available: v0.5.7) [INFO] [stderr] Adding generic-array v0.14.7 (available: v1.1.0) [INFO] [stderr] Adding hashbrown v0.11.2 (available: v0.14.5) [INFO] [stderr] Adding hashbrown v0.12.3 (available: v0.14.5) [INFO] [stderr] Adding heck v0.4.1 (available: v0.5.0) [INFO] [stderr] Adding hermit-abi v0.1.19 (available: v0.4.0) [INFO] [stderr] Adding itertools v0.11.0 (available: v0.13.0) [INFO] [stderr] Adding string-interner v0.14.0 (available: v0.17.0) [INFO] [stderr] Adding strum v0.25.0 (available: v0.26.3) [INFO] [stderr] Adding strum_macros v0.25.3 (available: v0.26.4) [INFO] [stderr] Adding syn v1.0.109 (available: v2.0.77) [INFO] [stderr] Adding wasi v0.11.0+wasi-snapshot-preview1 (available: v0.13.2+wasi-0.2.1) [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-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] a39080eb6e638d52f95743bf1319333c9712656348b7d8e7b77ec0945cf22734 [INFO] running `Command { std: "docker" "start" "-a" "a39080eb6e638d52f95743bf1319333c9712656348b7d8e7b77ec0945cf22734", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a39080eb6e638d52f95743bf1319333c9712656348b7d8e7b77ec0945cf22734", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a39080eb6e638d52f95743bf1319333c9712656348b7d8e7b77ec0945cf22734", kill_on_drop: false }` [INFO] [stdout] a39080eb6e638d52f95743bf1319333c9712656348b7d8e7b77ec0945cf22734 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 9694457d8dc34d35d0983dedd6f765987e5666c135fe8d62d6cceee02c072531 [INFO] running `Command { std: "docker" "start" "-a" "9694457d8dc34d35d0983dedd6f765987e5666c135fe8d62d6cceee02c072531", 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] Compiling libc v0.2.159 [INFO] [stderr] Compiling ahash v0.7.8 [INFO] [stderr] Checking once_cell v1.19.0 [INFO] [stderr] Compiling thiserror v1.0.64 [INFO] [stderr] Checking serde v1.0.210 [INFO] [stderr] Checking fixedbitset v0.4.2 [INFO] [stderr] Checking ucd-trie v0.1.6 [INFO] [stderr] Checking itertools v0.11.0 [INFO] [stderr] Checking strum v0.25.0 [INFO] [stderr] Compiling pest_consume_macros v1.1.0 [INFO] [stderr] Compiling strum_macros v0.25.3 [INFO] [stderr] Compiling pest v2.7.13 [INFO] [stderr] Checking petgraph v0.6.5 [INFO] [stderr] Checking getrandom v0.2.15 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking hashbrown v0.11.2 [INFO] [stderr] Checking hashbrown v0.12.3 [INFO] [stderr] Checking symbol_table v0.3.0 [INFO] [stderr] Compiling pest_meta v2.7.13 [INFO] [stderr] Compiling pest_generator v2.7.13 [INFO] [stderr] Checking string-interner v0.14.0 [INFO] [stderr] Checking serde_json v1.0.128 [INFO] [stderr] Compiling pest_derive v2.7.13 [INFO] [stderr] Checking pest_consume v1.1.3 [INFO] [stderr] Checking calyx-utils v0.7.1 [INFO] [stderr] Checking calyx-frontend v0.7.1 [INFO] [stderr] Checking calyx-ir v0.7.1 [INFO] [stderr] Checking calyx-opt v0.7.1 (/tmp/fixit) [INFO] [stderr] Migrating src/lib.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `calyx_opt` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/pass_manager.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/pass_manager.rs:244:6 [INFO] [stderr] | [INFO] [stderr] 244 | ($manager:expr_2021, $alias:literal, [ $($pass:tt),* $(,)? ]) => { [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 1 previous error [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/analysis/live_range_analysis.rs:105:28 [INFO] [stdout] | [INFO] [stdout] 105 | fn transfer(&mut self, gen: Prop, kill: Prop) { [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/analysis/live_range_analysis.rs:107:17 [INFO] [stdout] | [INFO] [stdout] 107 | self.or(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: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/analysis/live_range_analysis.rs:116:32 [INFO] [stdout] | [INFO] [stdout] 116 | fn transfer_set(&mut self, gen: TypeNameSet, kill: TypeNameSet) { [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: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/analysis/live_range_analysis.rs:118:21 [INFO] [stdout] | [INFO] [stdout] 118 | self.or_set(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: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/analysis/live_range_analysis.rs:1127:34 [INFO] [stdout] | [INFO] [stdout] 1127 | (alive, gen, kill)| { [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: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/analysis/live_range_analysis.rs:1135:48 [INFO] [stdout] | [INFO] [stdout] 1135 | ... acc_gen.or(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: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/analysis/live_range_analysis.rs:1323:34 [INFO] [stdout] | [INFO] [stdout] 1323 | (alive, gen, kill)| { [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: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/analysis/live_range_analysis.rs:1331:48 [INFO] [stdout] | [INFO] [stdout] 1331 | ... acc_gen.or(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/pass_manager.rs:244:15 [INFO] [stdout] | [INFO] [stdout] 244 | ($manager:expr, $alias:literal, [ $($pass:tt),* $(,)? ]) => { [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] 244 | ($manager:expr_2021, $alias:literal, [ $($pass:tt),* $(,)? ]) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/compaction_analysis.rs:84:12 [INFO] [stdout] | [INFO] [stdout] 84 | if let Ok(order) = algo::toposort(&total_order, None) { [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/analysis/compaction_analysis.rs:194:9 [INFO] [stdout] | [INFO] [stdout] 194 | } 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] 84 ~ match algo::toposort(&total_order, None) { Ok(order) => { [INFO] [stdout] 85 | let mut total_time: u64 = 0; [INFO] [stdout] ... [INFO] [stdout] 193 | vec![ir::Control::Static(s_par)] [INFO] [stdout] 194 ~ } _ => { [INFO] [stdout] 195 | panic!( [INFO] [stdout] 196 | "Error when producing topo sort. Dependency graph has a cycle." [INFO] [stdout] 197 | ); [INFO] [stdout] 198 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/control_order.rs:107:12 [INFO] [stdout] | [INFO] [stdout] 107 | if let Ok(order) = algo::toposort(&gr, None) { [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/analysis/control_order.rs:113:9 [INFO] [stdout] | [INFO] [stdout] 113 | } 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] 107 ~ match algo::toposort(&gr, None) { Ok(order) => { [INFO] [stdout] 108 | let assigns = order [INFO] [stdout] ... [INFO] [stdout] 112 | Ok(assigns) [INFO] [stdout] 113 ~ } _ => { [INFO] [stdout] 114 | let mut msg = "".to_string(); [INFO] [stdout] ... [INFO] [stdout] 143 | Err(Error::misc(format!("No possible sequential ordering. Control programs exhibit data race:\n{}", msg))) [INFO] [stdout] 144 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/dataflow_order.rs:176:12 [INFO] [stdout] | [INFO] [stdout] 176 | if let Ok(order) = algo::toposort(&gr, None) { [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/analysis/dataflow_order.rs:183:9 [INFO] [stdout] | [INFO] [stdout] 183 | } 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] 176 ~ match algo::toposort(&gr, None) { Ok(order) => { [INFO] [stdout] 177 | let mut assigns = order [INFO] [stdout] ... [INFO] [stdout] 182 | Ok(assigns) [INFO] [stdout] 183 ~ } _ => { [INFO] [stdout] 184 | // Compute strongly connected component of the graph [INFO] [stdout] ... [INFO] [stdout] 196 | Err(Error::misc(format!("Found combinational cycle:\n{}", msg))) [INFO] [stdout] 197 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/domination_analysis/dominator_map.rs:402:16 [INFO] [stdout] | [INFO] [stdout] 402 | if let Some(dominators) = self.map.get(id) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^--------^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/analysis/domination_analysis/dominator_map.rs:404:13 [INFO] [stdout] | [INFO] [stdout] 404 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 402 ~ match self.map.get(id) { Some(dominators) => { [INFO] [stdout] 403 | union = union.union(dominators).copied().collect(); [INFO] [stdout] 404 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/domination_analysis/node_analysis.rs:101:8 [INFO] [stdout] | [INFO] [stdout] 101 | if let ir::PortParent::Cell(cell) = &port.borrow().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/analysis/domination_analysis/node_analysis.rs:105:5 [INFO] [stdout] | [INFO] [stdout] 105 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 101 ~ match &port.borrow().parent { ir::PortParent::Cell(cell) => { [INFO] [stdout] 102 | if share.is_shareable_component(&cell.upgrade()) { [INFO] [stdout] 103 | reads.insert(cell.upgrade().borrow().name()); [INFO] [stdout] 104 | } [INFO] [stdout] 105 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/domination_analysis/node_analysis.rs:255:20 [INFO] [stdout] | [INFO] [stdout] 255 | if let ir::PortParent::Cell(cell_wref) = &dst_ref.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/analysis/domination_analysis/node_analysis.rs:257:17 [INFO] [stdout] | [INFO] [stdout] 257 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 255 ~ match &dst_ref.parent { ir::PortParent::Cell(cell_wref) => { [INFO] [stdout] 256 | return cell_wref.upgrade().borrow().name() == self.name; [INFO] [stdout] 257 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/graph.rs:148:16 [INFO] [stdout] | [INFO] [stdout] 148 | if let (Some(a_idx), Some(b_idx)) = [INFO] [stdout] | ________________^ [INFO] [stdout] 149 | | (nodes.get(&a.canonical()), nodes.get(&b.canonical())) [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/analysis/graph.rs:152:13 [INFO] [stdout] | [INFO] [stdout] 152 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 148 ~ match (nodes.get(&a.canonical()), nodes.get(&b.canonical())) [INFO] [stdout] 149 ~ { (Some(a_idx), Some(b_idx)) => { [INFO] [stdout] 150 | graph.add_edge(*a_idx, *b_idx, ()); [INFO] [stdout] 151 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/inference_analysis.rs:299:16 [INFO] [stdout] | [INFO] [stdout] 299 | if let Some(ports) = [INFO] [stdout] | ________________^ [INFO] [stdout] 300 | | cell.type_name().and_then(|c| self.latency_data.get(&c)) [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/analysis/inference_analysis.rs:307:13 [INFO] [stdout] | [INFO] [stdout] 307 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 299 ~ match cell.type_name().and_then(|c| self.latency_data.get(&c)) [INFO] [stdout] 300 ~ { Some(ports) => { [INFO] [stdout] 301 | go_done_edges.extend( [INFO] [stdout] ... [INFO] [stdout] 305 | ) [INFO] [stdout] 306 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/inference_analysis.rs:318:16 [INFO] [stdout] | [INFO] [stdout] 318 | if let ir::CellType::Constant { val, .. } = &cell.prototype { [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] 323 | cell.type_name().and_then(|c| self.latency_data.get(&c)) [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/analysis/inference_analysis.rs:322:13 [INFO] [stdout] | [INFO] [stdout] 322 | } else if let Some(ports) = [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/analysis/inference_analysis.rs:326:13 [INFO] [stdout] | [INFO] [stdout] 326 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 318 ~ match &cell.prototype { ir::CellType::Constant { val, .. } => { [INFO] [stdout] 319 | if *val > 0 { [INFO] [stdout] 320 | return true; [INFO] [stdout] 321 | } [INFO] [stdout] 322 ~ } _ => { match cell.type_name().and_then(|c| self.latency_data.get(&c)) [INFO] [stdout] 323 ~ { Some(ports) => { [INFO] [stdout] 324 | return ports.is_done(&port.name); [INFO] [stdout] 325 ~ } _ => {}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/inference_analysis.rs:339:22 [INFO] [stdout] | [INFO] [stdout] 339 | if let Some(ports) = [INFO] [stdout] | ______________________^ [INFO] [stdout] 340 | | cell.type_name().and_then(|c| self.latency_data.get(&c)) [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/analysis/inference_analysis.rs:356:19 [INFO] [stdout] | [INFO] [stdout] 356 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 339 ~ match cell.type_name().and_then(|c| self.latency_data.get(&c)) [INFO] [stdout] 340 ~ { Some(ports) => { [INFO] [stdout] 341 | let name = &port.borrow().name; [INFO] [stdout] ... [INFO] [stdout] 354 | } [INFO] [stdout] 355 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/inference_analysis.rs:449:16 [INFO] [stdout] | [INFO] [stdout] 449 | if let ir::PortParent::Cell(cwrf) = &port.borrow().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/analysis/inference_analysis.rs:461:13 [INFO] [stdout] | [INFO] [stdout] 461 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 449 ~ match &port.borrow().parent { ir::PortParent::Cell(cwrf) => { [INFO] [stdout] 450 | let cr = cwrf.upgrade(); [INFO] [stdout] ... [INFO] [stdout] 460 | } [INFO] [stdout] 461 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/inference_analysis.rs:452:20 [INFO] [stdout] | [INFO] [stdout] 452 | if let Some(ports) = [INFO] [stdout] | ____________________^ [INFO] [stdout] 453 | | cell.type_name().and_then(|c| self.latency_data.get(&c)) [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/analysis/inference_analysis.rs:460:17 [INFO] [stdout] | [INFO] [stdout] 460 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 452 ~ match cell.type_name().and_then(|c| self.latency_data.get(&c)) [INFO] [stdout] 453 ~ { Some(ports) => { [INFO] [stdout] 454 | if let Some(latency) = [INFO] [stdout] ... [INFO] [stdout] 458 | } [INFO] [stdout] 459 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/inference_analysis.rs:455:24 [INFO] [stdout] | [INFO] [stdout] 455 | if let Some(latency) = [INFO] [stdout] | ________________________^ [INFO] [stdout] 456 | | ports.get_latency(&port.borrow().name) [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/analysis/inference_analysis.rs:459:21 [INFO] [stdout] | [INFO] [stdout] 459 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 455 ~ match ports.get_latency(&port.borrow().name) [INFO] [stdout] 456 ~ { Some(latency) => { [INFO] [stdout] 457 | latency_sum += latency; [INFO] [stdout] 458 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/live_range_analysis.rs:371:16 [INFO] [stdout] | [INFO] [stdout] 371 | if let Some(prop) = ranges.live.get_mut(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/analysis/live_range_analysis.rs:373:13 [INFO] [stdout] | [INFO] [stdout] 373 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 371 ~ match ranges.live.get_mut(node) { Some(prop) => { [INFO] [stdout] 372 | prop.or_set(cells_by_type.clone()); [INFO] [stdout] 373 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/live_range_analysis.rs:512:20 [INFO] [stdout] | [INFO] [stdout] 512 | if let Some(cell_info) = LiveRangeAnalysis::port_to_cell_name( [INFO] [stdout] | ____________________^ - [INFO] [stdout] | |__________________________________________| [INFO] [stdout] 513 | || port, [INFO] [stdout] 514 | || &self.state_share, [INFO] [stdout] 515 | || ) { [INFO] [stdout] | ||_________________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | |_________________| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/analysis/live_range_analysis.rs:523:17 [INFO] [stdout] | [INFO] [stdout] 523 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 512 ~ match LiveRangeAnalysis::port_to_cell_name( [INFO] [stdout] 513 | port, [INFO] [stdout] 514 | &self.state_share, [INFO] [stdout] 515 ~ ) { Some(cell_info) => { [INFO] [stdout] 516 | Self::add_cell_to_control_data( [INFO] [stdout] ... [INFO] [stdout] 522 | ) [INFO] [stdout] 523 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/live_range_analysis.rs:599:20 [INFO] [stdout] | [INFO] [stdout] 599 | if let Some(comb_group_uses) = self.cgroup_uses_map.get(&id) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^--------------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/analysis/live_range_analysis.rs:609:17 [INFO] [stdout] | [INFO] [stdout] 609 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 599 ~ match self.cgroup_uses_map.get(&id) { Some(comb_group_uses) => { [INFO] [stdout] 600 | for cell_info in comb_group_uses { [INFO] [stdout] ... [INFO] [stdout] 608 | } [INFO] [stdout] 609 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/live_range_analysis.rs:620:20 [INFO] [stdout] | [INFO] [stdout] 620 | if let Some(comb_group_uses) = self.cgroup_uses_map.get(&id) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^--------------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/analysis/live_range_analysis.rs:637:17 [INFO] [stdout] | [INFO] [stdout] 637 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 620 ~ match self.cgroup_uses_map.get(&id) { Some(comb_group_uses) => { [INFO] [stdout] 621 | for (cell_type, cell_name) in comb_group_uses { [INFO] [stdout] ... [INFO] [stdout] 636 | } [INFO] [stdout] 637 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/live_range_analysis.rs:725:12 [INFO] [stdout] | [INFO] [stdout] 725 | if let Some((cell_type, variable)) = maybe_var { [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/analysis/live_range_analysis.rs:755:9 [INFO] [stdout] | [INFO] [stdout] 755 | } 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] 725 ~ match maybe_var { Some((cell_type, variable)) => { [INFO] [stdout] 726 | // we don't want to read the control signal of `variable` [INFO] [stdout] ... [INFO] [stdout] 754 | (reads, writes) [INFO] [stdout] 755 ~ } _ => { [INFO] [stdout] 756 | let reads: HashSet<_> = [INFO] [stdout] ... [INFO] [stdout] 778 | (reads, writes) [INFO] [stdout] 779 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/live_range_analysis.rs:735:24 [INFO] [stdout] | [INFO] [stdout] 735 | if let ir::Guard::Port(port) = &*asgn.guard { [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/analysis/live_range_analysis.rs:738:21 [INFO] [stdout] | [INFO] [stdout] 738 | } 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] 735 ~ match &*asgn.guard { ir::Guard::Port(port) => { [INFO] [stdout] 736 | !(port.borrow().get_parent_name() == variable [INFO] [stdout] 737 | && port.borrow().name == "done") [INFO] [stdout] 738 ~ } _ => { [INFO] [stdout] 739 | true [INFO] [stdout] 740 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/promotion_analysis.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 40 | if let Some(s_name) = self.static_group_name.get(&group.borrow().name()) [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/analysis/promotion_analysis.rs:43:9 [INFO] [stdout] | [INFO] [stdout] 43 | } 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] 40 ~ match self.static_group_name.get(&group.borrow().name()) [INFO] [stdout] 41 ~ { Some(s_name) => { [INFO] [stdout] 42 | builder.component.find_static_group(*s_name).unwrap() [INFO] [stdout] 43 ~ } _ => { [INFO] [stdout] 44 | let sg = builder.add_static_group(group.borrow().name(), latency); [INFO] [stdout] ... [INFO] [stdout] 57 | Rc::clone(&sg) [INFO] [stdout] 58 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Iterator>>` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/analysis/read_write_set.rs:176:23 [INFO] [stdout] | [INFO] [stdout] 176 | ) -> PortIterator>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/analysis/read_write_set.rs:175:17 [INFO] [stdout] | [INFO] [stdout] 175 | assign: &ir::Assignment, [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 176 | ) -> PortIterator> + use> { [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/share_set.rs:67:12 [INFO] [stdout] | [INFO] [stdout] 67 | if let Some(ref type_name) = cell.borrow().type_name() { [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/analysis/share_set.rs:69:9 [INFO] [stdout] | [INFO] [stdout] 69 | } 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] 67 ~ match cell.borrow().type_name() { Some(ref type_name) => { [INFO] [stdout] 68 | self.contains(type_name) [INFO] [stdout] 69 ~ } _ => { [INFO] [stdout] 70 | false [INFO] [stdout] 71 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/canonical.rs:57:16 [INFO] [stdout] | [INFO] [stdout] 57 | if let Guard::Port(p) = &(*assign.guard) { [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/passes/canonical.rs:62:13 [INFO] [stdout] | [INFO] [stdout] 62 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 57 ~ match &(*assign.guard) { Guard::Port(p) => { [INFO] [stdout] 58 | // 1'd1 ? r1.done [INFO] [stdout] ... [INFO] [stdout] 61 | } [INFO] [stdout] 62 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/canonical.rs:65:16 [INFO] [stdout] | [INFO] [stdout] 65 | if let Guard::Port(p) = &(*assign.guard) { [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/passes/canonical.rs:70:13 [INFO] [stdout] | [INFO] [stdout] 70 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 65 ~ match &(*assign.guard) { Guard::Port(p) => { [INFO] [stdout] 66 | // 1'd1 ? r1.done [INFO] [stdout] ... [INFO] [stdout] 69 | } [INFO] [stdout] 70 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/cell_share.rs:394:20 [INFO] [stdout] | [INFO] [stdout] 394 | if let Some(ref name) = cell_type.get_name() { [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/passes/cell_share.rs:413:17 [INFO] [stdout] | [INFO] [stdout] 413 | } 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] 394 ~ match cell_type.get_name() { Some(ref name) => { [INFO] [stdout] 395 | let is_comb = self.shareable.contains(name); [INFO] [stdout] ... [INFO] [stdout] 412 | } [INFO] [stdout] 413 ~ } _ => { [INFO] [stdout] 414 | // sharing bound doesn't really matter for ThisComponent/Constants [INFO] [stdout] 415 | &None [INFO] [stdout] 416 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/clk_insertion.rs:37:12 [INFO] [stdout] | [INFO] [stdout] 37 | if let Some(clk) = clk { [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/passes/clk_insertion.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | } 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] 37 ~ match clk { Some(clk) => { [INFO] [stdout] 38 | for cell_ref in builder.component.cells.iter() { [INFO] [stdout] ... [INFO] [stdout] 51 | } [INFO] [stdout] 52 ~ } _ => { [INFO] [stdout] 53 | for cell_ref in builder.component.cells.iter() { [INFO] [stdout] ... [INFO] [stdout] 63 | } [INFO] [stdout] 64 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/clk_insertion.rs:40:20 [INFO] [stdout] | [INFO] [stdout] 40 | if let Some(port) = [INFO] [stdout] | ____________________^ [INFO] [stdout] 41 | | cell.find_unique_with_attr(ir::BoolAttr::Clk)? [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/passes/clk_insertion.rs:50:17 [INFO] [stdout] | [INFO] [stdout] 50 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 40 ~ match cell.find_unique_with_attr(ir::BoolAttr::Clk)? [INFO] [stdout] 41 ~ { Some(port) => { [INFO] [stdout] 42 | builder.component.continuous_assignments.push( [INFO] [stdout] ... [INFO] [stdout] 48 | ) [INFO] [stdout] 49 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/comb_prop.rs:83:16 [INFO] [stdout] | [INFO] [stdout] 83 | if let Some(ref old) = old { [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/passes/comb_prop.rs:89:13 [INFO] [stdout] | [INFO] [stdout] 89 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 83 ~ match old { Some(ref old) => { [INFO] [stdout] 84 | log::debug!( [INFO] [stdout] ... [INFO] [stdout] 88 | ); [INFO] [stdout] 89 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/comb_prop.rs:111:24 [INFO] [stdout] | [INFO] [stdout] 111 | if let Some(new_new_to) = [INFO] [stdout] | ________________________^ [INFO] [stdout] 112 | | self.rewrites.get(&new_to.borrow().canonical()) [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/passes/comb_prop.rs:115:21 [INFO] [stdout] | [INFO] [stdout] 115 | } 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] 111 ~ match self.rewrites.get(&new_to.borrow().canonical()) [INFO] [stdout] 112 ~ { Some(new_new_to) => { [INFO] [stdout] 113 | final_to = Some(new_new_to); [INFO] [stdout] 114 ~ } _ => { [INFO] [stdout] 115 | break; [INFO] [stdout] 116 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/compile_invoke.rs:175:35 [INFO] [stdout] | [INFO] [stdout] 175 | let arg_port = if let Some(sig_pr) = self.removed.get(&old_port) [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/passes/compile_invoke.rs:183:17 [INFO] [stdout] | [INFO] [stdout] 183 | } 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] 175 ~ let arg_port = match self.removed.get(&old_port) [INFO] [stdout] 176 ~ { Some(sig_pr) => { [INFO] [stdout] 177 | log::debug!( [INFO] [stdout] ... [INFO] [stdout] 182 | Rc::clone(sig_pr) [INFO] [stdout] 183 ~ } _ => { [INFO] [stdout] 184 | Rc::clone(pr) [INFO] [stdout] 185 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/compile_invoke.rs:241:20 [INFO] [stdout] | [INFO] [stdout] 241 | if let Some(vec) = self.port_names.get_ports(&name) { [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/passes/compile_invoke.rs:256:17 [INFO] [stdout] | [INFO] [stdout] 256 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 241 ~ match self.port_names.get_ports(&name) { Some(vec) => { [INFO] [stdout] 242 | log::debug!( [INFO] [stdout] ... [INFO] [stdout] 255 | } [INFO] [stdout] 256 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/compile_static.rs:889:16 [INFO] [stdout] | [INFO] [stdout] 889 | if let ir::Control::Static(sc) = &mut *(s.body) { [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/passes/compile_static.rs:904:13 [INFO] [stdout] | [INFO] [stdout] 904 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 889 ~ match &mut *(s.body) { ir::Control::Static(sc) => { [INFO] [stdout] 890 | let mut builder = ir::Builder::new(comp, sigs); [INFO] [stdout] ... [INFO] [stdout] 903 | return Ok(Action::change(c)); [INFO] [stdout] 904 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/component_iniliner.rs:179:16 [INFO] [stdout] | [INFO] [stdout] 179 | if let Some(rewrite) = self.interface_rewrites.get(&key) { [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/passes/component_iniliner.rs:181:13 [INFO] [stdout] | [INFO] [stdout] 181 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 179 ~ match self.interface_rewrites.get(&key) { Some(rewrite) => { [INFO] [stdout] 180 | *port = Rc::clone(rewrite); [INFO] [stdout] 181 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Iterator>)>` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/passes/component_iniliner.rs:290:9 [INFO] [stdout] | [INFO] [stdout] 290 | impl Iterator)>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, these lifetimes are in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/passes/component_iniliner.rs:284:18 [INFO] [stdout] | [INFO] [stdout] 284 | builder: &mut ir::Builder, [INFO] [stdout] | ^ ^^^^^^^ [INFO] [stdout] 285 | mut cell_map: rewriter::RewriteMap, [INFO] [stdout] 286 | comp: &ir::Component, [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 290 | impl Iterator)> + use<>, [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/component_iniliner.rs:466:20 [INFO] [stdout] | [INFO] [stdout] 466 | if let Some(binding) = &invoke_bindings.get(&cell.name()) { [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/passes/component_iniliner.rs:469:17 [INFO] [stdout] | [INFO] [stdout] 469 | } 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] 466 ~ match &invoke_bindings.get(&cell.name()) { Some(binding) => { [INFO] [stdout] 467 | let (cell_binds, _) = &binding[0]; [INFO] [stdout] 468 | cell_binds.iter().map(|(k, v)| (*k, v.clone())).collect() [INFO] [stdout] 469 ~ } _ => { [INFO] [stdout] 470 | log::info!( [INFO] [stdout] ... [INFO] [stdout] 474 | HashMap::new() [INFO] [stdout] 475 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/component_iniliner.rs:616:12 [INFO] [stdout] | [INFO] [stdout] 616 | if let Some(con) = self.control_map.get_mut(&cell.name()) { [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/passes/component_iniliner.rs:621:9 [INFO] [stdout] | [INFO] [stdout] 621 | } 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] 616 ~ match self.control_map.get_mut(&cell.name()) { Some(con) => { [INFO] [stdout] 617 | if self.new_fsms { [INFO] [stdout] ... [INFO] [stdout] 620 | Ok(Action::change(ir::Cloner::control(con))) [INFO] [stdout] 621 ~ } _ => { [INFO] [stdout] 622 | Ok(Action::Continue) [INFO] [stdout] 623 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/group_to_invoke.rs:71:16 [INFO] [stdout] | [INFO] [stdout] 71 | if let ir::CellType::Primitive { is_comb, .. } = [INFO] [stdout] | ________________^ [INFO] [stdout] 72 | | port.cell_parent().borrow().prototype [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/passes/group_to_invoke.rs:75:13 [INFO] [stdout] | [INFO] [stdout] 75 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 71 ~ match port.cell_parent().borrow().prototype [INFO] [stdout] 72 ~ { ir::CellType::Primitive { is_comb, .. } => { [INFO] [stdout] 73 | return is_comb; [INFO] [stdout] 74 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/group_to_seq.rs:44:16 [INFO] [stdout] | [INFO] [stdout] 44 | if let Some((outline1, outline2)) = split_analysis.get_split( [INFO] [stdout] | ________________^ - [INFO] [stdout] | |_________________________________________________| [INFO] [stdout] 45 | || &mut g_ref.assignments, [INFO] [stdout] 46 | || group_name, [INFO] [stdout] 47 | || &mut builder, [INFO] [stdout] 48 | || ) { [INFO] [stdout] | ||_____________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | |_____________| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/passes/group_to_seq.rs:62:13 [INFO] [stdout] | [INFO] [stdout] 62 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 44 ~ match split_analysis.get_split( [INFO] [stdout] 45 | &mut g_ref.assignments, [INFO] [stdout] 46 | group_name, [INFO] [stdout] 47 | &mut builder, [INFO] [stdout] 48 ~ ) { Some((outline1, outline2)) => { [INFO] [stdout] 49 | let g1 = outline1.make_group( [INFO] [stdout] ... [INFO] [stdout] 61 | self.group_seq_map.insert(group_name, seq); [INFO] [stdout] 62 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/merge_assign.rs:47:12 [INFO] [stdout] | [INFO] [stdout] 47 | if let Some(asgn) = map.get_mut(&key) { [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/passes/merge_assign.rs:49:9 [INFO] [stdout] | [INFO] [stdout] 49 | } 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] 47 ~ match map.get_mut(&key) { Some(asgn) => { [INFO] [stdout] 48 | *asgn.guard |= *assign.guard; [INFO] [stdout] 49 ~ } _ => { [INFO] [stdout] 50 | map.insert(key, assign); [INFO] [stdout] 51 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/papercut.rs:92:12 [INFO] [stdout] | [INFO] [stdout] 92 | if let ir::CellType::Primitive { name, .. } = &cell.prototype { [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/passes/papercut.rs:94:9 [INFO] [stdout] | [INFO] [stdout] 94 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 92 ~ match &cell.prototype { ir::CellType::Primitive { name, .. } => { [INFO] [stdout] 93 | return Some(((cell.name(), *name), port.name)); [INFO] [stdout] 94 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/papercut.rs:110:16 [INFO] [stdout] | [INFO] [stdout] 110 | if let ir::Control::Empty(..) = *comp.control.borrow() { [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/passes/papercut.rs:127:13 [INFO] [stdout] | [INFO] [stdout] 127 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 110 ~ match *comp.control.borrow() { ir::Control::Empty(..) => { [INFO] [stdout] 111 | for p in comp [INFO] [stdout] ... [INFO] [stdout] 126 | } [INFO] [stdout] 127 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/papercut.rs:171:16 [INFO] [stdout] | [INFO] [stdout] 171 | if let ir::PortParent::Cell(cell_wref) = &port.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/passes/papercut.rs:189:13 [INFO] [stdout] | [INFO] [stdout] 189 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 171 ~ match &port.parent { ir::PortParent::Cell(cell_wref) => { [INFO] [stdout] 172 | let cell_ref = cell_wref.upgrade(); [INFO] [stdout] ... [INFO] [stdout] 188 | } [INFO] [stdout] 189 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/papercut.rs:174:20 [INFO] [stdout] | [INFO] [stdout] 174 | if let ir::CellType::Primitive { [INFO] [stdout] | ____________________^ [INFO] [stdout] 175 | | is_comb, [INFO] [stdout] 176 | | name: prim_name, [INFO] [stdout] 177 | | .. [INFO] [stdout] 178 | | } = &cell.prototype [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/passes/papercut.rs:188:17 [INFO] [stdout] | [INFO] [stdout] 188 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 174 ~ match &cell.prototype [INFO] [stdout] 175 ~ { ir::CellType::Primitive { [INFO] [stdout] 176 + is_comb, [INFO] [stdout] 177 + name: prim_name, [INFO] [stdout] 178 + .. [INFO] [stdout] 179 ~ } => { [INFO] [stdout] 180 | // If the cell is combinational and not driven by continuous assignments [INFO] [stdout] ... [INFO] [stdout] 187 | } [INFO] [stdout] 188 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/papercut.rs:203:16 [INFO] [stdout] | [INFO] [stdout] 203 | if let ir::PortParent::Cell(cell_wref) = &port.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/passes/papercut.rs:221:13 [INFO] [stdout] | [INFO] [stdout] 221 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 203 ~ match &port.parent { ir::PortParent::Cell(cell_wref) => { [INFO] [stdout] 204 | let cell_ref = cell_wref.upgrade(); [INFO] [stdout] ... [INFO] [stdout] 220 | } [INFO] [stdout] 221 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/papercut.rs:206:20 [INFO] [stdout] | [INFO] [stdout] 206 | if let ir::CellType::Primitive { [INFO] [stdout] | ____________________^ [INFO] [stdout] 207 | | is_comb, [INFO] [stdout] 208 | | name: prim_name, [INFO] [stdout] 209 | | .. [INFO] [stdout] 210 | | } = &cell.prototype [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/passes/papercut.rs:220:17 [INFO] [stdout] | [INFO] [stdout] 220 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 206 ~ match &cell.prototype [INFO] [stdout] 207 ~ { ir::CellType::Primitive { [INFO] [stdout] 208 + is_comb, [INFO] [stdout] 209 + name: prim_name, [INFO] [stdout] 210 + .. [INFO] [stdout] 211 ~ } => { [INFO] [stdout] 212 | // If the cell is combinational and not driven by continuous assignments [INFO] [stdout] ... [INFO] [stdout] 219 | } [INFO] [stdout] 220 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/papercut.rs:244:16 [INFO] [stdout] | [INFO] [stdout] 244 | if let Some(spec) = self.read_together.get(&comp_type) { [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/passes/papercut.rs:268:13 [INFO] [stdout] | [INFO] [stdout] 268 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 244 ~ match self.read_together.get(&comp_type) { Some(spec) => { [INFO] [stdout] 245 | let empty = HashSet::new(); [INFO] [stdout] ... [INFO] [stdout] 267 | } [INFO] [stdout] 268 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/papercut.rs:271:16 [INFO] [stdout] | [INFO] [stdout] 271 | if let Some(spec) = self.write_together.get(&comp_type) { [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/passes/papercut.rs:302:13 [INFO] [stdout] | [INFO] [stdout] 302 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 271 ~ match self.write_together.get(&comp_type) { Some(spec) => { [INFO] [stdout] 272 | // For each write together spec. [INFO] [stdout] ... [INFO] [stdout] 301 | } [INFO] [stdout] 302 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/register_unsharing.rs:74:28 [INFO] [stdout] | [INFO] [stdout] 74 | if let Some(in_port) = c.borrow().find("in") { [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/passes/register_unsharing.rs:79:25 [INFO] [stdout] | [INFO] [stdout] 79 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 74 ~ match c.borrow().find("in") { Some(in_port) => { [INFO] [stdout] 75 | return Some(( [INFO] [stdout] ... [INFO] [stdout] 78 | )); [INFO] [stdout] 79 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/register_unsharing.rs:207:16 [INFO] [stdout] | [INFO] [stdout] 207 | if let Some(rename_vec) = book.invoke_map.get_mut(name) { [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/passes/register_unsharing.rs:215:13 [INFO] [stdout] | [INFO] [stdout] 215 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 207 ~ match book.invoke_map.get_mut(name) { Some(rename_vec) => { [INFO] [stdout] 208 | let cell_map = std::mem::take(rename_vec); [INFO] [stdout] ... [INFO] [stdout] 214 | *rename_vec = rewriter.cell_map; [INFO] [stdout] 215 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/register_unsharing.rs:232:16 [INFO] [stdout] | [INFO] [stdout] 232 | if let Some(rename_vec) = book.invoke_map.get_mut(name) { [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/passes/register_unsharing.rs:240:13 [INFO] [stdout] | [INFO] [stdout] 240 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 232 ~ match book.invoke_map.get_mut(name) { Some(rename_vec) => { [INFO] [stdout] 233 | let cell_map = std::mem::take(rename_vec); [INFO] [stdout] ... [INFO] [stdout] 239 | *rename_vec = rewriter.cell_map; [INFO] [stdout] 240 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/reset_insertion.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 35 | if let Some(reset) = reset { [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/passes/reset_insertion.rs:50:9 [INFO] [stdout] | [INFO] [stdout] 50 | } 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] 35 ~ match reset { Some(reset) => { [INFO] [stdout] 36 | for cell_ref in builder.component.cells.iter() { [INFO] [stdout] ... [INFO] [stdout] 49 | } [INFO] [stdout] 50 ~ } _ => { [INFO] [stdout] 51 | for cell_ref in builder.component.cells.iter() { [INFO] [stdout] ... [INFO] [stdout] 61 | } [INFO] [stdout] 62 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/reset_insertion.rs:38:20 [INFO] [stdout] | [INFO] [stdout] 38 | if let Some(port) = [INFO] [stdout] | ____________________^ [INFO] [stdout] 39 | | cell.find_unique_with_attr(ir::BoolAttr::Reset)? [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/passes/reset_insertion.rs:48:17 [INFO] [stdout] | [INFO] [stdout] 48 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 38 ~ match cell.find_unique_with_attr(ir::BoolAttr::Reset)? [INFO] [stdout] 39 ~ { Some(port) => { [INFO] [stdout] 40 | builder.component.continuous_assignments.push( [INFO] [stdout] ... [INFO] [stdout] 46 | ) [INFO] [stdout] 47 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/static_inference.rs:55:16 [INFO] [stdout] | [INFO] [stdout] 55 | if let Some(val) = [INFO] [stdout] | ________________^ [INFO] [stdout] 56 | | InferenceAnalysis::get_possible_latency(&comp.control.borrow()) [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/passes/static_inference.rs:90:13 [INFO] [stdout] | [INFO] [stdout] 90 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 55 ~ match InferenceAnalysis::get_possible_latency(&comp.control.borrow()) [INFO] [stdout] 56 ~ { Some(val) => { [INFO] [stdout] 57 | let comp_sig = comp.signature.borrow(); [INFO] [stdout] ... [INFO] [stdout] 88 | )); [INFO] [stdout] 89 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/top_down_compile_control.rs:518:27 [INFO] [stdout] | [INFO] [stdout] 518 | let fal_prev = if let ir::Control::Empty(..) = *if_stmt.fbranch { [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/passes/top_down_compile_control.rs:522:9 [INFO] [stdout] | [INFO] [stdout] 522 | } 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] 518 ~ let fal_prev = match *if_stmt.fbranch { ir::Control::Empty(..) => { [INFO] [stdout] 519 | // If the false branch is empty, then all the prevs to this node will become prevs [INFO] [stdout] 520 | // to the next node. [INFO] [stdout] 521 | fal_transitions [INFO] [stdout] 522 ~ } _ => { [INFO] [stdout] 523 | self.calculate_states_recur( [INFO] [stdout] ... [INFO] [stdout] 527 | )? [INFO] [stdout] 528 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/unroll_bound.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 26 | if let Some(bound) = s.attributes.get(ir::NumAttr::Bound) { [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/passes/unroll_bound.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 33 | } 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] 26 ~ match s.attributes.get(ir::NumAttr::Bound) { Some(bound) => { [INFO] [stdout] 27 | let body = [INFO] [stdout] ... [INFO] [stdout] 32 | Ok(Action::change(nb)) [INFO] [stdout] 33 ~ } _ => { [INFO] [stdout] 34 | Ok(Action::Continue) [INFO] [stdout] 35 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/well_formed.rs:651:12 [INFO] [stdout] | [INFO] [stdout] 651 | if let Some(cgr) = &s.cond { [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/passes/well_formed.rs:668:9 [INFO] [stdout] | [INFO] [stdout] 668 | } else if !s.port.borrow().has_attribute(ir::BoolAttr::Stable) { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 651 ~ match &s.cond { Some(cgr) => { [INFO] [stdout] 652 | let cg = cgr.borrow(); [INFO] [stdout] ... [INFO] [stdout] 667 | self.active_comb.push(assigns); [INFO] [stdout] 668 ~ } _ => if !s.port.borrow().has_attribute(ir::BoolAttr::Stable) { [INFO] [stdout] 669 | let msg = s.attributes.copy_span().format(format!( [INFO] [stdout] ... [INFO] [stdout] 673 | log::warn!("{msg}"); [INFO] [stdout] 674 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/well_formed.rs:718:12 [INFO] [stdout] | [INFO] [stdout] 718 | if let Some(cgr) = &s.cond { [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/passes/well_formed.rs:735:9 [INFO] [stdout] | [INFO] [stdout] 735 | } else if !s.port.borrow().has_attribute(ir::BoolAttr::Stable) { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 718 ~ match &s.cond { Some(cgr) => { [INFO] [stdout] 719 | let cg = cgr.borrow(); [INFO] [stdout] ... [INFO] [stdout] 734 | self.active_comb.push(assigns); [INFO] [stdout] 735 ~ } _ => if !s.port.borrow().has_attribute(ir::BoolAttr::Stable) { [INFO] [stdout] 736 | let msg = s.attributes.copy_span().format(format!( [INFO] [stdout] ... [INFO] [stdout] 740 | log::warn!("{msg}"); [INFO] [stdout] 741 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/wire_inliner.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 27 | if let ir::PortParent::Group(g) = &port.borrow().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/passes/wire_inliner.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 31 | } 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] 27 ~ match &port.borrow().parent { ir::PortParent::Group(g) => { [INFO] [stdout] 28 | let (go, done) = &map[&g.upgrade().borrow().name()]; [INFO] [stdout] 29 | let cell = if port.borrow().name == "go" { go } else { done }; [INFO] [stdout] 30 | Some(Rc::clone(cell)) [INFO] [stdout] 31 ~ } _ => { [INFO] [stdout] 32 | None [INFO] [stdout] 33 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/traversal/post_order.rs:81:20 [INFO] [stdout] | [INFO] [stdout] 81 | if let CellType::Component { name, .. } = [INFO] [stdout] | ____________________^ [INFO] [stdout] 82 | | &cell.borrow().prototype [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/traversal/post_order.rs:85:17 [INFO] [stdout] | [INFO] [stdout] 85 | } [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 &cell.borrow().prototype [INFO] [stdout] 82 ~ { CellType::Component { name, .. } => { [INFO] [stdout] 83 | graph.add_edge(rev_map[name], rev_map[&comp.name], ()); [INFO] [stdout] 84 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 68 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `calyx_opt` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/pass_manager.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/pass_manager.rs:244:6 [INFO] [stderr] | [INFO] [stderr] 244 | ($manager:expr_2021, $alias:literal, [ $($pass:tt),* $(,)? ]) => { [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 1 previous error [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/analysis/live_range_analysis.rs:105:28 [INFO] [stdout] | [INFO] [stdout] 105 | fn transfer(&mut self, gen: Prop, kill: Prop) { [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/analysis/live_range_analysis.rs:107:17 [INFO] [stdout] | [INFO] [stdout] 107 | self.or(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: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/analysis/live_range_analysis.rs:116:32 [INFO] [stdout] | [INFO] [stdout] 116 | fn transfer_set(&mut self, gen: TypeNameSet, kill: TypeNameSet) { [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: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/analysis/live_range_analysis.rs:118:21 [INFO] [stdout] | [INFO] [stdout] 118 | self.or_set(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: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/analysis/live_range_analysis.rs:1127:34 [INFO] [stdout] | [INFO] [stdout] 1127 | (alive, gen, kill)| { [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: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/analysis/live_range_analysis.rs:1135:48 [INFO] [stdout] | [INFO] [stdout] 1135 | ... acc_gen.or(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: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/analysis/live_range_analysis.rs:1323:34 [INFO] [stdout] | [INFO] [stdout] 1323 | (alive, gen, kill)| { [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: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/analysis/live_range_analysis.rs:1331:48 [INFO] [stdout] | [INFO] [stdout] 1331 | ... acc_gen.or(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/pass_manager.rs:244:15 [INFO] [stdout] | [INFO] [stdout] 244 | ($manager:expr, $alias:literal, [ $($pass:tt),* $(,)? ]) => { [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] 244 | ($manager:expr_2021, $alias:literal, [ $($pass:tt),* $(,)? ]) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/compaction_analysis.rs:84:12 [INFO] [stdout] | [INFO] [stdout] 84 | if let Ok(order) = algo::toposort(&total_order, None) { [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/analysis/compaction_analysis.rs:194:9 [INFO] [stdout] | [INFO] [stdout] 194 | } 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] 84 ~ match algo::toposort(&total_order, None) { Ok(order) => { [INFO] [stdout] 85 | let mut total_time: u64 = 0; [INFO] [stdout] ... [INFO] [stdout] 193 | vec![ir::Control::Static(s_par)] [INFO] [stdout] 194 ~ } _ => { [INFO] [stdout] 195 | panic!( [INFO] [stdout] 196 | "Error when producing topo sort. Dependency graph has a cycle." [INFO] [stdout] 197 | ); [INFO] [stdout] 198 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/control_order.rs:107:12 [INFO] [stdout] | [INFO] [stdout] 107 | if let Ok(order) = algo::toposort(&gr, None) { [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/analysis/control_order.rs:113:9 [INFO] [stdout] | [INFO] [stdout] 113 | } 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] 107 ~ match algo::toposort(&gr, None) { Ok(order) => { [INFO] [stdout] 108 | let assigns = order [INFO] [stdout] ... [INFO] [stdout] 112 | Ok(assigns) [INFO] [stdout] 113 ~ } _ => { [INFO] [stdout] 114 | let mut msg = "".to_string(); [INFO] [stdout] ... [INFO] [stdout] 143 | Err(Error::misc(format!("No possible sequential ordering. Control programs exhibit data race:\n{}", msg))) [INFO] [stdout] 144 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/dataflow_order.rs:176:12 [INFO] [stdout] | [INFO] [stdout] 176 | if let Ok(order) = algo::toposort(&gr, None) { [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/analysis/dataflow_order.rs:183:9 [INFO] [stdout] | [INFO] [stdout] 183 | } 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] 176 ~ match algo::toposort(&gr, None) { Ok(order) => { [INFO] [stdout] 177 | let mut assigns = order [INFO] [stdout] ... [INFO] [stdout] 182 | Ok(assigns) [INFO] [stdout] 183 ~ } _ => { [INFO] [stdout] 184 | // Compute strongly connected component of the graph [INFO] [stdout] ... [INFO] [stdout] 196 | Err(Error::misc(format!("Found combinational cycle:\n{}", msg))) [INFO] [stdout] 197 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/domination_analysis/dominator_map.rs:402:16 [INFO] [stdout] | [INFO] [stdout] 402 | if let Some(dominators) = self.map.get(id) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^--------^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/analysis/domination_analysis/dominator_map.rs:404:13 [INFO] [stdout] | [INFO] [stdout] 404 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 402 ~ match self.map.get(id) { Some(dominators) => { [INFO] [stdout] 403 | union = union.union(dominators).copied().collect(); [INFO] [stdout] 404 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/domination_analysis/node_analysis.rs:101:8 [INFO] [stdout] | [INFO] [stdout] 101 | if let ir::PortParent::Cell(cell) = &port.borrow().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/analysis/domination_analysis/node_analysis.rs:105:5 [INFO] [stdout] | [INFO] [stdout] 105 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 101 ~ match &port.borrow().parent { ir::PortParent::Cell(cell) => { [INFO] [stdout] 102 | if share.is_shareable_component(&cell.upgrade()) { [INFO] [stdout] 103 | reads.insert(cell.upgrade().borrow().name()); [INFO] [stdout] 104 | } [INFO] [stdout] 105 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/domination_analysis/node_analysis.rs:255:20 [INFO] [stdout] | [INFO] [stdout] 255 | if let ir::PortParent::Cell(cell_wref) = &dst_ref.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/analysis/domination_analysis/node_analysis.rs:257:17 [INFO] [stdout] | [INFO] [stdout] 257 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 255 ~ match &dst_ref.parent { ir::PortParent::Cell(cell_wref) => { [INFO] [stdout] 256 | return cell_wref.upgrade().borrow().name() == self.name; [INFO] [stdout] 257 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/graph.rs:148:16 [INFO] [stdout] | [INFO] [stdout] 148 | if let (Some(a_idx), Some(b_idx)) = [INFO] [stdout] | ________________^ [INFO] [stdout] 149 | | (nodes.get(&a.canonical()), nodes.get(&b.canonical())) [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/analysis/graph.rs:152:13 [INFO] [stdout] | [INFO] [stdout] 152 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 148 ~ match (nodes.get(&a.canonical()), nodes.get(&b.canonical())) [INFO] [stdout] 149 ~ { (Some(a_idx), Some(b_idx)) => { [INFO] [stdout] 150 | graph.add_edge(*a_idx, *b_idx, ()); [INFO] [stdout] 151 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/inference_analysis.rs:299:16 [INFO] [stdout] | [INFO] [stdout] 299 | if let Some(ports) = [INFO] [stdout] | ________________^ [INFO] [stdout] 300 | | cell.type_name().and_then(|c| self.latency_data.get(&c)) [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/analysis/inference_analysis.rs:307:13 [INFO] [stdout] | [INFO] [stdout] 307 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 299 ~ match cell.type_name().and_then(|c| self.latency_data.get(&c)) [INFO] [stdout] 300 ~ { Some(ports) => { [INFO] [stdout] 301 | go_done_edges.extend( [INFO] [stdout] ... [INFO] [stdout] 305 | ) [INFO] [stdout] 306 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/inference_analysis.rs:318:16 [INFO] [stdout] | [INFO] [stdout] 318 | if let ir::CellType::Constant { val, .. } = &cell.prototype { [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] 323 | cell.type_name().and_then(|c| self.latency_data.get(&c)) [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/analysis/inference_analysis.rs:322:13 [INFO] [stdout] | [INFO] [stdout] 322 | } else if let Some(ports) = [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/analysis/inference_analysis.rs:326:13 [INFO] [stdout] | [INFO] [stdout] 326 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 318 ~ match &cell.prototype { ir::CellType::Constant { val, .. } => { [INFO] [stdout] 319 | if *val > 0 { [INFO] [stdout] 320 | return true; [INFO] [stdout] 321 | } [INFO] [stdout] 322 ~ } _ => { match cell.type_name().and_then(|c| self.latency_data.get(&c)) [INFO] [stdout] 323 ~ { Some(ports) => { [INFO] [stdout] 324 | return ports.is_done(&port.name); [INFO] [stdout] 325 ~ } _ => {}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/inference_analysis.rs:339:22 [INFO] [stdout] | [INFO] [stdout] 339 | if let Some(ports) = [INFO] [stdout] | ______________________^ [INFO] [stdout] 340 | | cell.type_name().and_then(|c| self.latency_data.get(&c)) [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/analysis/inference_analysis.rs:356:19 [INFO] [stdout] | [INFO] [stdout] 356 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 339 ~ match cell.type_name().and_then(|c| self.latency_data.get(&c)) [INFO] [stdout] 340 ~ { Some(ports) => { [INFO] [stdout] 341 | let name = &port.borrow().name; [INFO] [stdout] ... [INFO] [stdout] 354 | } [INFO] [stdout] 355 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/inference_analysis.rs:449:16 [INFO] [stdout] | [INFO] [stdout] 449 | if let ir::PortParent::Cell(cwrf) = &port.borrow().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/analysis/inference_analysis.rs:461:13 [INFO] [stdout] | [INFO] [stdout] 461 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 449 ~ match &port.borrow().parent { ir::PortParent::Cell(cwrf) => { [INFO] [stdout] 450 | let cr = cwrf.upgrade(); [INFO] [stdout] ... [INFO] [stdout] 460 | } [INFO] [stdout] 461 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/inference_analysis.rs:452:20 [INFO] [stdout] | [INFO] [stdout] 452 | if let Some(ports) = [INFO] [stdout] | ____________________^ [INFO] [stdout] 453 | | cell.type_name().and_then(|c| self.latency_data.get(&c)) [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/analysis/inference_analysis.rs:460:17 [INFO] [stdout] | [INFO] [stdout] 460 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 452 ~ match cell.type_name().and_then(|c| self.latency_data.get(&c)) [INFO] [stdout] 453 ~ { Some(ports) => { [INFO] [stdout] 454 | if let Some(latency) = [INFO] [stdout] ... [INFO] [stdout] 458 | } [INFO] [stdout] 459 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/inference_analysis.rs:455:24 [INFO] [stdout] | [INFO] [stdout] 455 | if let Some(latency) = [INFO] [stdout] | ________________________^ [INFO] [stdout] 456 | | ports.get_latency(&port.borrow().name) [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/analysis/inference_analysis.rs:459:21 [INFO] [stdout] | [INFO] [stdout] 459 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 455 ~ match ports.get_latency(&port.borrow().name) [INFO] [stdout] 456 ~ { Some(latency) => { [INFO] [stdout] 457 | latency_sum += latency; [INFO] [stdout] 458 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/live_range_analysis.rs:371:16 [INFO] [stdout] | [INFO] [stdout] 371 | if let Some(prop) = ranges.live.get_mut(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/analysis/live_range_analysis.rs:373:13 [INFO] [stdout] | [INFO] [stdout] 373 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 371 ~ match ranges.live.get_mut(node) { Some(prop) => { [INFO] [stdout] 372 | prop.or_set(cells_by_type.clone()); [INFO] [stdout] 373 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/live_range_analysis.rs:512:20 [INFO] [stdout] | [INFO] [stdout] 512 | if let Some(cell_info) = LiveRangeAnalysis::port_to_cell_name( [INFO] [stdout] | ____________________^ - [INFO] [stdout] | |__________________________________________| [INFO] [stdout] 513 | || port, [INFO] [stdout] 514 | || &self.state_share, [INFO] [stdout] 515 | || ) { [INFO] [stdout] | ||_________________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | |_________________| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/analysis/live_range_analysis.rs:523:17 [INFO] [stdout] | [INFO] [stdout] 523 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 512 ~ match LiveRangeAnalysis::port_to_cell_name( [INFO] [stdout] 513 | port, [INFO] [stdout] 514 | &self.state_share, [INFO] [stdout] 515 ~ ) { Some(cell_info) => { [INFO] [stdout] 516 | Self::add_cell_to_control_data( [INFO] [stdout] ... [INFO] [stdout] 522 | ) [INFO] [stdout] 523 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/live_range_analysis.rs:599:20 [INFO] [stdout] | [INFO] [stdout] 599 | if let Some(comb_group_uses) = self.cgroup_uses_map.get(&id) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^--------------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/analysis/live_range_analysis.rs:609:17 [INFO] [stdout] | [INFO] [stdout] 609 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 599 ~ match self.cgroup_uses_map.get(&id) { Some(comb_group_uses) => { [INFO] [stdout] 600 | for cell_info in comb_group_uses { [INFO] [stdout] ... [INFO] [stdout] 608 | } [INFO] [stdout] 609 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/live_range_analysis.rs:620:20 [INFO] [stdout] | [INFO] [stdout] 620 | if let Some(comb_group_uses) = self.cgroup_uses_map.get(&id) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^--------------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/analysis/live_range_analysis.rs:637:17 [INFO] [stdout] | [INFO] [stdout] 637 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 620 ~ match self.cgroup_uses_map.get(&id) { Some(comb_group_uses) => { [INFO] [stdout] 621 | for (cell_type, cell_name) in comb_group_uses { [INFO] [stdout] ... [INFO] [stdout] 636 | } [INFO] [stdout] 637 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/live_range_analysis.rs:725:12 [INFO] [stdout] | [INFO] [stdout] 725 | if let Some((cell_type, variable)) = maybe_var { [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/analysis/live_range_analysis.rs:755:9 [INFO] [stdout] | [INFO] [stdout] 755 | } 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] 725 ~ match maybe_var { Some((cell_type, variable)) => { [INFO] [stdout] 726 | // we don't want to read the control signal of `variable` [INFO] [stdout] ... [INFO] [stdout] 754 | (reads, writes) [INFO] [stdout] 755 ~ } _ => { [INFO] [stdout] 756 | let reads: HashSet<_> = [INFO] [stdout] ... [INFO] [stdout] 778 | (reads, writes) [INFO] [stdout] 779 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/live_range_analysis.rs:735:24 [INFO] [stdout] | [INFO] [stdout] 735 | if let ir::Guard::Port(port) = &*asgn.guard { [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/analysis/live_range_analysis.rs:738:21 [INFO] [stdout] | [INFO] [stdout] 738 | } 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] 735 ~ match &*asgn.guard { ir::Guard::Port(port) => { [INFO] [stdout] 736 | !(port.borrow().get_parent_name() == variable [INFO] [stdout] 737 | && port.borrow().name == "done") [INFO] [stdout] 738 ~ } _ => { [INFO] [stdout] 739 | true [INFO] [stdout] 740 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/promotion_analysis.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 40 | if let Some(s_name) = self.static_group_name.get(&group.borrow().name()) [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/analysis/promotion_analysis.rs:43:9 [INFO] [stdout] | [INFO] [stdout] 43 | } 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] 40 ~ match self.static_group_name.get(&group.borrow().name()) [INFO] [stdout] 41 ~ { Some(s_name) => { [INFO] [stdout] 42 | builder.component.find_static_group(*s_name).unwrap() [INFO] [stdout] 43 ~ } _ => { [INFO] [stdout] 44 | let sg = builder.add_static_group(group.borrow().name(), latency); [INFO] [stdout] ... [INFO] [stdout] 57 | Rc::clone(&sg) [INFO] [stdout] 58 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Iterator>>` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/analysis/read_write_set.rs:176:23 [INFO] [stdout] | [INFO] [stdout] 176 | ) -> PortIterator>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/analysis/read_write_set.rs:175:17 [INFO] [stdout] | [INFO] [stdout] 175 | assign: &ir::Assignment, [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 176 | ) -> PortIterator> + use> { [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/share_set.rs:67:12 [INFO] [stdout] | [INFO] [stdout] 67 | if let Some(ref type_name) = cell.borrow().type_name() { [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/analysis/share_set.rs:69:9 [INFO] [stdout] | [INFO] [stdout] 69 | } 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] 67 ~ match cell.borrow().type_name() { Some(ref type_name) => { [INFO] [stdout] 68 | self.contains(type_name) [INFO] [stdout] 69 ~ } _ => { [INFO] [stdout] 70 | false [INFO] [stdout] 71 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/canonical.rs:57:16 [INFO] [stdout] | [INFO] [stdout] 57 | if let Guard::Port(p) = &(*assign.guard) { [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/passes/canonical.rs:62:13 [INFO] [stdout] | [INFO] [stdout] 62 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 57 ~ match &(*assign.guard) { Guard::Port(p) => { [INFO] [stdout] 58 | // 1'd1 ? r1.done [INFO] [stdout] ... [INFO] [stdout] 61 | } [INFO] [stdout] 62 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/canonical.rs:65:16 [INFO] [stdout] | [INFO] [stdout] 65 | if let Guard::Port(p) = &(*assign.guard) { [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/passes/canonical.rs:70:13 [INFO] [stdout] | [INFO] [stdout] 70 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 65 ~ match &(*assign.guard) { Guard::Port(p) => { [INFO] [stdout] 66 | // 1'd1 ? r1.done [INFO] [stdout] ... [INFO] [stdout] 69 | } [INFO] [stdout] 70 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/cell_share.rs:394:20 [INFO] [stdout] | [INFO] [stdout] 394 | if let Some(ref name) = cell_type.get_name() { [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/passes/cell_share.rs:413:17 [INFO] [stdout] | [INFO] [stdout] 413 | } 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] 394 ~ match cell_type.get_name() { Some(ref name) => { [INFO] [stdout] 395 | let is_comb = self.shareable.contains(name); [INFO] [stdout] ... [INFO] [stdout] 412 | } [INFO] [stdout] 413 ~ } _ => { [INFO] [stdout] 414 | // sharing bound doesn't really matter for ThisComponent/Constants [INFO] [stdout] 415 | &None [INFO] [stdout] 416 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/clk_insertion.rs:37:12 [INFO] [stdout] | [INFO] [stdout] 37 | if let Some(clk) = clk { [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/passes/clk_insertion.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | } 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] 37 ~ match clk { Some(clk) => { [INFO] [stdout] 38 | for cell_ref in builder.component.cells.iter() { [INFO] [stdout] ... [INFO] [stdout] 51 | } [INFO] [stdout] 52 ~ } _ => { [INFO] [stdout] 53 | for cell_ref in builder.component.cells.iter() { [INFO] [stdout] ... [INFO] [stdout] 63 | } [INFO] [stdout] 64 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/clk_insertion.rs:40:20 [INFO] [stdout] | [INFO] [stdout] 40 | if let Some(port) = [INFO] [stdout] | ____________________^ [INFO] [stdout] 41 | | cell.find_unique_with_attr(ir::BoolAttr::Clk)? [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/passes/clk_insertion.rs:50:17 [INFO] [stdout] | [INFO] [stdout] 50 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 40 ~ match cell.find_unique_with_attr(ir::BoolAttr::Clk)? [INFO] [stdout] 41 ~ { Some(port) => { [INFO] [stdout] 42 | builder.component.continuous_assignments.push( [INFO] [stdout] ... [INFO] [stdout] 48 | ) [INFO] [stdout] 49 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/comb_prop.rs:83:16 [INFO] [stdout] | [INFO] [stdout] 83 | if let Some(ref old) = old { [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/passes/comb_prop.rs:89:13 [INFO] [stdout] | [INFO] [stdout] 89 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 83 ~ match old { Some(ref old) => { [INFO] [stdout] 84 | log::debug!( [INFO] [stdout] ... [INFO] [stdout] 88 | ); [INFO] [stdout] 89 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/comb_prop.rs:111:24 [INFO] [stdout] | [INFO] [stdout] 111 | if let Some(new_new_to) = [INFO] [stdout] | ________________________^ [INFO] [stdout] 112 | | self.rewrites.get(&new_to.borrow().canonical()) [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/passes/comb_prop.rs:115:21 [INFO] [stdout] | [INFO] [stdout] 115 | } 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] 111 ~ match self.rewrites.get(&new_to.borrow().canonical()) [INFO] [stdout] 112 ~ { Some(new_new_to) => { [INFO] [stdout] 113 | final_to = Some(new_new_to); [INFO] [stdout] 114 ~ } _ => { [INFO] [stdout] 115 | break; [INFO] [stdout] 116 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/compile_invoke.rs:175:35 [INFO] [stdout] | [INFO] [stdout] 175 | let arg_port = if let Some(sig_pr) = self.removed.get(&old_port) [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/passes/compile_invoke.rs:183:17 [INFO] [stdout] | [INFO] [stdout] 183 | } 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] 175 ~ let arg_port = match self.removed.get(&old_port) [INFO] [stdout] 176 ~ { Some(sig_pr) => { [INFO] [stdout] 177 | log::debug!( [INFO] [stdout] ... [INFO] [stdout] 182 | Rc::clone(sig_pr) [INFO] [stdout] 183 ~ } _ => { [INFO] [stdout] 184 | Rc::clone(pr) [INFO] [stdout] 185 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/compile_invoke.rs:241:20 [INFO] [stdout] | [INFO] [stdout] 241 | if let Some(vec) = self.port_names.get_ports(&name) { [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/passes/compile_invoke.rs:256:17 [INFO] [stdout] | [INFO] [stdout] 256 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 241 ~ match self.port_names.get_ports(&name) { Some(vec) => { [INFO] [stdout] 242 | log::debug!( [INFO] [stdout] ... [INFO] [stdout] 255 | } [INFO] [stdout] 256 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/compile_static.rs:889:16 [INFO] [stdout] | [INFO] [stdout] 889 | if let ir::Control::Static(sc) = &mut *(s.body) { [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/passes/compile_static.rs:904:13 [INFO] [stdout] | [INFO] [stdout] 904 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 889 ~ match &mut *(s.body) { ir::Control::Static(sc) => { [INFO] [stdout] 890 | let mut builder = ir::Builder::new(comp, sigs); [INFO] [stdout] ... [INFO] [stdout] 903 | return Ok(Action::change(c)); [INFO] [stdout] 904 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/component_iniliner.rs:179:16 [INFO] [stdout] | [INFO] [stdout] 179 | if let Some(rewrite) = self.interface_rewrites.get(&key) { [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/passes/component_iniliner.rs:181:13 [INFO] [stdout] | [INFO] [stdout] 181 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 179 ~ match self.interface_rewrites.get(&key) { Some(rewrite) => { [INFO] [stdout] 180 | *port = Rc::clone(rewrite); [INFO] [stdout] 181 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Iterator>)>` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/passes/component_iniliner.rs:290:9 [INFO] [stdout] | [INFO] [stdout] 290 | impl Iterator)>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, these lifetimes are in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/passes/component_iniliner.rs:284:18 [INFO] [stdout] | [INFO] [stdout] 284 | builder: &mut ir::Builder, [INFO] [stdout] | ^ ^^^^^^^ [INFO] [stdout] 285 | mut cell_map: rewriter::RewriteMap, [INFO] [stdout] 286 | comp: &ir::Component, [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 290 | impl Iterator)> + use<>, [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/component_iniliner.rs:466:20 [INFO] [stdout] | [INFO] [stdout] 466 | if let Some(binding) = &invoke_bindings.get(&cell.name()) { [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/passes/component_iniliner.rs:469:17 [INFO] [stdout] | [INFO] [stdout] 469 | } 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] 466 ~ match &invoke_bindings.get(&cell.name()) { Some(binding) => { [INFO] [stdout] 467 | let (cell_binds, _) = &binding[0]; [INFO] [stdout] 468 | cell_binds.iter().map(|(k, v)| (*k, v.clone())).collect() [INFO] [stdout] 469 ~ } _ => { [INFO] [stdout] 470 | log::info!( [INFO] [stdout] ... [INFO] [stdout] 474 | HashMap::new() [INFO] [stdout] 475 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/component_iniliner.rs:616:12 [INFO] [stdout] | [INFO] [stdout] 616 | if let Some(con) = self.control_map.get_mut(&cell.name()) { [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/passes/component_iniliner.rs:621:9 [INFO] [stdout] | [INFO] [stdout] 621 | } 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] 616 ~ match self.control_map.get_mut(&cell.name()) { Some(con) => { [INFO] [stdout] 617 | if self.new_fsms { [INFO] [stdout] ... [INFO] [stdout] 620 | Ok(Action::change(ir::Cloner::control(con))) [INFO] [stdout] 621 ~ } _ => { [INFO] [stdout] 622 | Ok(Action::Continue) [INFO] [stdout] 623 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/group_to_invoke.rs:71:16 [INFO] [stdout] | [INFO] [stdout] 71 | if let ir::CellType::Primitive { is_comb, .. } = [INFO] [stdout] | ________________^ [INFO] [stdout] 72 | | port.cell_parent().borrow().prototype [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/passes/group_to_invoke.rs:75:13 [INFO] [stdout] | [INFO] [stdout] 75 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 71 ~ match port.cell_parent().borrow().prototype [INFO] [stdout] 72 ~ { ir::CellType::Primitive { is_comb, .. } => { [INFO] [stdout] 73 | return is_comb; [INFO] [stdout] 74 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/group_to_seq.rs:44:16 [INFO] [stdout] | [INFO] [stdout] 44 | if let Some((outline1, outline2)) = split_analysis.get_split( [INFO] [stdout] | ________________^ - [INFO] [stdout] | |_________________________________________________| [INFO] [stdout] 45 | || &mut g_ref.assignments, [INFO] [stdout] 46 | || group_name, [INFO] [stdout] 47 | || &mut builder, [INFO] [stdout] 48 | || ) { [INFO] [stdout] | ||_____________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | |_____________| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/passes/group_to_seq.rs:62:13 [INFO] [stdout] | [INFO] [stdout] 62 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 44 ~ match split_analysis.get_split( [INFO] [stdout] 45 | &mut g_ref.assignments, [INFO] [stdout] 46 | group_name, [INFO] [stdout] 47 | &mut builder, [INFO] [stdout] 48 ~ ) { Some((outline1, outline2)) => { [INFO] [stdout] 49 | let g1 = outline1.make_group( [INFO] [stdout] ... [INFO] [stdout] 61 | self.group_seq_map.insert(group_name, seq); [INFO] [stdout] 62 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/merge_assign.rs:47:12 [INFO] [stdout] | [INFO] [stdout] 47 | if let Some(asgn) = map.get_mut(&key) { [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/passes/merge_assign.rs:49:9 [INFO] [stdout] | [INFO] [stdout] 49 | } 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] 47 ~ match map.get_mut(&key) { Some(asgn) => { [INFO] [stdout] 48 | *asgn.guard |= *assign.guard; [INFO] [stdout] 49 ~ } _ => { [INFO] [stdout] 50 | map.insert(key, assign); [INFO] [stdout] 51 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/papercut.rs:92:12 [INFO] [stdout] | [INFO] [stdout] 92 | if let ir::CellType::Primitive { name, .. } = &cell.prototype { [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/passes/papercut.rs:94:9 [INFO] [stdout] | [INFO] [stdout] 94 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 92 ~ match &cell.prototype { ir::CellType::Primitive { name, .. } => { [INFO] [stdout] 93 | return Some(((cell.name(), *name), port.name)); [INFO] [stdout] 94 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/papercut.rs:110:16 [INFO] [stdout] | [INFO] [stdout] 110 | if let ir::Control::Empty(..) = *comp.control.borrow() { [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/passes/papercut.rs:127:13 [INFO] [stdout] | [INFO] [stdout] 127 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 110 ~ match *comp.control.borrow() { ir::Control::Empty(..) => { [INFO] [stdout] 111 | for p in comp [INFO] [stdout] ... [INFO] [stdout] 126 | } [INFO] [stdout] 127 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/papercut.rs:171:16 [INFO] [stdout] | [INFO] [stdout] 171 | if let ir::PortParent::Cell(cell_wref) = &port.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/passes/papercut.rs:189:13 [INFO] [stdout] | [INFO] [stdout] 189 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 171 ~ match &port.parent { ir::PortParent::Cell(cell_wref) => { [INFO] [stdout] 172 | let cell_ref = cell_wref.upgrade(); [INFO] [stdout] ... [INFO] [stdout] 188 | } [INFO] [stdout] 189 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/papercut.rs:174:20 [INFO] [stdout] | [INFO] [stdout] 174 | if let ir::CellType::Primitive { [INFO] [stdout] | ____________________^ [INFO] [stdout] 175 | | is_comb, [INFO] [stdout] 176 | | name: prim_name, [INFO] [stdout] 177 | | .. [INFO] [stdout] 178 | | } = &cell.prototype [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/passes/papercut.rs:188:17 [INFO] [stdout] | [INFO] [stdout] 188 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 174 ~ match &cell.prototype [INFO] [stdout] 175 ~ { ir::CellType::Primitive { [INFO] [stdout] 176 + is_comb, [INFO] [stdout] 177 + name: prim_name, [INFO] [stdout] 178 + .. [INFO] [stdout] 179 ~ } => { [INFO] [stdout] 180 | // If the cell is combinational and not driven by continuous assignments [INFO] [stdout] ... [INFO] [stdout] 187 | } [INFO] [stdout] 188 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/papercut.rs:203:16 [INFO] [stdout] | [INFO] [stdout] 203 | if let ir::PortParent::Cell(cell_wref) = &port.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/passes/papercut.rs:221:13 [INFO] [stdout] | [INFO] [stdout] 221 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 203 ~ match &port.parent { ir::PortParent::Cell(cell_wref) => { [INFO] [stdout] 204 | let cell_ref = cell_wref.upgrade(); [INFO] [stdout] ... [INFO] [stdout] 220 | } [INFO] [stdout] 221 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/papercut.rs:206:20 [INFO] [stdout] | [INFO] [stdout] 206 | if let ir::CellType::Primitive { [INFO] [stdout] | ____________________^ [INFO] [stdout] 207 | | is_comb, [INFO] [stdout] 208 | | name: prim_name, [INFO] [stdout] 209 | | .. [INFO] [stdout] 210 | | } = &cell.prototype [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/passes/papercut.rs:220:17 [INFO] [stdout] | [INFO] [stdout] 220 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 206 ~ match &cell.prototype [INFO] [stdout] 207 ~ { ir::CellType::Primitive { [INFO] [stdout] 208 + is_comb, [INFO] [stdout] 209 + name: prim_name, [INFO] [stdout] 210 + .. [INFO] [stdout] 211 ~ } => { [INFO] [stdout] 212 | // If the cell is combinational and not driven by continuous assignments [INFO] [stdout] ... [INFO] [stdout] 219 | } [INFO] [stdout] 220 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/papercut.rs:244:16 [INFO] [stdout] | [INFO] [stdout] 244 | if let Some(spec) = self.read_together.get(&comp_type) { [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/passes/papercut.rs:268:13 [INFO] [stdout] | [INFO] [stdout] 268 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 244 ~ match self.read_together.get(&comp_type) { Some(spec) => { [INFO] [stdout] 245 | let empty = HashSet::new(); [INFO] [stdout] ... [INFO] [stdout] 267 | } [INFO] [stdout] 268 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/papercut.rs:271:16 [INFO] [stdout] | [INFO] [stdout] 271 | if let Some(spec) = self.write_together.get(&comp_type) { [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/passes/papercut.rs:302:13 [INFO] [stdout] | [INFO] [stdout] 302 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 271 ~ match self.write_together.get(&comp_type) { Some(spec) => { [INFO] [stdout] 272 | // For each write together spec. [INFO] [stdout] ... [INFO] [stdout] 301 | } [INFO] [stdout] 302 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/register_unsharing.rs:74:28 [INFO] [stdout] | [INFO] [stdout] 74 | if let Some(in_port) = c.borrow().find("in") { [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/passes/register_unsharing.rs:79:25 [INFO] [stdout] | [INFO] [stdout] 79 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 74 ~ match c.borrow().find("in") { Some(in_port) => { [INFO] [stdout] 75 | return Some(( [INFO] [stdout] ... [INFO] [stdout] 78 | )); [INFO] [stdout] 79 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/register_unsharing.rs:207:16 [INFO] [stdout] | [INFO] [stdout] 207 | if let Some(rename_vec) = book.invoke_map.get_mut(name) { [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/passes/register_unsharing.rs:215:13 [INFO] [stdout] | [INFO] [stdout] 215 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 207 ~ match book.invoke_map.get_mut(name) { Some(rename_vec) => { [INFO] [stdout] 208 | let cell_map = std::mem::take(rename_vec); [INFO] [stdout] ... [INFO] [stdout] 214 | *rename_vec = rewriter.cell_map; [INFO] [stdout] 215 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/register_unsharing.rs:232:16 [INFO] [stdout] | [INFO] [stdout] 232 | if let Some(rename_vec) = book.invoke_map.get_mut(name) { [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/passes/register_unsharing.rs:240:13 [INFO] [stdout] | [INFO] [stdout] 240 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 232 ~ match book.invoke_map.get_mut(name) { Some(rename_vec) => { [INFO] [stdout] 233 | let cell_map = std::mem::take(rename_vec); [INFO] [stdout] ... [INFO] [stdout] 239 | *rename_vec = rewriter.cell_map; [INFO] [stdout] 240 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/reset_insertion.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 35 | if let Some(reset) = reset { [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/passes/reset_insertion.rs:50:9 [INFO] [stdout] | [INFO] [stdout] 50 | } 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] 35 ~ match reset { Some(reset) => { [INFO] [stdout] 36 | for cell_ref in builder.component.cells.iter() { [INFO] [stdout] ... [INFO] [stdout] 49 | } [INFO] [stdout] 50 ~ } _ => { [INFO] [stdout] 51 | for cell_ref in builder.component.cells.iter() { [INFO] [stdout] ... [INFO] [stdout] 61 | } [INFO] [stdout] 62 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/reset_insertion.rs:38:20 [INFO] [stdout] | [INFO] [stdout] 38 | if let Some(port) = [INFO] [stdout] | ____________________^ [INFO] [stdout] 39 | | cell.find_unique_with_attr(ir::BoolAttr::Reset)? [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/passes/reset_insertion.rs:48:17 [INFO] [stdout] | [INFO] [stdout] 48 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 38 ~ match cell.find_unique_with_attr(ir::BoolAttr::Reset)? [INFO] [stdout] 39 ~ { Some(port) => { [INFO] [stdout] 40 | builder.component.continuous_assignments.push( [INFO] [stdout] ... [INFO] [stdout] 46 | ) [INFO] [stdout] 47 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/static_inference.rs:55:16 [INFO] [stdout] | [INFO] [stdout] 55 | if let Some(val) = [INFO] [stdout] | ________________^ [INFO] [stdout] 56 | | InferenceAnalysis::get_possible_latency(&comp.control.borrow()) [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/passes/static_inference.rs:90:13 [INFO] [stdout] | [INFO] [stdout] 90 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 55 ~ match InferenceAnalysis::get_possible_latency(&comp.control.borrow()) [INFO] [stdout] 56 ~ { Some(val) => { [INFO] [stdout] 57 | let comp_sig = comp.signature.borrow(); [INFO] [stdout] ... [INFO] [stdout] 88 | )); [INFO] [stdout] 89 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/top_down_compile_control.rs:518:27 [INFO] [stdout] | [INFO] [stdout] 518 | let fal_prev = if let ir::Control::Empty(..) = *if_stmt.fbranch { [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/passes/top_down_compile_control.rs:522:9 [INFO] [stdout] | [INFO] [stdout] 522 | } 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] 518 ~ let fal_prev = match *if_stmt.fbranch { ir::Control::Empty(..) => { [INFO] [stdout] 519 | // If the false branch is empty, then all the prevs to this node will become prevs [INFO] [stdout] 520 | // to the next node. [INFO] [stdout] 521 | fal_transitions [INFO] [stdout] 522 ~ } _ => { [INFO] [stdout] 523 | self.calculate_states_recur( [INFO] [stdout] ... [INFO] [stdout] 527 | )? [INFO] [stdout] 528 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/unroll_bound.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 26 | if let Some(bound) = s.attributes.get(ir::NumAttr::Bound) { [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/passes/unroll_bound.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 33 | } 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] 26 ~ match s.attributes.get(ir::NumAttr::Bound) { Some(bound) => { [INFO] [stdout] 27 | let body = [INFO] [stdout] ... [INFO] [stdout] 32 | Ok(Action::change(nb)) [INFO] [stdout] 33 ~ } _ => { [INFO] [stdout] 34 | Ok(Action::Continue) [INFO] [stdout] 35 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/well_formed.rs:651:12 [INFO] [stdout] | [INFO] [stdout] 651 | if let Some(cgr) = &s.cond { [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/passes/well_formed.rs:668:9 [INFO] [stdout] | [INFO] [stdout] 668 | } else if !s.port.borrow().has_attribute(ir::BoolAttr::Stable) { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 651 ~ match &s.cond { Some(cgr) => { [INFO] [stdout] 652 | let cg = cgr.borrow(); [INFO] [stdout] ... [INFO] [stdout] 667 | self.active_comb.push(assigns); [INFO] [stdout] 668 ~ } _ => if !s.port.borrow().has_attribute(ir::BoolAttr::Stable) { [INFO] [stdout] 669 | let msg = s.attributes.copy_span().format(format!( [INFO] [stdout] ... [INFO] [stdout] 673 | log::warn!("{msg}"); [INFO] [stdout] 674 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/well_formed.rs:718:12 [INFO] [stdout] | [INFO] [stdout] 718 | if let Some(cgr) = &s.cond { [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/passes/well_formed.rs:735:9 [INFO] [stdout] | [INFO] [stdout] 735 | } else if !s.port.borrow().has_attribute(ir::BoolAttr::Stable) { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 718 ~ match &s.cond { Some(cgr) => { [INFO] [stdout] 719 | let cg = cgr.borrow(); [INFO] [stdout] ... [INFO] [stdout] 734 | self.active_comb.push(assigns); [INFO] [stdout] 735 ~ } _ => if !s.port.borrow().has_attribute(ir::BoolAttr::Stable) { [INFO] [stdout] 736 | let msg = s.attributes.copy_span().format(format!( [INFO] [stdout] ... [INFO] [stdout] 740 | log::warn!("{msg}"); [INFO] [stdout] 741 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/passes/wire_inliner.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 27 | if let ir::PortParent::Group(g) = &port.borrow().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/passes/wire_inliner.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 31 | } 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] 27 ~ match &port.borrow().parent { ir::PortParent::Group(g) => { [INFO] [stdout] 28 | let (go, done) = &map[&g.upgrade().borrow().name()]; [INFO] [stdout] 29 | let cell = if port.borrow().name == "go" { go } else { done }; [INFO] [stdout] 30 | Some(Rc::clone(cell)) [INFO] [stdout] 31 ~ } _ => { [INFO] [stdout] 32 | None [INFO] [stdout] 33 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/traversal/post_order.rs:81:20 [INFO] [stdout] | [INFO] [stdout] 81 | if let CellType::Component { name, .. } = [INFO] [stdout] | ____________________^ [INFO] [stdout] 82 | | &cell.borrow().prototype [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/traversal/post_order.rs:85:17 [INFO] [stdout] | [INFO] [stdout] 85 | } [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 &cell.borrow().prototype [INFO] [stdout] 82 ~ { CellType::Component { name, .. } => { [INFO] [stdout] 83 | graph.add_edge(rev_map[name], rev_map[&comp.name], ()); [INFO] [stdout] 84 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 68 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 13.24s [INFO] [stderr] Running `cargo check` to verify 2024 [INFO] [stderr] Checking calyx-opt v0.7.1 (/tmp/fixit) [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/analysis/live_range_analysis.rs:105:28 [INFO] [stdout] | [INFO] [stdout] 105 | fn transfer(&mut self, gen: Prop, kill: Prop) { [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 105 | fn transfer(&mut self, r#gen: Prop, kill: Prop) { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/analysis/live_range_analysis.rs:107:17 [INFO] [stdout] | [INFO] [stdout] 107 | self.or(gen); [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/analysis/live_range_analysis.rs:105:28 [INFO] [stdout] | [INFO] [stdout] 105 | fn transfer(&mut self, gen: Prop, kill: Prop) { [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 105 | fn transfer(&mut self, r#gen: Prop, kill: Prop) { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/analysis/live_range_analysis.rs:107:17 [INFO] [stdout] | [INFO] [stdout] 107 | self.or(gen); [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/analysis/live_range_analysis.rs:116:32 [INFO] [stdout] | [INFO] [stdout] 116 | fn transfer_set(&mut self, gen: TypeNameSet, kill: TypeNameSet) { [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 116 | fn transfer_set(&mut self, r#gen: TypeNameSet, kill: TypeNameSet) { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/analysis/live_range_analysis.rs:116:32 [INFO] [stdout] | [INFO] [stdout] 116 | fn transfer_set(&mut self, gen: TypeNameSet, kill: TypeNameSet) { [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 116 | fn transfer_set(&mut self, r#gen: TypeNameSet, kill: TypeNameSet) { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/analysis/live_range_analysis.rs:118:21 [INFO] [stdout] | [INFO] [stdout] 118 | self.or_set(gen); [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/analysis/live_range_analysis.rs:118:21 [INFO] [stdout] | [INFO] [stdout] 118 | self.or_set(gen); [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/analysis/live_range_analysis.rs:1127:34 [INFO] [stdout] | [INFO] [stdout] 1127 | (alive, gen, kill)| { [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 1127 | (alive, r#gen, kill)| { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/analysis/live_range_analysis.rs:1135:48 [INFO] [stdout] | [INFO] [stdout] 1135 | ... acc_gen.or(gen); [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/analysis/live_range_analysis.rs:1127:34 [INFO] [stdout] | [INFO] [stdout] 1127 | (alive, gen, kill)| { [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 1127 | (alive, r#gen, kill)| { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/analysis/live_range_analysis.rs:1323:34 [INFO] [stdout] | [INFO] [stdout] 1323 | (alive, gen, kill)| { [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 1323 | (alive, r#gen, kill)| { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/analysis/live_range_analysis.rs:1135:48 [INFO] [stdout] | [INFO] [stdout] 1135 | ... acc_gen.or(gen); [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/analysis/live_range_analysis.rs:1331:48 [INFO] [stdout] | [INFO] [stdout] 1331 | ... acc_gen.or(gen); [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/analysis/live_range_analysis.rs:1323:34 [INFO] [stdout] | [INFO] [stdout] 1323 | (alive, gen, kill)| { [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 1323 | (alive, r#gen, kill)| { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/analysis/live_range_analysis.rs:1331:48 [INFO] [stdout] | [INFO] [stdout] 1331 | ... acc_gen.or(gen); [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 8 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `calyx-opt` (lib) due to 9 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: aborting due to 8 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `calyx-opt` (lib test) due to 9 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" "9694457d8dc34d35d0983dedd6f765987e5666c135fe8d62d6cceee02c072531", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9694457d8dc34d35d0983dedd6f765987e5666c135fe8d62d6cceee02c072531", kill_on_drop: false }` [INFO] [stdout] 9694457d8dc34d35d0983dedd6f765987e5666c135fe8d62d6cceee02c072531