[INFO] fetching crate piccolo 0.3.3... [INFO] checking piccolo-0.3.3 against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] extracting crate piccolo 0.3.3 into /workspace/builds/worker-2-tc2/source [INFO] validating manifest of crates.io crate piccolo 0.3.3 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 piccolo 0.3.3 [INFO] finished tweaking crates.io crate piccolo 0.3.3 [INFO] tweaked toml for crates.io crate piccolo 0.3.3 written to /workspace/builds/worker-2-tc2/source/Cargo.toml [INFO] crate crates.io crate piccolo 0.3.3 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-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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] cc79be6fb49d1e917e34508815ee20916d7dffb008dd6e622dc17df88344c30a [INFO] running `Command { std: "docker" "start" "-a" "cc79be6fb49d1e917e34508815ee20916d7dffb008dd6e622dc17df88344c30a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "cc79be6fb49d1e917e34508815ee20916d7dffb008dd6e622dc17df88344c30a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "cc79be6fb49d1e917e34508815ee20916d7dffb008dd6e622dc17df88344c30a", kill_on_drop: false }` [INFO] [stdout] cc79be6fb49d1e917e34508815ee20916d7dffb008dd6e622dc17df88344c30a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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] 77ed63046c79a53f708ebb1b5f7ee87ca29801c29dbccf181908c5fb349bd373 [INFO] running `Command { std: "docker" "start" "-a" "77ed63046c79a53f708ebb1b5f7ee87ca29801c29dbccf181908c5fb349bd373", kill_on_drop: false }` [INFO] [stderr] Copying to /tmp/fixit [INFO] [stderr] Running `cargo fix --edition` [INFO] [stderr] Migrating Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Compiling libc v0.2.155 [INFO] [stderr] Compiling proc-macro2 v1.0.85 [INFO] [stderr] Checking utf8parse v0.2.2 [INFO] [stderr] Checking bitflags v2.5.0 [INFO] [stderr] Compiling rustix v0.38.34 [INFO] [stderr] Checking once_cell v1.19.0 [INFO] [stderr] Compiling cfg_aliases v0.1.1 [INFO] [stderr] Checking zerocopy v0.7.34 [INFO] [stderr] Checking anstyle v1.0.7 [INFO] [stderr] Checking is_terminal_polyfill v1.70.0 [INFO] [stderr] Checking allocator-api2 v0.2.18 [INFO] [stderr] Compiling thiserror v1.0.61 [INFO] [stderr] Compiling ahash v0.8.11 [INFO] [stderr] Compiling anyhow v1.0.86 [INFO] [stderr] Checking linux-raw-sys v0.4.14 [INFO] [stderr] Checking anstyle-query v1.1.0 [INFO] [stderr] Checking colorchoice v1.0.1 [INFO] [stderr] Compiling nix v0.28.0 [INFO] [stderr] Checking nibble_vec v0.1.0 [INFO] [stderr] Checking anstyle-parse v0.2.4 [INFO] [stderr] Checking endian-type v0.1.2 [INFO] [stderr] Checking sptr v0.3.2 [INFO] [stderr] Checking clap_lex v0.7.1 [INFO] [stderr] Checking strsim v0.11.1 [INFO] [stderr] Checking memchr v2.7.4 [INFO] [stderr] Checking unicode-segmentation v1.11.0 [INFO] [stderr] Checking radix_trie v0.2.1 [INFO] [stderr] Checking anstream v0.6.14 [INFO] [stderr] Checking log v0.4.21 [INFO] [stderr] Checking home v0.5.9 [INFO] [stderr] Checking unicode-width v0.1.13 [INFO] [stderr] Checking clap_builder v4.5.7 [INFO] [stderr] Compiling quote v1.0.36 [INFO] [stderr] Compiling syn v2.0.66 [INFO] [stderr] Checking getrandom v0.2.15 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking hashbrown v0.14.5 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking clap v4.5.7 [INFO] [stderr] Checking fd-lock v4.0.2 [INFO] [stderr] Compiling synstructure v0.13.1 [INFO] [stderr] Checking rustyline v14.0.0 [INFO] [stderr] Compiling gc-arena-derive v0.5.3 [INFO] [stderr] Compiling thiserror-impl v1.0.61 [INFO] [stderr] Checking gc-arena v0.5.3 [INFO] [stderr] Checking piccolo v0.3.3 (/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 `piccolo` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/conversion.rs [INFO] [stderr] * src/string.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/string.rs:110:16 [INFO] [stderr] | [INFO] [stderr] 110 | ($($size:expr_2021),*) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] warning: irrefutable `if let` pattern [INFO] [stderr] --> src/conversion.rs:221:28 [INFO] [stderr] | [INFO] [stderr] 221 | if let Ok(i) = <$i>::try_from(i) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 240 | impl_int_from!(i64, u64, i32, u32, i16, u16, i8, u8); [INFO] [stderr] | ---------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this pattern will always match, so the `if let` is useless [INFO] [stderr] = help: consider replacing the `if let` with a `let` [INFO] [stderr] = note: `#[warn(irrefutable_let_patterns)]` on by default [INFO] [stderr] = note: this warning originates in the macro `impl_int_from` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: aborting due to 1 previous error; 1 warning emitted [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/stdlib/math.rs:204:59 [INFO] [stdout] | [INFO] [stdout] 204 | (None, None) => Some(rng.borrow_mut().gen::().into()), [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/stdlib/math.rs:205:62 [INFO] [stdout] | [INFO] [stdout] 205 | (Some(0), None) => Some(rng.borrow_mut().gen::().into()), [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/string.rs:110:22 [INFO] [stdout] | [INFO] [stdout] 110 | ($($size: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] 110 | ($($size:expr_2021),*) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: irrefutable `if let` pattern [INFO] [stdout] --> src/conversion.rs:221:28 [INFO] [stdout] | [INFO] [stdout] 221 | if let Ok(i) = <$i>::try_from(i) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 240 | impl_int_from!(i64, u64, i32, u32, i16, u16, i8, u8); [INFO] [stdout] | ---------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this pattern will always match, so the `if let` is useless [INFO] [stdout] = help: consider replacing the `if let` with a `let` [INFO] [stdout] = note: `#[warn(irrefutable_let_patterns)]` on by default [INFO] [stdout] = note: this warning originates in the macro `impl_int_from` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/compiler.rs:349:15 [INFO] [stdout] | [INFO] [stdout] 349 | while let Some((_, last)) = self.current_function.locals.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/compiler/compiler.rs:356:9 [INFO] [stdout] | [INFO] [stdout] 356 | } [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/compiler.rs:396:12 [INFO] [stdout] | [INFO] [stdout] 396 | if let Some(return_statement) = &block.return_statement { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler/compiler.rs:404:9 [INFO] [stdout] | [INFO] [stdout] 404 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 396 ~ match &block.return_statement { Some(return_statement) => { [INFO] [stdout] 397 | for statement in &block.statements { [INFO] [stdout] ... [INFO] [stdout] 403 | self.return_statement(return_statement)?; [INFO] [stdout] 404 ~ } _ => { [INFO] [stdout] 405 | let mut last = block.statements.len(); [INFO] [stdout] ... [INFO] [stdout] 427 | } [INFO] [stdout] 428 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/compiler.rs:768:29 [INFO] [stdout] | [INFO] [stdout] 768 | table = Some(if let Some(table) = table { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler/compiler.rs:773:13 [INFO] [stdout] | [INFO] [stdout] 773 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 768 ~ table = Some(match table { Some(table) => { [INFO] [stdout] 769 | ExprDescriptor::TableField { [INFO] [stdout] ... [INFO] [stdout] 772 | } [INFO] [stdout] 773 ~ } _ => { [INFO] [stdout] 774 | ExprDescriptor::Variable(self.find_variable(name)?) [INFO] [stdout] 775 ~ }}); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/compiler.rs:798:12 [INFO] [stdout] | [INFO] [stdout] 798 | if let Some(table) = table { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler/compiler.rs:804:9 [INFO] [stdout] | [INFO] [stdout] 804 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 798 ~ match table { Some(table) => { [INFO] [stdout] 799 | self.set_table( [INFO] [stdout] ... [INFO] [stdout] 803 | )?; [INFO] [stdout] 804 ~ } _ => { [INFO] [stdout] 805 | match self.find_variable(name.clone())? { [INFO] [stdout] ... [INFO] [stdout] 830 | } [INFO] [stdout] 831 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/compiler.rs:1194:16 [INFO] [stdout] | [INFO] [stdout] 1194 | if let Some(v) = unop_const_fold(unop, 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/compiler/compiler.rs:1196:13 [INFO] [stdout] | [INFO] [stdout] 1196 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1194 ~ match unop_const_fold(unop, v) { Some(v) => { [INFO] [stdout] 1195 | return Ok(ExprDescriptor::Constant(v)); [INFO] [stdout] 1196 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/compiler.rs:1215:24 [INFO] [stdout] | [INFO] [stdout] 1215 | if let Some(v) = simple_binop_const_fold(op, a, b) { [INFO] [stdout] | ^^^^^^^^^^^^^^--------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler/compiler.rs:1217:21 [INFO] [stdout] | [INFO] [stdout] 1217 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1215 ~ match simple_binop_const_fold(op, a, b) { Some(v) => { [INFO] [stdout] 1216 | return Ok(ExprDescriptor::Constant(v)); [INFO] [stdout] 1217 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/compiler.rs:1229:24 [INFO] [stdout] | [INFO] [stdout] 1229 | if let Some(v) = comparison_binop_const_fold(op, a, b) { [INFO] [stdout] | ^^^^^^^^^^^^^^------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler/compiler.rs:1231:21 [INFO] [stdout] | [INFO] [stdout] 1231 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1229 ~ match comparison_binop_const_fold(op, a, b) { Some(v) => { [INFO] [stdout] 1230 | return Ok(ExprDescriptor::Constant(v)); [INFO] [stdout] 1231 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/compiler.rs:1711:15 [INFO] [stdout] | [INFO] [stdout] 1711 | Ok(if let Some(last_arg) = args.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/compiler/compiler.rs:1766:9 [INFO] [stdout] | [INFO] [stdout] 1766 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1711 ~ Ok(match args.pop() { Some(last_arg) => { [INFO] [stdout] 1712 | for arg in args { [INFO] [stdout] ... [INFO] [stdout] 1765 | arg_count [INFO] [stdout] 1766 ~ } _ => { [INFO] [stdout] 1767 | VarCount::constant(0) [INFO] [stdout] 1768 ~ }}) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/compiler.rs:1778:16 [INFO] [stdout] | [INFO] [stdout] 1778 | if let ExprDescriptor::Variable(VariableDescriptor::Local(register)) = expr { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler/compiler.rs:1780:13 [INFO] [stdout] | [INFO] [stdout] 1780 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1778 ~ match expr { ExprDescriptor::Variable(VariableDescriptor::Local(register)) => { [INFO] [stdout] 1779 | (register, false) [INFO] [stdout] 1780 ~ } _ => { [INFO] [stdout] 1781 | ( [INFO] [stdout] ... [INFO] [stdout] 1784 | ) [INFO] [stdout] 1785 ~ }}, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/compiler.rs:1798:16 [INFO] [stdout] | [INFO] [stdout] 1798 | if let Ok(c8) = self.get_constant(cons.clone())?.0.try_into() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler/compiler.rs:1800:13 [INFO] [stdout] | [INFO] [stdout] 1800 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1798 ~ match self.get_constant(cons.clone())?.0.try_into() { Ok(c8) => { [INFO] [stdout] 1799 | return Ok((RCIndex::Constant(ConstantIndex8(c8)), None)); [INFO] [stdout] 1800 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/compiler.rs:2204:24 [INFO] [stdout] | [INFO] [stdout] 2204 | if let Some(new) = self.current_function.register_allocator.push(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/compiler/compiler.rs:2208:21 [INFO] [stdout] | [INFO] [stdout] 2208 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 2204 ~ match self.current_function.register_allocator.push(1) { Some(new) => { [INFO] [stdout] 2205 | let next = exprs.pop_front().unwrap(); [INFO] [stdout] 2206 | self.expr_discharge(next, ExprDestination::Register(new))?; [INFO] [stdout] 2207 | count += 1; [INFO] [stdout] 2208 ~ } _ => { [INFO] [stdout] 2209 | self.current_function.operations.push(Operation::Concat { [INFO] [stdout] ... [INFO] [stdout] 2217 | count = 1; [INFO] [stdout] 2218 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/interning.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 26 | if let Some(s) = self.0.get(string) { [INFO] [stdout] | ^^^^^^^^^^^^^^------^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler/interning.rs:28:9 [INFO] [stdout] | [INFO] [stdout] 28 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 26 ~ match self.0.get(string) { Some(s) => { [INFO] [stdout] 27 | s.clone() [INFO] [stdout] 28 ~ } _ => { [INFO] [stdout] 29 | let s = Rc::from(Box::from(string)); [INFO] [stdout] 30 | self.0.insert(Rc::clone(&s)); [INFO] [stdout] 31 | s [INFO] [stdout] 32 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/lexer.rs:283:19 [INFO] [stdout] | [INFO] [stdout] 283 | while let Some(c) = self.peek(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/compiler/lexer.rs:320:13 [INFO] [stdout] | [INFO] [stdout] 320 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/lexer.rs:306:43 [INFO] [stdout] | [INFO] [stdout] 306 | ... while let Some(c) = self.peek(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/compiler/lexer.rs:312:37 [INFO] [stdout] | [INFO] [stdout] 312 | ... } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/lexer.rs:339:16 [INFO] [stdout] | [INFO] [stdout] 339 | if let Some(c) = self.peek(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/compiler/lexer.rs:486:13 [INFO] [stdout] | [INFO] [stdout] 486 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 339 ~ match self.peek(0)? { Some(c) => { [INFO] [stdout] 340 | Ok(Some(match c { [INFO] [stdout] ... [INFO] [stdout] 485 | })) [INFO] [stdout] 486 ~ } _ => { [INFO] [stdout] 487 | Ok(None) [INFO] [stdout] 488 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/lexer.rs:458:35 [INFO] [stdout] | [INFO] [stdout] 458 | } else if let Some(t) = get_char_token(c) { [INFO] [stdout] | ^^^^^^^^^^^^^^----------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler/lexer.rs:461:25 [INFO] [stdout] | [INFO] [stdout] 461 | } else if is_alpha(c) { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 458 ~ } else { match get_char_token(c) { Some(t) => { [INFO] [stdout] 459 | self.advance(1); [INFO] [stdout] 460 | t [INFO] [stdout] 461 ~ } _ => if is_alpha(c) { [INFO] [stdout] 462 | self.string_buffer.clear(); [INFO] [stdout] ... [INFO] [stdout] 482 | return Err(LexError::UnexpectedCharacter(c)); [INFO] [stdout] 483 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/lexer.rs:466:35 [INFO] [stdout] | [INFO] [stdout] 466 | ... while let Some(c) = self.peek(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/compiler/lexer.rs:473:29 [INFO] [stdout] | [INFO] [stdout] 473 | ... } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/lexer.rs:475:32 [INFO] [stdout] | [INFO] [stdout] 475 | ... if let Some(t) = get_reserved_word_token(self.string_buffer.as_slice()) [INFO] [stdout] | ^^^^^^^^^^^^^^------------------------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler/lexer.rs:478:29 [INFO] [stdout] | [INFO] [stdout] 478 | ... } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 475 ~ match get_reserved_word_token(self.string_buffer.as_slice()) [INFO] [stdout] 476 ~ { Some(t) => { [INFO] [stdout] 477 | t [INFO] [stdout] 478 ~ } _ => { [INFO] [stdout] 479 | Token::Name(self.take_string()) [INFO] [stdout] 480 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/lexer.rs:539:24 [INFO] [stdout] | [INFO] [stdout] 539 | let c = if let Some(c) = self.peek(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/compiler/lexer.rs:541:13 [INFO] [stdout] | [INFO] [stdout] 541 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 539 ~ let c = match self.peek(0)? { Some(c) => { [INFO] [stdout] 540 | c [INFO] [stdout] 541 ~ } _ => { [INFO] [stdout] 542 | return Err(LexError::UnfinishedShortString(start_quote)); [INFO] [stdout] 543 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/lexer.rs:631:32 [INFO] [stdout] | [INFO] [stdout] 631 | ... if let Some(c) = self.peek(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/compiler/lexer.rs:641:29 [INFO] [stdout] | [INFO] [stdout] 641 | ... } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 631 ~ match self.peek(0)? { Some(c) => { [INFO] [stdout] 632 | if c == b'}' { [INFO] [stdout] ... [INFO] [stdout] 640 | } [INFO] [stdout] 641 ~ } _ => { [INFO] [stdout] 642 | return Err(LexError::EscapeUnicodeEnd); [INFO] [stdout] 643 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/lexer.rs:655:31 [INFO] [stdout] | [INFO] [stdout] 655 | while let Some(c) = self.peek(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/compiler/lexer.rs:663:25 [INFO] [stdout] | [INFO] [stdout] 663 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/lexer.rs:670:36 [INFO] [stdout] | [INFO] [stdout] 670 | ... if let Some(d) = self.peek(0)?.and_then(from_digit) { [INFO] [stdout] | ^^^^^^^^^^^^^^-------------^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler/lexer.rs:673:33 [INFO] [stdout] | [INFO] [stdout] 673 | ... } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 670 ~ match self.peek(0)?.and_then(from_digit) { Some(d) => { [INFO] [stdout] 671 | u = 10 * u + d as u16; [INFO] [stdout] 672 | self.advance(1); [INFO] [stdout] 673 ~ } _ => { [INFO] [stdout] 674 | break; [INFO] [stdout] 675 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/lexer.rs:725:24 [INFO] [stdout] | [INFO] [stdout] 725 | let c = if let Some(c) = self.peek(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/compiler/lexer.rs:727:13 [INFO] [stdout] | [INFO] [stdout] 727 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 725 ~ let c = match self.peek(0)? { Some(c) => { [INFO] [stdout] 726 | c [INFO] [stdout] 727 ~ } _ => { [INFO] [stdout] 728 | return Err(LexError::UnfinishedLongString); [INFO] [stdout] 729 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/lexer.rs:789:15 [INFO] [stdout] | [INFO] [stdout] 789 | while let Some(c) = self.peek(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/compiler/lexer.rs:800:9 [INFO] [stdout] | [INFO] [stdout] 800 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/lexer.rs:818:23 [INFO] [stdout] | [INFO] [stdout] 818 | while let Some(c) = self.peek(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/compiler/lexer.rs:825:17 [INFO] [stdout] | [INFO] [stdout] 825 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/lexer.rs:1132:15 [INFO] [stdout] | [INFO] [stdout] 1132 | while let Some(token) = lexer.read_token().unwrap() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^------------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler/lexer.rs:1136:9 [INFO] [stdout] | [INFO] [stdout] 1136 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/lexer.rs:1146:16 [INFO] [stdout] | [INFO] [stdout] 1146 | if let Some(token) = lexer.read_token().unwrap() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^------------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler/lexer.rs:1151:13 [INFO] [stdout] | [INFO] [stdout] 1151 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1146 ~ match lexer.read_token().unwrap() { Some(token) => { [INFO] [stdout] 1147 | assert!(i < tokens.len(), "too many tokens"); [INFO] [stdout] ... [INFO] [stdout] 1150 | i += 1; [INFO] [stdout] 1151 ~ } _ => { [INFO] [stdout] 1152 | break; [INFO] [stdout] 1153 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/parser.rs:374:28 [INFO] [stdout] | [INFO] [stdout] 374 | let closed_on = if let Some(next) = self.look_ahead(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/compiler/parser.rs:376:9 [INFO] [stdout] | [INFO] [stdout] 376 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 374 ~ let closed_on = match self.look_ahead(0)? { Some(next) => { [INFO] [stdout] 375 | next.line_number [INFO] [stdout] 376 ~ } _ => { [INFO] [stdout] 377 | self.lexer.line_number() [INFO] [stdout] 378 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/parser.rs:673:19 [INFO] [stdout] | [INFO] [stdout] 673 | } else if let Some(suffix) = suffixed_expression.suffixes.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/compiler/parser.rs:686:9 [INFO] [stdout] | [INFO] [stdout] 686 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 673 ~ } else { match suffixed_expression.suffixes.pop() { Some(suffix) => { [INFO] [stdout] 674 | match suffix { [INFO] [stdout] ... [INFO] [stdout] 685 | } [INFO] [stdout] 686 ~ } _ => { [INFO] [stdout] 687 | Err(ParseError { [INFO] [stdout] ... [INFO] [stdout] 690 | }) [INFO] [stdout] 691 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/parser.rs:633:44 [INFO] [stdout] | [INFO] [stdout] 633 | let assignment_target = if let Some(suffix) = suffixed_expression.suffixes.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/compiler/parser.rs:645:17 [INFO] [stdout] | [INFO] [stdout] 645 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 633 ~ let assignment_target = match suffixed_expression.suffixes.pop() { Some(suffix) => { [INFO] [stdout] 634 | match suffix { [INFO] [stdout] ... [INFO] [stdout] 644 | } [INFO] [stdout] 645 ~ } _ => { [INFO] [stdout] 646 | match suffixed_expression.primary { [INFO] [stdout] ... [INFO] [stdout] 654 | } [INFO] [stdout] 655 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/parser.rs:714:23 [INFO] [stdout] | [INFO] [stdout] 714 | let head = if let Some(unary_op) = get_unary_operator(self.get_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/compiler/parser.rs:717:9 [INFO] [stdout] | [INFO] [stdout] 717 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 714 ~ let head = match get_unary_operator(self.get_next()?) { Some(unary_op) => { [INFO] [stdout] 715 | self.take_next()?; [INFO] [stdout] 716 | HeadExpression::UnaryOperator(unary_op, self.parse_sub_expression(UNARY_PRIORITY)?) [INFO] [stdout] 717 ~ } _ => { [INFO] [stdout] 718 | HeadExpression::Simple(self.parse_simple_expression()?) [INFO] [stdout] 719 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/parser.rs:722:15 [INFO] [stdout] | [INFO] [stdout] 722 | while let Some(binary_op) = self.look_ahead(0)?.and_then(|t| get_binary_operator(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/compiler/parser.rs:731:9 [INFO] [stdout] | [INFO] [stdout] 731 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/parser.rs:861:15 [INFO] [stdout] | [INFO] [stdout] 861 | Ok(if let Some(method_name) = method_name { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler/parser.rs:863:9 [INFO] [stdout] | [INFO] [stdout] 863 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 861 ~ Ok(match method_name { Some(method_name) => { [INFO] [stdout] 862 | CallSuffix::Method(method_name, args) [INFO] [stdout] 863 ~ } _ => { [INFO] [stdout] 864 | CallSuffix::Function(args) [INFO] [stdout] 865 ~ }}) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/parser.rs:1007:12 [INFO] [stdout] | [INFO] [stdout] 1007 | if let Some(token) = self.read_buffer.get(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/compiler/parser.rs:1009:9 [INFO] [stdout] | [INFO] [stdout] 1009 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1007 ~ match self.read_buffer.get(0) { Some(token) => { [INFO] [stdout] 1008 | Ok(token) [INFO] [stdout] 1009 ~ } _ => { [INFO] [stdout] 1010 | Err(ParseError { [INFO] [stdout] ... [INFO] [stdout] 1013 | }) [INFO] [stdout] 1014 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/parser.rs:1117:15 [INFO] [stdout] | [INFO] [stdout] 1117 | Ok(if let Some(t) = self.read_buffer.get(n) { [INFO] [stdout] | ^^^^^^^^^^^^^^----------------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler/parser.rs:1119:9 [INFO] [stdout] | [INFO] [stdout] 1119 | } else { [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 ~ Ok(match self.read_buffer.get(n) { Some(t) => { [INFO] [stdout] 1118 | **t == token [INFO] [stdout] 1119 ~ } _ => { [INFO] [stdout] 1120 | false [INFO] [stdout] 1121 ~ }}) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/parser.rs:1133:16 [INFO] [stdout] | [INFO] [stdout] 1133 | if let Some(token) = self.lexer.read_token().map_err(|e| ParseError { [INFO] [stdout] | ________________^ - [INFO] [stdout] | |__________________________________| [INFO] [stdout] 1134 | || kind: ParseErrorKind::LexError(e), [INFO] [stdout] 1135 | || line_number: self.lexer.line_number(), [INFO] [stdout] 1136 | || })? { [INFO] [stdout] | ||_______________^ 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/compiler/parser.rs:1139:13 [INFO] [stdout] | [INFO] [stdout] 1139 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1133 ~ match self.lexer.read_token().map_err(|e| ParseError { [INFO] [stdout] 1134 | kind: ParseErrorKind::LexError(e), [INFO] [stdout] 1135 | line_number: self.lexer.line_number(), [INFO] [stdout] 1136 ~ })? { Some(token) => { [INFO] [stdout] 1137 | self.read_buffer [INFO] [stdout] 1138 | .push(LineAnnotated::new(line_number, token)); [INFO] [stdout] 1139 ~ } _ => { [INFO] [stdout] 1140 | break; [INFO] [stdout] 1141 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lua.rs:196:20 [INFO] [stdout] | [INFO] [stdout] 196 | if let Some(marked) = self.arena.mark_debt() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^----------^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lua.rs:205:17 [INFO] [stdout] | [INFO] [stdout] 205 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 196 ~ match self.arena.mark_debt() { Some(marked) => { [INFO] [stdout] 197 | marked.finalize(|fc, root| { [INFO] [stdout] ... [INFO] [stdout] 204 | self.arena.mark_all().unwrap().start_collecting(); [INFO] [stdout] 205 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/meta_ops.rs:205:20 [INFO] [stdout] | [INFO] [stdout] 205 | if let Some(call) = new_index(ctx, table, key, value)? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^---------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/meta_ops.rs:212:17 [INFO] [stdout] | [INFO] [stdout] 212 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 205 ~ match new_index(ctx, table, key, value)? { Some(call) => { [INFO] [stdout] 206 | stack.extend(call.args); [INFO] [stdout] ... [INFO] [stdout] 211 | .into()) [INFO] [stdout] 212 ~ } _ => { [INFO] [stdout] 213 | Ok(CallbackReturn::Return) [INFO] [stdout] 214 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/stdlib/math.rs:19:16 [INFO] [stdout] | [INFO] [stdout] 19 | if let Some(res) = f(ctx, stack.consume(ctx)?) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^--------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/stdlib/math.rs:22:13 [INFO] [stdout] | [INFO] [stdout] 22 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 19 ~ match f(ctx, stack.consume(ctx)?) { Some(res) => { [INFO] [stdout] 20 | stack.replace(ctx, res); [INFO] [stdout] 21 | Ok(CallbackReturn::Return) [INFO] [stdout] 22 ~ } _ => { [INFO] [stdout] 23 | Err(format!("Bad argument to {name}").into_value(ctx).into()) [INFO] [stdout] 24 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/table/raw.rs:76:16 [INFO] [stdout] | [INFO] [stdout] 76 | if let Some((_, v)) = self [INFO] [stdout] | _________________^ - [INFO] [stdout] | | ___________________________________| [INFO] [stdout] 77 | || .map [INFO] [stdout] | ||____________________- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 78 | | .raw_entry() [INFO] [stdout] 79 | | .from_hash(self.hash_builder.hash_one(key), |k| k.eq(key)) [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/table/raw.rs:82:13 [INFO] [stdout] | [INFO] [stdout] 82 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 76 ~ match self [INFO] [stdout] 77 | .map [INFO] [stdout] 78 | .raw_entry() [INFO] [stdout] 79 | .from_hash(self.hash_builder.hash_one(key), |k| k.eq(key)) [INFO] [stdout] 80 ~ { Some((_, v)) => { [INFO] [stdout] 81 | *v [INFO] [stdout] 82 ~ } _ => { [INFO] [stdout] 83 | Value::Nil [INFO] [stdout] 84 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/table/raw.rs:129:16 [INFO] [stdout] | [INFO] [stdout] 129 | if let hash_map::RawEntryMut::Occupied(mut occupied) = self [INFO] [stdout] | _________________^ - [INFO] [stdout] | | ____________________________________________________________________| [INFO] [stdout] 130 | || .map [INFO] [stdout] | ||____________________- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 131 | | .raw_entry_mut() [INFO] [stdout] 132 | | .from_hash(hash, |k| k.eq(table_key)) [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/table/raw.rs:139:13 [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] 129 ~ match self [INFO] [stdout] 130 | .map [INFO] [stdout] 131 | .raw_entry_mut() [INFO] [stdout] 132 | .from_hash(hash, |k| k.eq(table_key)) [INFO] [stdout] 133 ~ { hash_map::RawEntryMut::Occupied(mut occupied) => { [INFO] [stdout] 134 | let (k, v) = occupied.get_key_value_mut(); [INFO] [stdout] ... [INFO] [stdout] 138 | mem::take(v) [INFO] [stdout] 139 ~ } _ => { [INFO] [stdout] 140 | Value::Nil [INFO] [stdout] 141 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/thread/executor.rs:121:12 [INFO] [stdout] | [INFO] [stdout] 121 | if let Ok(state) = self.0.try_borrow() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/thread/executor.rs:134:9 [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] 121 ~ match self.0.try_borrow() { Ok(state) => { [INFO] [stdout] 122 | if state.thread_stack.len() > 1 { [INFO] [stdout] ... [INFO] [stdout] 133 | } [INFO] [stdout] 134 ~ } _ => { [INFO] [stdout] 135 | ExecutorMode::Running [INFO] [stdout] 136 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/thread/executor.rs:244:36 [INFO] [stdout] | [INFO] [stdout] 244 | ... if let Err(err) = to_thread [INFO] [stdout] | __________________________^ [INFO] [stdout] 245 | | ... .resume(ctx, Variadic(top_state.stack.drain(stack_bottom..))) [INFO] [stdout] | |________________________________________-----------------------------------------------^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/thread/executor.rs:248:33 [INFO] [stdout] | [INFO] [stdout] 248 | ... } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 244 ~ match to_thread [INFO] [stdout] 245 | .resume(ctx, Variadic(top_state.stack.drain(stack_bottom..))) [INFO] [stdout] 246 ~ { Err(err) => { [INFO] [stdout] 247 | top_state.frames.push(Frame::Error(err.into())); [INFO] [stdout] 248 ~ } _ => { [INFO] [stdout] 249 | thread_stack.pop(); [INFO] [stdout] 250 | thread_stack.push(to_thread); [INFO] [stdout] 251 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/thread/executor.rs:278:32 [INFO] [stdout] | [INFO] [stdout] 278 | ... if let Err(err) = [INFO] [stdout] | __________________________^ [INFO] [stdout] 279 | | ... thread.resume(ctx, Variadic(top_state.stack.drain(stack_bottom..))) [INFO] [stdout] | |______________________________________________-----------------------------------------------^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/thread/executor.rs:282:29 [INFO] [stdout] | [INFO] [stdout] 282 | ... } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 278 ~ match thread.resume(ctx, Variadic(top_state.stack.drain(stack_bottom..))) [INFO] [stdout] 279 ~ { Err(err) => { [INFO] [stdout] 280 | top_state.frames.push(Frame::Error(err.into())); [INFO] [stdout] 281 ~ } _ => { [INFO] [stdout] 282 | if top_state.frames.len() == 1 { [INFO] [stdout] ... [INFO] [stdout] 287 | thread_stack.push(thread); [INFO] [stdout] 288 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/thread/executor.rs:355:38 [INFO] [stdout] | [INFO] [stdout] 355 | let fin = if let Some(err) = pending_error { [INFO] [stdout] | ^^^^^^^^^^^^^^^^------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/thread/executor.rs:357:25 [INFO] [stdout] | [INFO] [stdout] 357 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 355 ~ let fin = match pending_error { Some(err) => { [INFO] [stdout] 356 | sequence.error(ctx, exec, err, Stack::new(&mut top_state.stack, bottom)) [INFO] [stdout] 357 ~ } _ => { [INFO] [stdout] 358 | sequence.poll(ctx, exec, Stack::new(&mut top_state.stack, bottom)) [INFO] [stdout] 359 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/thread/thread.rs:211:12 [INFO] [stdout] | [INFO] [stdout] 211 | if let Ok(state) = self.0.try_borrow_mut(mc) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/thread/thread.rs:221:9 [INFO] [stdout] | [INFO] [stdout] 221 | } else { [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 self.0.try_borrow_mut(mc) { Ok(state) => { [INFO] [stdout] 212 | let found = state.mode(); [INFO] [stdout] ... [INFO] [stdout] 220 | } [INFO] [stdout] 221 ~ } _ => { [INFO] [stdout] 222 | Err(BadThreadMode { [INFO] [stdout] ... [INFO] [stdout] 225 | }) [INFO] [stdout] 226 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/thread/vm.rs:149:20 [INFO] [stdout] | [INFO] [stdout] 149 | if let Some(call) = meta_ops::new_index(ctx, table, key, value)? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^-------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/thread/vm.rs:157:17 [INFO] [stdout] | [INFO] [stdout] 157 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 149 ~ match meta_ops::new_index(ctx, table, key, value)? { Some(call) => { [INFO] [stdout] 150 | lua_frame.call_meta_function( [INFO] [stdout] ... [INFO] [stdout] 156 | break; [INFO] [stdout] 157 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/thread/vm.rs:183:20 [INFO] [stdout] | [INFO] [stdout] 183 | if let Some(call) = meta_ops::new_index(ctx, table, key, value)? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^-------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/thread/vm.rs:191:17 [INFO] [stdout] | [INFO] [stdout] 191 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 183 ~ match meta_ops::new_index(ctx, table, key, value)? { Some(call) => { [INFO] [stdout] 184 | lua_frame.call_meta_function( [INFO] [stdout] ... [INFO] [stdout] 190 | break; [INFO] [stdout] 191 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 52 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `piccolo` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/conversion.rs [INFO] [stderr] * src/string.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/string.rs:110:16 [INFO] [stderr] | [INFO] [stderr] 110 | ($($size:expr_2021),*) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] warning: irrefutable `if let` pattern [INFO] [stderr] --> src/conversion.rs:221:28 [INFO] [stderr] | [INFO] [stderr] 221 | if let Ok(i) = <$i>::try_from(i) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 240 | impl_int_from!(i64, u64, i32, u32, i16, u16, i8, u8); [INFO] [stderr] | ---------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this pattern will always match, so the `if let` is useless [INFO] [stderr] = help: consider replacing the `if let` with a `let` [INFO] [stderr] = note: `#[warn(irrefutable_let_patterns)]` on by default [INFO] [stderr] = note: this warning originates in the macro `impl_int_from` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: aborting due to 1 previous error; 1 warning emitted [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/stdlib/math.rs:204:59 [INFO] [stdout] | [INFO] [stdout] 204 | (None, None) => Some(rng.borrow_mut().gen::().into()), [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/stdlib/math.rs:205:62 [INFO] [stdout] | [INFO] [stdout] 205 | (Some(0), None) => Some(rng.borrow_mut().gen::().into()), [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/string.rs:110:22 [INFO] [stdout] | [INFO] [stdout] 110 | ($($size: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] 110 | ($($size:expr_2021),*) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: irrefutable `if let` pattern [INFO] [stdout] --> src/conversion.rs:221:28 [INFO] [stdout] | [INFO] [stdout] 221 | if let Ok(i) = <$i>::try_from(i) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 240 | impl_int_from!(i64, u64, i32, u32, i16, u16, i8, u8); [INFO] [stdout] | ---------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this pattern will always match, so the `if let` is useless [INFO] [stdout] = help: consider replacing the `if let` with a `let` [INFO] [stdout] = note: `#[warn(irrefutable_let_patterns)]` on by default [INFO] [stdout] = note: this warning originates in the macro `impl_int_from` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/compiler.rs:349:15 [INFO] [stdout] | [INFO] [stdout] 349 | while let Some((_, last)) = self.current_function.locals.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/compiler/compiler.rs:356:9 [INFO] [stdout] | [INFO] [stdout] 356 | } [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/compiler.rs:396:12 [INFO] [stdout] | [INFO] [stdout] 396 | if let Some(return_statement) = &block.return_statement { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler/compiler.rs:404:9 [INFO] [stdout] | [INFO] [stdout] 404 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 396 ~ match &block.return_statement { Some(return_statement) => { [INFO] [stdout] 397 | for statement in &block.statements { [INFO] [stdout] ... [INFO] [stdout] 403 | self.return_statement(return_statement)?; [INFO] [stdout] 404 ~ } _ => { [INFO] [stdout] 405 | let mut last = block.statements.len(); [INFO] [stdout] ... [INFO] [stdout] 427 | } [INFO] [stdout] 428 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/compiler.rs:768:29 [INFO] [stdout] | [INFO] [stdout] 768 | table = Some(if let Some(table) = table { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler/compiler.rs:773:13 [INFO] [stdout] | [INFO] [stdout] 773 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 768 ~ table = Some(match table { Some(table) => { [INFO] [stdout] 769 | ExprDescriptor::TableField { [INFO] [stdout] ... [INFO] [stdout] 772 | } [INFO] [stdout] 773 ~ } _ => { [INFO] [stdout] 774 | ExprDescriptor::Variable(self.find_variable(name)?) [INFO] [stdout] 775 ~ }}); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/compiler.rs:798:12 [INFO] [stdout] | [INFO] [stdout] 798 | if let Some(table) = table { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler/compiler.rs:804:9 [INFO] [stdout] | [INFO] [stdout] 804 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 798 ~ match table { Some(table) => { [INFO] [stdout] 799 | self.set_table( [INFO] [stdout] ... [INFO] [stdout] 803 | )?; [INFO] [stdout] 804 ~ } _ => { [INFO] [stdout] 805 | match self.find_variable(name.clone())? { [INFO] [stdout] ... [INFO] [stdout] 830 | } [INFO] [stdout] 831 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/compiler.rs:1194:16 [INFO] [stdout] | [INFO] [stdout] 1194 | if let Some(v) = unop_const_fold(unop, 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/compiler/compiler.rs:1196:13 [INFO] [stdout] | [INFO] [stdout] 1196 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1194 ~ match unop_const_fold(unop, v) { Some(v) => { [INFO] [stdout] 1195 | return Ok(ExprDescriptor::Constant(v)); [INFO] [stdout] 1196 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/compiler.rs:1215:24 [INFO] [stdout] | [INFO] [stdout] 1215 | if let Some(v) = simple_binop_const_fold(op, a, b) { [INFO] [stdout] | ^^^^^^^^^^^^^^--------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler/compiler.rs:1217:21 [INFO] [stdout] | [INFO] [stdout] 1217 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1215 ~ match simple_binop_const_fold(op, a, b) { Some(v) => { [INFO] [stdout] 1216 | return Ok(ExprDescriptor::Constant(v)); [INFO] [stdout] 1217 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/compiler.rs:1229:24 [INFO] [stdout] | [INFO] [stdout] 1229 | if let Some(v) = comparison_binop_const_fold(op, a, b) { [INFO] [stdout] | ^^^^^^^^^^^^^^------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler/compiler.rs:1231:21 [INFO] [stdout] | [INFO] [stdout] 1231 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1229 ~ match comparison_binop_const_fold(op, a, b) { Some(v) => { [INFO] [stdout] 1230 | return Ok(ExprDescriptor::Constant(v)); [INFO] [stdout] 1231 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/compiler.rs:1711:15 [INFO] [stdout] | [INFO] [stdout] 1711 | Ok(if let Some(last_arg) = args.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/compiler/compiler.rs:1766:9 [INFO] [stdout] | [INFO] [stdout] 1766 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1711 ~ Ok(match args.pop() { Some(last_arg) => { [INFO] [stdout] 1712 | for arg in args { [INFO] [stdout] ... [INFO] [stdout] 1765 | arg_count [INFO] [stdout] 1766 ~ } _ => { [INFO] [stdout] 1767 | VarCount::constant(0) [INFO] [stdout] 1768 ~ }}) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/compiler.rs:1778:16 [INFO] [stdout] | [INFO] [stdout] 1778 | if let ExprDescriptor::Variable(VariableDescriptor::Local(register)) = expr { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler/compiler.rs:1780:13 [INFO] [stdout] | [INFO] [stdout] 1780 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1778 ~ match expr { ExprDescriptor::Variable(VariableDescriptor::Local(register)) => { [INFO] [stdout] 1779 | (register, false) [INFO] [stdout] 1780 ~ } _ => { [INFO] [stdout] 1781 | ( [INFO] [stdout] ... [INFO] [stdout] 1784 | ) [INFO] [stdout] 1785 ~ }}, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/compiler.rs:1798:16 [INFO] [stdout] | [INFO] [stdout] 1798 | if let Ok(c8) = self.get_constant(cons.clone())?.0.try_into() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler/compiler.rs:1800:13 [INFO] [stdout] | [INFO] [stdout] 1800 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1798 ~ match self.get_constant(cons.clone())?.0.try_into() { Ok(c8) => { [INFO] [stdout] 1799 | return Ok((RCIndex::Constant(ConstantIndex8(c8)), None)); [INFO] [stdout] 1800 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/compiler.rs:2204:24 [INFO] [stdout] | [INFO] [stdout] 2204 | if let Some(new) = self.current_function.register_allocator.push(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/compiler/compiler.rs:2208:21 [INFO] [stdout] | [INFO] [stdout] 2208 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 2204 ~ match self.current_function.register_allocator.push(1) { Some(new) => { [INFO] [stdout] 2205 | let next = exprs.pop_front().unwrap(); [INFO] [stdout] 2206 | self.expr_discharge(next, ExprDestination::Register(new))?; [INFO] [stdout] 2207 | count += 1; [INFO] [stdout] 2208 ~ } _ => { [INFO] [stdout] 2209 | self.current_function.operations.push(Operation::Concat { [INFO] [stdout] ... [INFO] [stdout] 2217 | count = 1; [INFO] [stdout] 2218 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/interning.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 26 | if let Some(s) = self.0.get(string) { [INFO] [stdout] | ^^^^^^^^^^^^^^------^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler/interning.rs:28:9 [INFO] [stdout] | [INFO] [stdout] 28 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 26 ~ match self.0.get(string) { Some(s) => { [INFO] [stdout] 27 | s.clone() [INFO] [stdout] 28 ~ } _ => { [INFO] [stdout] 29 | let s = Rc::from(Box::from(string)); [INFO] [stdout] 30 | self.0.insert(Rc::clone(&s)); [INFO] [stdout] 31 | s [INFO] [stdout] 32 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/lexer.rs:283:19 [INFO] [stdout] | [INFO] [stdout] 283 | while let Some(c) = self.peek(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/compiler/lexer.rs:320:13 [INFO] [stdout] | [INFO] [stdout] 320 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/lexer.rs:306:43 [INFO] [stdout] | [INFO] [stdout] 306 | ... while let Some(c) = self.peek(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/compiler/lexer.rs:312:37 [INFO] [stdout] | [INFO] [stdout] 312 | ... } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/lexer.rs:339:16 [INFO] [stdout] | [INFO] [stdout] 339 | if let Some(c) = self.peek(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/compiler/lexer.rs:486:13 [INFO] [stdout] | [INFO] [stdout] 486 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 339 ~ match self.peek(0)? { Some(c) => { [INFO] [stdout] 340 | Ok(Some(match c { [INFO] [stdout] ... [INFO] [stdout] 485 | })) [INFO] [stdout] 486 ~ } _ => { [INFO] [stdout] 487 | Ok(None) [INFO] [stdout] 488 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/lexer.rs:458:35 [INFO] [stdout] | [INFO] [stdout] 458 | } else if let Some(t) = get_char_token(c) { [INFO] [stdout] | ^^^^^^^^^^^^^^----------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler/lexer.rs:461:25 [INFO] [stdout] | [INFO] [stdout] 461 | } else if is_alpha(c) { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 458 ~ } else { match get_char_token(c) { Some(t) => { [INFO] [stdout] 459 | self.advance(1); [INFO] [stdout] 460 | t [INFO] [stdout] 461 ~ } _ => if is_alpha(c) { [INFO] [stdout] 462 | self.string_buffer.clear(); [INFO] [stdout] ... [INFO] [stdout] 482 | return Err(LexError::UnexpectedCharacter(c)); [INFO] [stdout] 483 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/lexer.rs:466:35 [INFO] [stdout] | [INFO] [stdout] 466 | ... while let Some(c) = self.peek(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/compiler/lexer.rs:473:29 [INFO] [stdout] | [INFO] [stdout] 473 | ... } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/lexer.rs:475:32 [INFO] [stdout] | [INFO] [stdout] 475 | ... if let Some(t) = get_reserved_word_token(self.string_buffer.as_slice()) [INFO] [stdout] | ^^^^^^^^^^^^^^------------------------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler/lexer.rs:478:29 [INFO] [stdout] | [INFO] [stdout] 478 | ... } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 475 ~ match get_reserved_word_token(self.string_buffer.as_slice()) [INFO] [stdout] 476 ~ { Some(t) => { [INFO] [stdout] 477 | t [INFO] [stdout] 478 ~ } _ => { [INFO] [stdout] 479 | Token::Name(self.take_string()) [INFO] [stdout] 480 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/lexer.rs:539:24 [INFO] [stdout] | [INFO] [stdout] 539 | let c = if let Some(c) = self.peek(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/compiler/lexer.rs:541:13 [INFO] [stdout] | [INFO] [stdout] 541 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 539 ~ let c = match self.peek(0)? { Some(c) => { [INFO] [stdout] 540 | c [INFO] [stdout] 541 ~ } _ => { [INFO] [stdout] 542 | return Err(LexError::UnfinishedShortString(start_quote)); [INFO] [stdout] 543 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/lexer.rs:631:32 [INFO] [stdout] | [INFO] [stdout] 631 | ... if let Some(c) = self.peek(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/compiler/lexer.rs:641:29 [INFO] [stdout] | [INFO] [stdout] 641 | ... } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 631 ~ match self.peek(0)? { Some(c) => { [INFO] [stdout] 632 | if c == b'}' { [INFO] [stdout] ... [INFO] [stdout] 640 | } [INFO] [stdout] 641 ~ } _ => { [INFO] [stdout] 642 | return Err(LexError::EscapeUnicodeEnd); [INFO] [stdout] 643 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/lexer.rs:655:31 [INFO] [stdout] | [INFO] [stdout] 655 | while let Some(c) = self.peek(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/compiler/lexer.rs:663:25 [INFO] [stdout] | [INFO] [stdout] 663 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/lexer.rs:670:36 [INFO] [stdout] | [INFO] [stdout] 670 | ... if let Some(d) = self.peek(0)?.and_then(from_digit) { [INFO] [stdout] | ^^^^^^^^^^^^^^-------------^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler/lexer.rs:673:33 [INFO] [stdout] | [INFO] [stdout] 673 | ... } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 670 ~ match self.peek(0)?.and_then(from_digit) { Some(d) => { [INFO] [stdout] 671 | u = 10 * u + d as u16; [INFO] [stdout] 672 | self.advance(1); [INFO] [stdout] 673 ~ } _ => { [INFO] [stdout] 674 | break; [INFO] [stdout] 675 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/lexer.rs:725:24 [INFO] [stdout] | [INFO] [stdout] 725 | let c = if let Some(c) = self.peek(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/compiler/lexer.rs:727:13 [INFO] [stdout] | [INFO] [stdout] 727 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 725 ~ let c = match self.peek(0)? { Some(c) => { [INFO] [stdout] 726 | c [INFO] [stdout] 727 ~ } _ => { [INFO] [stdout] 728 | return Err(LexError::UnfinishedLongString); [INFO] [stdout] 729 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/lexer.rs:789:15 [INFO] [stdout] | [INFO] [stdout] 789 | while let Some(c) = self.peek(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/compiler/lexer.rs:800:9 [INFO] [stdout] | [INFO] [stdout] 800 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/lexer.rs:818:23 [INFO] [stdout] | [INFO] [stdout] 818 | while let Some(c) = self.peek(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/compiler/lexer.rs:825:17 [INFO] [stdout] | [INFO] [stdout] 825 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/parser.rs:374:28 [INFO] [stdout] | [INFO] [stdout] 374 | let closed_on = if let Some(next) = self.look_ahead(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/compiler/parser.rs:376:9 [INFO] [stdout] | [INFO] [stdout] 376 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 374 ~ let closed_on = match self.look_ahead(0)? { Some(next) => { [INFO] [stdout] 375 | next.line_number [INFO] [stdout] 376 ~ } _ => { [INFO] [stdout] 377 | self.lexer.line_number() [INFO] [stdout] 378 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/parser.rs:673:19 [INFO] [stdout] | [INFO] [stdout] 673 | } else if let Some(suffix) = suffixed_expression.suffixes.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/compiler/parser.rs:686:9 [INFO] [stdout] | [INFO] [stdout] 686 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 673 ~ } else { match suffixed_expression.suffixes.pop() { Some(suffix) => { [INFO] [stdout] 674 | match suffix { [INFO] [stdout] ... [INFO] [stdout] 685 | } [INFO] [stdout] 686 ~ } _ => { [INFO] [stdout] 687 | Err(ParseError { [INFO] [stdout] ... [INFO] [stdout] 690 | }) [INFO] [stdout] 691 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/parser.rs:633:44 [INFO] [stdout] | [INFO] [stdout] 633 | let assignment_target = if let Some(suffix) = suffixed_expression.suffixes.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/compiler/parser.rs:645:17 [INFO] [stdout] | [INFO] [stdout] 645 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 633 ~ let assignment_target = match suffixed_expression.suffixes.pop() { Some(suffix) => { [INFO] [stdout] 634 | match suffix { [INFO] [stdout] ... [INFO] [stdout] 644 | } [INFO] [stdout] 645 ~ } _ => { [INFO] [stdout] 646 | match suffixed_expression.primary { [INFO] [stdout] ... [INFO] [stdout] 654 | } [INFO] [stdout] 655 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/parser.rs:714:23 [INFO] [stdout] | [INFO] [stdout] 714 | let head = if let Some(unary_op) = get_unary_operator(self.get_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/compiler/parser.rs:717:9 [INFO] [stdout] | [INFO] [stdout] 717 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 714 ~ let head = match get_unary_operator(self.get_next()?) { Some(unary_op) => { [INFO] [stdout] 715 | self.take_next()?; [INFO] [stdout] 716 | HeadExpression::UnaryOperator(unary_op, self.parse_sub_expression(UNARY_PRIORITY)?) [INFO] [stdout] 717 ~ } _ => { [INFO] [stdout] 718 | HeadExpression::Simple(self.parse_simple_expression()?) [INFO] [stdout] 719 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/parser.rs:722:15 [INFO] [stdout] | [INFO] [stdout] 722 | while let Some(binary_op) = self.look_ahead(0)?.and_then(|t| get_binary_operator(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/compiler/parser.rs:731:9 [INFO] [stdout] | [INFO] [stdout] 731 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/parser.rs:861:15 [INFO] [stdout] | [INFO] [stdout] 861 | Ok(if let Some(method_name) = method_name { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler/parser.rs:863:9 [INFO] [stdout] | [INFO] [stdout] 863 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 861 ~ Ok(match method_name { Some(method_name) => { [INFO] [stdout] 862 | CallSuffix::Method(method_name, args) [INFO] [stdout] 863 ~ } _ => { [INFO] [stdout] 864 | CallSuffix::Function(args) [INFO] [stdout] 865 ~ }}) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/parser.rs:1007:12 [INFO] [stdout] | [INFO] [stdout] 1007 | if let Some(token) = self.read_buffer.get(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/compiler/parser.rs:1009:9 [INFO] [stdout] | [INFO] [stdout] 1009 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1007 ~ match self.read_buffer.get(0) { Some(token) => { [INFO] [stdout] 1008 | Ok(token) [INFO] [stdout] 1009 ~ } _ => { [INFO] [stdout] 1010 | Err(ParseError { [INFO] [stdout] ... [INFO] [stdout] 1013 | }) [INFO] [stdout] 1014 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/parser.rs:1117:15 [INFO] [stdout] | [INFO] [stdout] 1117 | Ok(if let Some(t) = self.read_buffer.get(n) { [INFO] [stdout] | ^^^^^^^^^^^^^^----------------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler/parser.rs:1119:9 [INFO] [stdout] | [INFO] [stdout] 1119 | } else { [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 ~ Ok(match self.read_buffer.get(n) { Some(t) => { [INFO] [stdout] 1118 | **t == token [INFO] [stdout] 1119 ~ } _ => { [INFO] [stdout] 1120 | false [INFO] [stdout] 1121 ~ }}) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/parser.rs:1133:16 [INFO] [stdout] | [INFO] [stdout] 1133 | if let Some(token) = self.lexer.read_token().map_err(|e| ParseError { [INFO] [stdout] | ________________^ - [INFO] [stdout] | |__________________________________| [INFO] [stdout] 1134 | || kind: ParseErrorKind::LexError(e), [INFO] [stdout] 1135 | || line_number: self.lexer.line_number(), [INFO] [stdout] 1136 | || })? { [INFO] [stdout] | ||_______________^ 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/compiler/parser.rs:1139:13 [INFO] [stdout] | [INFO] [stdout] 1139 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1133 ~ match self.lexer.read_token().map_err(|e| ParseError { [INFO] [stdout] 1134 | kind: ParseErrorKind::LexError(e), [INFO] [stdout] 1135 | line_number: self.lexer.line_number(), [INFO] [stdout] 1136 ~ })? { Some(token) => { [INFO] [stdout] 1137 | self.read_buffer [INFO] [stdout] 1138 | .push(LineAnnotated::new(line_number, token)); [INFO] [stdout] 1139 ~ } _ => { [INFO] [stdout] 1140 | break; [INFO] [stdout] 1141 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lua.rs:196:20 [INFO] [stdout] | [INFO] [stdout] 196 | if let Some(marked) = self.arena.mark_debt() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^----------^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lua.rs:205:17 [INFO] [stdout] | [INFO] [stdout] 205 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 196 ~ match self.arena.mark_debt() { Some(marked) => { [INFO] [stdout] 197 | marked.finalize(|fc, root| { [INFO] [stdout] ... [INFO] [stdout] 204 | self.arena.mark_all().unwrap().start_collecting(); [INFO] [stdout] 205 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/meta_ops.rs:205:20 [INFO] [stdout] | [INFO] [stdout] 205 | if let Some(call) = new_index(ctx, table, key, value)? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^---------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/meta_ops.rs:212:17 [INFO] [stdout] | [INFO] [stdout] 212 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 205 ~ match new_index(ctx, table, key, value)? { Some(call) => { [INFO] [stdout] 206 | stack.extend(call.args); [INFO] [stdout] ... [INFO] [stdout] 211 | .into()) [INFO] [stdout] 212 ~ } _ => { [INFO] [stdout] 213 | Ok(CallbackReturn::Return) [INFO] [stdout] 214 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/stdlib/math.rs:19:16 [INFO] [stdout] | [INFO] [stdout] 19 | if let Some(res) = f(ctx, stack.consume(ctx)?) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^--------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/stdlib/math.rs:22:13 [INFO] [stdout] | [INFO] [stdout] 22 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 19 ~ match f(ctx, stack.consume(ctx)?) { Some(res) => { [INFO] [stdout] 20 | stack.replace(ctx, res); [INFO] [stdout] 21 | Ok(CallbackReturn::Return) [INFO] [stdout] 22 ~ } _ => { [INFO] [stdout] 23 | Err(format!("Bad argument to {name}").into_value(ctx).into()) [INFO] [stdout] 24 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/table/raw.rs:76:16 [INFO] [stdout] | [INFO] [stdout] 76 | if let Some((_, v)) = self [INFO] [stdout] | _________________^ - [INFO] [stdout] | | ___________________________________| [INFO] [stdout] 77 | || .map [INFO] [stdout] | ||____________________- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 78 | | .raw_entry() [INFO] [stdout] 79 | | .from_hash(self.hash_builder.hash_one(key), |k| k.eq(key)) [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/table/raw.rs:82:13 [INFO] [stdout] | [INFO] [stdout] 82 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 76 ~ match self [INFO] [stdout] 77 | .map [INFO] [stdout] 78 | .raw_entry() [INFO] [stdout] 79 | .from_hash(self.hash_builder.hash_one(key), |k| k.eq(key)) [INFO] [stdout] 80 ~ { Some((_, v)) => { [INFO] [stdout] 81 | *v [INFO] [stdout] 82 ~ } _ => { [INFO] [stdout] 83 | Value::Nil [INFO] [stdout] 84 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/table/raw.rs:129:16 [INFO] [stdout] | [INFO] [stdout] 129 | if let hash_map::RawEntryMut::Occupied(mut occupied) = self [INFO] [stdout] | _________________^ - [INFO] [stdout] | | ____________________________________________________________________| [INFO] [stdout] 130 | || .map [INFO] [stdout] | ||____________________- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 131 | | .raw_entry_mut() [INFO] [stdout] 132 | | .from_hash(hash, |k| k.eq(table_key)) [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/table/raw.rs:139:13 [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] 129 ~ match self [INFO] [stdout] 130 | .map [INFO] [stdout] 131 | .raw_entry_mut() [INFO] [stdout] 132 | .from_hash(hash, |k| k.eq(table_key)) [INFO] [stdout] 133 ~ { hash_map::RawEntryMut::Occupied(mut occupied) => { [INFO] [stdout] 134 | let (k, v) = occupied.get_key_value_mut(); [INFO] [stdout] ... [INFO] [stdout] 138 | mem::take(v) [INFO] [stdout] 139 ~ } _ => { [INFO] [stdout] 140 | Value::Nil [INFO] [stdout] 141 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/thread/executor.rs:121:12 [INFO] [stdout] | [INFO] [stdout] 121 | if let Ok(state) = self.0.try_borrow() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/thread/executor.rs:134:9 [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] 121 ~ match self.0.try_borrow() { Ok(state) => { [INFO] [stdout] 122 | if state.thread_stack.len() > 1 { [INFO] [stdout] ... [INFO] [stdout] 133 | } [INFO] [stdout] 134 ~ } _ => { [INFO] [stdout] 135 | ExecutorMode::Running [INFO] [stdout] 136 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/thread/executor.rs:244:36 [INFO] [stdout] | [INFO] [stdout] 244 | ... if let Err(err) = to_thread [INFO] [stdout] | __________________________^ [INFO] [stdout] 245 | | ... .resume(ctx, Variadic(top_state.stack.drain(stack_bottom..))) [INFO] [stdout] | |________________________________________-----------------------------------------------^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/thread/executor.rs:248:33 [INFO] [stdout] | [INFO] [stdout] 248 | ... } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 244 ~ match to_thread [INFO] [stdout] 245 | .resume(ctx, Variadic(top_state.stack.drain(stack_bottom..))) [INFO] [stdout] 246 ~ { Err(err) => { [INFO] [stdout] 247 | top_state.frames.push(Frame::Error(err.into())); [INFO] [stdout] 248 ~ } _ => { [INFO] [stdout] 249 | thread_stack.pop(); [INFO] [stdout] 250 | thread_stack.push(to_thread); [INFO] [stdout] 251 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/thread/executor.rs:278:32 [INFO] [stdout] | [INFO] [stdout] 278 | ... if let Err(err) = [INFO] [stdout] | __________________________^ [INFO] [stdout] 279 | | ... thread.resume(ctx, Variadic(top_state.stack.drain(stack_bottom..))) [INFO] [stdout] | |______________________________________________-----------------------------------------------^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/thread/executor.rs:282:29 [INFO] [stdout] | [INFO] [stdout] 282 | ... } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 278 ~ match thread.resume(ctx, Variadic(top_state.stack.drain(stack_bottom..))) [INFO] [stdout] 279 ~ { Err(err) => { [INFO] [stdout] 280 | top_state.frames.push(Frame::Error(err.into())); [INFO] [stdout] 281 ~ } _ => { [INFO] [stdout] 282 | if top_state.frames.len() == 1 { [INFO] [stdout] ... [INFO] [stdout] 287 | thread_stack.push(thread); [INFO] [stdout] 288 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/thread/executor.rs:355:38 [INFO] [stdout] | [INFO] [stdout] 355 | let fin = if let Some(err) = pending_error { [INFO] [stdout] | ^^^^^^^^^^^^^^^^------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/thread/executor.rs:357:25 [INFO] [stdout] | [INFO] [stdout] 357 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 355 ~ let fin = match pending_error { Some(err) => { [INFO] [stdout] 356 | sequence.error(ctx, exec, err, Stack::new(&mut top_state.stack, bottom)) [INFO] [stdout] 357 ~ } _ => { [INFO] [stdout] 358 | sequence.poll(ctx, exec, Stack::new(&mut top_state.stack, bottom)) [INFO] [stdout] 359 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/thread/thread.rs:211:12 [INFO] [stdout] | [INFO] [stdout] 211 | if let Ok(state) = self.0.try_borrow_mut(mc) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/thread/thread.rs:221:9 [INFO] [stdout] | [INFO] [stdout] 221 | } else { [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 self.0.try_borrow_mut(mc) { Ok(state) => { [INFO] [stdout] 212 | let found = state.mode(); [INFO] [stdout] ... [INFO] [stdout] 220 | } [INFO] [stdout] 221 ~ } _ => { [INFO] [stdout] 222 | Err(BadThreadMode { [INFO] [stdout] ... [INFO] [stdout] 225 | }) [INFO] [stdout] 226 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/thread/vm.rs:149:20 [INFO] [stdout] | [INFO] [stdout] 149 | if let Some(call) = meta_ops::new_index(ctx, table, key, value)? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^-------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/thread/vm.rs:157:17 [INFO] [stdout] | [INFO] [stdout] 157 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 149 ~ match meta_ops::new_index(ctx, table, key, value)? { Some(call) => { [INFO] [stdout] 150 | lua_frame.call_meta_function( [INFO] [stdout] ... [INFO] [stdout] 156 | break; [INFO] [stdout] 157 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/thread/vm.rs:183:20 [INFO] [stdout] | [INFO] [stdout] 183 | if let Some(call) = meta_ops::new_index(ctx, table, key, value)? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^-------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/thread/vm.rs:191:17 [INFO] [stdout] | [INFO] [stdout] 191 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 183 ~ match meta_ops::new_index(ctx, table, key, value)? { Some(call) => { [INFO] [stdout] 184 | lua_frame.call_meta_function( [INFO] [stdout] ... [INFO] [stdout] 190 | break; [INFO] [stdout] 191 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 50 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating tests/conversion.rs from 2021 edition to 2024 [INFO] [stderr] Migrating tests/scripts.rs from 2021 edition to 2024 [INFO] [stderr] Fixed tests/scripts.rs (1 fix) [INFO] [stderr] Migrating tests/table.rs from 2021 edition to 2024 [INFO] [stderr] Migrating tests/callback.rs from 2021 edition to 2024 [INFO] [stderr] Migrating examples/compiler.rs from 2021 edition to 2024 [INFO] [stderr] Migrating tests/error.rs from 2021 edition to 2024 [INFO] [stderr] Migrating examples/interpreter.rs from 2021 edition to 2024 [INFO] [stderr] Migrating tests/fuel.rs from 2021 edition to 2024 [INFO] [stdout] warning: this function depends on never type fallback being `()` [INFO] [stdout] --> examples/interpreter.rs:89:1 [INFO] [stdout] | [INFO] [stdout] 89 | fn main() -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #123748 [INFO] [stdout] = help: specify the types explicitly [INFO] [stdout] note: in edition 2024, the requirement `!: FromValue<'_>` will fail [INFO] [stdout] --> examples/interpreter.rs:117:9 [INFO] [stdout] | [INFO] [stdout] 117 | lua.execute(&executor)?; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] = note: `#[warn(dependency_on_unit_never_type_fallback)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating tests/userdata.rs from 2021 edition to 2024 [INFO] [stderr] Migrating tests/weak_threads.rs from 2021 edition to 2024 [INFO] [stderr] Migrating tests/sizes.rs from 2021 edition to 2024 [INFO] [stderr] Migrating tests/tail_call_stack_panic.rs from 2021 edition to 2024 [INFO] [stderr] Migrating tests/function.rs from 2021 edition to 2024 [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 9.00s [INFO] [stderr] Running `cargo check` to verify 2024 [INFO] [stderr] Checking piccolo v0.3.3 (/tmp/fixit) [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/stdlib/math.rs:204:59 [INFO] [stdout] | [INFO] [stdout] 204 | (None, None) => Some(rng.borrow_mut().gen::().into()), [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 204 | (None, None) => Some(rng.borrow_mut().r#gen::().into()), [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/stdlib/math.rs:205:62 [INFO] [stdout] | [INFO] [stdout] 205 | (Some(0), None) => Some(rng.borrow_mut().gen::().into()), [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 205 | (Some(0), None) => Some(rng.borrow_mut().r#gen::().into()), [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/stdlib/math.rs:204:59 [INFO] [stdout] | [INFO] [stdout] 204 | (None, None) => Some(rng.borrow_mut().gen::().into()), [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 204 | (None, None) => Some(rng.borrow_mut().r#gen::().into()), [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/stdlib/math.rs:205:62 [INFO] [stdout] | [INFO] [stdout] 205 | (Some(0), None) => Some(rng.borrow_mut().gen::().into()), [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 205 | (Some(0), None) => Some(rng.borrow_mut().r#gen::().into()), [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: irrefutable `if let` pattern [INFO] [stdout] --> src/conversion.rs:221:28 [INFO] [stdout] | [INFO] [stdout] 221 | if let Ok(i) = <$i>::try_from(i) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 240 | impl_int_from!(i64, u64, i32, u32, i16, u16, i8, u8); [INFO] [stdout] | ---------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this pattern will always match, so the `if let` is useless [INFO] [stdout] = help: consider replacing the `if let` with a `let` [INFO] [stdout] = note: `#[warn(irrefutable_let_patterns)]` on by default [INFO] [stdout] = note: this warning originates in the macro `impl_int_from` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: irrefutable `if let` pattern [INFO] [stdout] --> src/conversion.rs:221:28 [INFO] [stdout] | [INFO] [stdout] 221 | if let Ok(i) = <$i>::try_from(i) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 240 | impl_int_from!(i64, u64, i32, u32, i16, u16, i8, u8); [INFO] [stdout] | ---------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this pattern will always match, so the `if let` is useless [INFO] [stdout] = help: consider replacing the `if let` with a `let` [INFO] [stdout] = note: `#[warn(irrefutable_let_patterns)]` on by default [INFO] [stdout] = note: this warning originates in the macro `impl_int_from` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors; 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors; 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `piccolo` (lib) due to 3 previous errors; 1 warning emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: could not compile `piccolo` (lib test) due to 3 previous errors; 1 warning emitted [INFO] [stderr] error: failed to check after updating to 2024 [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `cargo check --frozen --all --all-targets --message-format=json` (exit status: 101) [INFO] running `Command { std: "docker" "inspect" "77ed63046c79a53f708ebb1b5f7ee87ca29801c29dbccf181908c5fb349bd373", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "77ed63046c79a53f708ebb1b5f7ee87ca29801c29dbccf181908c5fb349bd373", kill_on_drop: false }` [INFO] [stdout] 77ed63046c79a53f708ebb1b5f7ee87ca29801c29dbccf181908c5fb349bd373