[INFO] cloning repository https://github.com/43615/dcim [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/43615/dcim" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F43615%2Fdcim", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F43615%2Fdcim'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 1243cf0f94838fbb02c8cc8c05899b66dd281784 [INFO] checking 43615/dcim/1243cf0f94838fbb02c8cc8c05899b66dd281784 against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F43615%2Fdcim" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/43615/dcim 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 git repo https://github.com/43615/dcim [INFO] finished tweaking git repo https://github.com/43615/dcim [INFO] tweaked toml for git repo https://github.com/43615/dcim written to /workspace/builds/worker-4-tc2/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 38 packages to latest compatible versions [INFO] [stderr] Adding regex v1.10.2 (available: v1.10.6) [INFO] [stderr] Adding rug v1.22.0 (available: v1.26.1) [INFO] [stderr] Adding siphasher v0.3.11 (available: v1.0.1) [INFO] [stderr] Adding wasi v0.11.0+wasi-snapshot-preview1 (available: v0.13.2+wasi-0.2.1) [INFO] [stderr] Adding windows-sys v0.52.0 (available: v0.59.0) [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] 950ca531b3eb01a4a983cb50bde2593e84b2cecbcb9f9843f278811019f88412 [INFO] running `Command { std: "docker" "start" "-a" "950ca531b3eb01a4a983cb50bde2593e84b2cecbcb9f9843f278811019f88412", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "950ca531b3eb01a4a983cb50bde2593e84b2cecbcb9f9843f278811019f88412", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "950ca531b3eb01a4a983cb50bde2593e84b2cecbcb9f9843f278811019f88412", kill_on_drop: false }` [INFO] [stdout] 950ca531b3eb01a4a983cb50bde2593e84b2cecbcb9f9843f278811019f88412 [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] 6785c4f58d6eb603026b58bcabe63a2835142c938e33a4f8446faf79cfd5b7a7 [INFO] running `Command { std: "docker" "start" "-a" "6785c4f58d6eb603026b58bcabe63a2835142c938e33a4f8446faf79cfd5b7a7", kill_on_drop: false }` [INFO] [stderr] Copying to /tmp/fixit [INFO] [stderr] Running `cargo fix --edition` [INFO] [stderr] Migrating Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Compiling proc-macro2 v1.0.86 [INFO] [stderr] Compiling unicode-ident v1.0.13 [INFO] [stderr] Compiling libc v0.2.159 [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Compiling gmp-mpfr-sys v1.6.4 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling phf_shared v0.11.2 [INFO] [stderr] Checking memchr v2.7.4 [INFO] [stderr] Compiling az v1.2.1 [INFO] [stderr] Checking siphasher v0.3.11 [INFO] [stderr] Compiling rug v1.22.0 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling quote v1.0.37 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Compiling phf_generator v0.11.2 [INFO] [stderr] Compiling syn v2.0.77 [INFO] [stderr] Checking getrandom v0.2.15 [INFO] [stderr] Checking regex-automata v0.4.7 [INFO] [stderr] Checking regex v1.10.2 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Compiling phf_macros v0.11.2 [INFO] [stderr] Checking phf v0.11.2 [INFO] [stderr] Checking zerocopy v0.7.35 [INFO] [stderr] Checking ppv-lite86 v0.2.20 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking dcim v2.3.5 (/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 `dcim` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/lib.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/lib.rs:317:3 [INFO] [stderr] | [INFO] [stderr] 317 | ($val: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 1 previous error [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/lib.rs:317:8 [INFO] [stdout] | [INFO] [stdout] 317 | ($val: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] 317 | ($val:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to deprecated safe function `std::env::set_var` is unsafe and requires unsafe block [INFO] [stdout] --> src/lib.rs:2109:7 [INFO] [stdout] | [INFO] [stdout] 2109 | std::env::set_var(var, val); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [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 #27970 [INFO] [stdout] = note: `--force-warn deprecated-safe-2024` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: you can wrap the call in an `unsafe` block if you can guarantee that the environment access only happens in single-threaded code [INFO] [stdout] | [INFO] [stdout] 2109 ~ // TODO: Audit that the environment access only happens in single-threaded code. [INFO] [stdout] 2110 ~ unsafe { std::env::set_var(var, val) }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:262:5 [INFO] [stdout] | [INFO] [stdout] 262 | if let Some((i, _)) = n.to_integer_round(Round::Zero) {i} else {Integer::ZERO} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:262:58 [INFO] [stdout] | [INFO] [stdout] 262 | if let Some((i, _)) = n.to_integer_round(Round::Zero) {i} else {Integer::ZERO} [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] 262 | match n.to_integer_round(Round::Zero) { Some((i, _)) => {i} _ => {Integer::ZERO}} [INFO] [stdout] | ~~~~~ +++++++++++++++++ ~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:492:5 [INFO] [stdout] | [INFO] [stdout] 492 | if let Some(n) = CONSTANTS.get(q.as_str()).map(|c| c(prec)) { [INFO] [stdout] | ^^^^^^^^^^^^^^------------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:494:2 [INFO] [stdout] | [INFO] [stdout] 494 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 492 ~ match CONSTANTS.get(q.as_str()).map(|c| c(prec)) { Some(n) => { [INFO] [stdout] 493 | Some((s*n).pow(p)) [INFO] [stdout] 494 ~ } _ => if !safe { [INFO] [stdout] 495 | match q.as_str() { //terminators are here [INFO] [stdout] ... [INFO] [stdout] 501 | } [INFO] [stdout] 502 ~ else {None}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:751:15 [INFO] [stdout] | [INFO] [stdout] 751 | let i = if let Some(i) = st.rptr.take() {i} //take index from reg ptr [INFO] [stdout] | ^^^^^^^^^^^^^^-------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 752 | else if let Some(c) = cmdstk.last_mut().unwrap().next() {Integer::from(c as u32)} //steal next command char as index [INFO] [stdout] | ------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:751:46 [INFO] [stdout] | [INFO] [stdout] 751 | let i = if let Some(i) = st.rptr.take() {i} //take index from reg ptr [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:752:84 [INFO] [stdout] | [INFO] [stdout] 752 | else if let Some(c) = cmdstk.last_mut().unwrap().next() {Integer::from(c as u32)} //steal next command char as index [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 751 ~ let i = match st.rptr.take() { Some(i) => {i} _ => { match cmdstk.last_mut().unwrap().next() { Some(c) => {Integer::from(c as u32)} _ => { [INFO] [stdout] 752 | writeln!(error, "! Command '{cmd}' needs a register number")?; [INFO] [stdout] 753 | continue; [INFO] [stdout] 754 ~ }}}}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:758:8 [INFO] [stdout] | [INFO] [stdout] 758 | if let Some(r) = st.regs.get_mut(&i) {r} //reg already exists? [INFO] [stdout] | ^^^^^^^^^^^^^^-------^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:758:44 [INFO] [stdout] | [INFO] [stdout] 758 | if let Some(r) = st.regs.get_mut(&i) {r} //reg already exists? [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 758 ~ match st.regs.get_mut(&i) { Some(r) => {r} _ => { [INFO] [stdout] 759 | st.regs.insert(i.clone(), Register::default()); //else touch reg [INFO] [stdout] 760 | st.regs.get_mut(&i).unwrap() [INFO] [stdout] 761 ~ }}, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:1065:9 [INFO] [stdout] | [INFO] [stdout] 1065 | if let Some(n) = ib.clone().abs().to_usize() { [INFO] [stdout] | ^^^^^^^^^^^^^^----------------^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:1075:6 [INFO] [stdout] | [INFO] [stdout] 1075 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1065 ~ match ib.clone().abs().to_usize() { Some(n) => { [INFO] [stdout] 1066 | st.mstk.push(Str( [INFO] [stdout] ... [INFO] [stdout] 1074 | None [INFO] [stdout] 1075 ~ } _ => { [INFO] [stdout] 1076 | Some(format!("Cannot possibly remove {ib} characters from a string")) [INFO] [stdout] 1077 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:1087:9 [INFO] [stdout] | [INFO] [stdout] 1087 | if let Some(n) = ib.clone().abs().to_usize() { [INFO] [stdout] | ^^^^^^^^^^^^^^----------------^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:1097:6 [INFO] [stdout] | [INFO] [stdout] 1097 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1087 ~ match ib.clone().abs().to_usize() { Some(n) => { [INFO] [stdout] 1088 | st.mstk.push(Str( [INFO] [stdout] ... [INFO] [stdout] 1096 | None [INFO] [stdout] 1097 ~ } _ => { [INFO] [stdout] 1098 | Some(format!("Cannot possibly repeat a string {ib} times")) [INFO] [stdout] 1099 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:1117:9 [INFO] [stdout] | [INFO] [stdout] 1117 | if let Some(n) = ib.clone().abs().to_usize() { [INFO] [stdout] | ^^^^^^^^^^^^^^----------------^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:1127:6 [INFO] [stdout] | [INFO] [stdout] 1127 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1117 ~ match ib.clone().abs().to_usize() { Some(n) => { [INFO] [stdout] 1118 | st.mstk.push(Str( [INFO] [stdout] ... [INFO] [stdout] 1126 | None [INFO] [stdout] 1127 ~ } _ => { [INFO] [stdout] 1128 | Some(format!("Cannot possibly shorten a string to {ib} characters")) [INFO] [stdout] 1129 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:1149:9 [INFO] [stdout] | [INFO] [stdout] 1149 | if let Some(n) = ib.to_usize() { [INFO] [stdout] | ^^^^^^^^^^^^^^--^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:1157:6 [INFO] [stdout] | [INFO] [stdout] 1157 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1149 ~ match ib.to_usize() { Some(n) => { [INFO] [stdout] 1150 | if let Some(c) = sa.chars().nth(n) { [INFO] [stdout] ... [INFO] [stdout] 1156 | } [INFO] [stdout] 1157 ~ } _ => { [INFO] [stdout] 1158 | Some(format!("Cannot possibly extract character at index {ib}")) [INFO] [stdout] 1159 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:1181:9 [INFO] [stdout] | [INFO] [stdout] 1181 | if let Some(n) = ib.to_usize() { [INFO] [stdout] | ^^^^^^^^^^^^^^--^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:1185:6 [INFO] [stdout] | [INFO] [stdout] 1185 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1181 ~ match ib.to_usize() { Some(n) => { [INFO] [stdout] 1182 | st.mstk.push(Str(sa.chars().take(n).collect())); [INFO] [stdout] 1183 | st.mstk.push(Str(sa.chars().skip(n).collect())); [INFO] [stdout] 1184 | None [INFO] [stdout] 1185 ~ } _ => { [INFO] [stdout] 1186 | Some(format!("Cannot possibly split a string at character {ib}")) [INFO] [stdout] 1187 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:1207:11 [INFO] [stdout] | [INFO] [stdout] 1207 | ... if let Ok(new) = RegexBuilder::new(sb).size_limit(usize::MAX).build() { [INFO] [stdout] | ^^^^^^^^^^^^^^---------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:1210:8 [INFO] [stdout] | [INFO] [stdout] 1210 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1207 ~ match RegexBuilder::new(sb).size_limit(usize::MAX).build() { Ok(new) => { [INFO] [stdout] 1208 | re_cache.insert(sb.clone(), new.clone()); [INFO] [stdout] 1209 | re = Some(new); [INFO] [stdout] 1210 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:1238:14 [INFO] [stdout] | [INFO] [stdout] 1238 | else if let Ok(res) = ia.clone().pow_mod(&ib, &ic) { [INFO] [stdout] | ^^^^^^^^^^^^^^---------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:1241:6 [INFO] [stdout] | [INFO] [stdout] 1241 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1238 ~ else { match ia.clone().pow_mod(&ib, &ic) { Ok(res) => { [INFO] [stdout] 1239 | st.mstk.push(Num(Float::with_val(st.w, res))); [INFO] [stdout] 1240 | None [INFO] [stdout] 1241 ~ } _ => { [INFO] [stdout] 1242 | Some(format!("{ia} doesn't have an inverse mod {ic}")) [INFO] [stdout] 1243 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:1249:10 [INFO] [stdout] | [INFO] [stdout] 1249 | if let Ok(new) = RegexBuilder::new(sb).size_limit(usize::MAX).build() { [INFO] [stdout] | ^^^^^^^^^^^^^^---------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:1252:7 [INFO] [stdout] | [INFO] [stdout] 1252 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1249 ~ match RegexBuilder::new(sb).size_limit(usize::MAX).build() { Ok(new) => { [INFO] [stdout] 1250 | re_cache.insert(sb.clone(), new.clone()); [INFO] [stdout] 1251 | re = Some(new); [INFO] [stdout] 1252 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:1390:8 [INFO] [stdout] | [INFO] [stdout] 1390 | if let Some(u) = int.to_u64() { [INFO] [stdout] | ^^^^^^^^^^^^^^---^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:1393:5 [INFO] [stdout] | [INFO] [stdout] 1393 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1390 ~ match int.to_u64() { Some(u) => { [INFO] [stdout] 1391 | th::sleep(Duration::from_millis(u)); [INFO] [stdout] 1392 | None [INFO] [stdout] 1393 ~ } _ => { [INFO] [stdout] 1394 | Some(format!("Cannot possibly wait {int} milliseconds")) [INFO] [stdout] 1395 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:1420:11 [INFO] [stdout] | [INFO] [stdout] 1420 | ... if let Some(res) = get_constant(st.w, sa, safe) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^---------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:1423:8 [INFO] [stdout] | [INFO] [stdout] 1423 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1420 ~ match get_constant(st.w, sa, safe) { Some(res) => { [INFO] [stdout] 1421 | st.mstk.push(Num(res)); [INFO] [stdout] 1422 | None [INFO] [stdout] 1423 ~ } _ => { [INFO] [stdout] 1424 | Some("Constant/conversion factor not found".into()) [INFO] [stdout] 1425 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:1430:11 [INFO] [stdout] | [INFO] [stdout] 1430 | ... if let (Some(nl), Some(nr)) = (get_constant(st.w, sl, safe), get_constant(st.w, sr, safe)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------------------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:1433:8 [INFO] [stdout] | [INFO] [stdout] 1433 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1430 ~ match (get_constant(st.w, sl, safe), get_constant(st.w, sr, safe)) { (Some(nl), Some(nr)) => { [INFO] [stdout] 1431 | st.mstk.push(Num(nl/nr)); [INFO] [stdout] 1432 | None [INFO] [stdout] 1433 ~ } _ => { [INFO] [stdout] 1434 | Some("Constant/conversion factor not found".into()) [INFO] [stdout] 1435 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:1470:8 [INFO] [stdout] | [INFO] [stdout] 1470 | if let Some(num) = int.to_usize() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^---^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:1473:5 [INFO] [stdout] | [INFO] [stdout] 1473 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1470 ~ match int.to_usize() { Some(num) => { [INFO] [stdout] 1471 | st.mstk.truncate(st.mstk.len().saturating_sub(num)); [INFO] [stdout] 1472 | None [INFO] [stdout] 1473 ~ } _ => { [INFO] [stdout] 1474 | Some(format!("Cannot possibly remove {int} objects from the main stack")) [INFO] [stdout] 1475 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:1481:8 [INFO] [stdout] | [INFO] [stdout] 1481 | if let Some(o) = st.mstk.last() { [INFO] [stdout] | ^^^^^^^^^^^^^^-------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:1484:5 [INFO] [stdout] | [INFO] [stdout] 1484 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1481 ~ match st.mstk.last() { Some(o) => { [INFO] [stdout] 1482 | st.mstk.push(o.clone()); [INFO] [stdout] 1483 | None [INFO] [stdout] 1484 ~ } _ => { [INFO] [stdout] 1485 | Some("Nothing to duplicate".into()) [INFO] [stdout] 1486 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:1493:8 [INFO] [stdout] | [INFO] [stdout] 1493 | if let Some(num) = int.to_usize() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^---^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:1501:5 [INFO] [stdout] | [INFO] [stdout] 1501 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1493 ~ match int.to_usize() { Some(num) => { [INFO] [stdout] 1494 | if num<=st.mstk.len() { [INFO] [stdout] ... [INFO] [stdout] 1500 | } [INFO] [stdout] 1501 ~ } _ => { [INFO] [stdout] 1502 | Some(format!("Cannot possibly duplicate {int} objects")) [INFO] [stdout] 1503 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:1523:8 [INFO] [stdout] | [INFO] [stdout] 1523 | if let Some(num) = int.clone().abs().to_usize() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^-----------------^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:1540:5 [INFO] [stdout] | [INFO] [stdout] 1540 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1523 ~ match int.clone().abs().to_usize() { Some(num) => { [INFO] [stdout] 1524 | let len = st.mstk.len(); [INFO] [stdout] ... [INFO] [stdout] 1539 | } [INFO] [stdout] 1540 ~ } _ => { [INFO] [stdout] 1541 | Some(format!("Cannot possibly rotate {} objects", int.abs())) [INFO] [stdout] 1542 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:1558:8 [INFO] [stdout] | [INFO] [stdout] 1558 | if let Err(e) = st.par.set_k(round(na)) { [INFO] [stdout] | ^^^^^^^^^^^^^------^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:1560:5 [INFO] [stdout] | [INFO] [stdout] 1560 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1558 ~ match st.par.set_k(round(na)) { Err(e) => { [INFO] [stdout] 1559 | Some(e.into()) [INFO] [stdout] 1560 ~ } _ => {None}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:1566:8 [INFO] [stdout] | [INFO] [stdout] 1566 | if let Err(e) = st.par.set_i(round(na)) { [INFO] [stdout] | ^^^^^^^^^^^^^------^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:1568:5 [INFO] [stdout] | [INFO] [stdout] 1568 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1566 ~ match st.par.set_i(round(na)) { Err(e) => { [INFO] [stdout] 1567 | Some(e.into()) [INFO] [stdout] 1568 ~ } _ => {None}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:1574:8 [INFO] [stdout] | [INFO] [stdout] 1574 | if let Err(e) = st.par.set_o(round(na)) { [INFO] [stdout] | ^^^^^^^^^^^^^------^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:1576:5 [INFO] [stdout] | [INFO] [stdout] 1576 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1574 ~ match st.par.set_o(round(na)) { Err(e) => { [INFO] [stdout] 1575 | Some(e.into()) [INFO] [stdout] 1576 ~ } _ => {None}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:1583:8 [INFO] [stdout] | [INFO] [stdout] 1583 | if let (Some(u), false) = (i.to_u32(), i==0_u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^-^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:1586:5 [INFO] [stdout] | [INFO] [stdout] 1586 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1583 ~ match (i.to_u32(), i==0_u8) { (Some(u), false) => { [INFO] [stdout] 1584 | st.w = u; [INFO] [stdout] 1585 | None [INFO] [stdout] 1586 ~ } _ => { [INFO] [stdout] 1587 | Some(format!("Working precision must be in range 1 ≤ W ≤ {}", u32::MAX)) [INFO] [stdout] 1588 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:1635:9 [INFO] [stdout] | [INFO] [stdout] 1635 | if let Some(ro) = reg.v.last_mut() { [INFO] [stdout] | ^^^^^^^^^^^^^^^-----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:1637:6 [INFO] [stdout] | [INFO] [stdout] 1637 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1635 ~ match reg.v.last_mut() { Some(ro) => { [INFO] [stdout] 1636 | ro.o = a.clone(); [INFO] [stdout] 1637 ~ } _ => { [INFO] [stdout] 1638 | reg.v.push(RegObj { o: a.clone(), a: Vec::new() }); [INFO] [stdout] 1639 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:1664:9 [INFO] [stdout] | [INFO] [stdout] 1664 | if let Some(ro) = reg.v.last() { [INFO] [stdout] | ^^^^^^^^^^^^^^^-----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:1667:6 [INFO] [stdout] | [INFO] [stdout] 1667 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1664 ~ match reg.v.last() { Some(ro) => { [INFO] [stdout] 1665 | st.mstk.push(ro.o.clone()); [INFO] [stdout] 1666 | None [INFO] [stdout] 1667 ~ } _ => { [INFO] [stdout] 1668 | Some(format!("Register # {rnum} is empty")) [INFO] [stdout] 1669 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:1680:9 [INFO] [stdout] | [INFO] [stdout] 1680 | if let Some(ro) = reg.v.pop() { [INFO] [stdout] | ^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:1683:6 [INFO] [stdout] | [INFO] [stdout] 1683 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1680 ~ match reg.v.pop() { Some(ro) => { [INFO] [stdout] 1681 | st.mstk.push(ro.o); [INFO] [stdout] 1682 | None [INFO] [stdout] 1683 ~ } _ => { [INFO] [stdout] 1684 | Some(format!("Register # {rnum} is empty")) [INFO] [stdout] 1685 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:1699:8 [INFO] [stdout] | [INFO] [stdout] 1699 | if let Some(rai) = int.to_usize() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^---^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:1710:5 [INFO] [stdout] | [INFO] [stdout] 1710 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1699 ~ match int.to_usize() { Some(rai) => { [INFO] [stdout] 1700 | if inv { //extend with given object [INFO] [stdout] ... [INFO] [stdout] 1709 | None [INFO] [stdout] 1710 ~ } _ => { [INFO] [stdout] 1711 | Some(format!("Cannot possibly save to array index {int}")) [INFO] [stdout] 1712 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:1722:8 [INFO] [stdout] | [INFO] [stdout] 1722 | if let Some(rai) = int.to_usize() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^---^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:1734:5 [INFO] [stdout] | [INFO] [stdout] 1734 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1722 ~ match int.to_usize() { Some(rai) => { [INFO] [stdout] 1723 | if inv { //truncate and shrink [INFO] [stdout] ... [INFO] [stdout] 1733 | None [INFO] [stdout] 1734 ~ } _ => { [INFO] [stdout] 1735 | Some(format!("Cannot possibly load from array index {int}")) [INFO] [stdout] 1736 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:1742:8 [INFO] [stdout] | [INFO] [stdout] 1742 | if let Some(mut ro) = reg.v.pop() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:1750:5 [INFO] [stdout] | [INFO] [stdout] 1750 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1742 ~ match reg.v.pop() { Some(mut ro) => { [INFO] [stdout] 1743 | if !inv { //to buf [INFO] [stdout] ... [INFO] [stdout] 1749 | None [INFO] [stdout] 1750 ~ } _ => { [INFO] [stdout] 1751 | Some(format!("Register # {rnum} is empty")) [INFO] [stdout] 1752 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:1822:9 [INFO] [stdout] | [INFO] [stdout] 1822 | if let Ok(res) = String::from_utf8(round(na).to_digits::(Order::Msf)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:1825:6 [INFO] [stdout] | [INFO] [stdout] 1825 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1822 ~ match String::from_utf8(round(na).to_digits::(Order::Msf)) { Ok(res) => { [INFO] [stdout] 1823 | st.mstk.push(Str(res)); [INFO] [stdout] 1824 | None [INFO] [stdout] 1825 ~ } _ => { [INFO] [stdout] 1826 | Some(format!("Unable to convert number {} to string: not a valid UTF-8 sequence", round(na))) [INFO] [stdout] 1827 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:2023:8 [INFO] [stdout] | [INFO] [stdout] 2023 | if let Some(num) = int.to_usize() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^---^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:2029:5 [INFO] [stdout] | [INFO] [stdout] 2029 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 2023 ~ match int.to_usize() { Some(num) => { [INFO] [stdout] 2024 | cmdstk.truncate(cmdstk.len().saturating_sub(num)); [INFO] [stdout] ... [INFO] [stdout] 2028 | None [INFO] [stdout] 2029 ~ } _ => { [INFO] [stdout] 2030 | Some(format!("Cannot possibly quit {int} levels")) [INFO] [stdout] 2031 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 33 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `dcim` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/lib.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/lib.rs:317:3 [INFO] [stderr] | [INFO] [stderr] 317 | ($val: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 1 previous error [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/lib.rs:317:8 [INFO] [stdout] | [INFO] [stdout] 317 | ($val: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] 317 | ($val:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to deprecated safe function `std::env::set_var` is unsafe and requires unsafe block [INFO] [stdout] --> src/lib.rs:2109:7 [INFO] [stdout] | [INFO] [stdout] 2109 | std::env::set_var(var, val); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [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 #27970 [INFO] [stdout] = note: `--force-warn deprecated-safe-2024` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: you can wrap the call in an `unsafe` block if you can guarantee that the environment access only happens in single-threaded code [INFO] [stdout] | [INFO] [stdout] 2109 ~ // TODO: Audit that the environment access only happens in single-threaded code. [INFO] [stdout] 2110 ~ unsafe { std::env::set_var(var, val) }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:262:5 [INFO] [stdout] | [INFO] [stdout] 262 | if let Some((i, _)) = n.to_integer_round(Round::Zero) {i} else {Integer::ZERO} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:262:58 [INFO] [stdout] | [INFO] [stdout] 262 | if let Some((i, _)) = n.to_integer_round(Round::Zero) {i} else {Integer::ZERO} [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] 262 | match n.to_integer_round(Round::Zero) { Some((i, _)) => {i} _ => {Integer::ZERO}} [INFO] [stdout] | ~~~~~ +++++++++++++++++ ~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:492:5 [INFO] [stdout] | [INFO] [stdout] 492 | if let Some(n) = CONSTANTS.get(q.as_str()).map(|c| c(prec)) { [INFO] [stdout] | ^^^^^^^^^^^^^^------------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:494:2 [INFO] [stdout] | [INFO] [stdout] 494 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 492 ~ match CONSTANTS.get(q.as_str()).map(|c| c(prec)) { Some(n) => { [INFO] [stdout] 493 | Some((s*n).pow(p)) [INFO] [stdout] 494 ~ } _ => if !safe { [INFO] [stdout] 495 | match q.as_str() { //terminators are here [INFO] [stdout] ... [INFO] [stdout] 501 | } [INFO] [stdout] 502 ~ else {None}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:751:15 [INFO] [stdout] | [INFO] [stdout] 751 | let i = if let Some(i) = st.rptr.take() {i} //take index from reg ptr [INFO] [stdout] | ^^^^^^^^^^^^^^-------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 752 | else if let Some(c) = cmdstk.last_mut().unwrap().next() {Integer::from(c as u32)} //steal next command char as index [INFO] [stdout] | ------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:751:46 [INFO] [stdout] | [INFO] [stdout] 751 | let i = if let Some(i) = st.rptr.take() {i} //take index from reg ptr [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:752:84 [INFO] [stdout] | [INFO] [stdout] 752 | else if let Some(c) = cmdstk.last_mut().unwrap().next() {Integer::from(c as u32)} //steal next command char as index [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 751 ~ let i = match st.rptr.take() { Some(i) => {i} _ => { match cmdstk.last_mut().unwrap().next() { Some(c) => {Integer::from(c as u32)} _ => { [INFO] [stdout] 752 | writeln!(error, "! Command '{cmd}' needs a register number")?; [INFO] [stdout] 753 | continue; [INFO] [stdout] 754 ~ }}}}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:758:8 [INFO] [stdout] | [INFO] [stdout] 758 | if let Some(r) = st.regs.get_mut(&i) {r} //reg already exists? [INFO] [stdout] | ^^^^^^^^^^^^^^-------^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:758:44 [INFO] [stdout] | [INFO] [stdout] 758 | if let Some(r) = st.regs.get_mut(&i) {r} //reg already exists? [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 758 ~ match st.regs.get_mut(&i) { Some(r) => {r} _ => { [INFO] [stdout] 759 | st.regs.insert(i.clone(), Register::default()); //else touch reg [INFO] [stdout] 760 | st.regs.get_mut(&i).unwrap() [INFO] [stdout] 761 ~ }}, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:1065:9 [INFO] [stdout] | [INFO] [stdout] 1065 | if let Some(n) = ib.clone().abs().to_usize() { [INFO] [stdout] | ^^^^^^^^^^^^^^----------------^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:1075:6 [INFO] [stdout] | [INFO] [stdout] 1075 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1065 ~ match ib.clone().abs().to_usize() { Some(n) => { [INFO] [stdout] 1066 | st.mstk.push(Str( [INFO] [stdout] ... [INFO] [stdout] 1074 | None [INFO] [stdout] 1075 ~ } _ => { [INFO] [stdout] 1076 | Some(format!("Cannot possibly remove {ib} characters from a string")) [INFO] [stdout] 1077 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:1087:9 [INFO] [stdout] | [INFO] [stdout] 1087 | if let Some(n) = ib.clone().abs().to_usize() { [INFO] [stdout] | ^^^^^^^^^^^^^^----------------^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:1097:6 [INFO] [stdout] | [INFO] [stdout] 1097 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1087 ~ match ib.clone().abs().to_usize() { Some(n) => { [INFO] [stdout] 1088 | st.mstk.push(Str( [INFO] [stdout] ... [INFO] [stdout] 1096 | None [INFO] [stdout] 1097 ~ } _ => { [INFO] [stdout] 1098 | Some(format!("Cannot possibly repeat a string {ib} times")) [INFO] [stdout] 1099 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:1117:9 [INFO] [stdout] | [INFO] [stdout] 1117 | if let Some(n) = ib.clone().abs().to_usize() { [INFO] [stdout] | ^^^^^^^^^^^^^^----------------^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:1127:6 [INFO] [stdout] | [INFO] [stdout] 1127 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1117 ~ match ib.clone().abs().to_usize() { Some(n) => { [INFO] [stdout] 1118 | st.mstk.push(Str( [INFO] [stdout] ... [INFO] [stdout] 1126 | None [INFO] [stdout] 1127 ~ } _ => { [INFO] [stdout] 1128 | Some(format!("Cannot possibly shorten a string to {ib} characters")) [INFO] [stdout] 1129 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:1149:9 [INFO] [stdout] | [INFO] [stdout] 1149 | if let Some(n) = ib.to_usize() { [INFO] [stdout] | ^^^^^^^^^^^^^^--^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:1157:6 [INFO] [stdout] | [INFO] [stdout] 1157 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1149 ~ match ib.to_usize() { Some(n) => { [INFO] [stdout] 1150 | if let Some(c) = sa.chars().nth(n) { [INFO] [stdout] ... [INFO] [stdout] 1156 | } [INFO] [stdout] 1157 ~ } _ => { [INFO] [stdout] 1158 | Some(format!("Cannot possibly extract character at index {ib}")) [INFO] [stdout] 1159 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:1181:9 [INFO] [stdout] | [INFO] [stdout] 1181 | if let Some(n) = ib.to_usize() { [INFO] [stdout] | ^^^^^^^^^^^^^^--^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:1185:6 [INFO] [stdout] | [INFO] [stdout] 1185 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1181 ~ match ib.to_usize() { Some(n) => { [INFO] [stdout] 1182 | st.mstk.push(Str(sa.chars().take(n).collect())); [INFO] [stdout] 1183 | st.mstk.push(Str(sa.chars().skip(n).collect())); [INFO] [stdout] 1184 | None [INFO] [stdout] 1185 ~ } _ => { [INFO] [stdout] 1186 | Some(format!("Cannot possibly split a string at character {ib}")) [INFO] [stdout] 1187 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:1207:11 [INFO] [stdout] | [INFO] [stdout] 1207 | ... if let Ok(new) = RegexBuilder::new(sb).size_limit(usize::MAX).build() { [INFO] [stdout] | ^^^^^^^^^^^^^^---------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:1210:8 [INFO] [stdout] | [INFO] [stdout] 1210 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1207 ~ match RegexBuilder::new(sb).size_limit(usize::MAX).build() { Ok(new) => { [INFO] [stdout] 1208 | re_cache.insert(sb.clone(), new.clone()); [INFO] [stdout] 1209 | re = Some(new); [INFO] [stdout] 1210 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:1238:14 [INFO] [stdout] | [INFO] [stdout] 1238 | else if let Ok(res) = ia.clone().pow_mod(&ib, &ic) { [INFO] [stdout] | ^^^^^^^^^^^^^^---------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:1241:6 [INFO] [stdout] | [INFO] [stdout] 1241 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1238 ~ else { match ia.clone().pow_mod(&ib, &ic) { Ok(res) => { [INFO] [stdout] 1239 | st.mstk.push(Num(Float::with_val(st.w, res))); [INFO] [stdout] 1240 | None [INFO] [stdout] 1241 ~ } _ => { [INFO] [stdout] 1242 | Some(format!("{ia} doesn't have an inverse mod {ic}")) [INFO] [stdout] 1243 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:1249:10 [INFO] [stdout] | [INFO] [stdout] 1249 | if let Ok(new) = RegexBuilder::new(sb).size_limit(usize::MAX).build() { [INFO] [stdout] | ^^^^^^^^^^^^^^---------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:1252:7 [INFO] [stdout] | [INFO] [stdout] 1252 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1249 ~ match RegexBuilder::new(sb).size_limit(usize::MAX).build() { Ok(new) => { [INFO] [stdout] 1250 | re_cache.insert(sb.clone(), new.clone()); [INFO] [stdout] 1251 | re = Some(new); [INFO] [stdout] 1252 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:1390:8 [INFO] [stdout] | [INFO] [stdout] 1390 | if let Some(u) = int.to_u64() { [INFO] [stdout] | ^^^^^^^^^^^^^^---^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:1393:5 [INFO] [stdout] | [INFO] [stdout] 1393 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1390 ~ match int.to_u64() { Some(u) => { [INFO] [stdout] 1391 | th::sleep(Duration::from_millis(u)); [INFO] [stdout] 1392 | None [INFO] [stdout] 1393 ~ } _ => { [INFO] [stdout] 1394 | Some(format!("Cannot possibly wait {int} milliseconds")) [INFO] [stdout] 1395 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:1420:11 [INFO] [stdout] | [INFO] [stdout] 1420 | ... if let Some(res) = get_constant(st.w, sa, safe) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^---------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:1423:8 [INFO] [stdout] | [INFO] [stdout] 1423 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1420 ~ match get_constant(st.w, sa, safe) { Some(res) => { [INFO] [stdout] 1421 | st.mstk.push(Num(res)); [INFO] [stdout] 1422 | None [INFO] [stdout] 1423 ~ } _ => { [INFO] [stdout] 1424 | Some("Constant/conversion factor not found".into()) [INFO] [stdout] 1425 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:1430:11 [INFO] [stdout] | [INFO] [stdout] 1430 | ... if let (Some(nl), Some(nr)) = (get_constant(st.w, sl, safe), get_constant(st.w, sr, safe)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------------------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:1433:8 [INFO] [stdout] | [INFO] [stdout] 1433 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1430 ~ match (get_constant(st.w, sl, safe), get_constant(st.w, sr, safe)) { (Some(nl), Some(nr)) => { [INFO] [stdout] 1431 | st.mstk.push(Num(nl/nr)); [INFO] [stdout] 1432 | None [INFO] [stdout] 1433 ~ } _ => { [INFO] [stdout] 1434 | Some("Constant/conversion factor not found".into()) [INFO] [stdout] 1435 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:1470:8 [INFO] [stdout] | [INFO] [stdout] 1470 | if let Some(num) = int.to_usize() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^---^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:1473:5 [INFO] [stdout] | [INFO] [stdout] 1473 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1470 ~ match int.to_usize() { Some(num) => { [INFO] [stdout] 1471 | st.mstk.truncate(st.mstk.len().saturating_sub(num)); [INFO] [stdout] 1472 | None [INFO] [stdout] 1473 ~ } _ => { [INFO] [stdout] 1474 | Some(format!("Cannot possibly remove {int} objects from the main stack")) [INFO] [stdout] 1475 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:1481:8 [INFO] [stdout] | [INFO] [stdout] 1481 | if let Some(o) = st.mstk.last() { [INFO] [stdout] | ^^^^^^^^^^^^^^-------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:1484:5 [INFO] [stdout] | [INFO] [stdout] 1484 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1481 ~ match st.mstk.last() { Some(o) => { [INFO] [stdout] 1482 | st.mstk.push(o.clone()); [INFO] [stdout] 1483 | None [INFO] [stdout] 1484 ~ } _ => { [INFO] [stdout] 1485 | Some("Nothing to duplicate".into()) [INFO] [stdout] 1486 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:1493:8 [INFO] [stdout] | [INFO] [stdout] 1493 | if let Some(num) = int.to_usize() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^---^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:1501:5 [INFO] [stdout] | [INFO] [stdout] 1501 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1493 ~ match int.to_usize() { Some(num) => { [INFO] [stdout] 1494 | if num<=st.mstk.len() { [INFO] [stdout] ... [INFO] [stdout] 1500 | } [INFO] [stdout] 1501 ~ } _ => { [INFO] [stdout] 1502 | Some(format!("Cannot possibly duplicate {int} objects")) [INFO] [stdout] 1503 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:1523:8 [INFO] [stdout] | [INFO] [stdout] 1523 | if let Some(num) = int.clone().abs().to_usize() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^-----------------^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:1540:5 [INFO] [stdout] | [INFO] [stdout] 1540 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1523 ~ match int.clone().abs().to_usize() { Some(num) => { [INFO] [stdout] 1524 | let len = st.mstk.len(); [INFO] [stdout] ... [INFO] [stdout] 1539 | } [INFO] [stdout] 1540 ~ } _ => { [INFO] [stdout] 1541 | Some(format!("Cannot possibly rotate {} objects", int.abs())) [INFO] [stdout] 1542 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:1558:8 [INFO] [stdout] | [INFO] [stdout] 1558 | if let Err(e) = st.par.set_k(round(na)) { [INFO] [stdout] | ^^^^^^^^^^^^^------^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:1560:5 [INFO] [stdout] | [INFO] [stdout] 1560 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1558 ~ match st.par.set_k(round(na)) { Err(e) => { [INFO] [stdout] 1559 | Some(e.into()) [INFO] [stdout] 1560 ~ } _ => {None}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:1566:8 [INFO] [stdout] | [INFO] [stdout] 1566 | if let Err(e) = st.par.set_i(round(na)) { [INFO] [stdout] | ^^^^^^^^^^^^^------^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:1568:5 [INFO] [stdout] | [INFO] [stdout] 1568 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1566 ~ match st.par.set_i(round(na)) { Err(e) => { [INFO] [stdout] 1567 | Some(e.into()) [INFO] [stdout] 1568 ~ } _ => {None}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:1574:8 [INFO] [stdout] | [INFO] [stdout] 1574 | if let Err(e) = st.par.set_o(round(na)) { [INFO] [stdout] | ^^^^^^^^^^^^^------^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:1576:5 [INFO] [stdout] | [INFO] [stdout] 1576 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1574 ~ match st.par.set_o(round(na)) { Err(e) => { [INFO] [stdout] 1575 | Some(e.into()) [INFO] [stdout] 1576 ~ } _ => {None}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:1583:8 [INFO] [stdout] | [INFO] [stdout] 1583 | if let (Some(u), false) = (i.to_u32(), i==0_u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^-^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:1586:5 [INFO] [stdout] | [INFO] [stdout] 1586 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1583 ~ match (i.to_u32(), i==0_u8) { (Some(u), false) => { [INFO] [stdout] 1584 | st.w = u; [INFO] [stdout] 1585 | None [INFO] [stdout] 1586 ~ } _ => { [INFO] [stdout] 1587 | Some(format!("Working precision must be in range 1 ≤ W ≤ {}", u32::MAX)) [INFO] [stdout] 1588 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:1635:9 [INFO] [stdout] | [INFO] [stdout] 1635 | if let Some(ro) = reg.v.last_mut() { [INFO] [stdout] | ^^^^^^^^^^^^^^^-----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:1637:6 [INFO] [stdout] | [INFO] [stdout] 1637 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1635 ~ match reg.v.last_mut() { Some(ro) => { [INFO] [stdout] 1636 | ro.o = a.clone(); [INFO] [stdout] 1637 ~ } _ => { [INFO] [stdout] 1638 | reg.v.push(RegObj { o: a.clone(), a: Vec::new() }); [INFO] [stdout] 1639 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:1664:9 [INFO] [stdout] | [INFO] [stdout] 1664 | if let Some(ro) = reg.v.last() { [INFO] [stdout] | ^^^^^^^^^^^^^^^-----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:1667:6 [INFO] [stdout] | [INFO] [stdout] 1667 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1664 ~ match reg.v.last() { Some(ro) => { [INFO] [stdout] 1665 | st.mstk.push(ro.o.clone()); [INFO] [stdout] 1666 | None [INFO] [stdout] 1667 ~ } _ => { [INFO] [stdout] 1668 | Some(format!("Register # {rnum} is empty")) [INFO] [stdout] 1669 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:1680:9 [INFO] [stdout] | [INFO] [stdout] 1680 | if let Some(ro) = reg.v.pop() { [INFO] [stdout] | ^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:1683:6 [INFO] [stdout] | [INFO] [stdout] 1683 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1680 ~ match reg.v.pop() { Some(ro) => { [INFO] [stdout] 1681 | st.mstk.push(ro.o); [INFO] [stdout] 1682 | None [INFO] [stdout] 1683 ~ } _ => { [INFO] [stdout] 1684 | Some(format!("Register # {rnum} is empty")) [INFO] [stdout] 1685 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:1699:8 [INFO] [stdout] | [INFO] [stdout] 1699 | if let Some(rai) = int.to_usize() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^---^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:1710:5 [INFO] [stdout] | [INFO] [stdout] 1710 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1699 ~ match int.to_usize() { Some(rai) => { [INFO] [stdout] 1700 | if inv { //extend with given object [INFO] [stdout] ... [INFO] [stdout] 1709 | None [INFO] [stdout] 1710 ~ } _ => { [INFO] [stdout] 1711 | Some(format!("Cannot possibly save to array index {int}")) [INFO] [stdout] 1712 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:1722:8 [INFO] [stdout] | [INFO] [stdout] 1722 | if let Some(rai) = int.to_usize() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^---^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:1734:5 [INFO] [stdout] | [INFO] [stdout] 1734 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1722 ~ match int.to_usize() { Some(rai) => { [INFO] [stdout] 1723 | if inv { //truncate and shrink [INFO] [stdout] ... [INFO] [stdout] 1733 | None [INFO] [stdout] 1734 ~ } _ => { [INFO] [stdout] 1735 | Some(format!("Cannot possibly load from array index {int}")) [INFO] [stdout] 1736 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:1742:8 [INFO] [stdout] | [INFO] [stdout] 1742 | if let Some(mut ro) = reg.v.pop() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:1750:5 [INFO] [stdout] | [INFO] [stdout] 1750 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1742 ~ match reg.v.pop() { Some(mut ro) => { [INFO] [stdout] 1743 | if !inv { //to buf [INFO] [stdout] ... [INFO] [stdout] 1749 | None [INFO] [stdout] 1750 ~ } _ => { [INFO] [stdout] 1751 | Some(format!("Register # {rnum} is empty")) [INFO] [stdout] 1752 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:1822:9 [INFO] [stdout] | [INFO] [stdout] 1822 | if let Ok(res) = String::from_utf8(round(na).to_digits::(Order::Msf)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:1825:6 [INFO] [stdout] | [INFO] [stdout] 1825 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1822 ~ match String::from_utf8(round(na).to_digits::(Order::Msf)) { Ok(res) => { [INFO] [stdout] 1823 | st.mstk.push(Str(res)); [INFO] [stdout] 1824 | None [INFO] [stdout] 1825 ~ } _ => { [INFO] [stdout] 1826 | Some(format!("Unable to convert number {} to string: not a valid UTF-8 sequence", round(na))) [INFO] [stdout] 1827 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:2023:8 [INFO] [stdout] | [INFO] [stdout] 2023 | if let Some(num) = int.to_usize() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^---^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:2029:5 [INFO] [stdout] | [INFO] [stdout] 2029 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 2023 ~ match int.to_usize() { Some(num) => { [INFO] [stdout] 2024 | cmdstk.truncate(cmdstk.len().saturating_sub(num)); [INFO] [stdout] ... [INFO] [stdout] 2028 | None [INFO] [stdout] 2029 ~ } _ => { [INFO] [stdout] 2030 | Some(format!("Cannot possibly quit {int} levels")) [INFO] [stdout] 2031 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 33 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating src/main.rs from 2021 edition to 2024 [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 35s [INFO] [stderr] Running `cargo check` to verify 2024 [INFO] [stderr] Checking dcim v2.3.5 (/tmp/fixit) [INFO] [stdout] error[E0133]: call to unsafe function `set_var` is unsafe and requires unsafe block [INFO] [stdout] --> src/lib.rs:2109:7 [INFO] [stdout] | [INFO] [stdout] 2109 | std::env::set_var(var, val); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0133]: call to unsafe function `set_var` is unsafe and requires unsafe block [INFO] [stdout] --> src/lib.rs:2109:7 [INFO] [stdout] | [INFO] [stdout] 2109 | std::env::set_var(var, val); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] error: could not compile `dcim` (lib) due to 2 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: could not compile `dcim` (lib test) due to 2 previous errors [INFO] [stderr] error: failed to check after updating to 2024 [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `cargo check --frozen --all --all-targets --message-format=json` (exit status: 101) [INFO] running `Command { std: "docker" "inspect" "6785c4f58d6eb603026b58bcabe63a2835142c938e33a4f8446faf79cfd5b7a7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6785c4f58d6eb603026b58bcabe63a2835142c938e33a4f8446faf79cfd5b7a7", kill_on_drop: false }` [INFO] [stdout] 6785c4f58d6eb603026b58bcabe63a2835142c938e33a4f8446faf79cfd5b7a7