[INFO] fetching crate mers_lib 0.9.1... [INFO] checking mers_lib-0.9.1 against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] extracting crate mers_lib 0.9.1 into /workspace/builds/worker-4-tc2/source [INFO] validating manifest of crates.io crate mers_lib 0.9.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 mers_lib 0.9.1 [INFO] finished tweaking crates.io crate mers_lib 0.9.1 [INFO] tweaked toml for crates.io crate mers_lib 0.9.1 written to /workspace/builds/worker-4-tc2/source/Cargo.toml [INFO] crate crates.io crate mers_lib 0.9.1 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 3e733451c07891b38031589c5d0dddaa52fb095619d5753177cae48ead0c6780 [INFO] running `Command { std: "docker" "start" "-a" "3e733451c07891b38031589c5d0dddaa52fb095619d5753177cae48ead0c6780", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "3e733451c07891b38031589c5d0dddaa52fb095619d5753177cae48ead0c6780", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3e733451c07891b38031589c5d0dddaa52fb095619d5753177cae48ead0c6780", kill_on_drop: false }` [INFO] [stdout] 3e733451c07891b38031589c5d0dddaa52fb095619d5753177cae48ead0c6780 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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] ffa7562ad2f208f035a4e800cb468fe3293b592f4aef1f8497a6106717639388 [INFO] running `Command { std: "docker" "start" "-a" "ffa7562ad2f208f035a4e800cb468fe3293b592f4aef1f8497a6106717639388", 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] Checking line-span v0.1.5 [INFO] [stderr] Checking mers_lib v0.9.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 `mers_lib` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/errors/mod.rs [INFO] [stderr] * src/program/configs/mod.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/errors/mod.rs:362:18 [INFO] [stderr] | [INFO] [stderr] 362 | ($s:expr_2021, $e:expr_2021, $right:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/errors/mod.rs:362:32 [INFO] [stderr] | [INFO] [stderr] 362 | ($s:expr_2021, $e:expr_2021, $right:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/errors/mod.rs:362:46 [INFO] [stderr] | [INFO] [stderr] 362 | ($s:expr_2021, $e:expr_2021, $right:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/program/configs/mod.rs:68:14 [INFO] [stderr] | [INFO] [stderr] 68 | ($e:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error: aborting due to 4 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/program/configs/mod.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | pub mod gen; [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] = note: `--force-warn keyword-idents-2024` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/program/configs/with_base.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | 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/program/configs/with_math.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | 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/program/configs/with_stdio.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | gen::{function::func, OneOrNone}, [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/program/configs/with_string.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | gen::{function::func, AnyOrNone, IterToList, OneOf, OneOrNone}, [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/errors/mod.rs:362:21 [INFO] [stdout] | [INFO] [stdout] 362 | ($s:expr, $e:expr, $right:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 362 | ($s:expr_2021, $e:expr, $right:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/errors/mod.rs:362:30 [INFO] [stdout] | [INFO] [stdout] 362 | ($s:expr, $e:expr, $right:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 362 | ($s:expr, $e:expr_2021, $right:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/errors/mod.rs:362:43 [INFO] [stdout] | [INFO] [stdout] 362 | ($s:expr, $e:expr, $right:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 362 | ($s:expr, $e:expr, $right:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/program/configs/mod.rs:68:17 [INFO] [stdout] | [INFO] [stdout] 68 | ($e:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 68 | ($e:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/data/mod.rs:122:12 [INFO] [stdout] | [INFO] [stdout] 122 | if let Some(tuple) = self [INFO] [stdout] | _____________^ - [INFO] [stdout] | | ______________________________| [INFO] [stdout] 123 | || .get() [INFO] [stdout] | ||__________________- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 124 | | .as_any() [INFO] [stdout] 125 | | .downcast_ref::() [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/data/mod.rs:128:9 [INFO] [stdout] | [INFO] [stdout] 128 | } 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] 122 ~ match self [INFO] [stdout] 123 | .get() [INFO] [stdout] 124 | .as_any() [INFO] [stdout] 125 | .downcast_ref::() [INFO] [stdout] 126 ~ { Some(tuple) => { [INFO] [stdout] 127 | tuple.0.is_empty() [INFO] [stdout] 128 ~ } _ => { [INFO] [stdout] 129 | false [INFO] [stdout] 130 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/data/mod.rs:134:12 [INFO] [stdout] | [INFO] [stdout] 134 | if let Some(data) = self [INFO] [stdout] | _____________^ - [INFO] [stdout] | | _____________________________| [INFO] [stdout] 135 | || .get() [INFO] [stdout] | ||__________________- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 136 | | .as_any() [INFO] [stdout] 137 | | .downcast_ref::() [INFO] [stdout] 138 | | .filter(|v| v.len() == 1) [INFO] [stdout] 139 | | .and_then(|v| v.get(0)) [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/data/mod.rs:142:9 [INFO] [stdout] | [INFO] [stdout] 142 | } 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] 134 ~ match self [INFO] [stdout] 135 | .get() [INFO] [stdout] ... [INFO] [stdout] 139 | .and_then(|v| v.get(0)) [INFO] [stdout] 140 ~ { Some(data) => { [INFO] [stdout] 141 | Some(data.clone()) [INFO] [stdout] 142 ~ } _ => { [INFO] [stdout] 143 | None [INFO] [stdout] 144 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/data/mod.rs:375:16 [INFO] [stdout] | [INFO] [stdout] 375 | if let Some(t) = t.get() { [INFO] [stdout] | ^^^^^^^^^^^^^^------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/data/mod.rs:377:13 [INFO] [stdout] | [INFO] [stdout] 377 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 375 ~ match t.get() { Some(t) => { [INFO] [stdout] 376 | o.add_all(&t); [INFO] [stdout] 377 ~ } _ => { [INFO] [stdout] 378 | return None; [INFO] [stdout] 379 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/data/function.rs:123:24 [INFO] [stdout] | [INFO] [stdout] 123 | if let Some(v) = v.one_tuple_content() { [INFO] [stdout] | ^^^^^^^^^^^^^^--------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/data/function.rs:125:21 [INFO] [stdout] | [INFO] [stdout] 125 | } 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] 123 ~ match v.one_tuple_content() { Some(v) => { [INFO] [stdout] 124 | Some(Ok(v)) [INFO] [stdout] 125 ~ } _ => { [INFO] [stdout] 126 | None [INFO] [stdout] 127 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/data/function.rs:171:12 [INFO] [stdout] | [INFO] [stdout] 171 | if let Ok(t) = self.o(&Type::empty_tuple()) { [INFO] [stdout] | ^^^^^^^^^^^^---------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/data/function.rs:185:9 [INFO] [stdout] | [INFO] [stdout] 185 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 171 ~ match self.o(&Type::empty_tuple()) { Ok(t) => { [INFO] [stdout] 172 | let mut out = Type::empty(); [INFO] [stdout] ... [INFO] [stdout] 184 | Some(out) [INFO] [stdout] 185 ~ } _ => { [INFO] [stdout] 186 | None [INFO] [stdout] 187 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/data/function.rs:177:31 [INFO] [stdout] | [INFO] [stdout] 177 | } else if let Some(t) = t.0.first() { [INFO] [stdout] | ^^^^^^^^^^^^^^---^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/data/function.rs:179:21 [INFO] [stdout] | [INFO] [stdout] 179 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 177 ~ } else { match t.0.first() { Some(t) => { [INFO] [stdout] 178 | out.add_all(&t); [INFO] [stdout] 179 ~ } _ => {}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/data/function.rs:190:12 [INFO] [stdout] | [INFO] [stdout] 190 | if let Err(s) = &self.0 { [INFO] [stdout] | ^^^^^^^^^^^^^^------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/data/function.rs:206:9 [INFO] [stdout] | [INFO] [stdout] 206 | } 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] 190 ~ match &self.0 { Err(s) => { [INFO] [stdout] 191 | if let Some(other) = other.as_any().downcast_ref::() { [INFO] [stdout] ... [INFO] [stdout] 205 | } [INFO] [stdout] 206 ~ } _ => { [INFO] [stdout] 207 | false [INFO] [stdout] 208 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/data/function.rs:192:20 [INFO] [stdout] | [INFO] [stdout] 192 | if let Err(o) = &other.0 { [INFO] [stdout] | ^^^^^^^^^^^^^^------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/data/function.rs:200:17 [INFO] [stdout] | [INFO] [stdout] 200 | } 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] 192 ~ match &other.0 { Err(o) => { [INFO] [stdout] 193 | s.iter().all(|(si, so)| { [INFO] [stdout] ... [INFO] [stdout] 199 | }) [INFO] [stdout] 200 ~ } _ => { [INFO] [stdout] 201 | false [INFO] [stdout] 202 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/data/function.rs:212:16 [INFO] [stdout] | [INFO] [stdout] 212 | if let Err(s) = &target.0 { [INFO] [stdout] | ^^^^^^^^^^^^^^-------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/data/function.rs:215:13 [INFO] [stdout] | [INFO] [stdout] 215 | } 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] 212 ~ match &target.0 { Err(s) => { [INFO] [stdout] 213 | s.iter() [INFO] [stdout] 214 | .all(|(i, o)| self.o(i).is_ok_and(|r| r.is_included_in(o))) [INFO] [stdout] 215 ~ } _ => { [INFO] [stdout] 216 | false [INFO] [stdout] 217 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/data/reference.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | if let Some(func) = inner [INFO] [stdout] | ^ ----- 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] 19 | | .as_ref() [INFO] [stdout] 20 | | .as_any() [INFO] [stdout] 21 | | .downcast_ref::() [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/data/reference.rs:24:9 [INFO] [stdout] | [INFO] [stdout] 24 | } 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] 18 ~ match inner [INFO] [stdout] 19 | .as_ref() [INFO] [stdout] 20 | .as_any() [INFO] [stdout] 21 | .downcast_ref::() [INFO] [stdout] 22 ~ { Some(func) => { [INFO] [stdout] 23 | Some(func.get_as_type()) [INFO] [stdout] 24 ~ } _ => { [INFO] [stdout] 25 | None [INFO] [stdout] 26 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/data/reference.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 31 | if let Some(func) = inner [INFO] [stdout] | ^ ----- 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] 32 | | .as_mut() [INFO] [stdout] 33 | | .mut_any() [INFO] [stdout] 34 | | .downcast_mut::() [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/data/reference.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 31 ~ match inner [INFO] [stdout] 32 | .as_mut() [INFO] [stdout] 33 | .mut_any() [INFO] [stdout] 34 | .downcast_mut::() [INFO] [stdout] 35 ~ { Some(func) => { [INFO] [stdout] 36 | Some(func.run_mut(arg)) [INFO] [stdout] 37 ~ } _ => { [INFO] [stdout] 38 | None [INFO] [stdout] 39 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/data/reference.rs:55:24 [INFO] [stdout] | [INFO] [stdout] 55 | if let Some(v) = v.one_tuple_content() { [INFO] [stdout] | ^^^^^^^^^^^^^^--------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/data/reference.rs:57:21 [INFO] [stdout] | [INFO] [stdout] 57 | } 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] 55 ~ match v.one_tuple_content() { Some(v) => { [INFO] [stdout] 56 | Some(Ok(v)) [INFO] [stdout] 57 ~ } _ => { [INFO] [stdout] 58 | None [INFO] [stdout] 59 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/data/defs.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | if let Some(r) = target [INFO] [stdout] | _________^ - [INFO] [stdout] | | ______________________| [INFO] [stdout] 5 | || .get() [INFO] [stdout] | ||______________- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 6 | | .as_any() [INFO] [stdout] 7 | | .downcast_ref::() [INFO] [stdout] | |_____________________________________________________________^ [INFO] [stdout] ... [INFO] [stdout] 11 | from.get() [INFO] [stdout] | ---------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 23 | from.get() [INFO] [stdout] | ---------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/data/defs.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | } else if let (Some(from), Some(target)) = ( [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/data/defs.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | } else if let (Some(from), Some(target)) = ( [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/data/defs.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | } 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] 4 ~ match target [INFO] [stdout] 5 | .get() [INFO] [stdout] 6 | .as_any() [INFO] [stdout] 7 | .downcast_ref::() [INFO] [stdout] 8 ~ { Some(r) => { [INFO] [stdout] 9 | *r.0.write().unwrap() = from.clone(); [INFO] [stdout] 10 ~ } _ => { match ( [INFO] [stdout] 11 | from.get() [INFO] [stdout] ... [INFO] [stdout] 17 | .downcast_ref::(), [INFO] [stdout] 18 ~ ) { (Some(from), Some(target)) => { [INFO] [stdout] 19 | for (from, target) in from.0.iter().zip(target.0.iter()) { [INFO] [stdout] 20 | assign(from, target); [INFO] [stdout] 21 | } [INFO] [stdout] 22 ~ } _ => { match ( [INFO] [stdout] 23 | from.get() [INFO] [stdout] ... [INFO] [stdout] 29 | .downcast_ref::(), [INFO] [stdout] 30 ~ ) { (Some(from), Some(target)) => { [INFO] [stdout] 31 | for ((_, from), (_, target)) in from.0.iter().zip(target.0.iter()) { [INFO] [stdout] 32 | assign(from, target); [INFO] [stdout] 33 | } [INFO] [stdout] 34 ~ } _ => { [INFO] [stdout] 35 | unreachable!("invalid assignment") [INFO] [stdout] 36 ~ }}}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/parsing/statements.rs:109:24 [INFO] [stdout] | [INFO] [stdout] 109 | let mut first = if let Some(s) = parse_no_chain(src, srca)? { [INFO] [stdout] | ^^^^^^^^^^^^^^-------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/parsing/statements.rs:111:5 [INFO] [stdout] | [INFO] [stdout] 111 | } 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] 109 ~ let mut first = match parse_no_chain(src, srca)? { Some(s) => { [INFO] [stdout] 110 | s [INFO] [stdout] 111 ~ } _ => { [INFO] [stdout] 112 | return Ok(None); [INFO] [stdout] 113 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/parsing/statements.rs:249:19 [INFO] [stdout] | [INFO] [stdout] 249 | } else if let Some(s) = parse(src, srca)? { [INFO] [stdout] | ^^^^^^^^^^^^^^----------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/parsing/statements.rs:251:9 [INFO] [stdout] | [INFO] [stdout] 251 | } 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] 249 ~ } else { match parse(src, srca)? { Some(s) => { [INFO] [stdout] 250 | statements.push(s); [INFO] [stdout] 251 ~ } _ => { [INFO] [stdout] 252 | // EOF [INFO] [stdout] 253 | break; [INFO] [stdout] 254 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/gen/mod.rs:47:24 [INFO] [stdout] | [INFO] [stdout] 47 | if let Some(va) = v1 { [INFO] [stdout] | ^^^^^^^^^^^^^^^-- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/gen/mod.rs:49:21 [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 v1 { Some(va) => { [INFO] [stdout] 48 | f(Some(Self(Some(va)))) [INFO] [stdout] 49 ~ } _ => { [INFO] [stdout] 50 | f(None) [INFO] [stdout] 51 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/gen/mod.rs:67:12 [INFO] [stdout] | [INFO] [stdout] 67 | if let Some(v) = self.0 { [INFO] [stdout] | ^^^^^^^^^^^^^^------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/gen/mod.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 self.0 { Some(v) => { [INFO] [stdout] 68 | Data::one_tuple(v.represent()) [INFO] [stdout] 69 ~ } _ => { [INFO] [stdout] 70 | Data::empty_tuple() [INFO] [stdout] 71 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/gen/mod.rs:93:20 [INFO] [stdout] | [INFO] [stdout] 93 | if let Some(va) = v1 { [INFO] [stdout] | ^^^^^^^^^^^^^^^-- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/gen/mod.rs:95:17 [INFO] [stdout] | [INFO] [stdout] 95 | } 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] 93 ~ match v1 { Some(va) => { [INFO] [stdout] 94 | f(Some(Self(Some(va)))) [INFO] [stdout] 95 ~ } _ => { [INFO] [stdout] 96 | f(None) [INFO] [stdout] 97 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/gen/mod.rs:109:12 [INFO] [stdout] | [INFO] [stdout] 109 | if let Some(v) = self.0 { [INFO] [stdout] | ^^^^^^^^^^^^^^------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/gen/mod.rs:111:9 [INFO] [stdout] | [INFO] [stdout] 111 | } 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] 109 ~ match self.0 { Some(v) => { [INFO] [stdout] 110 | v.represent() [INFO] [stdout] 111 ~ } _ => { [INFO] [stdout] 112 | Data::empty_tuple() [INFO] [stdout] 113 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/gen/mod.rs:132:16 [INFO] [stdout] | [INFO] [stdout] 132 | if let Some(v) = v { [INFO] [stdout] | ^^^^^^^^^^^^^^- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/gen/mod.rs:134:13 [INFO] [stdout] | [INFO] [stdout] 134 | } 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] 132 ~ match v { Some(v) => { [INFO] [stdout] 133 | f(Some(OneOf::A(v))) [INFO] [stdout] 134 ~ } _ => { [INFO] [stdout] 135 | B::try_represent(d, |v| { [INFO] [stdout] ... [INFO] [stdout] 141 | }) [INFO] [stdout] 142 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/gen/mod.rs:136:24 [INFO] [stdout] | [INFO] [stdout] 136 | if let Some(v) = v { [INFO] [stdout] | ^^^^^^^^^^^^^^- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/gen/mod.rs:138:21 [INFO] [stdout] | [INFO] [stdout] 138 | } 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] 136 ~ match v { Some(v) => { [INFO] [stdout] 137 | f(Some(OneOf::B(v))) [INFO] [stdout] 138 ~ } _ => { [INFO] [stdout] 139 | f(None) [INFO] [stdout] 140 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/gen/mod.rs:211:20 [INFO] [stdout] | [INFO] [stdout] 211 | if let Some(va) = v1 { [INFO] [stdout] | ^^^^^^^^^^^^^^^-- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/gen/mod.rs:213:17 [INFO] [stdout] | [INFO] [stdout] 213 | } 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] 211 ~ match v1 { Some(va) => { [INFO] [stdout] 212 | f(Some((va,))) [INFO] [stdout] 213 ~ } _ => { [INFO] [stdout] 214 | f(None) [INFO] [stdout] 215 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/gen/mod.rs:248:20 [INFO] [stdout] | [INFO] [stdout] 248 | if let Some(va) = v1 { [INFO] [stdout] | ^^^^^^^^^^^^^^^-- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/gen/mod.rs:256:17 [INFO] [stdout] | [INFO] [stdout] 256 | } 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] 248 ~ match v1 { Some(va) => { [INFO] [stdout] 249 | B::try_represent(v.0[1].get().as_ref(), |v2| { [INFO] [stdout] ... [INFO] [stdout] 255 | }) [INFO] [stdout] 256 ~ } _ => { [INFO] [stdout] 257 | f(None) [INFO] [stdout] 258 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/gen/mod.rs:250:28 [INFO] [stdout] | [INFO] [stdout] 250 | if let Some(vb) = v2 { [INFO] [stdout] | ^^^^^^^^^^^^^^^-- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/gen/mod.rs:252:25 [INFO] [stdout] | [INFO] [stdout] 252 | } 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] 250 ~ match v2 { Some(vb) => { [INFO] [stdout] 251 | f(Some((va, vb))) [INFO] [stdout] 252 ~ } _ => { [INFO] [stdout] 253 | f(None) [INFO] [stdout] 254 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/gen/mod.rs:294:20 [INFO] [stdout] | [INFO] [stdout] 294 | if let Some(va) = v1 { [INFO] [stdout] | ^^^^^^^^^^^^^^^-- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/gen/mod.rs:308:17 [INFO] [stdout] | [INFO] [stdout] 308 | } 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] 294 ~ match v1 { Some(va) => { [INFO] [stdout] 295 | B::try_represent(v.0[1].get().as_ref(), |v2| { [INFO] [stdout] ... [INFO] [stdout] 307 | }) [INFO] [stdout] 308 ~ } _ => { [INFO] [stdout] 309 | f(None) [INFO] [stdout] 310 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/gen/mod.rs:296:28 [INFO] [stdout] | [INFO] [stdout] 296 | if let Some(vb) = v2 { [INFO] [stdout] | ^^^^^^^^^^^^^^^-- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/gen/mod.rs:304:25 [INFO] [stdout] | [INFO] [stdout] 304 | } 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] 296 ~ match v2 { Some(vb) => { [INFO] [stdout] 297 | C::try_represent(v.0[2].get().as_ref(), |v3| { [INFO] [stdout] ... [INFO] [stdout] 303 | }) [INFO] [stdout] 304 ~ } _ => { [INFO] [stdout] 305 | f(None) [INFO] [stdout] 306 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/gen/mod.rs:298:36 [INFO] [stdout] | [INFO] [stdout] 298 | ... if let Some(vc) = v3 { [INFO] [stdout] | ^^^^^^^^^^^^^^^-- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/gen/mod.rs:300:33 [INFO] [stdout] | [INFO] [stdout] 300 | ... } 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] 298 ~ match v3 { Some(vc) => { [INFO] [stdout] 299 | f(Some((va, vb, vc))) [INFO] [stdout] 300 ~ } _ => { [INFO] [stdout] 301 | f(None) [INFO] [stdout] 302 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_base.rs:38:36 [INFO] [stdout] | [INFO] [stdout] 38 | ... if let Some(arg) = arg_ref.dereference() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^--------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_base.rs:54:33 [INFO] [stdout] | [INFO] [stdout] 54 | ... } 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] 38 ~ match arg_ref.dereference() { Some(arg) => { [INFO] [stdout] 39 | let func = &t.0[1]; [INFO] [stdout] ... [INFO] [stdout] 53 | } [INFO] [stdout] 54 ~ } _ => { [INFO] [stdout] 55 | return Err(format!("Arguments must be (reference, function), but {arg_ref} isn't a reference").into()); [INFO] [stdout] 56 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_base.rs:41:44 [INFO] [stdout] | [INFO] [stdout] 41 | ... if let Some(f) = func_t.executable() { [INFO] [stdout] | ^^^^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_base.rs:50:41 [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] 41 ~ match func_t.executable() { Some(f) => { [INFO] [stdout] 42 | match f.o(&arg) { [INFO] [stdout] ... [INFO] [stdout] 49 | } [INFO] [stdout] 50 ~ } _ => { [INFO] [stdout] 51 | return Err(format!("Arguments must be (reference, function)").into()); [INFO] [stdout] 52 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_base.rs:110:52 [INFO] [stdout] | [INFO] [stdout] 110 | Ok(Data::new(data::int::Int(if let Some(t) = a.get().as_any().downcast_ref::() { [INFO] [stdout] | ^^^^^^^^^^^^^^-------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 111 | t.0.len() as _ [INFO] [stdout] 112 | } else if let Some(s) = a.get().as_any().downcast_ref::() { [INFO] [stdout] | ------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 113 | s.0.len() as _ [INFO] [stdout] 114 | } else if let Some(i) = a.get().iterable() { [INFO] [stdout] | ------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_base.rs:112:21 [INFO] [stdout] | [INFO] [stdout] 112 | } else if let Some(s) = a.get().as_any().downcast_ref::() { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_base.rs:114:21 [INFO] [stdout] | [INFO] [stdout] 114 | } else if let Some(i) = a.get().iterable() { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_base.rs:117:21 [INFO] [stdout] | [INFO] [stdout] 117 | } 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] 110 ~ Ok(Data::new(data::int::Int(match a.get().as_any().downcast_ref::() { Some(t) => { [INFO] [stdout] 111 | t.0.len() as _ [INFO] [stdout] 112 ~ } _ => { match a.get().as_any().downcast_ref::() { Some(s) => { [INFO] [stdout] 113 | s.0.len() as _ [INFO] [stdout] 114 ~ } _ => { match a.get().iterable() { Some(i) => { [INFO] [stdout] 115 | // -1 if more elements than isize can represent [INFO] [stdout] 116 | i.take(isize::MAX as usize + 1).count().try_into().unwrap_or(-1) [INFO] [stdout] 117 ~ } _ => { [INFO] [stdout] 118 | return Err("called len on {a:?}, which isn't a tuple or a string".into()); [INFO] [stdout] 119 ~ }}}}}}))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_base.rs:138:54 [INFO] [stdout] | [INFO] [stdout] 138 | Ok(Data::new(data::bool::Bool(if let Some(mut i) = a.get().iterable() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_base.rs:153:21 [INFO] [stdout] | [INFO] [stdout] 153 | } 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] 138 ~ Ok(Data::new(data::bool::Bool(match a.get().iterable() { Some(mut i) => { [INFO] [stdout] 139 | if let Some(f) = i.next() { [INFO] [stdout] ... [INFO] [stdout] 152 | } [INFO] [stdout] 153 ~ } _ => { [INFO] [stdout] 154 | false [INFO] [stdout] 155 ~ }}))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_base.rs:139:28 [INFO] [stdout] | [INFO] [stdout] 139 | if let Some(f) = i.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^-------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_base.rs:150:25 [INFO] [stdout] | [INFO] [stdout] 150 | } 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] 139 ~ match i.next() { Some(f) => { [INFO] [stdout] 140 | let f = f?; [INFO] [stdout] ... [INFO] [stdout] 149 | o [INFO] [stdout] 150 ~ } _ => { [INFO] [stdout] 151 | false [INFO] [stdout] 152 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_base.rs:177:45 [INFO] [stdout] | [INFO] [stdout] 177 | out: Ok(Arc::new(|a, _i| if let Some(v) = a.dereference() { Ok(v) } else { Err(format!("cannot dereference type {a}").int... [INFO] [stdout] | ^^^^^^^^^^^^^^--------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_base.rs:177:83 [INFO] [stdout] | [INFO] [stdout] 177 | ... out: Ok(Arc::new(|a, _i| if let Some(v) = a.dereference() { Ok(v) } else { Err(format!("cannot dereference type {a}").into()) [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 177 ~ out: Ok(Arc::new(|a, _i| match a.dereference() { Some(v) => { Ok(v) } _ => { Err(format!("cannot dereference type {a}").into()) [INFO] [stdout] 178 ~ }})), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_base.rs:180:24 [INFO] [stdout] | [INFO] [stdout] 180 | if let Some(r) = a [INFO] [stdout] | _________________________^ - [INFO] [stdout] | | ______________________________________| [INFO] [stdout] 181 | || .get() [INFO] [stdout] | ||______________________________- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 182 | | .as_any() [INFO] [stdout] 183 | | .downcast_ref::() [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/program/configs/with_base.rs:186:21 [INFO] [stdout] | [INFO] [stdout] 186 | } 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] 180 ~ match a [INFO] [stdout] 181 | .get() [INFO] [stdout] 182 | .as_any() [INFO] [stdout] 183 | .downcast_ref::() [INFO] [stdout] 184 ~ { Some(r) => { [INFO] [stdout] 185 | Ok(r.0.write().unwrap().clone()) [INFO] [stdout] 186 ~ } _ => { [INFO] [stdout] 187 | Err("called deref on non-reference".into()) [INFO] [stdout] 188 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_get.rs:32:32 [INFO] [stdout] | [INFO] [stdout] 32 | ... if let Some(v) = t.0[0].get() { [INFO] [stdout] | ^^^^^^^^^^^^^^------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_get.rs:34:29 [INFO] [stdout] | [INFO] [stdout] 34 | ... } 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] 32 ~ match t.0[0].get() { Some(v) => { [INFO] [stdout] 33 | out.add_all(&v); [INFO] [stdout] 34 ~ } _ => { [INFO] [stdout] 35 | return Err(format!( [INFO] [stdout] ... [INFO] [stdout] 38 | .into()); [INFO] [stdout] 39 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_get.rs:51:24 [INFO] [stdout] | [INFO] [stdout] 51 | if let (Some(v), Some(i)) = (a.get(0), a.get(1)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^-------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_get.rs:68:21 [INFO] [stdout] | [INFO] [stdout] 68 | } 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] 51 ~ match (a.get(0), a.get(1)) { (Some(v), Some(i)) => { [INFO] [stdout] 52 | let (v, i2) = (v?, i?); [INFO] [stdout] ... [INFO] [stdout] 67 | o [INFO] [stdout] 68 ~ } _ => { [INFO] [stdout] 69 | Err("get called with less than 2 args".into()) [INFO] [stdout] 70 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_get.rs:53:36 [INFO] [stdout] | [INFO] [stdout] 53 | let o = if let Some(i3) = i2.get().as_any().downcast_ref::() [INFO] [stdout] | ^^^^^^^^^^^^^^^--------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_get.rs:64:25 [INFO] [stdout] | [INFO] [stdout] 64 | } 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] 53 ~ let o = match i2.get().as_any().downcast_ref::() [INFO] [stdout] 54 ~ { Some(i3) => { [INFO] [stdout] 55 | if let Ok(i) = i3.0.try_into() { [INFO] [stdout] ... [INFO] [stdout] 63 | } [INFO] [stdout] 64 ~ } _ => { [INFO] [stdout] 65 | Err("get called with non-int index".into()) [INFO] [stdout] 66 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_get.rs:56:36 [INFO] [stdout] | [INFO] [stdout] 56 | ... if let Some(v) = v.get().get(i) { [INFO] [stdout] | ^^^^^^^^^^^^^^-------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_get.rs:58:33 [INFO] [stdout] | [INFO] [stdout] 58 | ... } 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] 56 ~ match v.get().get(i) { Some(v) => { [INFO] [stdout] 57 | Ok(Data::one_tuple(v?)) [INFO] [stdout] 58 ~ } _ => { [INFO] [stdout] 59 | Ok(Data::empty_tuple()) [INFO] [stdout] 60 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_iters.rs:55:32 [INFO] [stdout] | [INFO] [stdout] 55 | ... if let (Some(v), Some(f)) = (tuple.0.get(0), tuple.0.get(1)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^-------^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_iters.rs:77:29 [INFO] [stdout] | [INFO] [stdout] 77 | ... } 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] 55 ~ match (tuple.0.get(0), tuple.0.get(1)) { (Some(v), Some(f)) => { [INFO] [stdout] 56 | if let (Some(iter), Some(f)) = ( [INFO] [stdout] ... [INFO] [stdout] 76 | } [INFO] [stdout] 77 ~ } _ => { [INFO] [stdout] 78 | return Err(format!( [INFO] [stdout] 79 | "for_each called on tuple with len < 2" [INFO] [stdout] 80 | ).into()); [INFO] [stdout] 81 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_iters.rs:56:36 [INFO] [stdout] | [INFO] [stdout] 56 | ... if let (Some(iter), Some(f)) = ( [INFO] [stdout] | __________________________^ - [INFO] [stdout] | |______________________________________________________| [INFO] [stdout] 57 | || ... v.iterable(), [INFO] [stdout] 58 | || ... f.types [INFO] [stdout] 59 | || ... .iter() [INFO] [stdout] ... || [INFO] [stdout] 63 | || ... .collect::>>(), [INFO] [stdout] 64 | || ... ) { [INFO] [stdout] | ||_______________________^ 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/program/configs/with_iters.rs:71:33 [INFO] [stdout] | [INFO] [stdout] 71 | ... } 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] 56 ~ match ( [INFO] [stdout] 57 | v.iterable(), [INFO] [stdout] ... [INFO] [stdout] 63 | .collect::>>(), [INFO] [stdout] 64 ~ ) { (Some(iter), Some(f)) => { [INFO] [stdout] 65 | for f in f { [INFO] [stdout] ... [INFO] [stdout] 70 | } [INFO] [stdout] 71 ~ } _ => { [INFO] [stdout] 72 | return Err(format!( [INFO] [stdout] ... [INFO] [stdout] 75 | ).into()); [INFO] [stdout] 76 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_iters.rs:89:24 [INFO] [stdout] | [INFO] [stdout] 89 | if let Some(tuple) = a.get().as_any().downcast_ref::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^-------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_iters.rs:105:21 [INFO] [stdout] | [INFO] [stdout] 105 | } 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] 89 ~ match a.get().as_any().downcast_ref::() { Some(tuple) => { [INFO] [stdout] 90 | if let (Some(v), Some(f)) = (tuple.get(0), tuple.get(1)) { [INFO] [stdout] ... [INFO] [stdout] 104 | } [INFO] [stdout] 105 ~ } _ => { [INFO] [stdout] 106 | return Err("for_each called on non-tuple".into()); [INFO] [stdout] 107 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_iters.rs:91:32 [INFO] [stdout] | [INFO] [stdout] 91 | ... if let Some(iter) = v.get().iterable() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_iters.rs:97:29 [INFO] [stdout] | [INFO] [stdout] 97 | ... } 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] 91 ~ match v.get().iterable() { Some(iter) => { [INFO] [stdout] 92 | let f = f.get(); [INFO] [stdout] ... [INFO] [stdout] 96 | Ok(Data::empty_tuple()) [INFO] [stdout] 97 ~ } _ => { [INFO] [stdout] 98 | return Err( [INFO] [stdout] 99 | "for_each called on tuple not containing iterable and function (not an iterable)".into() [INFO] [stdout] 100| ); [INFO] [stdout] 101~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_iters.rs:137:35 [INFO] [stdout] | [INFO] [stdout] 137 | let data = if let Some(a) = a.iterable() { [INFO] [stdout] | ^^^^^^^^^^^^^^------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_iters.rs:139:21 [INFO] [stdout] | [INFO] [stdout] 139 | } 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] 137 ~ let data = match a.iterable() { Some(a) => { [INFO] [stdout] 138 | a [INFO] [stdout] 139 ~ } _ => { [INFO] [stdout] 140 | return Err(format!("cannot call enumerate on non-iterable type {a}.").into()); [INFO] [stdout] 141 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_iters.rs:154:35 [INFO] [stdout] | [INFO] [stdout] 154 | let data = if let Some(a) = a.iterable() { [INFO] [stdout] | ^^^^^^^^^^^^^^------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_iters.rs:156:21 [INFO] [stdout] | [INFO] [stdout] 156 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 154 ~ let data = match a.iterable() { Some(a) => { [INFO] [stdout] 155 | a [INFO] [stdout] 156 ~ } _ => { [INFO] [stdout] 157 | return Err(format!("cannot call chain on non-iterable type {a}.").into()); [INFO] [stdout] 158 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_iters.rs:184:20 [INFO] [stdout] | [INFO] [stdout] 184 | if let Some(v) = t.0[0].iterable() { [INFO] [stdout] | ^^^^^^^^^^^^^^----------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_iters.rs:192:17 [INFO] [stdout] | [INFO] [stdout] 192 | } 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] 184 ~ match t.0[0].iterable() { Some(v) => { [INFO] [stdout] 185 | for f in t.0[1].types.iter() { [INFO] [stdout] ... [INFO] [stdout] 191 | } [INFO] [stdout] 192 ~ } _ => { [INFO] [stdout] 193 | return Err(format!( [INFO] [stdout] ... [INFO] [stdout] 196 | .into()); [INFO] [stdout] 197 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_iters.rs:186:28 [INFO] [stdout] | [INFO] [stdout] 186 | if let Some(f) = f.executable() { [INFO] [stdout] | ^^^^^^^^^^^^^^-------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_iters.rs:188:25 [INFO] [stdout] | [INFO] [stdout] 188 | } 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] 186 ~ match f.executable() { Some(f) => { [INFO] [stdout] 187 | out.add(Arc::new(IterT::new(func(f), v.clone())?)); [INFO] [stdout] 188 ~ } _ => { [INFO] [stdout] 189 | return Err(format!("cannot call {name} on tuple that isn't (_, function): got {} instead of function as part of {a}", t.0[1]).into()); [INFO] [stdout] 190 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_iters.rs:207:16 [INFO] [stdout] | [INFO] [stdout] 207 | if let Some(tuple) = a.get().as_any().downcast_ref::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^-------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_iters.rs:213:13 [INFO] [stdout] | [INFO] [stdout] 213 | } 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] 207 ~ match a.get().as_any().downcast_ref::() { Some(tuple) => { [INFO] [stdout] 208 | if let (Some(v), Some(f)) = (tuple.get(0), tuple.get(1)) { [INFO] [stdout] ... [INFO] [stdout] 212 | } [INFO] [stdout] 213 ~ } _ => { [INFO] [stdout] 214 | return Err("{name} called on non-tuple".into()); [INFO] [stdout] 215 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_iters.rs:238:20 [INFO] [stdout] | [INFO] [stdout] 238 | if let Some(v) = t.0[0].iterable() { [INFO] [stdout] | ^^^^^^^^^^^^^^----------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_iters.rs:246:17 [INFO] [stdout] | [INFO] [stdout] 246 | } 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] 238 ~ match t.0[0].iterable() { Some(v) => { [INFO] [stdout] 239 | for f in t.0[1].types.iter() { [INFO] [stdout] ... [INFO] [stdout] 245 | } [INFO] [stdout] 246 ~ } _ => { [INFO] [stdout] 247 | return Err(format!( [INFO] [stdout] ... [INFO] [stdout] 250 | .into()); [INFO] [stdout] 251 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_iters.rs:263:16 [INFO] [stdout] | [INFO] [stdout] 263 | if let Some(tuple) = a.get().as_any().downcast_ref::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^-------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_iters.rs:273:13 [INFO] [stdout] | [INFO] [stdout] 273 | } 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] 263 ~ match a.get().as_any().downcast_ref::() { Some(tuple) => { [INFO] [stdout] 264 | if let (Some(v), Some(f)) = (tuple.get(0), tuple.get(1)) { [INFO] [stdout] ... [INFO] [stdout] 272 | } [INFO] [stdout] 273 ~ } _ => { [INFO] [stdout] 274 | return Err("{name} called on non-tuple".into()); [INFO] [stdout] 275 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_iters.rs:265:24 [INFO] [stdout] | [INFO] [stdout] 265 | if let Some(f) = f.get().as_any().downcast_ref::() { [INFO] [stdout] | ^^^^^^^^^^^^^^-------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_iters.rs:267:21 [INFO] [stdout] | [INFO] [stdout] 267 | } 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] 265 ~ match f.get().as_any().downcast_ref::() { Some(f) => { [INFO] [stdout] 266 | Ok(Data::new(Iter(fd(f), v.clone()))) [INFO] [stdout] 267 ~ } _ => { [INFO] [stdout] 268 | return Err("{name} called on tuple not containing function".into()); [INFO] [stdout] 269 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_iters.rs:426:20 [INFO] [stdout] | [INFO] [stdout] 426 | if let Some(v) = f.o(&data)?.one_tuple_possible_content() { [INFO] [stdout] | ^^^^^^^^^^^^^^---------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_iters.rs:428:17 [INFO] [stdout] | [INFO] [stdout] 428 | } 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] 426 ~ match f.o(&data)?.one_tuple_possible_content() { Some(v) => { [INFO] [stdout] 427 | v [INFO] [stdout] 428 ~ } _ => { [INFO] [stdout] 429 | return Err( [INFO] [stdout] 430 | format!("Iter:FilterMap, but function doesn't return ()/(t).").into(), [INFO] [stdout] 431 | ); [INFO] [stdout] 432 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_iters.rs:435:20 [INFO] [stdout] | [INFO] [stdout] 435 | if let Some(t) = f.o(&data)?.one_tuple_possible_content() { [INFO] [stdout] | ^^^^^^^^^^^^^^---------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_iters.rs:437:17 [INFO] [stdout] | [INFO] [stdout] 437 | } 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] 435 ~ match f.o(&data)?.one_tuple_possible_content() { Some(t) => { [INFO] [stdout] 436 | t [INFO] [stdout] 437 ~ } _ => { [INFO] [stdout] 438 | return Err( [INFO] [stdout] 439 | format!("Iter:MapWhile, but function doesn't return ()/(t).").into(), [INFO] [stdout] 440 | ); [INFO] [stdout] 441 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_iters.rs:449:20 [INFO] [stdout] | [INFO] [stdout] 449 | if let Some(out) = data.iterable() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^--------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_iters.rs:451:17 [INFO] [stdout] | [INFO] [stdout] 451 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 449 ~ match data.iterable() { Some(out) => { [INFO] [stdout] 450 | out [INFO] [stdout] 451 ~ } _ => { [INFO] [stdout] 452 | return Err(format!( [INFO] [stdout] ... [INFO] [stdout] 455 | .into()); [INFO] [stdout] 456 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_iters.rs:531:16 [INFO] [stdout] | [INFO] [stdout] 531 | if let Some(iter_over) = a.iterable() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_iters.rs:537:13 [INFO] [stdout] | [INFO] [stdout] 537 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 531 ~ match a.iterable() { Some(iter_over) => { [INFO] [stdout] 532 | if iter_over.is_included_in_single(&iter_type) { [INFO] [stdout] ... [INFO] [stdout] 536 | } [INFO] [stdout] 537 ~ } _ => { [INFO] [stdout] 538 | Err(format!("Cannot call function {name} on non-iterable type {a}.").into()) [INFO] [stdout] 539 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_list.rs:47:44 [INFO] [stdout] | [INFO] [stdout] 47 | ... if let Some(t) = t.0[0].dereference() { [INFO] [stdout] | ^^^^^^^^^^^^^^-------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_list.rs:57:41 [INFO] [stdout] | [INFO] [stdout] 57 | ... } 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 t.0[0].dereference() { Some(t) => { [INFO] [stdout] 48 | for t in t.types.iter() { [INFO] [stdout] ... [INFO] [stdout] 56 | } [INFO] [stdout] 57 ~ } _ => { [INFO] [stdout] 58 | return Err(format!( [INFO] [stdout] 59 | "get_mut: first type in tuple {t} isn't a reference." [INFO] [stdout] 60 | ).into()); [INFO] [stdout] 61 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_list.rs:107:28 [INFO] [stdout] | [INFO] [stdout] 107 | if let Some(a) = a.dereference() { [INFO] [stdout] | ^^^^^^^^^^^^^^--------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_list.rs:122:25 [INFO] [stdout] | [INFO] [stdout] 122 | } 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 a.dereference() { Some(a) => { [INFO] [stdout] 108 | let mut out = Type::empty(); [INFO] [stdout] ... [INFO] [stdout] 121 | ])) [INFO] [stdout] 122 ~ } _ => { [INFO] [stdout] 123 | return Err(format!("pop: not a reference: {a}").into()); [INFO] [stdout] 124 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_list.rs:164:36 [INFO] [stdout] | [INFO] [stdout] 164 | ... if let Some(a) = a.dereference() { [INFO] [stdout] | ^^^^^^^^^^^^^^--------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_list.rs:178:33 [INFO] [stdout] | [INFO] [stdout] 178 | ... } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 164 ~ match a.dereference() { Some(a) => { [INFO] [stdout] 165 | for t in a.types.iter() { [INFO] [stdout] ... [INFO] [stdout] 177 | } [INFO] [stdout] 178 ~ } _ => { [INFO] [stdout] 179 | return Err(format!( [INFO] [stdout] 180 | "push: first element in tuple not a reference: {a}" [INFO] [stdout] 181 | ).into()); [INFO] [stdout] 182 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_list.rs:218:28 [INFO] [stdout] | [INFO] [stdout] 218 | if let Some(v) = a.iterable() { [INFO] [stdout] | ^^^^^^^^^^^^^^------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_list.rs:220:25 [INFO] [stdout] | [INFO] [stdout] 220 | } 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] 218 ~ match a.iterable() { Some(v) => { [INFO] [stdout] 219 | Ok(Type::new(ListT(v))) [INFO] [stdout] 220 ~ } _ => { [INFO] [stdout] 221 | Err(format!( [INFO] [stdout] 222 | "cannot iterate over type {a}" [INFO] [stdout] 223 | ).into()) [INFO] [stdout] 224 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_list.rs:227:28 [INFO] [stdout] | [INFO] [stdout] 227 | if let Some(i) = a.get().iterable() { [INFO] [stdout] | ^^^^^^^^^^^^^^------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_list.rs:229:25 [INFO] [stdout] | [INFO] [stdout] 229 | } 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] 227 ~ match a.get().iterable() { Some(i) => { [INFO] [stdout] 228 | Ok(Data::new(List(i.map(|v| Ok::<_, CheckError>(Arc::new(RwLock::new(v?)))).collect::>()?))) [INFO] [stdout] 229 ~ } _ => { [INFO] [stdout] 230 | Err("as_list called on non-iterable".into()) [INFO] [stdout] 231 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_math.rs:330:16 [INFO] [stdout] | [INFO] [stdout] 330 | if let Some(a) = a.iterable() { [INFO] [stdout] | ^^^^^^^^^^^^^^------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_math.rs:350:13 [INFO] [stdout] | [INFO] [stdout] 350 | } 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] 330 ~ match a.iterable() { Some(a) => { [INFO] [stdout] 331 | let int_type = Type::new(data::int::IntT); [INFO] [stdout] ... [INFO] [stdout] 349 | } [INFO] [stdout] 350 ~ } _ => { [INFO] [stdout] 351 | Err(format!("argument passed to {func_name} must be an iterator").into()) [INFO] [stdout] 352 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_multithreading.rs:38:28 [INFO] [stdout] | [INFO] [stdout] 38 | if let Some(f) = t.executable() { [INFO] [stdout] | ^^^^^^^^^^^^^^-------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_multithreading.rs:43:25 [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] 38 ~ match t.executable() { Some(f) => { [INFO] [stdout] 39 | match f.o(&Type::empty_tuple()) { [INFO] [stdout] ... [INFO] [stdout] 42 | } [INFO] [stdout] 43 ~ } _ => { [INFO] [stdout] 44 | return Err(format!("thread: argument wasn't a function").into()); [INFO] [stdout] 45 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_stdio.rs:56:27 [INFO] [stdout] | [INFO] [stdout] 56 | Ok(if let Some(Ok(line)) = std::io::stdin().lines().next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_stdio.rs:58:21 [INFO] [stdout] | [INFO] [stdout] 58 | } 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] 56 ~ Ok(match std::io::stdin().lines().next() { Some(Ok(line)) => { [INFO] [stdout] 57 | OneOrNone(Some(line)) [INFO] [stdout] 58 ~ } _ => { [INFO] [stdout] 59 | OneOrNone(None) [INFO] [stdout] 60 ~ }}) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/parsed/custom_type.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 41 | if let Err(s) = &self.source { [INFO] [stdout] | ^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/parsed/custom_type.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] 41 ~ match &self.source { Err(s) => { [INFO] [stdout] 42 | vec![s.as_ref()] [INFO] [stdout] 43 ~ } _ => { [INFO] [stdout] 44 | vec![] [INFO] [stdout] 45 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/parsed/if.rs:29:26 [INFO] [stdout] | [INFO] [stdout] 29 | on_false: if let Some(v) = &self.on_false { [INFO] [stdout] | ^^^^^^^^^^^^^^^------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/parsed/if.rs:31:13 [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] 29 ~ on_false: match &self.on_false { Some(v) => { [INFO] [stdout] 30 | Some(v.compile(info, comp)?) [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/program/parsed/if.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 40 | if let Some(on_false) = &self.on_false { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/parsed/if.rs:46:9 [INFO] [stdout] | [INFO] [stdout] 46 | } 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.on_false { Some(on_false) => { [INFO] [stdout] 41 | vec![ [INFO] [stdout] ... [INFO] [stdout] 45 | ] [INFO] [stdout] 46 ~ } _ => { [INFO] [stdout] 47 | vec![self.condition.as_ref(), self.on_true.as_ref()] [INFO] [stdout] 48 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/run/mod.rs:60:43 [INFO] [stdout] | [INFO] [stdout] 60 | let mut save_info_at = if let Ok(lock) = info.global.save_info_at.try_lock() { [INFO] [stdout] | ^^^^^^^^^^^^^^^----------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/run/mod.rs:62:17 [INFO] [stdout] | [INFO] [stdout] 62 | } 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] 60 ~ let mut save_info_at = match info.global.save_info_at.try_lock() { Ok(lock) => { [INFO] [stdout] 61 | lock [INFO] [stdout] 62 ~ } _ => { [INFO] [stdout] 63 | eprintln!( [INFO] [stdout] ... [INFO] [stdout] 66 | break 'hook_save_info_at; [INFO] [stdout] 67 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/run/assign_to.rs:46:16 [INFO] [stdout] | [INFO] [stdout] 46 | if let Some(t) = target.dereference() { [INFO] [stdout] | ^^^^^^^^^^^^^^-------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/run/assign_to.rs:63:13 [INFO] [stdout] | [INFO] [stdout] 63 | } 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] 46 ~ match target.dereference() { Some(t) => { [INFO] [stdout] 47 | if !source.is_included_in(&t) { [INFO] [stdout] ... [INFO] [stdout] 62 | } [INFO] [stdout] 63 ~ } _ => { [INFO] [stdout] 64 | return Err(CheckError::new() [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/program/run/chain.rs:34:16 [INFO] [stdout] | [INFO] [stdout] 34 | if let Some(func) = func.executable() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^----------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/run/chain.rs:67:13 [INFO] [stdout] | [INFO] [stdout] 67 | } 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] 34 ~ match func.executable() { Some(func) => { [INFO] [stdout] 35 | match func.o(&arg) { [INFO] [stdout] ... [INFO] [stdout] 66 | } [INFO] [stdout] 67 ~ } _ => { [INFO] [stdout] 68 | return Err(CheckError::new() [INFO] [stdout] ... [INFO] [stdout] 80 | ])); [INFO] [stdout] 81 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/run/chain.rs:38:39 [INFO] [stdout] | [INFO] [stdout] 38 | return Err(if let Some(_) = &self.as_part_of_include { [INFO] [stdout] | ^^^^^^^^^^^^^^^----------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/run/chain.rs:49:25 [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] 38 ~ return Err(match &self.as_part_of_include { Some(_) => { [INFO] [stdout] 39 | CheckError::new() [INFO] [stdout] ... [INFO] [stdout] 48 | .err_with_diff_src(e) [INFO] [stdout] 49 ~ } _ => { [INFO] [stdout] 50 | CheckError::new() [INFO] [stdout] ... [INFO] [stdout] 63 | .err(e) [INFO] [stdout] 64 ~ }}) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/run/chain.rs:91:36 [INFO] [stdout] | [INFO] [stdout] 91 | Some(Err(e)) => Err(if let Some(_) = &self.as_part_of_include { [INFO] [stdout] | ^^^^^^^^^^^^^^^----------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/run/chain.rs:96:13 [INFO] [stdout] | [INFO] [stdout] 96 | } 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] 91 ~ Some(Err(e)) => Err(match &self.as_part_of_include { Some(_) => { [INFO] [stdout] 92 | CheckError::new().err_with_diff_src(e).src(vec![( [INFO] [stdout] ... [INFO] [stdout] 95 | )]) [INFO] [stdout] 96 ~ } _ => { [INFO] [stdout] 97 | CheckError::new().err(e).src(vec![ [INFO] [stdout] ... [INFO] [stdout] 100| ]) [INFO] [stdout] 101~ }}), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/run/custom_type.rs:44:16 [INFO] [stdout] | [INFO] [stdout] 44 | if let Err(e) = t { [INFO] [stdout] | ^^^^^^^^^^^^^- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/run/custom_type.rs:58:13 [INFO] [stdout] | [INFO] [stdout] 58 | } [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 t { Err(e) => { [INFO] [stdout] 45 | return Err(CheckError::new() [INFO] [stdout] ... [INFO] [stdout] 57 | .err(e)); [INFO] [stdout] 58 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/run/function.rs:37:12 [INFO] [stdout] | [INFO] [stdout] 37 | if let Some((a, b)) = &self.func_no_info.inner_statements() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^-----------------^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/run/function.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 39 | } 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 &self.func_no_info.inner_statements() { Some((a, b)) => { [INFO] [stdout] 38 | vec![a.as_ref().as_ref(), b.as_ref().as_ref()] [INFO] [stdout] 39 ~ } _ => { [INFO] [stdout] 40 | vec![] [INFO] [stdout] 41 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/run/if.rs:51:12 [INFO] [stdout] | [INFO] [stdout] 51 | if let Some(f) = &self.on_false { [INFO] [stdout] | ^^^^^^^^^^^^^^^------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/run/if.rs:53:9 [INFO] [stdout] | [INFO] [stdout] 53 | } 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] 51 ~ match &self.on_false { Some(f) => { [INFO] [stdout] 52 | t.add_all(&f.check(info, None)?); [INFO] [stdout] 53 ~ } _ => { [INFO] [stdout] 54 | t.add(Arc::new(TupleT(vec![]))); [INFO] [stdout] 55 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/run/if.rs:60:16 [INFO] [stdout] | [INFO] [stdout] 60 | if let Some(data::bool::Bool(true)) = self [INFO] [stdout] | _________________^ - [INFO] [stdout] | | ___________________________________________________| [INFO] [stdout] 61 | || .condition [INFO] [stdout] 62 | || .run(info)? [INFO] [stdout] 63 | || .get() [INFO] [stdout] | ||______________________- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 64 | | .as_any() [INFO] [stdout] 65 | | .downcast_ref::() [INFO] [stdout] | |____________________________________________________^ [INFO] [stdout] ... [INFO] [stdout] 68 | } else if let Some(on_false) = &self.on_false { [INFO] [stdout] | ------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/run/if.rs:68:13 [INFO] [stdout] | [INFO] [stdout] 68 | } else if let Some(on_false) = &self.on_false { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/run/if.rs:70:13 [INFO] [stdout] | [INFO] [stdout] 70 | } 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] 60 ~ match self [INFO] [stdout] 61 | .condition [INFO] [stdout] ... [INFO] [stdout] 65 | .downcast_ref::() [INFO] [stdout] 66 ~ { Some(data::bool::Bool(true)) => { [INFO] [stdout] 67 | self.on_true.run(info)? [INFO] [stdout] 68 ~ } _ => { match &self.on_false { Some(on_false) => { [INFO] [stdout] 69 | on_false.run(info)? [INFO] [stdout] 70 ~ } _ => { [INFO] [stdout] 71 | Data::empty_tuple() [INFO] [stdout] 72 ~ }}}}, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/run/if.rs:82:12 [INFO] [stdout] | [INFO] [stdout] 82 | if let Some(on_false) = &self.on_false { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/run/if.rs:88:9 [INFO] [stdout] | [INFO] [stdout] 88 | } 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] 82 ~ match &self.on_false { Some(on_false) => { [INFO] [stdout] 83 | vec![ [INFO] [stdout] ... [INFO] [stdout] 87 | ] [INFO] [stdout] 88 ~ } _ => { [INFO] [stdout] 89 | vec![self.condition.as_ref(), self.on_true.as_ref()] [INFO] [stdout] 90 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/run/loop.rs:35:24 [INFO] [stdout] | [INFO] [stdout] 35 | if let Some(i) = i.0.first() { [INFO] [stdout] | ^^^^^^^^^^^^^^---^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/run/loop.rs:39:21 [INFO] [stdout] | [INFO] [stdout] 39 | } [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 i.0.first() { Some(i) => { [INFO] [stdout] 36 | for i in i.types.iter() { [INFO] [stdout] 37 | t.add(Arc::clone(i)); [INFO] [stdout] 38 | } [INFO] [stdout] 39 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/run/loop.rs:52:16 [INFO] [stdout] | [INFO] [stdout] 52 | if let Some(v) = self.inner.run(info)?.one_tuple_content() { [INFO] [stdout] | ^^^^^^^^^^^^^^----------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/run/loop.rs:54:13 [INFO] [stdout] | [INFO] [stdout] 54 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 52 ~ match self.inner.run(info)?.one_tuple_content() { Some(v) => { [INFO] [stdout] 53 | return Ok(v); [INFO] [stdout] 54 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/run/object.rs:126:32 [INFO] [stdout] | [INFO] [stdout] 126 | ... if let Some(it) = &mut assign_types { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/run/object.rs:128:29 [INFO] [stdout] | [INFO] [stdout] 128 | ... } 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] 126 ~ match &mut assign_types { Some(it) => { [INFO] [stdout] 127 | Some(it.pop_front().unwrap()) [INFO] [stdout] 128 ~ } _ => { [INFO] [stdout] 129 | None [INFO] [stdout] 130 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/run/try.rs:36:27 [INFO] [stdout] | [INFO] [stdout] 36 | let my_index = if let Some(i) = *index_lock { [INFO] [stdout] | ^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/run/try.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | } 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] 36 ~ let my_index = match *index_lock { Some(i) => { [INFO] [stdout] 37 | i [INFO] [stdout] 38 ~ } _ => { [INFO] [stdout] 39 | let my_index = unused_try_statements_lock.len(); [INFO] [stdout] ... [INFO] [stdout] 45 | my_index [INFO] [stdout] 46 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/run/try.rs:56:24 [INFO] [stdout] | [INFO] [stdout] 56 | if let Some(ft) = ft.executable() { [INFO] [stdout] | ^^^^^^^^^^^^^^^--------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/run/try.rs:63:21 [INFO] [stdout] | [INFO] [stdout] 63 | } 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] 56 ~ match ft.executable() { Some(ft) => { [INFO] [stdout] 57 | match ft.o(&Type::newm(vec![Arc::clone(arg)])) { [INFO] [stdout] ... [INFO] [stdout] 62 | } [INFO] [stdout] 63 ~ } _ => { [INFO] [stdout] 64 | return Err(CheckError::new() [INFO] [stdout] ... [INFO] [stdout] 72 | ])); [INFO] [stdout] 73 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/run/try.rs:75:20 [INFO] [stdout] | [INFO] [stdout] 75 | if let Some(err) = func_err { [INFO] [stdout] | ^^^^^^^^^^^^^^^^-------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/run/try.rs:78:17 [INFO] [stdout] | [INFO] [stdout] 78 | } 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] 75 ~ match func_err { Some(err) => { [INFO] [stdout] 76 | // can't use this function for this argument [INFO] [stdout] 77 | errs.push(err); [INFO] [stdout] 78 ~ } _ => { [INFO] [stdout] 79 | // found the function to use [INFO] [stdout] ... [INFO] [stdout] 83 | break; [INFO] [stdout] 84 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/run/tuple.rs:93:28 [INFO] [stdout] | [INFO] [stdout] 93 | if let Some(it) = &mut it { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^-- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/run/tuple.rs:95:25 [INFO] [stdout] | [INFO] [stdout] 95 | } 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] 93 ~ match &mut it { Some(it) => { [INFO] [stdout] 94 | Some(it.pop_front().unwrap()) [INFO] [stdout] 95 ~ } _ => { [INFO] [stdout] 96 | None [INFO] [stdout] 97 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 91 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `mers_lib` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/errors/mod.rs [INFO] [stderr] * src/program/configs/mod.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/errors/mod.rs:362:18 [INFO] [stderr] | [INFO] [stderr] 362 | ($s:expr_2021, $e:expr_2021, $right:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/errors/mod.rs:362:32 [INFO] [stderr] | [INFO] [stderr] 362 | ($s:expr_2021, $e:expr_2021, $right:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/errors/mod.rs:362:46 [INFO] [stderr] | [INFO] [stderr] 362 | ($s:expr_2021, $e:expr_2021, $right:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/program/configs/mod.rs:68:14 [INFO] [stderr] | [INFO] [stderr] 68 | ($e:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error: aborting due to 4 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/program/configs/mod.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | pub mod gen; [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] = note: `--force-warn keyword-idents-2024` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/program/configs/with_base.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | 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/program/configs/with_math.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | 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/program/configs/with_stdio.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | gen::{function::func, OneOrNone}, [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/program/configs/with_string.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | gen::{function::func, AnyOrNone, IterToList, OneOf, OneOrNone}, [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/errors/mod.rs:362:21 [INFO] [stdout] | [INFO] [stdout] 362 | ($s:expr, $e:expr, $right:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 362 | ($s:expr_2021, $e:expr, $right:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/errors/mod.rs:362:30 [INFO] [stdout] | [INFO] [stdout] 362 | ($s:expr, $e:expr, $right:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 362 | ($s:expr, $e:expr_2021, $right:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/errors/mod.rs:362:43 [INFO] [stdout] | [INFO] [stdout] 362 | ($s:expr, $e:expr, $right:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 362 | ($s:expr, $e:expr, $right:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/program/configs/mod.rs:68:17 [INFO] [stdout] | [INFO] [stdout] 68 | ($e:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 68 | ($e:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/data/mod.rs:122:12 [INFO] [stdout] | [INFO] [stdout] 122 | if let Some(tuple) = self [INFO] [stdout] | _____________^ - [INFO] [stdout] | | ______________________________| [INFO] [stdout] 123 | || .get() [INFO] [stdout] | ||__________________- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 124 | | .as_any() [INFO] [stdout] 125 | | .downcast_ref::() [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/data/mod.rs:128:9 [INFO] [stdout] | [INFO] [stdout] 128 | } 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] 122 ~ match self [INFO] [stdout] 123 | .get() [INFO] [stdout] 124 | .as_any() [INFO] [stdout] 125 | .downcast_ref::() [INFO] [stdout] 126 ~ { Some(tuple) => { [INFO] [stdout] 127 | tuple.0.is_empty() [INFO] [stdout] 128 ~ } _ => { [INFO] [stdout] 129 | false [INFO] [stdout] 130 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/data/mod.rs:134:12 [INFO] [stdout] | [INFO] [stdout] 134 | if let Some(data) = self [INFO] [stdout] | _____________^ - [INFO] [stdout] | | _____________________________| [INFO] [stdout] 135 | || .get() [INFO] [stdout] | ||__________________- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 136 | | .as_any() [INFO] [stdout] 137 | | .downcast_ref::() [INFO] [stdout] 138 | | .filter(|v| v.len() == 1) [INFO] [stdout] 139 | | .and_then(|v| v.get(0)) [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/data/mod.rs:142:9 [INFO] [stdout] | [INFO] [stdout] 142 | } 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] 134 ~ match self [INFO] [stdout] 135 | .get() [INFO] [stdout] ... [INFO] [stdout] 139 | .and_then(|v| v.get(0)) [INFO] [stdout] 140 ~ { Some(data) => { [INFO] [stdout] 141 | Some(data.clone()) [INFO] [stdout] 142 ~ } _ => { [INFO] [stdout] 143 | None [INFO] [stdout] 144 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/data/mod.rs:375:16 [INFO] [stdout] | [INFO] [stdout] 375 | if let Some(t) = t.get() { [INFO] [stdout] | ^^^^^^^^^^^^^^------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/data/mod.rs:377:13 [INFO] [stdout] | [INFO] [stdout] 377 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 375 ~ match t.get() { Some(t) => { [INFO] [stdout] 376 | o.add_all(&t); [INFO] [stdout] 377 ~ } _ => { [INFO] [stdout] 378 | return None; [INFO] [stdout] 379 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/data/function.rs:123:24 [INFO] [stdout] | [INFO] [stdout] 123 | if let Some(v) = v.one_tuple_content() { [INFO] [stdout] | ^^^^^^^^^^^^^^--------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/data/function.rs:125:21 [INFO] [stdout] | [INFO] [stdout] 125 | } 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] 123 ~ match v.one_tuple_content() { Some(v) => { [INFO] [stdout] 124 | Some(Ok(v)) [INFO] [stdout] 125 ~ } _ => { [INFO] [stdout] 126 | None [INFO] [stdout] 127 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/data/function.rs:171:12 [INFO] [stdout] | [INFO] [stdout] 171 | if let Ok(t) = self.o(&Type::empty_tuple()) { [INFO] [stdout] | ^^^^^^^^^^^^---------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/data/function.rs:185:9 [INFO] [stdout] | [INFO] [stdout] 185 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 171 ~ match self.o(&Type::empty_tuple()) { Ok(t) => { [INFO] [stdout] 172 | let mut out = Type::empty(); [INFO] [stdout] ... [INFO] [stdout] 184 | Some(out) [INFO] [stdout] 185 ~ } _ => { [INFO] [stdout] 186 | None [INFO] [stdout] 187 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/data/function.rs:177:31 [INFO] [stdout] | [INFO] [stdout] 177 | } else if let Some(t) = t.0.first() { [INFO] [stdout] | ^^^^^^^^^^^^^^---^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/data/function.rs:179:21 [INFO] [stdout] | [INFO] [stdout] 179 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 177 ~ } else { match t.0.first() { Some(t) => { [INFO] [stdout] 178 | out.add_all(&t); [INFO] [stdout] 179 ~ } _ => {}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/data/function.rs:190:12 [INFO] [stdout] | [INFO] [stdout] 190 | if let Err(s) = &self.0 { [INFO] [stdout] | ^^^^^^^^^^^^^^------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/data/function.rs:206:9 [INFO] [stdout] | [INFO] [stdout] 206 | } 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] 190 ~ match &self.0 { Err(s) => { [INFO] [stdout] 191 | if let Some(other) = other.as_any().downcast_ref::() { [INFO] [stdout] ... [INFO] [stdout] 205 | } [INFO] [stdout] 206 ~ } _ => { [INFO] [stdout] 207 | false [INFO] [stdout] 208 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/data/function.rs:192:20 [INFO] [stdout] | [INFO] [stdout] 192 | if let Err(o) = &other.0 { [INFO] [stdout] | ^^^^^^^^^^^^^^------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/data/function.rs:200:17 [INFO] [stdout] | [INFO] [stdout] 200 | } 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] 192 ~ match &other.0 { Err(o) => { [INFO] [stdout] 193 | s.iter().all(|(si, so)| { [INFO] [stdout] ... [INFO] [stdout] 199 | }) [INFO] [stdout] 200 ~ } _ => { [INFO] [stdout] 201 | false [INFO] [stdout] 202 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/data/function.rs:212:16 [INFO] [stdout] | [INFO] [stdout] 212 | if let Err(s) = &target.0 { [INFO] [stdout] | ^^^^^^^^^^^^^^-------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/data/function.rs:215:13 [INFO] [stdout] | [INFO] [stdout] 215 | } 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] 212 ~ match &target.0 { Err(s) => { [INFO] [stdout] 213 | s.iter() [INFO] [stdout] 214 | .all(|(i, o)| self.o(i).is_ok_and(|r| r.is_included_in(o))) [INFO] [stdout] 215 ~ } _ => { [INFO] [stdout] 216 | false [INFO] [stdout] 217 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/data/reference.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | if let Some(func) = inner [INFO] [stdout] | ^ ----- 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] 19 | | .as_ref() [INFO] [stdout] 20 | | .as_any() [INFO] [stdout] 21 | | .downcast_ref::() [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/data/reference.rs:24:9 [INFO] [stdout] | [INFO] [stdout] 24 | } 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] 18 ~ match inner [INFO] [stdout] 19 | .as_ref() [INFO] [stdout] 20 | .as_any() [INFO] [stdout] 21 | .downcast_ref::() [INFO] [stdout] 22 ~ { Some(func) => { [INFO] [stdout] 23 | Some(func.get_as_type()) [INFO] [stdout] 24 ~ } _ => { [INFO] [stdout] 25 | None [INFO] [stdout] 26 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/data/reference.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 31 | if let Some(func) = inner [INFO] [stdout] | ^ ----- 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] 32 | | .as_mut() [INFO] [stdout] 33 | | .mut_any() [INFO] [stdout] 34 | | .downcast_mut::() [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/data/reference.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 31 ~ match inner [INFO] [stdout] 32 | .as_mut() [INFO] [stdout] 33 | .mut_any() [INFO] [stdout] 34 | .downcast_mut::() [INFO] [stdout] 35 ~ { Some(func) => { [INFO] [stdout] 36 | Some(func.run_mut(arg)) [INFO] [stdout] 37 ~ } _ => { [INFO] [stdout] 38 | None [INFO] [stdout] 39 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/data/reference.rs:55:24 [INFO] [stdout] | [INFO] [stdout] 55 | if let Some(v) = v.one_tuple_content() { [INFO] [stdout] | ^^^^^^^^^^^^^^--------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/data/reference.rs:57:21 [INFO] [stdout] | [INFO] [stdout] 57 | } 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] 55 ~ match v.one_tuple_content() { Some(v) => { [INFO] [stdout] 56 | Some(Ok(v)) [INFO] [stdout] 57 ~ } _ => { [INFO] [stdout] 58 | None [INFO] [stdout] 59 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/data/defs.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | if let Some(r) = target [INFO] [stdout] | _________^ - [INFO] [stdout] | | ______________________| [INFO] [stdout] 5 | || .get() [INFO] [stdout] | ||______________- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 6 | | .as_any() [INFO] [stdout] 7 | | .downcast_ref::() [INFO] [stdout] | |_____________________________________________________________^ [INFO] [stdout] ... [INFO] [stdout] 11 | from.get() [INFO] [stdout] | ---------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 23 | from.get() [INFO] [stdout] | ---------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/data/defs.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | } else if let (Some(from), Some(target)) = ( [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/data/defs.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | } else if let (Some(from), Some(target)) = ( [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/data/defs.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | } 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] 4 ~ match target [INFO] [stdout] 5 | .get() [INFO] [stdout] 6 | .as_any() [INFO] [stdout] 7 | .downcast_ref::() [INFO] [stdout] 8 ~ { Some(r) => { [INFO] [stdout] 9 | *r.0.write().unwrap() = from.clone(); [INFO] [stdout] 10 ~ } _ => { match ( [INFO] [stdout] 11 | from.get() [INFO] [stdout] ... [INFO] [stdout] 17 | .downcast_ref::(), [INFO] [stdout] 18 ~ ) { (Some(from), Some(target)) => { [INFO] [stdout] 19 | for (from, target) in from.0.iter().zip(target.0.iter()) { [INFO] [stdout] 20 | assign(from, target); [INFO] [stdout] 21 | } [INFO] [stdout] 22 ~ } _ => { match ( [INFO] [stdout] 23 | from.get() [INFO] [stdout] ... [INFO] [stdout] 29 | .downcast_ref::(), [INFO] [stdout] 30 ~ ) { (Some(from), Some(target)) => { [INFO] [stdout] 31 | for ((_, from), (_, target)) in from.0.iter().zip(target.0.iter()) { [INFO] [stdout] 32 | assign(from, target); [INFO] [stdout] 33 | } [INFO] [stdout] 34 ~ } _ => { [INFO] [stdout] 35 | unreachable!("invalid assignment") [INFO] [stdout] 36 ~ }}}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/parsing/statements.rs:109:24 [INFO] [stdout] | [INFO] [stdout] 109 | let mut first = if let Some(s) = parse_no_chain(src, srca)? { [INFO] [stdout] | ^^^^^^^^^^^^^^-------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/parsing/statements.rs:111:5 [INFO] [stdout] | [INFO] [stdout] 111 | } 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] 109 ~ let mut first = match parse_no_chain(src, srca)? { Some(s) => { [INFO] [stdout] 110 | s [INFO] [stdout] 111 ~ } _ => { [INFO] [stdout] 112 | return Ok(None); [INFO] [stdout] 113 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/parsing/statements.rs:249:19 [INFO] [stdout] | [INFO] [stdout] 249 | } else if let Some(s) = parse(src, srca)? { [INFO] [stdout] | ^^^^^^^^^^^^^^----------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/parsing/statements.rs:251:9 [INFO] [stdout] | [INFO] [stdout] 251 | } 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] 249 ~ } else { match parse(src, srca)? { Some(s) => { [INFO] [stdout] 250 | statements.push(s); [INFO] [stdout] 251 ~ } _ => { [INFO] [stdout] 252 | // EOF [INFO] [stdout] 253 | break; [INFO] [stdout] 254 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/gen/mod.rs:47:24 [INFO] [stdout] | [INFO] [stdout] 47 | if let Some(va) = v1 { [INFO] [stdout] | ^^^^^^^^^^^^^^^-- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/gen/mod.rs:49:21 [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 v1 { Some(va) => { [INFO] [stdout] 48 | f(Some(Self(Some(va)))) [INFO] [stdout] 49 ~ } _ => { [INFO] [stdout] 50 | f(None) [INFO] [stdout] 51 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/gen/mod.rs:67:12 [INFO] [stdout] | [INFO] [stdout] 67 | if let Some(v) = self.0 { [INFO] [stdout] | ^^^^^^^^^^^^^^------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/gen/mod.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 self.0 { Some(v) => { [INFO] [stdout] 68 | Data::one_tuple(v.represent()) [INFO] [stdout] 69 ~ } _ => { [INFO] [stdout] 70 | Data::empty_tuple() [INFO] [stdout] 71 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/gen/mod.rs:93:20 [INFO] [stdout] | [INFO] [stdout] 93 | if let Some(va) = v1 { [INFO] [stdout] | ^^^^^^^^^^^^^^^-- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/gen/mod.rs:95:17 [INFO] [stdout] | [INFO] [stdout] 95 | } 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] 93 ~ match v1 { Some(va) => { [INFO] [stdout] 94 | f(Some(Self(Some(va)))) [INFO] [stdout] 95 ~ } _ => { [INFO] [stdout] 96 | f(None) [INFO] [stdout] 97 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/gen/mod.rs:109:12 [INFO] [stdout] | [INFO] [stdout] 109 | if let Some(v) = self.0 { [INFO] [stdout] | ^^^^^^^^^^^^^^------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/gen/mod.rs:111:9 [INFO] [stdout] | [INFO] [stdout] 111 | } 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] 109 ~ match self.0 { Some(v) => { [INFO] [stdout] 110 | v.represent() [INFO] [stdout] 111 ~ } _ => { [INFO] [stdout] 112 | Data::empty_tuple() [INFO] [stdout] 113 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/gen/mod.rs:132:16 [INFO] [stdout] | [INFO] [stdout] 132 | if let Some(v) = v { [INFO] [stdout] | ^^^^^^^^^^^^^^- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/gen/mod.rs:134:13 [INFO] [stdout] | [INFO] [stdout] 134 | } 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] 132 ~ match v { Some(v) => { [INFO] [stdout] 133 | f(Some(OneOf::A(v))) [INFO] [stdout] 134 ~ } _ => { [INFO] [stdout] 135 | B::try_represent(d, |v| { [INFO] [stdout] ... [INFO] [stdout] 141 | }) [INFO] [stdout] 142 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/gen/mod.rs:136:24 [INFO] [stdout] | [INFO] [stdout] 136 | if let Some(v) = v { [INFO] [stdout] | ^^^^^^^^^^^^^^- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/gen/mod.rs:138:21 [INFO] [stdout] | [INFO] [stdout] 138 | } 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] 136 ~ match v { Some(v) => { [INFO] [stdout] 137 | f(Some(OneOf::B(v))) [INFO] [stdout] 138 ~ } _ => { [INFO] [stdout] 139 | f(None) [INFO] [stdout] 140 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/gen/mod.rs:211:20 [INFO] [stdout] | [INFO] [stdout] 211 | if let Some(va) = v1 { [INFO] [stdout] | ^^^^^^^^^^^^^^^-- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/gen/mod.rs:213:17 [INFO] [stdout] | [INFO] [stdout] 213 | } 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] 211 ~ match v1 { Some(va) => { [INFO] [stdout] 212 | f(Some((va,))) [INFO] [stdout] 213 ~ } _ => { [INFO] [stdout] 214 | f(None) [INFO] [stdout] 215 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/gen/mod.rs:248:20 [INFO] [stdout] | [INFO] [stdout] 248 | if let Some(va) = v1 { [INFO] [stdout] | ^^^^^^^^^^^^^^^-- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/gen/mod.rs:256:17 [INFO] [stdout] | [INFO] [stdout] 256 | } 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] 248 ~ match v1 { Some(va) => { [INFO] [stdout] 249 | B::try_represent(v.0[1].get().as_ref(), |v2| { [INFO] [stdout] ... [INFO] [stdout] 255 | }) [INFO] [stdout] 256 ~ } _ => { [INFO] [stdout] 257 | f(None) [INFO] [stdout] 258 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/gen/mod.rs:250:28 [INFO] [stdout] | [INFO] [stdout] 250 | if let Some(vb) = v2 { [INFO] [stdout] | ^^^^^^^^^^^^^^^-- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/gen/mod.rs:252:25 [INFO] [stdout] | [INFO] [stdout] 252 | } 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] 250 ~ match v2 { Some(vb) => { [INFO] [stdout] 251 | f(Some((va, vb))) [INFO] [stdout] 252 ~ } _ => { [INFO] [stdout] 253 | f(None) [INFO] [stdout] 254 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/gen/mod.rs:294:20 [INFO] [stdout] | [INFO] [stdout] 294 | if let Some(va) = v1 { [INFO] [stdout] | ^^^^^^^^^^^^^^^-- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/gen/mod.rs:308:17 [INFO] [stdout] | [INFO] [stdout] 308 | } 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] 294 ~ match v1 { Some(va) => { [INFO] [stdout] 295 | B::try_represent(v.0[1].get().as_ref(), |v2| { [INFO] [stdout] ... [INFO] [stdout] 307 | }) [INFO] [stdout] 308 ~ } _ => { [INFO] [stdout] 309 | f(None) [INFO] [stdout] 310 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/gen/mod.rs:296:28 [INFO] [stdout] | [INFO] [stdout] 296 | if let Some(vb) = v2 { [INFO] [stdout] | ^^^^^^^^^^^^^^^-- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/gen/mod.rs:304:25 [INFO] [stdout] | [INFO] [stdout] 304 | } 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] 296 ~ match v2 { Some(vb) => { [INFO] [stdout] 297 | C::try_represent(v.0[2].get().as_ref(), |v3| { [INFO] [stdout] ... [INFO] [stdout] 303 | }) [INFO] [stdout] 304 ~ } _ => { [INFO] [stdout] 305 | f(None) [INFO] [stdout] 306 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/gen/mod.rs:298:36 [INFO] [stdout] | [INFO] [stdout] 298 | ... if let Some(vc) = v3 { [INFO] [stdout] | ^^^^^^^^^^^^^^^-- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/gen/mod.rs:300:33 [INFO] [stdout] | [INFO] [stdout] 300 | ... } 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] 298 ~ match v3 { Some(vc) => { [INFO] [stdout] 299 | f(Some((va, vb, vc))) [INFO] [stdout] 300 ~ } _ => { [INFO] [stdout] 301 | f(None) [INFO] [stdout] 302 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_base.rs:38:36 [INFO] [stdout] | [INFO] [stdout] 38 | ... if let Some(arg) = arg_ref.dereference() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^--------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_base.rs:54:33 [INFO] [stdout] | [INFO] [stdout] 54 | ... } 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] 38 ~ match arg_ref.dereference() { Some(arg) => { [INFO] [stdout] 39 | let func = &t.0[1]; [INFO] [stdout] ... [INFO] [stdout] 53 | } [INFO] [stdout] 54 ~ } _ => { [INFO] [stdout] 55 | return Err(format!("Arguments must be (reference, function), but {arg_ref} isn't a reference").into()); [INFO] [stdout] 56 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_base.rs:41:44 [INFO] [stdout] | [INFO] [stdout] 41 | ... if let Some(f) = func_t.executable() { [INFO] [stdout] | ^^^^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_base.rs:50:41 [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] 41 ~ match func_t.executable() { Some(f) => { [INFO] [stdout] 42 | match f.o(&arg) { [INFO] [stdout] ... [INFO] [stdout] 49 | } [INFO] [stdout] 50 ~ } _ => { [INFO] [stdout] 51 | return Err(format!("Arguments must be (reference, function)").into()); [INFO] [stdout] 52 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_base.rs:110:52 [INFO] [stdout] | [INFO] [stdout] 110 | Ok(Data::new(data::int::Int(if let Some(t) = a.get().as_any().downcast_ref::() { [INFO] [stdout] | ^^^^^^^^^^^^^^-------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 111 | t.0.len() as _ [INFO] [stdout] 112 | } else if let Some(s) = a.get().as_any().downcast_ref::() { [INFO] [stdout] | ------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 113 | s.0.len() as _ [INFO] [stdout] 114 | } else if let Some(i) = a.get().iterable() { [INFO] [stdout] | ------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_base.rs:112:21 [INFO] [stdout] | [INFO] [stdout] 112 | } else if let Some(s) = a.get().as_any().downcast_ref::() { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_base.rs:114:21 [INFO] [stdout] | [INFO] [stdout] 114 | } else if let Some(i) = a.get().iterable() { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_base.rs:117:21 [INFO] [stdout] | [INFO] [stdout] 117 | } 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] 110 ~ Ok(Data::new(data::int::Int(match a.get().as_any().downcast_ref::() { Some(t) => { [INFO] [stdout] 111 | t.0.len() as _ [INFO] [stdout] 112 ~ } _ => { match a.get().as_any().downcast_ref::() { Some(s) => { [INFO] [stdout] 113 | s.0.len() as _ [INFO] [stdout] 114 ~ } _ => { match a.get().iterable() { Some(i) => { [INFO] [stdout] 115 | // -1 if more elements than isize can represent [INFO] [stdout] 116 | i.take(isize::MAX as usize + 1).count().try_into().unwrap_or(-1) [INFO] [stdout] 117 ~ } _ => { [INFO] [stdout] 118 | return Err("called len on {a:?}, which isn't a tuple or a string".into()); [INFO] [stdout] 119 ~ }}}}}}))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_base.rs:138:54 [INFO] [stdout] | [INFO] [stdout] 138 | Ok(Data::new(data::bool::Bool(if let Some(mut i) = a.get().iterable() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_base.rs:153:21 [INFO] [stdout] | [INFO] [stdout] 153 | } 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] 138 ~ Ok(Data::new(data::bool::Bool(match a.get().iterable() { Some(mut i) => { [INFO] [stdout] 139 | if let Some(f) = i.next() { [INFO] [stdout] ... [INFO] [stdout] 152 | } [INFO] [stdout] 153 ~ } _ => { [INFO] [stdout] 154 | false [INFO] [stdout] 155 ~ }}))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_base.rs:139:28 [INFO] [stdout] | [INFO] [stdout] 139 | if let Some(f) = i.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^-------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_base.rs:150:25 [INFO] [stdout] | [INFO] [stdout] 150 | } 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] 139 ~ match i.next() { Some(f) => { [INFO] [stdout] 140 | let f = f?; [INFO] [stdout] ... [INFO] [stdout] 149 | o [INFO] [stdout] 150 ~ } _ => { [INFO] [stdout] 151 | false [INFO] [stdout] 152 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_base.rs:177:45 [INFO] [stdout] | [INFO] [stdout] 177 | out: Ok(Arc::new(|a, _i| if let Some(v) = a.dereference() { Ok(v) } else { Err(format!("cannot dereference type {a}").int... [INFO] [stdout] | ^^^^^^^^^^^^^^--------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_base.rs:177:83 [INFO] [stdout] | [INFO] [stdout] 177 | ... out: Ok(Arc::new(|a, _i| if let Some(v) = a.dereference() { Ok(v) } else { Err(format!("cannot dereference type {a}").into()) [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 177 ~ out: Ok(Arc::new(|a, _i| match a.dereference() { Some(v) => { Ok(v) } _ => { Err(format!("cannot dereference type {a}").into()) [INFO] [stdout] 178 ~ }})), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_base.rs:180:24 [INFO] [stdout] | [INFO] [stdout] 180 | if let Some(r) = a [INFO] [stdout] | _________________________^ - [INFO] [stdout] | | ______________________________________| [INFO] [stdout] 181 | || .get() [INFO] [stdout] | ||______________________________- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 182 | | .as_any() [INFO] [stdout] 183 | | .downcast_ref::() [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/program/configs/with_base.rs:186:21 [INFO] [stdout] | [INFO] [stdout] 186 | } 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] 180 ~ match a [INFO] [stdout] 181 | .get() [INFO] [stdout] 182 | .as_any() [INFO] [stdout] 183 | .downcast_ref::() [INFO] [stdout] 184 ~ { Some(r) => { [INFO] [stdout] 185 | Ok(r.0.write().unwrap().clone()) [INFO] [stdout] 186 ~ } _ => { [INFO] [stdout] 187 | Err("called deref on non-reference".into()) [INFO] [stdout] 188 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_get.rs:32:32 [INFO] [stdout] | [INFO] [stdout] 32 | ... if let Some(v) = t.0[0].get() { [INFO] [stdout] | ^^^^^^^^^^^^^^------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_get.rs:34:29 [INFO] [stdout] | [INFO] [stdout] 34 | ... } 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] 32 ~ match t.0[0].get() { Some(v) => { [INFO] [stdout] 33 | out.add_all(&v); [INFO] [stdout] 34 ~ } _ => { [INFO] [stdout] 35 | return Err(format!( [INFO] [stdout] ... [INFO] [stdout] 38 | .into()); [INFO] [stdout] 39 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_get.rs:51:24 [INFO] [stdout] | [INFO] [stdout] 51 | if let (Some(v), Some(i)) = (a.get(0), a.get(1)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^-------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_get.rs:68:21 [INFO] [stdout] | [INFO] [stdout] 68 | } 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] 51 ~ match (a.get(0), a.get(1)) { (Some(v), Some(i)) => { [INFO] [stdout] 52 | let (v, i2) = (v?, i?); [INFO] [stdout] ... [INFO] [stdout] 67 | o [INFO] [stdout] 68 ~ } _ => { [INFO] [stdout] 69 | Err("get called with less than 2 args".into()) [INFO] [stdout] 70 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_get.rs:53:36 [INFO] [stdout] | [INFO] [stdout] 53 | let o = if let Some(i3) = i2.get().as_any().downcast_ref::() [INFO] [stdout] | ^^^^^^^^^^^^^^^--------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_get.rs:64:25 [INFO] [stdout] | [INFO] [stdout] 64 | } 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] 53 ~ let o = match i2.get().as_any().downcast_ref::() [INFO] [stdout] 54 ~ { Some(i3) => { [INFO] [stdout] 55 | if let Ok(i) = i3.0.try_into() { [INFO] [stdout] ... [INFO] [stdout] 63 | } [INFO] [stdout] 64 ~ } _ => { [INFO] [stdout] 65 | Err("get called with non-int index".into()) [INFO] [stdout] 66 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_get.rs:56:36 [INFO] [stdout] | [INFO] [stdout] 56 | ... if let Some(v) = v.get().get(i) { [INFO] [stdout] | ^^^^^^^^^^^^^^-------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_get.rs:58:33 [INFO] [stdout] | [INFO] [stdout] 58 | ... } 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] 56 ~ match v.get().get(i) { Some(v) => { [INFO] [stdout] 57 | Ok(Data::one_tuple(v?)) [INFO] [stdout] 58 ~ } _ => { [INFO] [stdout] 59 | Ok(Data::empty_tuple()) [INFO] [stdout] 60 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_iters.rs:55:32 [INFO] [stdout] | [INFO] [stdout] 55 | ... if let (Some(v), Some(f)) = (tuple.0.get(0), tuple.0.get(1)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^-------^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_iters.rs:77:29 [INFO] [stdout] | [INFO] [stdout] 77 | ... } 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] 55 ~ match (tuple.0.get(0), tuple.0.get(1)) { (Some(v), Some(f)) => { [INFO] [stdout] 56 | if let (Some(iter), Some(f)) = ( [INFO] [stdout] ... [INFO] [stdout] 76 | } [INFO] [stdout] 77 ~ } _ => { [INFO] [stdout] 78 | return Err(format!( [INFO] [stdout] 79 | "for_each called on tuple with len < 2" [INFO] [stdout] 80 | ).into()); [INFO] [stdout] 81 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_iters.rs:56:36 [INFO] [stdout] | [INFO] [stdout] 56 | ... if let (Some(iter), Some(f)) = ( [INFO] [stdout] | __________________________^ - [INFO] [stdout] | |______________________________________________________| [INFO] [stdout] 57 | || ... v.iterable(), [INFO] [stdout] 58 | || ... f.types [INFO] [stdout] 59 | || ... .iter() [INFO] [stdout] ... || [INFO] [stdout] 63 | || ... .collect::>>(), [INFO] [stdout] 64 | || ... ) { [INFO] [stdout] | ||_______________________^ 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/program/configs/with_iters.rs:71:33 [INFO] [stdout] | [INFO] [stdout] 71 | ... } 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] 56 ~ match ( [INFO] [stdout] 57 | v.iterable(), [INFO] [stdout] ... [INFO] [stdout] 63 | .collect::>>(), [INFO] [stdout] 64 ~ ) { (Some(iter), Some(f)) => { [INFO] [stdout] 65 | for f in f { [INFO] [stdout] ... [INFO] [stdout] 70 | } [INFO] [stdout] 71 ~ } _ => { [INFO] [stdout] 72 | return Err(format!( [INFO] [stdout] ... [INFO] [stdout] 75 | ).into()); [INFO] [stdout] 76 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_iters.rs:89:24 [INFO] [stdout] | [INFO] [stdout] 89 | if let Some(tuple) = a.get().as_any().downcast_ref::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^-------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_iters.rs:105:21 [INFO] [stdout] | [INFO] [stdout] 105 | } 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] 89 ~ match a.get().as_any().downcast_ref::() { Some(tuple) => { [INFO] [stdout] 90 | if let (Some(v), Some(f)) = (tuple.get(0), tuple.get(1)) { [INFO] [stdout] ... [INFO] [stdout] 104 | } [INFO] [stdout] 105 ~ } _ => { [INFO] [stdout] 106 | return Err("for_each called on non-tuple".into()); [INFO] [stdout] 107 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_iters.rs:91:32 [INFO] [stdout] | [INFO] [stdout] 91 | ... if let Some(iter) = v.get().iterable() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_iters.rs:97:29 [INFO] [stdout] | [INFO] [stdout] 97 | ... } 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] 91 ~ match v.get().iterable() { Some(iter) => { [INFO] [stdout] 92 | let f = f.get(); [INFO] [stdout] ... [INFO] [stdout] 96 | Ok(Data::empty_tuple()) [INFO] [stdout] 97 ~ } _ => { [INFO] [stdout] 98 | return Err( [INFO] [stdout] 99 | "for_each called on tuple not containing iterable and function (not an iterable)".into() [INFO] [stdout] 100| ); [INFO] [stdout] 101~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_iters.rs:137:35 [INFO] [stdout] | [INFO] [stdout] 137 | let data = if let Some(a) = a.iterable() { [INFO] [stdout] | ^^^^^^^^^^^^^^------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_iters.rs:139:21 [INFO] [stdout] | [INFO] [stdout] 139 | } 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] 137 ~ let data = match a.iterable() { Some(a) => { [INFO] [stdout] 138 | a [INFO] [stdout] 139 ~ } _ => { [INFO] [stdout] 140 | return Err(format!("cannot call enumerate on non-iterable type {a}.").into()); [INFO] [stdout] 141 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_iters.rs:154:35 [INFO] [stdout] | [INFO] [stdout] 154 | let data = if let Some(a) = a.iterable() { [INFO] [stdout] | ^^^^^^^^^^^^^^------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_iters.rs:156:21 [INFO] [stdout] | [INFO] [stdout] 156 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 154 ~ let data = match a.iterable() { Some(a) => { [INFO] [stdout] 155 | a [INFO] [stdout] 156 ~ } _ => { [INFO] [stdout] 157 | return Err(format!("cannot call chain on non-iterable type {a}.").into()); [INFO] [stdout] 158 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_iters.rs:184:20 [INFO] [stdout] | [INFO] [stdout] 184 | if let Some(v) = t.0[0].iterable() { [INFO] [stdout] | ^^^^^^^^^^^^^^----------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_iters.rs:192:17 [INFO] [stdout] | [INFO] [stdout] 192 | } 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] 184 ~ match t.0[0].iterable() { Some(v) => { [INFO] [stdout] 185 | for f in t.0[1].types.iter() { [INFO] [stdout] ... [INFO] [stdout] 191 | } [INFO] [stdout] 192 ~ } _ => { [INFO] [stdout] 193 | return Err(format!( [INFO] [stdout] ... [INFO] [stdout] 196 | .into()); [INFO] [stdout] 197 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_iters.rs:186:28 [INFO] [stdout] | [INFO] [stdout] 186 | if let Some(f) = f.executable() { [INFO] [stdout] | ^^^^^^^^^^^^^^-------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_iters.rs:188:25 [INFO] [stdout] | [INFO] [stdout] 188 | } 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] 186 ~ match f.executable() { Some(f) => { [INFO] [stdout] 187 | out.add(Arc::new(IterT::new(func(f), v.clone())?)); [INFO] [stdout] 188 ~ } _ => { [INFO] [stdout] 189 | return Err(format!("cannot call {name} on tuple that isn't (_, function): got {} instead of function as part of {a}", t.0[1]).into()); [INFO] [stdout] 190 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_iters.rs:207:16 [INFO] [stdout] | [INFO] [stdout] 207 | if let Some(tuple) = a.get().as_any().downcast_ref::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^-------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_iters.rs:213:13 [INFO] [stdout] | [INFO] [stdout] 213 | } 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] 207 ~ match a.get().as_any().downcast_ref::() { Some(tuple) => { [INFO] [stdout] 208 | if let (Some(v), Some(f)) = (tuple.get(0), tuple.get(1)) { [INFO] [stdout] ... [INFO] [stdout] 212 | } [INFO] [stdout] 213 ~ } _ => { [INFO] [stdout] 214 | return Err("{name} called on non-tuple".into()); [INFO] [stdout] 215 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_iters.rs:238:20 [INFO] [stdout] | [INFO] [stdout] 238 | if let Some(v) = t.0[0].iterable() { [INFO] [stdout] | ^^^^^^^^^^^^^^----------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_iters.rs:246:17 [INFO] [stdout] | [INFO] [stdout] 246 | } 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] 238 ~ match t.0[0].iterable() { Some(v) => { [INFO] [stdout] 239 | for f in t.0[1].types.iter() { [INFO] [stdout] ... [INFO] [stdout] 245 | } [INFO] [stdout] 246 ~ } _ => { [INFO] [stdout] 247 | return Err(format!( [INFO] [stdout] ... [INFO] [stdout] 250 | .into()); [INFO] [stdout] 251 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_iters.rs:263:16 [INFO] [stdout] | [INFO] [stdout] 263 | if let Some(tuple) = a.get().as_any().downcast_ref::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^-------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_iters.rs:273:13 [INFO] [stdout] | [INFO] [stdout] 273 | } 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] 263 ~ match a.get().as_any().downcast_ref::() { Some(tuple) => { [INFO] [stdout] 264 | if let (Some(v), Some(f)) = (tuple.get(0), tuple.get(1)) { [INFO] [stdout] ... [INFO] [stdout] 272 | } [INFO] [stdout] 273 ~ } _ => { [INFO] [stdout] 274 | return Err("{name} called on non-tuple".into()); [INFO] [stdout] 275 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_iters.rs:265:24 [INFO] [stdout] | [INFO] [stdout] 265 | if let Some(f) = f.get().as_any().downcast_ref::() { [INFO] [stdout] | ^^^^^^^^^^^^^^-------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_iters.rs:267:21 [INFO] [stdout] | [INFO] [stdout] 267 | } 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] 265 ~ match f.get().as_any().downcast_ref::() { Some(f) => { [INFO] [stdout] 266 | Ok(Data::new(Iter(fd(f), v.clone()))) [INFO] [stdout] 267 ~ } _ => { [INFO] [stdout] 268 | return Err("{name} called on tuple not containing function".into()); [INFO] [stdout] 269 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_iters.rs:426:20 [INFO] [stdout] | [INFO] [stdout] 426 | if let Some(v) = f.o(&data)?.one_tuple_possible_content() { [INFO] [stdout] | ^^^^^^^^^^^^^^---------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_iters.rs:428:17 [INFO] [stdout] | [INFO] [stdout] 428 | } 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] 426 ~ match f.o(&data)?.one_tuple_possible_content() { Some(v) => { [INFO] [stdout] 427 | v [INFO] [stdout] 428 ~ } _ => { [INFO] [stdout] 429 | return Err( [INFO] [stdout] 430 | format!("Iter:FilterMap, but function doesn't return ()/(t).").into(), [INFO] [stdout] 431 | ); [INFO] [stdout] 432 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_iters.rs:435:20 [INFO] [stdout] | [INFO] [stdout] 435 | if let Some(t) = f.o(&data)?.one_tuple_possible_content() { [INFO] [stdout] | ^^^^^^^^^^^^^^---------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_iters.rs:437:17 [INFO] [stdout] | [INFO] [stdout] 437 | } 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] 435 ~ match f.o(&data)?.one_tuple_possible_content() { Some(t) => { [INFO] [stdout] 436 | t [INFO] [stdout] 437 ~ } _ => { [INFO] [stdout] 438 | return Err( [INFO] [stdout] 439 | format!("Iter:MapWhile, but function doesn't return ()/(t).").into(), [INFO] [stdout] 440 | ); [INFO] [stdout] 441 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_iters.rs:449:20 [INFO] [stdout] | [INFO] [stdout] 449 | if let Some(out) = data.iterable() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^--------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_iters.rs:451:17 [INFO] [stdout] | [INFO] [stdout] 451 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 449 ~ match data.iterable() { Some(out) => { [INFO] [stdout] 450 | out [INFO] [stdout] 451 ~ } _ => { [INFO] [stdout] 452 | return Err(format!( [INFO] [stdout] ... [INFO] [stdout] 455 | .into()); [INFO] [stdout] 456 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_iters.rs:531:16 [INFO] [stdout] | [INFO] [stdout] 531 | if let Some(iter_over) = a.iterable() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_iters.rs:537:13 [INFO] [stdout] | [INFO] [stdout] 537 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 531 ~ match a.iterable() { Some(iter_over) => { [INFO] [stdout] 532 | if iter_over.is_included_in_single(&iter_type) { [INFO] [stdout] ... [INFO] [stdout] 536 | } [INFO] [stdout] 537 ~ } _ => { [INFO] [stdout] 538 | Err(format!("Cannot call function {name} on non-iterable type {a}.").into()) [INFO] [stdout] 539 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_list.rs:47:44 [INFO] [stdout] | [INFO] [stdout] 47 | ... if let Some(t) = t.0[0].dereference() { [INFO] [stdout] | ^^^^^^^^^^^^^^-------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_list.rs:57:41 [INFO] [stdout] | [INFO] [stdout] 57 | ... } 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 t.0[0].dereference() { Some(t) => { [INFO] [stdout] 48 | for t in t.types.iter() { [INFO] [stdout] ... [INFO] [stdout] 56 | } [INFO] [stdout] 57 ~ } _ => { [INFO] [stdout] 58 | return Err(format!( [INFO] [stdout] 59 | "get_mut: first type in tuple {t} isn't a reference." [INFO] [stdout] 60 | ).into()); [INFO] [stdout] 61 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_list.rs:107:28 [INFO] [stdout] | [INFO] [stdout] 107 | if let Some(a) = a.dereference() { [INFO] [stdout] | ^^^^^^^^^^^^^^--------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_list.rs:122:25 [INFO] [stdout] | [INFO] [stdout] 122 | } 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 a.dereference() { Some(a) => { [INFO] [stdout] 108 | let mut out = Type::empty(); [INFO] [stdout] ... [INFO] [stdout] 121 | ])) [INFO] [stdout] 122 ~ } _ => { [INFO] [stdout] 123 | return Err(format!("pop: not a reference: {a}").into()); [INFO] [stdout] 124 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_list.rs:164:36 [INFO] [stdout] | [INFO] [stdout] 164 | ... if let Some(a) = a.dereference() { [INFO] [stdout] | ^^^^^^^^^^^^^^--------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_list.rs:178:33 [INFO] [stdout] | [INFO] [stdout] 178 | ... } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 164 ~ match a.dereference() { Some(a) => { [INFO] [stdout] 165 | for t in a.types.iter() { [INFO] [stdout] ... [INFO] [stdout] 177 | } [INFO] [stdout] 178 ~ } _ => { [INFO] [stdout] 179 | return Err(format!( [INFO] [stdout] 180 | "push: first element in tuple not a reference: {a}" [INFO] [stdout] 181 | ).into()); [INFO] [stdout] 182 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_list.rs:218:28 [INFO] [stdout] | [INFO] [stdout] 218 | if let Some(v) = a.iterable() { [INFO] [stdout] | ^^^^^^^^^^^^^^------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_list.rs:220:25 [INFO] [stdout] | [INFO] [stdout] 220 | } 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] 218 ~ match a.iterable() { Some(v) => { [INFO] [stdout] 219 | Ok(Type::new(ListT(v))) [INFO] [stdout] 220 ~ } _ => { [INFO] [stdout] 221 | Err(format!( [INFO] [stdout] 222 | "cannot iterate over type {a}" [INFO] [stdout] 223 | ).into()) [INFO] [stdout] 224 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_list.rs:227:28 [INFO] [stdout] | [INFO] [stdout] 227 | if let Some(i) = a.get().iterable() { [INFO] [stdout] | ^^^^^^^^^^^^^^------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_list.rs:229:25 [INFO] [stdout] | [INFO] [stdout] 229 | } 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] 227 ~ match a.get().iterable() { Some(i) => { [INFO] [stdout] 228 | Ok(Data::new(List(i.map(|v| Ok::<_, CheckError>(Arc::new(RwLock::new(v?)))).collect::>()?))) [INFO] [stdout] 229 ~ } _ => { [INFO] [stdout] 230 | Err("as_list called on non-iterable".into()) [INFO] [stdout] 231 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_math.rs:330:16 [INFO] [stdout] | [INFO] [stdout] 330 | if let Some(a) = a.iterable() { [INFO] [stdout] | ^^^^^^^^^^^^^^------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_math.rs:350:13 [INFO] [stdout] | [INFO] [stdout] 350 | } 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] 330 ~ match a.iterable() { Some(a) => { [INFO] [stdout] 331 | let int_type = Type::new(data::int::IntT); [INFO] [stdout] ... [INFO] [stdout] 349 | } [INFO] [stdout] 350 ~ } _ => { [INFO] [stdout] 351 | Err(format!("argument passed to {func_name} must be an iterator").into()) [INFO] [stdout] 352 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_multithreading.rs:38:28 [INFO] [stdout] | [INFO] [stdout] 38 | if let Some(f) = t.executable() { [INFO] [stdout] | ^^^^^^^^^^^^^^-------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_multithreading.rs:43:25 [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] 38 ~ match t.executable() { Some(f) => { [INFO] [stdout] 39 | match f.o(&Type::empty_tuple()) { [INFO] [stdout] ... [INFO] [stdout] 42 | } [INFO] [stdout] 43 ~ } _ => { [INFO] [stdout] 44 | return Err(format!("thread: argument wasn't a function").into()); [INFO] [stdout] 45 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/configs/with_stdio.rs:56:27 [INFO] [stdout] | [INFO] [stdout] 56 | Ok(if let Some(Ok(line)) = std::io::stdin().lines().next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/configs/with_stdio.rs:58:21 [INFO] [stdout] | [INFO] [stdout] 58 | } 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] 56 ~ Ok(match std::io::stdin().lines().next() { Some(Ok(line)) => { [INFO] [stdout] 57 | OneOrNone(Some(line)) [INFO] [stdout] 58 ~ } _ => { [INFO] [stdout] 59 | OneOrNone(None) [INFO] [stdout] 60 ~ }}) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/parsed/custom_type.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 41 | if let Err(s) = &self.source { [INFO] [stdout] | ^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/parsed/custom_type.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] 41 ~ match &self.source { Err(s) => { [INFO] [stdout] 42 | vec![s.as_ref()] [INFO] [stdout] 43 ~ } _ => { [INFO] [stdout] 44 | vec![] [INFO] [stdout] 45 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/parsed/if.rs:29:26 [INFO] [stdout] | [INFO] [stdout] 29 | on_false: if let Some(v) = &self.on_false { [INFO] [stdout] | ^^^^^^^^^^^^^^^------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/parsed/if.rs:31:13 [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] 29 ~ on_false: match &self.on_false { Some(v) => { [INFO] [stdout] 30 | Some(v.compile(info, comp)?) [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/program/parsed/if.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 40 | if let Some(on_false) = &self.on_false { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/parsed/if.rs:46:9 [INFO] [stdout] | [INFO] [stdout] 46 | } 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.on_false { Some(on_false) => { [INFO] [stdout] 41 | vec![ [INFO] [stdout] ... [INFO] [stdout] 45 | ] [INFO] [stdout] 46 ~ } _ => { [INFO] [stdout] 47 | vec![self.condition.as_ref(), self.on_true.as_ref()] [INFO] [stdout] 48 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/run/mod.rs:60:43 [INFO] [stdout] | [INFO] [stdout] 60 | let mut save_info_at = if let Ok(lock) = info.global.save_info_at.try_lock() { [INFO] [stdout] | ^^^^^^^^^^^^^^^----------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/run/mod.rs:62:17 [INFO] [stdout] | [INFO] [stdout] 62 | } 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] 60 ~ let mut save_info_at = match info.global.save_info_at.try_lock() { Ok(lock) => { [INFO] [stdout] 61 | lock [INFO] [stdout] 62 ~ } _ => { [INFO] [stdout] 63 | eprintln!( [INFO] [stdout] ... [INFO] [stdout] 66 | break 'hook_save_info_at; [INFO] [stdout] 67 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/run/assign_to.rs:46:16 [INFO] [stdout] | [INFO] [stdout] 46 | if let Some(t) = target.dereference() { [INFO] [stdout] | ^^^^^^^^^^^^^^-------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/run/assign_to.rs:63:13 [INFO] [stdout] | [INFO] [stdout] 63 | } 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] 46 ~ match target.dereference() { Some(t) => { [INFO] [stdout] 47 | if !source.is_included_in(&t) { [INFO] [stdout] ... [INFO] [stdout] 62 | } [INFO] [stdout] 63 ~ } _ => { [INFO] [stdout] 64 | return Err(CheckError::new() [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/program/run/chain.rs:34:16 [INFO] [stdout] | [INFO] [stdout] 34 | if let Some(func) = func.executable() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^----------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/run/chain.rs:67:13 [INFO] [stdout] | [INFO] [stdout] 67 | } 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] 34 ~ match func.executable() { Some(func) => { [INFO] [stdout] 35 | match func.o(&arg) { [INFO] [stdout] ... [INFO] [stdout] 66 | } [INFO] [stdout] 67 ~ } _ => { [INFO] [stdout] 68 | return Err(CheckError::new() [INFO] [stdout] ... [INFO] [stdout] 80 | ])); [INFO] [stdout] 81 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/run/chain.rs:38:39 [INFO] [stdout] | [INFO] [stdout] 38 | return Err(if let Some(_) = &self.as_part_of_include { [INFO] [stdout] | ^^^^^^^^^^^^^^^----------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/run/chain.rs:49:25 [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] 38 ~ return Err(match &self.as_part_of_include { Some(_) => { [INFO] [stdout] 39 | CheckError::new() [INFO] [stdout] ... [INFO] [stdout] 48 | .err_with_diff_src(e) [INFO] [stdout] 49 ~ } _ => { [INFO] [stdout] 50 | CheckError::new() [INFO] [stdout] ... [INFO] [stdout] 63 | .err(e) [INFO] [stdout] 64 ~ }}) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/run/chain.rs:91:36 [INFO] [stdout] | [INFO] [stdout] 91 | Some(Err(e)) => Err(if let Some(_) = &self.as_part_of_include { [INFO] [stdout] | ^^^^^^^^^^^^^^^----------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/run/chain.rs:96:13 [INFO] [stdout] | [INFO] [stdout] 96 | } 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] 91 ~ Some(Err(e)) => Err(match &self.as_part_of_include { Some(_) => { [INFO] [stdout] 92 | CheckError::new().err_with_diff_src(e).src(vec![( [INFO] [stdout] ... [INFO] [stdout] 95 | )]) [INFO] [stdout] 96 ~ } _ => { [INFO] [stdout] 97 | CheckError::new().err(e).src(vec![ [INFO] [stdout] ... [INFO] [stdout] 100| ]) [INFO] [stdout] 101~ }}), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/run/custom_type.rs:44:16 [INFO] [stdout] | [INFO] [stdout] 44 | if let Err(e) = t { [INFO] [stdout] | ^^^^^^^^^^^^^- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/run/custom_type.rs:58:13 [INFO] [stdout] | [INFO] [stdout] 58 | } [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 t { Err(e) => { [INFO] [stdout] 45 | return Err(CheckError::new() [INFO] [stdout] ... [INFO] [stdout] 57 | .err(e)); [INFO] [stdout] 58 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/run/function.rs:37:12 [INFO] [stdout] | [INFO] [stdout] 37 | if let Some((a, b)) = &self.func_no_info.inner_statements() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^-----------------^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/run/function.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 39 | } 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 &self.func_no_info.inner_statements() { Some((a, b)) => { [INFO] [stdout] 38 | vec![a.as_ref().as_ref(), b.as_ref().as_ref()] [INFO] [stdout] 39 ~ } _ => { [INFO] [stdout] 40 | vec![] [INFO] [stdout] 41 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/run/if.rs:51:12 [INFO] [stdout] | [INFO] [stdout] 51 | if let Some(f) = &self.on_false { [INFO] [stdout] | ^^^^^^^^^^^^^^^------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/run/if.rs:53:9 [INFO] [stdout] | [INFO] [stdout] 53 | } 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] 51 ~ match &self.on_false { Some(f) => { [INFO] [stdout] 52 | t.add_all(&f.check(info, None)?); [INFO] [stdout] 53 ~ } _ => { [INFO] [stdout] 54 | t.add(Arc::new(TupleT(vec![]))); [INFO] [stdout] 55 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/run/if.rs:60:16 [INFO] [stdout] | [INFO] [stdout] 60 | if let Some(data::bool::Bool(true)) = self [INFO] [stdout] | _________________^ - [INFO] [stdout] | | ___________________________________________________| [INFO] [stdout] 61 | || .condition [INFO] [stdout] 62 | || .run(info)? [INFO] [stdout] 63 | || .get() [INFO] [stdout] | ||______________________- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 64 | | .as_any() [INFO] [stdout] 65 | | .downcast_ref::() [INFO] [stdout] | |____________________________________________________^ [INFO] [stdout] ... [INFO] [stdout] 68 | } else if let Some(on_false) = &self.on_false { [INFO] [stdout] | ------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/run/if.rs:68:13 [INFO] [stdout] | [INFO] [stdout] 68 | } else if let Some(on_false) = &self.on_false { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/run/if.rs:70:13 [INFO] [stdout] | [INFO] [stdout] 70 | } 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] 60 ~ match self [INFO] [stdout] 61 | .condition [INFO] [stdout] ... [INFO] [stdout] 65 | .downcast_ref::() [INFO] [stdout] 66 ~ { Some(data::bool::Bool(true)) => { [INFO] [stdout] 67 | self.on_true.run(info)? [INFO] [stdout] 68 ~ } _ => { match &self.on_false { Some(on_false) => { [INFO] [stdout] 69 | on_false.run(info)? [INFO] [stdout] 70 ~ } _ => { [INFO] [stdout] 71 | Data::empty_tuple() [INFO] [stdout] 72 ~ }}}}, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/run/if.rs:82:12 [INFO] [stdout] | [INFO] [stdout] 82 | if let Some(on_false) = &self.on_false { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/run/if.rs:88:9 [INFO] [stdout] | [INFO] [stdout] 88 | } 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] 82 ~ match &self.on_false { Some(on_false) => { [INFO] [stdout] 83 | vec![ [INFO] [stdout] ... [INFO] [stdout] 87 | ] [INFO] [stdout] 88 ~ } _ => { [INFO] [stdout] 89 | vec![self.condition.as_ref(), self.on_true.as_ref()] [INFO] [stdout] 90 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/run/loop.rs:35:24 [INFO] [stdout] | [INFO] [stdout] 35 | if let Some(i) = i.0.first() { [INFO] [stdout] | ^^^^^^^^^^^^^^---^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/run/loop.rs:39:21 [INFO] [stdout] | [INFO] [stdout] 39 | } [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 i.0.first() { Some(i) => { [INFO] [stdout] 36 | for i in i.types.iter() { [INFO] [stdout] 37 | t.add(Arc::clone(i)); [INFO] [stdout] 38 | } [INFO] [stdout] 39 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/run/loop.rs:52:16 [INFO] [stdout] | [INFO] [stdout] 52 | if let Some(v) = self.inner.run(info)?.one_tuple_content() { [INFO] [stdout] | ^^^^^^^^^^^^^^----------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/run/loop.rs:54:13 [INFO] [stdout] | [INFO] [stdout] 54 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 52 ~ match self.inner.run(info)?.one_tuple_content() { Some(v) => { [INFO] [stdout] 53 | return Ok(v); [INFO] [stdout] 54 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/run/object.rs:126:32 [INFO] [stdout] | [INFO] [stdout] 126 | ... if let Some(it) = &mut assign_types { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/run/object.rs:128:29 [INFO] [stdout] | [INFO] [stdout] 128 | ... } 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] 126 ~ match &mut assign_types { Some(it) => { [INFO] [stdout] 127 | Some(it.pop_front().unwrap()) [INFO] [stdout] 128 ~ } _ => { [INFO] [stdout] 129 | None [INFO] [stdout] 130 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/run/try.rs:36:27 [INFO] [stdout] | [INFO] [stdout] 36 | let my_index = if let Some(i) = *index_lock { [INFO] [stdout] | ^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/run/try.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | } 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] 36 ~ let my_index = match *index_lock { Some(i) => { [INFO] [stdout] 37 | i [INFO] [stdout] 38 ~ } _ => { [INFO] [stdout] 39 | let my_index = unused_try_statements_lock.len(); [INFO] [stdout] ... [INFO] [stdout] 45 | my_index [INFO] [stdout] 46 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/run/try.rs:56:24 [INFO] [stdout] | [INFO] [stdout] 56 | if let Some(ft) = ft.executable() { [INFO] [stdout] | ^^^^^^^^^^^^^^^--------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/run/try.rs:63:21 [INFO] [stdout] | [INFO] [stdout] 63 | } 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] 56 ~ match ft.executable() { Some(ft) => { [INFO] [stdout] 57 | match ft.o(&Type::newm(vec![Arc::clone(arg)])) { [INFO] [stdout] ... [INFO] [stdout] 62 | } [INFO] [stdout] 63 ~ } _ => { [INFO] [stdout] 64 | return Err(CheckError::new() [INFO] [stdout] ... [INFO] [stdout] 72 | ])); [INFO] [stdout] 73 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/run/try.rs:75:20 [INFO] [stdout] | [INFO] [stdout] 75 | if let Some(err) = func_err { [INFO] [stdout] | ^^^^^^^^^^^^^^^^-------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/run/try.rs:78:17 [INFO] [stdout] | [INFO] [stdout] 78 | } 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] 75 ~ match func_err { Some(err) => { [INFO] [stdout] 76 | // can't use this function for this argument [INFO] [stdout] 77 | errs.push(err); [INFO] [stdout] 78 ~ } _ => { [INFO] [stdout] 79 | // found the function to use [INFO] [stdout] ... [INFO] [stdout] 83 | break; [INFO] [stdout] 84 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/program/run/tuple.rs:93:28 [INFO] [stdout] | [INFO] [stdout] 93 | if let Some(it) = &mut it { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^-- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/program/run/tuple.rs:95:25 [INFO] [stdout] | [INFO] [stdout] 95 | } 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] 93 ~ match &mut it { Some(it) => { [INFO] [stdout] 94 | Some(it.pop_front().unwrap()) [INFO] [stdout] 95 ~ } _ => { [INFO] [stdout] 96 | None [INFO] [stdout] 97 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 91 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating examples/00_parse_compile_check_run.rs from 2021 edition to 2024 [INFO] [stderr] Migrating examples/01_user_scripts.rs from 2021 edition to 2024 [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.16s [INFO] [stderr] Running `cargo check` to verify 2024 [INFO] [stderr] Checking mers_lib v0.9.1 (/tmp/fixit) [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/program/configs/mod.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | pub mod gen; [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 10 | pub mod r#gen; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/program/configs/mod.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | pub mod gen; [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 10 | pub mod r#gen; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/program/configs/with_base.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | gen::{ [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 13 | r#gen::{ [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/program/configs/with_base.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | gen::{ [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 13 | r#gen::{ [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/program/configs/with_math.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | gen::{ [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 13 | r#gen::{ [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/program/configs/with_math.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | gen::{ [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 13 | r#gen::{ [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/program/configs/with_stdio.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | gen::{function::func, OneOrNone}, [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 12 | r#gen::{function::func, OneOrNone}, [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/program/configs/with_stdio.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | gen::{function::func, OneOrNone}, [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 12 | r#gen::{function::func, OneOrNone}, [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/program/configs/with_string.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | gen::{function::func, AnyOrNone, IterToList, OneOf, OneOrNone}, [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 4 | r#gen::{function::func, AnyOrNone, IterToList, OneOf, OneOrNone}, [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/program/configs/with_string.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | gen::{function::func, AnyOrNone, IterToList, OneOf, OneOrNone}, [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 4 | r#gen::{function::func, AnyOrNone, IterToList, OneOf, OneOrNone}, [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 5 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `mers_lib` (lib test) due to 6 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: aborting due to 5 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `mers_lib` (lib) due to 6 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" "ffa7562ad2f208f035a4e800cb468fe3293b592f4aef1f8497a6106717639388", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ffa7562ad2f208f035a4e800cb468fe3293b592f4aef1f8497a6106717639388", kill_on_drop: false }` [INFO] [stdout] ffa7562ad2f208f035a4e800cb468fe3293b592f4aef1f8497a6106717639388