[INFO] fetching crate unified-minijinja 0.0.2... [INFO] checking unified-minijinja-0.0.2 against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] extracting crate unified-minijinja 0.0.2 into /workspace/builds/worker-3-tc2/source [INFO] validating manifest of crates.io crate unified-minijinja 0.0.2 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 unified-minijinja 0.0.2 [INFO] finished tweaking crates.io crate unified-minijinja 0.0.2 [INFO] tweaked toml for crates.io crate unified-minijinja 0.0.2 written to /workspace/builds/worker-3-tc2/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 53 packages to latest compatible versions [INFO] [stderr] Adding encode_unicode v0.3.6 (available: v1.0.0) [INFO] [stderr] Adding hashbrown v0.12.3 (available: v0.14.5) [INFO] [stderr] Adding indexmap v1.9.3 (available: v2.5.0) [INFO] [stderr] Adding windows-sys v0.52.0 (available: v0.59.0) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] e33c8451caf6602570be4f5561e245304179a6a78f831e62f17bf9686786ffd9 [INFO] running `Command { std: "docker" "start" "-a" "e33c8451caf6602570be4f5561e245304179a6a78f831e62f17bf9686786ffd9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "e33c8451caf6602570be4f5561e245304179a6a78f831e62f17bf9686786ffd9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e33c8451caf6602570be4f5561e245304179a6a78f831e62f17bf9686786ffd9", kill_on_drop: false }` [INFO] [stdout] e33c8451caf6602570be4f5561e245304179a6a78f831e62f17bf9686786ffd9 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] 1fce14a708bbf2e9d05d92283722dbbbb18905f62db37f006bfec204e7251825 [INFO] running `Command { std: "docker" "start" "-a" "1fce14a708bbf2e9d05d92283722dbbbb18905f62db37f006bfec204e7251825", kill_on_drop: false }` [INFO] [stderr] Copying to /tmp/fixit [INFO] [stderr] Running `cargo fix --edition` [INFO] [stderr] Migrating Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Fixed Cargo.toml (9 fixes) [INFO] [stderr] Compiling proc-macro2 v1.0.86 [INFO] [stderr] Checking unicode-segmentation v1.12.0 [INFO] [stderr] Checking same-file v1.0.6 [INFO] [stderr] Checking linked-hash-map v0.5.6 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Checking bstr v1.10.0 [INFO] [stderr] Compiling serde_json v1.0.128 [INFO] [stderr] Checking console v0.15.8 [INFO] [stderr] Checking walkdir v2.5.0 [INFO] [stderr] Checking similar v2.6.0 [INFO] [stderr] Compiling quote v1.0.37 [INFO] [stderr] Checking similar-asserts v1.6.0 [INFO] [stderr] Compiling syn v2.0.77 [INFO] [stderr] Checking regex-automata v0.4.7 [INFO] [stderr] Checking globset v0.4.15 [INFO] [stderr] Compiling serde_derive v1.0.210 [INFO] [stderr] Checking serde v1.0.210 [INFO] [stderr] Checking insta v1.40.0 [INFO] [stderr] Checking unified-minijinja v0.0.2 (/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 `unified_minijinja` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/compiler/parser.rs [INFO] [stderr] * src/lib.rs [INFO] [stderr] * src/macros.rs [INFO] [stderr] * src/utils.rs [INFO] [stderr] * src/value/argtypes.rs [INFO] [stderr] * src/vm/mod.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:6:6 [INFO] [stderr] | [INFO] [stderr] 6 | ($expr:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:15:6 [INFO] [stderr] | [INFO] [stderr] 15 | ($expr:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:126:27 [INFO] [stderr] | [INFO] [stderr] 126 | $($key:ident $(=> $value:expr_2021)?),* [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:127:16 [INFO] [stderr] | [INFO] [stderr] 127 | $(, .. $ctx:expr_2021),* $(,)? [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:147:14 [INFO] [stderr] | [INFO] [stderr] 147 | $(.. $ctx:expr_2021),* $(,)? [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:164:32 [INFO] [stderr] | [INFO] [stderr] 164 | ($ctx:ident, $key:ident => $value:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:212:27 [INFO] [stderr] | [INFO] [stderr] 212 | (branch [[$n:ident => $e:expr_2021]], $args:tt) => { $crate::__args_helper!(kwargs $args) }; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:213:27 [INFO] [stderr] | [INFO] [stderr] 213 | (branch [[$n:ident => $e:expr_2021, $($r:tt)*]], $args:tt) => { $crate::__args_helper!(kwargs $args) }; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:214:15 [INFO] [stderr] | [INFO] [stderr] 214 | (branch [[$e:expr_2021]], $args:tt) => { $crate::__args_helper!(args $args) }; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:215:15 [INFO] [stderr] | [INFO] [stderr] 215 | (branch [[$e:expr_2021, $($rest:tt)*]], $args:tt) => { $crate::__args_helper!(branch [[$($rest)*]], $args) }; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:236:74 [INFO] [stderr] | [INFO] [stderr] 236 | (peel $args:ident, $kwargs:ident, $has_kwargs:ident, [$name:ident => $expr:expr_2021]) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:239:74 [INFO] [stderr] | [INFO] [stderr] 239 | (peel $args:ident, $kwargs:ident, $has_kwargs:ident, [$name:ident => $expr:expr_2021, $($rest:tt)*]) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:243:47 [INFO] [stderr] | [INFO] [stderr] 243 | (peel $args:ident, $kwargs:ident, false, [$expr:expr_2021]) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:246:47 [INFO] [stderr] | [INFO] [stderr] 246 | (peel $args:ident, $kwargs:ident, false, [$expr:expr_2021, $($rest:tt)*]) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:298:12 [INFO] [stderr] | [INFO] [stderr] 298 | in $env:expr_2021, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:299:9 [INFO] [stderr] | [INFO] [stderr] 299 | $tmpl:expr_2021 [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:300:29 [INFO] [stderr] | [INFO] [stderr] 300 | $(, $key:ident $(=> $value:expr_2021)?)* $(,)? [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:306:9 [INFO] [stderr] | [INFO] [stderr] 306 | $tmpl:expr_2021 [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:307:29 [INFO] [stderr] | [INFO] [stderr] 307 | $(, $key:ident $(=> $value:expr_2021)?)* $(,)? [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/compiler/parser.rs:37:6 [INFO] [stderr] | [INFO] [stderr] 37 | ($msg:expr_2021) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/compiler/parser.rs:40:6 [INFO] [stderr] | [INFO] [stderr] 40 | ($msg:expr_2021, $($tt:tt)*) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/compiler/parser.rs:46:6 [INFO] [stderr] | [INFO] [stderr] 46 | ($parser:expr_2021, $expectation:expr_2021) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/compiler/parser.rs:46:25 [INFO] [stderr] | [INFO] [stderr] 46 | ($parser:expr_2021, $expectation:expr_2021) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/compiler/parser.rs:52:6 [INFO] [stderr] | [INFO] [stderr] 52 | ($parser:expr_2021, $match:pat, $expectation:expr_2021) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/compiler/parser.rs:52:37 [INFO] [stderr] | [INFO] [stderr] 52 | ($parser:expr_2021, $match:pat, $expectation:expr_2021) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/compiler/parser.rs:59:6 [INFO] [stderr] | [INFO] [stderr] 59 | ($parser:expr_2021, $match:pat => $target:expr_2021, $expectation:expr_2021) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/compiler/parser.rs:59:39 [INFO] [stderr] | [INFO] [stderr] 59 | ($parser:expr_2021, $match:pat => $target:expr_2021, $expectation:expr_2021) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/compiler/parser.rs:59:58 [INFO] [stderr] | [INFO] [stderr] 59 | ($parser:expr_2021, $match:pat => $target:expr_2021, $expectation:expr_2021) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/compiler/parser.rs:69:6 [INFO] [stderr] | [INFO] [stderr] 69 | ($p:expr_2021, $match:pat) => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/compiler/parser.rs:79:6 [INFO] [stderr] | [INFO] [stderr] 79 | ($p:expr_2021, $match:pat) => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/compiler/parser.rs:216:6 [INFO] [stderr] | [INFO] [stderr] 216 | ($parser:expr_2021, $expr:expr_2021) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/compiler/parser.rs:216:25 [INFO] [stderr] | [INFO] [stderr] 216 | ($parser:expr_2021, $expr:expr_2021) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/compiler/parser.rs:537:14 [INFO] [stderr] | [INFO] [stderr] 537 | ($expr:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/environment.rs:679:25 [INFO] [stdout] | [INFO] [stdout] 679 | let mut gen = CodeGenerator::new("", expr); [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] [stderr] | [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/environment.rs:680:17 [INFO] [stdout] | [INFO] [stdout] 680 | gen.compile_expr(&ast); [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] [stderr] = note: see issue #123742 for more information [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/environment.rs:681:17 [INFO] [stdout] | [INFO] [stdout] 681 | gen.finish().0 [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] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/template.rs:384:17 [INFO] [stdout] | [INFO] [stdout] 384 | let mut gen = CodeGenerator::new(name, source); [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] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/template.rs:385:9 [INFO] [stdout] | [INFO] [stdout] 385 | gen.compile_stmt(&ast); [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] [stderr] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/template.rs:386:32 [INFO] [stdout] | [INFO] [stdout] 386 | let buffer_size_hint = gen.buffer_size_hint(); [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] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/template.rs:387:38 [INFO] [stdout] | [INFO] [stdout] 387 | let (instructions, blocks) = gen.finish(); [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] [stderr] --> src/compiler/parser.rs:650:14 [INFO] [stdout] warning: lint `where_clauses_object_safety` has been removed: converted into hard error, see PR #125380 for more information [INFO] [stdout] --> src/lib.rs:199:10 [INFO] [stdout] | [INFO] [stdout] 199 | #![allow(where_clauses_object_safety)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(renamed_and_removed_lints)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | ($expr: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] 6 | ($expr:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 650 | ($expr:expr_2021) => { [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | ($expr:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 15 | ($expr:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:126:34 [INFO] [stdout] | [INFO] [stdout] 126 | $($key:ident $(=> $value:expr)?),* [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 126 | $($key:ident $(=> $value:expr_2021)?),* [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:127:21 [INFO] [stdout] | [INFO] [stdout] 127 | $(, .. $ctx:expr),* $(,)? [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 127 | $(, .. $ctx:expr_2021),* $(,)? [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:147:19 [INFO] [stdout] | [INFO] [stdout] 147 | $(.. $ctx:expr),* $(,)? [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 147 | $(.. $ctx:expr_2021),* $(,)? [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:164:39 [INFO] [stdout] | [INFO] [stdout] 164 | ($ctx:ident, $key:ident => $value:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 164 | ($ctx:ident, $key:ident => $value:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:212:30 [INFO] [stdout] | [INFO] [stdout] 212 | (branch [[$n:ident => $e:expr]], $args:tt) => { $crate::__args_helper!(kwargs $args) }; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 212 | (branch [[$n:ident => $e:expr_2021]], $args:tt) => { $crate::__args_helper!(kwargs $args) }; [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:213:30 [INFO] [stdout] | [INFO] [stdout] 213 | (branch [[$n:ident => $e:expr, $($r:tt)*]], $args:tt) => { $crate::__args_helper!(kwargs $args) }; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 213 | (branch [[$n:ident => $e:expr_2021, $($r:tt)*]], $args:tt) => { $crate::__args_helper!(kwargs $args) }; [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:214:18 [INFO] [stdout] | [INFO] [stdout] 214 | (branch [[$e:expr]], $args:tt) => { $crate::__args_helper!(args $args) }; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 214 | (branch [[$e:expr_2021]], $args:tt) => { $crate::__args_helper!(args $args) }; [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] --> src/utils.rs:195:22 [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:215:18 [INFO] [stdout] | [INFO] [stdout] 215 | (branch [[$e:expr, $($rest:tt)*]], $args:tt) => { $crate::__args_helper!(branch [[$($rest)*]], $args) }; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 215 | (branch [[$e:expr_2021, $($rest:tt)*]], $args:tt) => { $crate::__args_helper!(branch [[$($rest)*]], $args) }; [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:236:80 [INFO] [stdout] | [INFO] [stdout] 236 | (peel $args:ident, $kwargs:ident, $has_kwargs:ident, [$name:ident => $expr:expr]) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 236 | (peel $args:ident, $kwargs:ident, $has_kwargs:ident, [$name:ident => $expr:expr_2021]) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 195 | ($quote:expr_2021) => {{ [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:239:80 [INFO] [stdout] | [INFO] [stdout] 239 | (peel $args:ident, $kwargs:ident, $has_kwargs:ident, [$name:ident => $expr:expr, $($rest:tt)*]) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 239 | (peel $args:ident, $kwargs:ident, $has_kwargs:ident, [$name:ident => $expr:expr_2021, $($rest:tt)*]) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:243:53 [INFO] [stdout] | [INFO] [stdout] 243 | (peel $args:ident, $kwargs:ident, false, [$expr:expr]) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 243 | (peel $args:ident, $kwargs:ident, false, [$expr:expr_2021]) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:246:53 [INFO] [stdout] | [INFO] [stdout] 246 | (peel $args:ident, $kwargs:ident, false, [$expr:expr, $($rest:tt)*]) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 246 | (peel $args:ident, $kwargs:ident, false, [$expr:expr_2021, $($rest:tt)*]) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:298:17 [INFO] [stdout] | [INFO] [stdout] 298 | in $env:expr, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 298 | in $env:expr_2021, [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:299:15 [INFO] [stdout] | [INFO] [stdout] 299 | $tmpl:expr [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 299 | $tmpl:expr_2021 [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:300:36 [INFO] [stdout] | [INFO] [stdout] 300 | $(, $key:ident $(=> $value:expr)?)* $(,)? [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 300 | $(, $key:ident $(=> $value:expr_2021)?)* $(,)? [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:306:15 [INFO] [stdout] | [INFO] [stdout] 306 | $tmpl:expr [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 306 | $tmpl:expr_2021 [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:307:36 [INFO] [stdout] | [INFO] [stdout] 307 | $(, $key:ident $(=> $value:expr)?)* $(,)? [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 307 | $(, $key:ident $(=> $value:expr_2021)?)* $(,)? [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] --> src/vm/mod.rs:197:14 [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/compiler/parser.rs:37:11 [INFO] [stdout] | [INFO] [stdout] 37 | ($msg:expr) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 37 | ($msg:expr_2021) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/compiler/parser.rs:40:11 [INFO] [stdout] | [INFO] [stdout] 40 | ($msg:expr, $($tt:tt)*) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 40 | ($msg:expr_2021, $($tt:tt)*) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 197 | ($capture:expr_2021) => {{ [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/compiler/parser.rs:46:14 [INFO] [stdout] | [INFO] [stdout] 46 | ($parser:expr, $expectation:expr) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 46 | ($parser:expr_2021, $expectation:expr) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/compiler/parser.rs:46:33 [INFO] [stdout] | [INFO] [stdout] 46 | ($parser:expr, $expectation:expr) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 46 | ($parser:expr, $expectation:expr_2021) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/compiler/parser.rs:52:14 [INFO] [stdout] | [INFO] [stdout] 52 | ($parser:expr, $match:pat, $expectation:expr) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 52 | ($parser:expr_2021, $match:pat, $expectation:expr) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/compiler/parser.rs:52:45 [INFO] [stdout] | [INFO] [stdout] 52 | ($parser:expr, $match:pat, $expectation:expr) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 52 | ($parser:expr, $match:pat, $expectation:expr_2021) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/compiler/parser.rs:59:14 [INFO] [stdout] | [INFO] [stdout] 59 | ($parser:expr, $match:pat => $target:expr, $expectation:expr) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 59 | ($parser:expr_2021, $match:pat => $target:expr, $expectation:expr) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/compiler/parser.rs:59:42 [INFO] [stdout] | [INFO] [stdout] 59 | ($parser:expr, $match:pat => $target:expr, $expectation:expr) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 59 | ($parser:expr, $match:pat => $target:expr_2021, $expectation:expr) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/compiler/parser.rs:59:61 [INFO] [stdout] | [INFO] [stdout] 59 | ($parser:expr, $match:pat => $target:expr, $expectation:expr) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 59 | ($parser:expr, $match:pat => $target:expr, $expectation:expr_2021) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/compiler/parser.rs:69:9 [INFO] [stdout] | [INFO] [stdout] 69 | ($p:expr, $match:pat) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 69 | ($p:expr_2021, $match:pat) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] --> src/vm/mod.rs:261:18 [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/compiler/parser.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 79 | ($p:expr, $match:pat) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 79 | ($p:expr_2021, $match:pat) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/compiler/parser.rs:216:14 [INFO] [stdout] | [INFO] [stdout] 216 | ($parser:expr, $expr:expr) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 216 | ($parser:expr_2021, $expr:expr) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 261 | ($err:expr_2021) => {{ [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/compiler/parser.rs:216:26 [INFO] [stdout] | [INFO] [stdout] 216 | ($parser:expr, $expr:expr) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 216 | ($parser:expr, $expr:expr_2021) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/compiler/parser.rs:537:20 [INFO] [stdout] | [INFO] [stdout] 537 | ($expr:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 537 | ($expr:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/compiler/parser.rs:650:20 [INFO] [stdout] | [INFO] [stdout] 650 | ($expr:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 650 | ($expr:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/utils.rs:195:29 [INFO] [stdout] | [INFO] [stdout] 195 | ($quote:expr) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 195 | ($quote:expr_2021) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/vm/mod.rs:197:23 [INFO] [stdout] | [INFO] [stdout] 197 | ($capture:expr) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 197 | ($capture:expr_2021) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/vm/mod.rs:261:23 [INFO] [stdout] | [INFO] [stdout] 261 | ($err:expr) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 261 | ($err:expr_2021) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/vm/mod.rs:269:24 [INFO] [stdout] | [INFO] [stdout] 269 | ($expr:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 269 | ($expr:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/vm/mod.rs:278:24 [INFO] [stdout] | [INFO] [stdout] 278 | ($expr:expr) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 278 | ($expr:expr_2021) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] --> src/vm/mod.rs:269:18 [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/value/argtypes.rs:399:34 [INFO] [stdout] | [INFO] [stdout] 399 | $($pat:pat $(if $if_expr:expr)? => $expr:expr,)* [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 399 | $($pat:pat $(if $if_expr:expr_2021)? => $expr:expr,)* [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/value/argtypes.rs:399:50 [INFO] [stdout] | [INFO] [stdout] 399 | $($pat:pat $(if $if_expr:expr)? => $expr:expr,)* [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 399 | $($pat:pat $(if $if_expr:expr)? => $expr:expr_2021,)* [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 269 | ($expr: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] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/ast.rs:560:24 [INFO] [stdout] | [INFO] [stdout] 560 | if let Expr::Var(ref var) = attr.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/ast.rs:564:21 [INFO] [stdout] | [INFO] [stdout] 564 | } [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 560 ~ match attr.expr { Expr::Var(ref var) => { [INFO] [stdout] 561 | if var.id == "self" { [INFO] [stdout] 562 | return CallType::Block(attr.name); [INFO] [stdout] 563 | } [INFO] [stdout] 564 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/vm/mod.rs:278:18 [INFO] [stderr] | [INFO] [stderr] 278 | ($expr:expr_2021) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/codegen.rs:152:20 [INFO] [stdout] | [INFO] [stdout] 152 | if let Some(Instruction::Iterate(ref mut jump_target)) = [INFO] [stdout] | ____________________^ [INFO] [stdout] 153 | | self.instructions.get_mut(iter_instr) [INFO] [stdout] | |_____________________-----------------___________________^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [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/codegen.rs:156:17 [INFO] [stdout] | [INFO] [stdout] 156 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 152 ~ match self.instructions.get_mut(iter_instr) [INFO] [stdout] 153 ~ { Some(Instruction::Iterate(ref mut jump_target)) => { [INFO] [stdout] 154 | *jump_target = loop_end; [INFO] [stdout] 155 ~ } _ => { [INFO] [stdout] 156 | unreachable!(); [INFO] [stdout] 157 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] --> src/value/argtypes.rs:399:25 [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/codegen.rs:411:12 [INFO] [stdout] | [INFO] [stdout] 411 | if let Some(Instruction::Jump(ref mut target)) = self.instructions.get_mut(instr) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----------------^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [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/codegen.rs:413:9 [INFO] [stdout] | [INFO] [stdout] 413 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 411 ~ match self.instructions.get_mut(instr) { Some(Instruction::Jump(ref mut target)) => { [INFO] [stdout] 412 | *target = macro_instr; [INFO] [stdout] 413 ~ } _ => { [INFO] [stdout] 414 | unreachable!(); [INFO] [stdout] 415 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stderr] 399 | $($pat:pat $(if $if_expr:expr_2021)? => $expr:expr_2021,)* [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/value/argtypes.rs:399:49 [INFO] [stderr] | [INFO] [stderr] 399 | $($pat:pat $(if $if_expr:expr_2021)? => $expr: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: lint `where_clauses_object_safety` has been removed: converted into hard error, see PR #125380 for more information [INFO] [stderr] --> src/lib.rs:199:10 [INFO] [stderr] | [INFO] [stderr] 199 | #![allow(where_clauses_object_safety)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(renamed_and_removed_lints)]` on by default [INFO] [stderr] [INFO] [stderr] error: aborting due to 41 previous errors; 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: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/codegen.rs:486:12 [INFO] [stdout] | [INFO] [stdout] 486 | if let Some(ref filter_expr) = for_loop.filter_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/codegen.rs:502:9 [INFO] [stdout] | [INFO] [stdout] 502 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 486 ~ match for_loop.filter_expr { Some(ref filter_expr) => { [INFO] [stdout] 487 | self.add(Instruction::LoadConst(Value::from(0usize))); [INFO] [stdout] ... [INFO] [stdout] 501 | self.add(Instruction::BuildList(None)); [INFO] [stdout] 502 ~ } _ => { [INFO] [stdout] 503 | self.compile_expr(&for_loop.iter); [INFO] [stdout] 504 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/codegen.rs:558:20 [INFO] [stdout] | [INFO] [stdout] 558 | if let Some(ref start) = s.start { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [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/codegen.rs:560:17 [INFO] [stdout] | [INFO] [stdout] 560 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 558 ~ match s.start { Some(ref start) => { [INFO] [stdout] 559 | self.compile_expr(start); [INFO] [stdout] 560 ~ } _ => { [INFO] [stdout] 561 | self.add(Instruction::LoadConst(Value::from(0))); [INFO] [stdout] 562 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/codegen.rs:563:20 [INFO] [stdout] | [INFO] [stdout] 563 | if let Some(ref stop) = s.stop { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler/codegen.rs:565:17 [INFO] [stdout] | [INFO] [stdout] 565 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 563 ~ match s.stop { Some(ref stop) => { [INFO] [stdout] 564 | self.compile_expr(stop); [INFO] [stdout] 565 ~ } _ => { [INFO] [stdout] 566 | self.add(Instruction::LoadConst(Value::from(()))); [INFO] [stdout] 567 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/codegen.rs:568:20 [INFO] [stdout] | [INFO] [stdout] 568 | if let Some(ref step) = s.step { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [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/codegen.rs:570:17 [INFO] [stdout] | [INFO] [stdout] 570 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 568 ~ match s.step { Some(ref step) => { [INFO] [stdout] 569 | self.compile_expr(step); [INFO] [stdout] 570 ~ } _ => { [INFO] [stdout] 571 | self.add(Instruction::LoadConst(Value::from(1))); [INFO] [stdout] 572 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/codegen.rs:588:32 [INFO] [stdout] | [INFO] [stdout] 588 | ... if let Ok(negated) = neg(&c.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/compiler/codegen.rs:591:29 [INFO] [stdout] | [INFO] [stdout] 591 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 588 ~ match neg(&c.value) { Ok(negated) => { [INFO] [stdout] 589 | self.add(Instruction::LoadConst(negated)); [INFO] [stdout] 590 | return; [INFO] [stdout] 591 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/codegen.rs:607:20 [INFO] [stdout] | [INFO] [stdout] 607 | if let Some(ref false_expr) = i.false_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/codegen.rs:609:17 [INFO] [stdout] | [INFO] [stdout] 609 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 607 ~ match i.false_expr { Some(ref false_expr) => { [INFO] [stdout] 608 | self.compile_expr(false_expr); [INFO] [stdout] 609 ~ } _ => { [INFO] [stdout] 610 | self.add(Instruction::LoadConst(Value::UNDEFINED)); [INFO] [stdout] 611 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/codegen.rs:653:20 [INFO] [stdout] | [INFO] [stdout] 653 | if let Some(val) = l.as_const() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [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/codegen.rs:655:17 [INFO] [stdout] | [INFO] [stdout] 655 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 653 ~ match l.as_const() { Some(val) => { [INFO] [stdout] 654 | self.add(Instruction::LoadConst(val)); [INFO] [stdout] 655 ~ } _ => { [INFO] [stdout] 656 | self.set_line_from_span(l.span()); [INFO] [stdout] ... [INFO] [stdout] 660 | self.add(Instruction::BuildList(Some(l.items.len()))); [INFO] [stdout] 661 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/codegen.rs:664:20 [INFO] [stdout] | [INFO] [stdout] 664 | if let Some(val) = m.as_const() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [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/codegen.rs:666:17 [INFO] [stdout] | [INFO] [stdout] 666 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 664 ~ match m.as_const() { Some(val) => { [INFO] [stdout] 665 | self.add(Instruction::LoadConst(val)); [INFO] [stdout] 666 ~ } _ => { [INFO] [stdout] 667 | self.set_line_from_span(m.span()); [INFO] [stdout] ... [INFO] [stdout] 673 | self.add(Instruction::BuildMap(m.keys.len())); [INFO] [stdout] 674 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/codegen.rs:677:20 [INFO] [stdout] | [INFO] [stdout] 677 | if let Some(val) = m.as_const() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [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/codegen.rs:679:17 [INFO] [stdout] | [INFO] [stdout] 679 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 677 ~ match m.as_const() { Some(val) => { [INFO] [stdout] 678 | self.add(Instruction::LoadConst(val)); [INFO] [stdout] 679 ~ } _ => { [INFO] [stdout] 680 | self.set_line_from_span(m.span()); [INFO] [stdout] ... [INFO] [stdout] 685 | self.add(Instruction::BuildKwargs(m.pairs.len())); [INFO] [stdout] 686 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/meta.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 22 | if let Some(ref mut nested_out) = self.nested_out { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [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/meta.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 22 ~ match self.nested_out { Some(ref mut nested_out) => { [INFO] [stdout] 23 | if !nested_out.contains(&name) { [INFO] [stdout] 24 | nested_out.insert(name); [INFO] [stdout] 25 | } [INFO] [stdout] 26 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/meta.rs:62:8 [INFO] [stdout] | [INFO] [stdout] 62 | if let Some(nested) = state.nested_out { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^---------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [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/meta.rs:64:5 [INFO] [stdout] | [INFO] [stdout] 64 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 62 ~ match state.nested_out { Some(nested) => { [INFO] [stdout] 63 | nested [INFO] [stdout] 64 ~ } _ => { [INFO] [stdout] 65 | state.out.into_iter().map(|x| x.to_string()).collect() [INFO] [stdout] 66 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/parser.rs:150:12 [INFO] [stdout] | [INFO] [stdout] 150 | if let Some(Ok((_, span))) = self.current { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [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:152:9 [INFO] [stdout] | [INFO] [stdout] 152 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 150 ~ match self.current { Some(Ok((_, span))) => { [INFO] [stdout] 151 | span [INFO] [stdout] 152 ~ } _ => { [INFO] [stdout] 153 | self.last_span [INFO] [stdout] 154 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/parser.rs:1089:15 [INFO] [stdout] | [INFO] [stdout] 1089 | while let Some((token, span)) = ok!(self.stream.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:1115:9 [INFO] [stdout] | [INFO] [stdout] 1115 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/error.rs:183:12 [INFO] [stdout] | [INFO] [stdout] 183 | if let Some(ref detail) = self.repr.detail { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^---------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/error.rs:185:9 [INFO] [stdout] | [INFO] [stdout] 185 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 183 ~ match self.repr.detail { Some(ref detail) => { [INFO] [stdout] 184 | ok!(write!(f, "{}: {}", self.kind(), detail)); [INFO] [stdout] 185 ~ } _ => { [INFO] [stdout] 186 | ok!(write!(f, "{}", self.kind())); [INFO] [stdout] 187 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm/mod.rs:332:24 [INFO] [stdout] | [INFO] [stdout] 332 | if let Some(ns) = b.downcast_object_ref::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/vm/mod.rs:334:21 [INFO] [stdout] | [INFO] [stdout] 334 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 332 ~ match b.downcast_object_ref::() { Some(ns) => { [INFO] [stdout] 333 | ns.set_value(name, a); [INFO] [stdout] 334 ~ } _ => { [INFO] [stdout] 335 | bail!(Error::new( [INFO] [stdout] ... [INFO] [stdout] 338 | )); [INFO] [stdout] 339 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm/mod.rs:430:24 [INFO] [stdout] | [INFO] [stdout] 430 | if let Some(mut loop_ctx) = state.ctx.pop_frame().current_loop { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^---------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/vm/mod.rs:439:21 [INFO] [stdout] | [INFO] [stdout] 439 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 430 ~ match state.ctx.pop_frame().current_loop { Some(mut loop_ctx) => { [INFO] [stdout] 431 | if let Some((target, end_capture)) = loop_ctx.current_recursion_jump.take() [INFO] [stdout] ... [INFO] [stdout] 438 | } [INFO] [stdout] 439 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm/mod.rs:431:28 [INFO] [stdout] | [INFO] [stdout] 431 | if let Some((target, end_capture)) = loop_ctx.current_recursion_jump.take() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/vm/mod.rs:438:25 [INFO] [stdout] | [INFO] [stdout] 438 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 431 ~ match loop_ctx.current_recursion_jump.take() [INFO] [stdout] 432 ~ { Some((target, end_capture)) => { [INFO] [stdout] 433 | pc = target; [INFO] [stdout] ... [INFO] [stdout] 437 | continue; [INFO] [stdout] 438 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm/mod.rs:575:31 [INFO] [stdout] | [INFO] [stdout] 575 | } else if let Some(func) = state.lookup(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/vm/mod.rs:580:21 [INFO] [stdout] | [INFO] [stdout] 580 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 575 ~ } else { match state.lookup(name) { Some(func) => { [INFO] [stdout] 576 | let args = stack.slice_top(*arg_count); [INFO] [stdout] ... [INFO] [stdout] 579 | stack.push(a); [INFO] [stdout] 580 ~ } _ => { [INFO] [stdout] 581 | bail!(Error::new( [INFO] [stdout] ... [INFO] [stdout] 584 | )); [INFO] [stdout] 585 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm/mod.rs:819:12 [INFO] [stdout] | [INFO] [stdout] 819 | if let Some(loop_ctx) = state.ctx.current_loop() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^---------^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/vm/mod.rs:828:9 [INFO] [stdout] | [INFO] [stdout] 828 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 819 ~ match state.ctx.current_loop() { Some(loop_ctx) => { [INFO] [stdout] 820 | if let Some(recurse_jump_target) = loop_ctx.recurse_jump_target { [INFO] [stdout] ... [INFO] [stdout] 827 | } [INFO] [stdout] 828 ~ } _ => { [INFO] [stdout] 829 | Err(Error::new( [INFO] [stdout] ... [INFO] [stdout] 832 | )) [INFO] [stdout] 833 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm/context.rs:61:12 [INFO] [stdout] | [INFO] [stdout] 61 | if let ValueRepr::Invalid(ref err) = root.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/vm/context.rs:63:9 [INFO] [stdout] | [INFO] [stdout] 63 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 61 ~ match root.0 { ValueRepr::Invalid(ref err) => { [INFO] [stdout] 62 | Err(Error::new(ErrorKind::BadSerialization, err.to_string())) [INFO] [stdout] 63 ~ } _ => { [INFO] [stdout] 64 | Ok(Frame::new(root)) [INFO] [stdout] 65 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm/context.rs:168:20 [INFO] [stdout] | [INFO] [stdout] 168 | if let Ok(iter) = frame.ctx.try_iter() { [INFO] [stdout] | ^^^^^^^^^^^^^^^-------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/vm/context.rs:179:17 [INFO] [stdout] | [INFO] [stdout] 179 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 168 ~ match frame.ctx.try_iter() { Ok(iter) => { [INFO] [stdout] 169 | for key in iter { [INFO] [stdout] ... [INFO] [stdout] 178 | } [INFO] [stdout] 179 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm/context.rs:170:28 [INFO] [stdout] | [INFO] [stdout] 170 | if let Some(str_key) = key.as_str() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^---^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/vm/context.rs:177:25 [INFO] [stdout] | [INFO] [stdout] 177 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 170 ~ match key.as_str() { Some(str_key) => { [INFO] [stdout] 171 | if !seen.contains(&Cow::Borrowed(str_key)) { [INFO] [stdout] ... [INFO] [stdout] 176 | } [INFO] [stdout] 177 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm/context.rs:172:36 [INFO] [stdout] | [INFO] [stdout] 172 | ... if let Ok(value) = frame.ctx.get_item(&key) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/vm/context.rs:175:33 [INFO] [stdout] | [INFO] [stdout] 175 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 172 ~ match frame.ctx.get_item(&key) { Ok(value) => { [INFO] [stdout] 173 | m.entry(&str_key, &value); [INFO] [stdout] 174 | seen.insert(Cow::Owned(str_key.to_owned())); [INFO] [stdout] 175 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm/context.rs:213:16 [INFO] [stdout] | [INFO] [stdout] 213 | if let Some(ref closure) = top.closure { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/vm/context.rs:215:13 [INFO] [stdout] | [INFO] [stdout] 215 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 213 ~ match top.closure { Some(ref closure) => { [INFO] [stdout] 214 | closure.store(key, value.clone()); [INFO] [stdout] 215 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm/context.rs:280:16 [INFO] [stdout] | [INFO] [stdout] 280 | if let Some(rv) = frame.ctx.get_attr_fast(key) { [INFO] [stdout] | ^^^^^^^^^^^^^^^---------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/vm/context.rs:282:13 [INFO] [stdout] | [INFO] [stdout] 282 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 280 ~ match frame.ctx.get_attr_fast(key) { Some(rv) => { [INFO] [stdout] 281 | return Some(rv); [INFO] [stdout] 282 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/filters.rs:530:12 [INFO] [stdout] | [INFO] [stdout] 530 | if let Some(s) = val.as_str() { [INFO] [stdout] | ^^^^^^^^^^^^^^---^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 539 | } else if let Some(iter) = val.as_object().and_then(|x| x.try_iter()) { [INFO] [stdout] | ------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/filters.rs:539:9 [INFO] [stdout] | [INFO] [stdout] 539 | } else if let Some(iter) = val.as_object().and_then(|x| x.try_iter()) { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/filters.rs:552:9 [INFO] [stdout] | [INFO] [stdout] 552 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 530 ~ match val.as_str() { Some(s) => { [INFO] [stdout] 531 | let mut rv = String::new(); [INFO] [stdout] ... [INFO] [stdout] 538 | Ok(rv) [INFO] [stdout] 539 ~ } _ => { match val.as_object().and_then(|x| x.try_iter()) { Some(iter) => { [INFO] [stdout] 540 | let mut rv = String::new(); [INFO] [stdout] ... [INFO] [stdout] 551 | Ok(rv) [INFO] [stdout] 552 ~ } _ => { [INFO] [stdout] 553 | Err(Error::new( [INFO] [stdout] ... [INFO] [stdout] 556 | )) [INFO] [stdout] 557 ~ }}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/filters.rs:545:20 [INFO] [stdout] | [INFO] [stdout] 545 | if let Some(s) = item.as_str() { [INFO] [stdout] | ^^^^^^^^^^^^^^----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/filters.rs:547:17 [INFO] [stdout] | [INFO] [stdout] 547 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 545 ~ match item.as_str() { Some(s) => { [INFO] [stdout] 546 | rv.push_str(s); [INFO] [stdout] 547 ~ } _ => { [INFO] [stdout] 548 | write!(rv, "{item}").ok(); [INFO] [stdout] 549 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/filters.rs:720:12 [INFO] [stdout] | [INFO] [stdout] 720 | if let Some(s) = value.as_str() { [INFO] [stdout] | ^^^^^^^^^^^^^^-----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 721 | Ok(s.chars().next().map_or(Value::UNDEFINED, Value::from)) [INFO] [stdout] 722 | } else if let Some(mut iter) = value.as_object().and_then(|x| x.try_iter()) { [INFO] [stdout] | -------------------------------------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/filters.rs:722:9 [INFO] [stdout] | [INFO] [stdout] 722 | } else if let Some(mut iter) = value.as_object().and_then(|x| x.try_iter()) { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/filters.rs:724:9 [INFO] [stdout] | [INFO] [stdout] 724 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 720 ~ match value.as_str() { Some(s) => { [INFO] [stdout] 721 | Ok(s.chars().next().map_or(Value::UNDEFINED, Value::from)) [INFO] [stdout] 722 ~ } _ => { match value.as_object().and_then(|x| x.try_iter()) { Some(mut iter) => { [INFO] [stdout] 723 | Ok(iter.next().unwrap_or(Value::UNDEFINED)) [INFO] [stdout] 724 ~ } _ => { [INFO] [stdout] 725 | Err(Error::new( [INFO] [stdout] ... [INFO] [stdout] 728 | )) [INFO] [stdout] 729 ~ }}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/filters.rs:749:12 [INFO] [stdout] | [INFO] [stdout] 749 | if let Some(s) = value.as_str() { [INFO] [stdout] | ^^^^^^^^^^^^^^-----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/filters.rs:751:9 [INFO] [stdout] | [INFO] [stdout] 751 | } else if matches!(value.kind(), ValueKind::Seq | ValueKind::Iterable) { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 749 ~ match value.as_str() { Some(s) => { [INFO] [stdout] 750 | Ok(s.chars().next_back().map_or(Value::UNDEFINED, Value::from)) [INFO] [stdout] 751 ~ } _ => if matches!(value.kind(), ValueKind::Seq | ValueKind::Iterable) { [INFO] [stdout] 752 | let rev = ok!(value.reverse()); [INFO] [stdout] ... [INFO] [stdout] 759 | )) [INFO] [stdout] 760 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/filters.rs:804:12 [INFO] [stdout] | [INFO] [stdout] 804 | if let Some(attr) = ok!(kwargs.get::>("attribute")) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^---------------------------------------^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/filters.rs:809:9 [INFO] [stdout] | [INFO] [stdout] 809 | } else { [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/functions.rs:394:16 [INFO] [stdout] | [INFO] [stdout] 394 | if let Some(pairs) = defaults [INFO] [stdout] | ________________^ - [INFO] [stdout] | |__________________________________| [INFO] [stdout] 395 | || .as_object() [INFO] [stdout] 396 | || .filter(|x| matches!(x.repr(), ObjectRepr::Map)) [INFO] [stdout] 397 | || .and_then(|x| x.try_iter_pairs()) [INFO] [stdout] | ||_________________________________________________^ 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/functions.rs:404:13 [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] 394 ~ match defaults [INFO] [stdout] 395 | .as_object() [INFO] [stdout] 396 | .filter(|x| matches!(x.repr(), ObjectRepr::Map)) [INFO] [stdout] 397 | .and_then(|x| x.try_iter_pairs()) [INFO] [stdout] 398 ~ { Some(pairs) => { [INFO] [stdout] 399 | for (key, value) in pairs { [INFO] [stdout] ... [INFO] [stdout] 403 | } [INFO] [stdout] 404 ~ } _ => { [INFO] [stdout] 405 | return Err(Error::new( [INFO] [stdout] ... [INFO] [stdout] 411 | )); [INFO] [stdout] 412 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/functions.rs:400:24 [INFO] [stdout] | [INFO] [stdout] 400 | if let Some(key) = key.as_str() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^---^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/functions.rs:402:21 [INFO] [stdout] | [INFO] [stdout] 402 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 400 ~ match key.as_str() { Some(key) => { [INFO] [stdout] 401 | ns.set_value(key, value); [INFO] [stdout] 402 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/mod.rs:364:20 [INFO] [stdout] | [INFO] [stdout] 364 | if let Ok(val) = i64::try_from(self.clone()) { [INFO] [stdout] | ^^^^^^^^^^^^^^--------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/mod.rs:366:17 [INFO] [stdout] | [INFO] [stdout] 366 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 364 ~ match i64::try_from(self.clone()) { Ok(val) => { [INFO] [stdout] 365 | val.hash(state) [INFO] [stdout] 366 ~ } _ => { [INFO] [stdout] 367 | as_f64(self).map(|x| x.to_bits()).hash(state) [INFO] [stdout] 368 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/mod.rs:390:24 [INFO] [stdout] | [INFO] [stdout] 390 | if let (Some(a), Some(b)) = (self.as_object(), other.as_object()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/mod.rs:400:21 [INFO] [stdout] | [INFO] [stdout] 400 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 390 ~ match (self.as_object(), other.as_object()) { (Some(a), Some(b)) => { [INFO] [stdout] 391 | if a.repr() != b.repr() { [INFO] [stdout] ... [INFO] [stdout] 399 | } [INFO] [stdout] 400 ~ } _ => { [INFO] [stdout] 401 | false [INFO] [stdout] 402 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/mod.rs:393:35 [INFO] [stdout] | [INFO] [stdout] 393 | } else if let (Some(ak), Some(bk)) = [INFO] [stdout] | ___________________________________^ [INFO] [stdout] 394 | | (a.try_iter_pairs(), b.try_iter_pairs()) [INFO] [stdout] | |_____________________________---------------------------------------^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/mod.rs:397:25 [INFO] [stdout] | [INFO] [stdout] 397 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 393 ~ } else { match (a.try_iter_pairs(), b.try_iter_pairs()) [INFO] [stdout] 394 ~ { (Some(ak), Some(bk)) => { [INFO] [stdout] 395 | ak.eq(bk) [INFO] [stdout] 396 ~ } _ => { [INFO] [stdout] 397 | false [INFO] [stdout] 398 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/mod.rs:946:12 [INFO] [stdout] | [INFO] [stdout] 946 | if let ValueRepr::Undefined = self.0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/mod.rs:948:9 [INFO] [stdout] | [INFO] [stdout] 948 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 946 ~ match self.0 { ValueRepr::Undefined => { [INFO] [stdout] 947 | Err(Error::from(ErrorKind::UndefinedError)) [INFO] [stdout] 948 ~ } _ => { [INFO] [stdout] 949 | Ok(self.get_item_opt(key).unwrap_or(Value::UNDEFINED)) [INFO] [stdout] 950 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/mod.rs:1033:28 [INFO] [stdout] | [INFO] [stdout] 1033 | if let Some(iter) = iter.lock().unwrap().take() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^--------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 1034 | Box::new(iter) as Box + Send + Sync> [INFO] [stdout] 1035 | } else if let Ok(iter) = for_restart.reverse().and_then(|x| x.try_iter()) { [INFO] [stdout] | ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/mod.rs:1035:25 [INFO] [stdout] | [INFO] [stdout] 1035 | } else if let Ok(iter) = for_restart.reverse().and_then(|x| x.try_iter()) { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/mod.rs:1037:25 [INFO] [stdout] | [INFO] [stdout] 1037 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1033 ~ match iter.lock().unwrap().take() { Some(iter) => { [INFO] [stdout] 1034 | Box::new(iter) as Box + Send + Sync> [INFO] [stdout] 1035 ~ } _ => { match for_restart.reverse().and_then(|x| x.try_iter()) { Ok(iter) => { [INFO] [stdout] 1036 | Box::new(iter) as Box + Send + Sync> [INFO] [stdout] 1037 ~ } _ => { [INFO] [stdout] 1038 | Box::new(None.into_iter()) [INFO] [stdout] 1039 | as Box + Send + Sync> [INFO] [stdout] 1040 ~ }}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/mod.rs:1176:12 [INFO] [stdout] | [INFO] [stdout] 1176 | if let ValueRepr::Object(ref dy) = self.0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/mod.rs:1178:9 [INFO] [stdout] | [INFO] [stdout] 1178 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1176 ~ match self.0 { ValueRepr::Object(ref dy) => { [INFO] [stdout] 1177 | dy.call(state, args) [INFO] [stdout] 1178 ~ } _ => { [INFO] [stdout] 1179 | Err(Error::new( [INFO] [stdout] ... [INFO] [stdout] 1182 | )) [INFO] [stdout] 1183 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/mod.rs:1195:24 [INFO] [stdout] | [INFO] [stdout] 1195 | if let Some(ref callback) = state.env().unknown_method_callback { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^----------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/mod.rs:1197:21 [INFO] [stdout] | [INFO] [stdout] 1197 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1195 ~ match state.env().unknown_method_callback { Some(ref callback) => { [INFO] [stdout] 1196 | return callback(state, self, name, args); [INFO] [stdout] 1197 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/mod.rs:1205:12 [INFO] [stdout] | [INFO] [stdout] 1205 | if let Some(object) = self.as_object() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^---------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/mod.rs:1207:9 [INFO] [stdout] | [INFO] [stdout] 1207 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1205 ~ match self.as_object() { Some(object) => { [INFO] [stdout] 1206 | object.call_method(state, name, args) [INFO] [stdout] 1207 ~ } _ => { [INFO] [stdout] 1208 | Err(Error::new( [INFO] [stdout] ... [INFO] [stdout] 1211 | )) [INFO] [stdout] 1212 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/deserialize.rs:90:15 [INFO] [stdout] | [INFO] [stdout] 90 | while let Some(e) = ok!(visitor.next_element()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/macros.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | / match $expr { [INFO] [stdout] 8 | | Ok(val) => val, [INFO] [stdout] 9 | | Err(err) => return Err(err), [INFO] [stdout] 10 | | } [INFO] [stdout] | |_________- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/deserialize.rs:92:9 [INFO] [stdout] | [INFO] [stdout] 92 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/deserialize.rs:101:15 [INFO] [stdout] | [INFO] [stdout] 101 | while let Some((k, v)) = ok!(map.next_entry()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/macros.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | / match $expr { [INFO] [stdout] 8 | | Ok(val) => val, [INFO] [stdout] 9 | | Err(err) => return Err(err), [INFO] [stdout] 10 | | } [INFO] [stdout] | |_________- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/deserialize.rs:103:9 [INFO] [stdout] | [INFO] [stdout] 103 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/object.rs:256:20 [INFO] [stdout] | [INFO] [stdout] 256 | if let ValueRepr::Object(ref obj) = self.0 .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/value/object.rs:258:17 [INFO] [stdout] | [INFO] [stdout] 258 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 256 ~ match self.0 .0 { ValueRepr::Object(ref obj) => { [INFO] [stdout] 257 | obj.render(f) [INFO] [stdout] 258 ~ } _ => { [INFO] [stdout] 259 | fmt::Debug::fmt(&self.0, f) [INFO] [stdout] 260 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/object.rs:650:12 [INFO] [stdout] | [INFO] [stdout] 650 | if let Some(iter) = self.try_iter_pairs() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^--------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/object.rs:655:9 [INFO] [stdout] | [INFO] [stdout] 655 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 650 ~ match self.try_iter_pairs() { Some(iter) => { [INFO] [stdout] 651 | for (key, value) in iter { [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/value/ops.rs:121:20 [INFO] [stdout] | [INFO] [stdout] 121 | if let Some(iter) = obj.try_iter() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^-------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/ops.rs:123:17 [INFO] [stdout] | [INFO] [stdout] 123 | } else { [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 obj.try_iter() { Some(iter) => { [INFO] [stdout] 122 | Box::new(iter.skip(start).take(len).step_by(step)) [INFO] [stdout] 123 ~ } _ => { [INFO] [stdout] 124 | Box::new(None.into_iter()) [INFO] [stdout] 125 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/ops.rs:240:20 [INFO] [stdout] | [INFO] [stdout] 240 | if let Ok(x) = i128::try_from(val.clone()) { [INFO] [stdout] | ^^^^^^^^^^^^--------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/ops.rs:244:17 [INFO] [stdout] | [INFO] [stdout] 244 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 240 ~ match i128::try_from(val.clone()) { Ok(x) => { [INFO] [stdout] 241 | x.checked_mul(-1) [INFO] [stdout] 242 | .ok_or_else(|| Error::new(ErrorKind::InvalidOperation, "overflow")) [INFO] [stdout] 243 | .map(int_as_value) [INFO] [stdout] 244 ~ } _ => { [INFO] [stdout] 245 | Err(Error::from(ErrorKind::InvalidOperation)) [INFO] [stdout] 246 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/ops.rs:272:15 [INFO] [stdout] | [INFO] [stdout] 272 | } else if let ValueRepr::Object(ref obj) = container.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/value/ops.rs:280:5 [INFO] [stdout] | [INFO] [stdout] 280 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 272 ~ } else { match container.0 { ValueRepr::Object(ref obj) => { [INFO] [stdout] 273 | match obj.repr() { [INFO] [stdout] ... [INFO] [stdout] 279 | } [INFO] [stdout] 280 ~ } _ => { [INFO] [stdout] 281 | return Err(Error::new( [INFO] [stdout] ... [INFO] [stdout] 284 | )); [INFO] [stdout] 285 ~ }}}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 99 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `unified_minijinja` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/compiler/parser.rs [INFO] [stderr] * src/lib.rs [INFO] [stderr] * src/macros.rs [INFO] [stderr] * src/utils.rs [INFO] [stderr] * src/value/argtypes.rs [INFO] [stderr] * src/vm/mod.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:6:6 [INFO] [stderr] | [INFO] [stderr] 6 | ($expr:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:15:6 [INFO] [stderr] | [INFO] [stderr] 15 | ($expr:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:126:27 [INFO] [stderr] | [INFO] [stderr] 126 | $($key:ident $(=> $value:expr_2021)?),* [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:127:16 [INFO] [stderr] | [INFO] [stderr] 127 | $(, .. $ctx:expr_2021),* $(,)? [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:147:14 [INFO] [stderr] | [INFO] [stderr] 147 | $(.. $ctx:expr_2021),* $(,)? [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:164:32 [INFO] [stderr] | [INFO] [stderr] 164 | ($ctx:ident, $key:ident => $value:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:212:27 [INFO] [stderr] | [INFO] [stderr] 212 | (branch [[$n:ident => $e:expr_2021]], $args:tt) => { $crate::__args_helper!(kwargs $args) }; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:213:27 [INFO] [stderr] | [INFO] [stderr] 213 | (branch [[$n:ident => $e:expr_2021, $($r:tt)*]], $args:tt) => { $crate::__args_helper!(kwargs $args) }; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:214:15 [INFO] [stderr] | [INFO] [stderr] 214 | (branch [[$e:expr_2021]], $args:tt) => { $crate::__args_helper!(args $args) }; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:215:15 [INFO] [stderr] | [INFO] [stderr] 215 | (branch [[$e:expr_2021, $($rest:tt)*]], $args:tt) => { $crate::__args_helper!(branch [[$($rest)*]], $args) }; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:236:74 [INFO] [stderr] | [INFO] [stderr] 236 | (peel $args:ident, $kwargs:ident, $has_kwargs:ident, [$name:ident => $expr:expr_2021]) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:239:74 [INFO] [stderr] | [INFO] [stderr] 239 | (peel $args:ident, $kwargs:ident, $has_kwargs:ident, [$name:ident => $expr:expr_2021, $($rest:tt)*]) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:243:47 [INFO] [stderr] | [INFO] [stderr] 243 | (peel $args:ident, $kwargs:ident, false, [$expr:expr_2021]) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:246:47 [INFO] [stderr] | [INFO] [stderr] 246 | (peel $args:ident, $kwargs:ident, false, [$expr:expr_2021, $($rest:tt)*]) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:298:12 [INFO] [stderr] | [INFO] [stderr] 298 | in $env:expr_2021, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:299:9 [INFO] [stderr] | [INFO] [stderr] 299 | $tmpl:expr_2021 [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:300:29 [INFO] [stderr] | [INFO] [stderr] 300 | $(, $key:ident $(=> $value:expr_2021)?)* $(,)? [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:306:9 [INFO] [stderr] | [INFO] [stderr] 306 | $tmpl:expr_2021 [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:307:29 [INFO] [stderr] | [INFO] [stderr] 307 | $(, $key:ident $(=> $value:expr_2021)?)* $(,)? [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/compiler/parser.rs:37:6 [INFO] [stderr] | [INFO] [stderr] 37 | ($msg:expr_2021) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/compiler/parser.rs:40:6 [INFO] [stderr] | [INFO] [stderr] 40 | ($msg:expr_2021, $($tt:tt)*) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/compiler/parser.rs:46:6 [INFO] [stderr] | [INFO] [stderr] 46 | ($parser:expr_2021, $expectation:expr_2021) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/compiler/parser.rs:46:25 [INFO] [stderr] | [INFO] [stderr] 46 | ($parser:expr_2021, $expectation:expr_2021) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/compiler/parser.rs:52:6 [INFO] [stderr] | [INFO] [stderr] 52 | ($parser:expr_2021, $match:pat, $expectation:expr_2021) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/compiler/parser.rs:52:37 [INFO] [stderr] | [INFO] [stderr] 52 | ($parser:expr_2021, $match:pat, $expectation:expr_2021) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/compiler/parser.rs:59:6 [INFO] [stderr] | [INFO] [stderr] 59 | ($parser:expr_2021, $match:pat => $target:expr_2021, $expectation:expr_2021) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/compiler/parser.rs:59:39 [INFO] [stderr] | [INFO] [stderr] 59 | ($parser:expr_2021, $match:pat => $target:expr_2021, $expectation:expr_2021) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/compiler/parser.rs:59:58 [INFO] [stderr] | [INFO] [stderr] 59 | ($parser:expr_2021, $match:pat => $target:expr_2021, $expectation:expr_2021) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/compiler/parser.rs:69:6 [INFO] [stderr] | [INFO] [stderr] 69 | ($p:expr_2021, $match:pat) => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/compiler/parser.rs:79:6 [INFO] [stderr] | [INFO] [stderr] 79 | ($p:expr_2021, $match:pat) => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/compiler/parser.rs:216:6 [INFO] [stderr] | [INFO] [stderr] 216 | ($parser:expr_2021, $expr:expr_2021) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/compiler/parser.rs:216:25 [INFO] [stderr] | [INFO] [stderr] 216 | ($parser:expr_2021, $expr:expr_2021) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/compiler/parser.rs:537:14 [INFO] [stderr] | [INFO] [stderr] 537 | ($expr:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/compiler/parser.rs:650:14 [INFO] [stderr] | [INFO] [stderr] 650 | ($expr:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/environment.rs:679:25 [INFO] [stdout] | [INFO] [stdout] 679 | let mut gen = CodeGenerator::new("", expr); [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] [stderr] --> src/utils.rs:195:22 [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/environment.rs:680:17 [INFO] [stdout] | [INFO] [stdout] 680 | gen.compile_expr(&ast); [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] [stderr] | [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/environment.rs:681:17 [INFO] [stdout] | [INFO] [stdout] 681 | gen.finish().0 [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] [stderr] 195 | ($quote:expr_2021) => {{ [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/template.rs:384:17 [INFO] [stdout] | [INFO] [stdout] 384 | let mut gen = CodeGenerator::new(name, source); [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] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/template.rs:385:9 [INFO] [stdout] | [INFO] [stdout] 385 | gen.compile_stmt(&ast); [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] [stderr] | [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/template.rs:386:32 [INFO] [stdout] | [INFO] [stdout] 386 | let buffer_size_hint = gen.buffer_size_hint(); [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] [stderr] = note: see issue #123742 for more information [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/template.rs:387:38 [INFO] [stdout] | [INFO] [stdout] 387 | let (instructions, blocks) = gen.finish(); [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] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stdout] warning: lint `where_clauses_object_safety` has been removed: converted into hard error, see PR #125380 for more information [INFO] [stdout] --> src/lib.rs:199:10 [INFO] [stdout] | [INFO] [stdout] 199 | #![allow(where_clauses_object_safety)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(renamed_and_removed_lints)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | ($expr: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] 6 | ($expr:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | ($expr:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 15 | ($expr:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:126:34 [INFO] [stdout] | [INFO] [stdout] 126 | $($key:ident $(=> $value:expr)?),* [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 126 | $($key:ident $(=> $value:expr_2021)?),* [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] --> src/vm/mod.rs:197:14 [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:127:21 [INFO] [stdout] | [INFO] [stdout] 127 | $(, .. $ctx:expr),* $(,)? [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 127 | $(, .. $ctx:expr_2021),* $(,)? [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:147:19 [INFO] [stdout] | [INFO] [stdout] 147 | $(.. $ctx:expr),* $(,)? [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 147 | $(.. $ctx:expr_2021),* $(,)? [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 197 | ($capture:expr_2021) => {{ [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:164:39 [INFO] [stdout] | [INFO] [stdout] 164 | ($ctx:ident, $key:ident => $value:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 164 | ($ctx:ident, $key:ident => $value:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:212:30 [INFO] [stdout] | [INFO] [stdout] 212 | (branch [[$n:ident => $e:expr]], $args:tt) => { $crate::__args_helper!(kwargs $args) }; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 212 | (branch [[$n:ident => $e:expr_2021]], $args:tt) => { $crate::__args_helper!(kwargs $args) }; [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:213:30 [INFO] [stdout] | [INFO] [stdout] 213 | (branch [[$n:ident => $e:expr, $($r:tt)*]], $args:tt) => { $crate::__args_helper!(kwargs $args) }; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 213 | (branch [[$n:ident => $e:expr_2021, $($r:tt)*]], $args:tt) => { $crate::__args_helper!(kwargs $args) }; [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:214:18 [INFO] [stdout] | [INFO] [stdout] 214 | (branch [[$e:expr]], $args:tt) => { $crate::__args_helper!(args $args) }; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 214 | (branch [[$e:expr_2021]], $args:tt) => { $crate::__args_helper!(args $args) }; [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/vm/mod.rs:261:18 [INFO] [stderr] | [INFO] [stderr] 261 | ($err:expr_2021) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/vm/mod.rs:269:18 [INFO] [stderr] | [INFO] [stderr] 269 | ($expr:expr_2021) => { [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:215:18 [INFO] [stdout] | [INFO] [stdout] 215 | (branch [[$e:expr, $($rest:tt)*]], $args:tt) => { $crate::__args_helper!(branch [[$($rest)*]], $args) }; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 215 | (branch [[$e:expr_2021, $($rest:tt)*]], $args:tt) => { $crate::__args_helper!(branch [[$($rest)*]], $args) }; [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:236:80 [INFO] [stdout] | [INFO] [stdout] 236 | (peel $args:ident, $kwargs:ident, $has_kwargs:ident, [$name:ident => $expr:expr]) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 236 | (peel $args:ident, $kwargs:ident, $has_kwargs:ident, [$name:ident => $expr:expr_2021]) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:239:80 [INFO] [stdout] | [INFO] [stdout] 239 | (peel $args:ident, $kwargs:ident, $has_kwargs:ident, [$name:ident => $expr:expr, $($rest:tt)*]) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 239 | (peel $args:ident, $kwargs:ident, $has_kwargs:ident, [$name:ident => $expr:expr_2021, $($rest:tt)*]) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:243:53 [INFO] [stdout] | [INFO] [stdout] 243 | (peel $args:ident, $kwargs:ident, false, [$expr:expr]) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 243 | (peel $args:ident, $kwargs:ident, false, [$expr:expr_2021]) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/vm/mod.rs:278:18 [INFO] [stderr] | [INFO] [stderr] 278 | ($expr:expr_2021) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/value/argtypes.rs:399:25 [INFO] [stderr] | [INFO] [stderr] 399 | $($pat:pat $(if $if_expr:expr_2021)? => $expr: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] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:246:53 [INFO] [stdout] | [INFO] [stdout] 246 | (peel $args:ident, $kwargs:ident, false, [$expr:expr, $($rest:tt)*]) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 246 | (peel $args:ident, $kwargs:ident, false, [$expr:expr_2021, $($rest:tt)*]) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:298:17 [INFO] [stdout] | [INFO] [stdout] 298 | in $env:expr, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 298 | in $env:expr_2021, [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:299:15 [INFO] [stdout] | [INFO] [stdout] 299 | $tmpl:expr [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 299 | $tmpl:expr_2021 [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:300:36 [INFO] [stdout] | [INFO] [stdout] 300 | $(, $key:ident $(=> $value:expr)?)* $(,)? [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 300 | $(, $key:ident $(=> $value:expr_2021)?)* $(,)? [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] --> src/value/argtypes.rs:399:49 [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:306:15 [INFO] [stdout] | [INFO] [stdout] 306 | $tmpl:expr [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 306 | $tmpl:expr_2021 [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:307:36 [INFO] [stdout] | [INFO] [stdout] 307 | $(, $key:ident $(=> $value:expr)?)* $(,)? [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 307 | $(, $key:ident $(=> $value:expr_2021)?)* $(,)? [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 399 | $($pat:pat $(if $if_expr:expr_2021)? => $expr:expr_2021,)* [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/compiler/parser.rs:37:11 [INFO] [stdout] | [INFO] [stdout] 37 | ($msg:expr) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 37 | ($msg:expr_2021) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/compiler/parser.rs:40:11 [INFO] [stdout] | [INFO] [stdout] 40 | ($msg:expr, $($tt:tt)*) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 40 | ($msg:expr_2021, $($tt:tt)*) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [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: lint `where_clauses_object_safety` has been removed: converted into hard error, see PR #125380 for more information [INFO] [stderr] --> src/lib.rs:199:10 [INFO] [stderr] | [INFO] [stderr] 199 | #![allow(where_clauses_object_safety)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(renamed_and_removed_lints)]` on by default [INFO] [stderr] [INFO] [stderr] error: aborting due to 41 previous errors; 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: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/compiler/parser.rs:46:14 [INFO] [stdout] | [INFO] [stdout] 46 | ($parser:expr, $expectation:expr) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 46 | ($parser:expr_2021, $expectation:expr) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/compiler/parser.rs:46:33 [INFO] [stdout] | [INFO] [stdout] 46 | ($parser:expr, $expectation:expr) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 46 | ($parser:expr, $expectation:expr_2021) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/compiler/parser.rs:52:14 [INFO] [stdout] | [INFO] [stdout] 52 | ($parser:expr, $match:pat, $expectation:expr) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 52 | ($parser:expr_2021, $match:pat, $expectation:expr) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/compiler/parser.rs:52:45 [INFO] [stdout] | [INFO] [stdout] 52 | ($parser:expr, $match:pat, $expectation:expr) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 52 | ($parser:expr, $match:pat, $expectation:expr_2021) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/compiler/parser.rs:59:14 [INFO] [stdout] | [INFO] [stdout] 59 | ($parser:expr, $match:pat => $target:expr, $expectation:expr) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 59 | ($parser:expr_2021, $match:pat => $target:expr, $expectation:expr) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/compiler/parser.rs:59:42 [INFO] [stdout] | [INFO] [stdout] 59 | ($parser:expr, $match:pat => $target:expr, $expectation:expr) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 59 | ($parser:expr, $match:pat => $target:expr_2021, $expectation:expr) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/compiler/parser.rs:59:61 [INFO] [stdout] | [INFO] [stdout] 59 | ($parser:expr, $match:pat => $target:expr, $expectation:expr) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 59 | ($parser:expr, $match:pat => $target:expr, $expectation:expr_2021) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/compiler/parser.rs:69:9 [INFO] [stdout] | [INFO] [stdout] 69 | ($p:expr, $match:pat) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 69 | ($p:expr_2021, $match:pat) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/compiler/parser.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 79 | ($p:expr, $match:pat) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 79 | ($p:expr_2021, $match:pat) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/compiler/parser.rs:216:14 [INFO] [stdout] | [INFO] [stdout] 216 | ($parser:expr, $expr:expr) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 216 | ($parser:expr_2021, $expr:expr) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/compiler/parser.rs:216:26 [INFO] [stdout] | [INFO] [stdout] 216 | ($parser:expr, $expr:expr) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 216 | ($parser:expr, $expr:expr_2021) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/compiler/parser.rs:537:20 [INFO] [stdout] | [INFO] [stdout] 537 | ($expr:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 537 | ($expr:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/compiler/parser.rs:650:20 [INFO] [stdout] | [INFO] [stdout] 650 | ($expr:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 650 | ($expr:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/utils.rs:195:29 [INFO] [stdout] | [INFO] [stdout] 195 | ($quote:expr) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 195 | ($quote:expr_2021) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/vm/mod.rs:197:23 [INFO] [stdout] | [INFO] [stdout] 197 | ($capture:expr) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 197 | ($capture:expr_2021) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/vm/mod.rs:261:23 [INFO] [stdout] | [INFO] [stdout] 261 | ($err:expr) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 261 | ($err:expr_2021) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/vm/mod.rs:269:24 [INFO] [stdout] | [INFO] [stdout] 269 | ($expr:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 269 | ($expr:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/vm/mod.rs:278:24 [INFO] [stdout] | [INFO] [stdout] 278 | ($expr:expr) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 278 | ($expr:expr_2021) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/value/argtypes.rs:399:34 [INFO] [stdout] | [INFO] [stdout] 399 | $($pat:pat $(if $if_expr:expr)? => $expr:expr,)* [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 399 | $($pat:pat $(if $if_expr:expr_2021)? => $expr:expr,)* [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/value/argtypes.rs:399:50 [INFO] [stdout] | [INFO] [stdout] 399 | $($pat:pat $(if $if_expr:expr)? => $expr:expr,)* [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 399 | $($pat:pat $(if $if_expr:expr)? => $expr:expr_2021,)* [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/ast.rs:560:24 [INFO] [stdout] | [INFO] [stdout] 560 | if let Expr::Var(ref var) = attr.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/ast.rs:564:21 [INFO] [stdout] | [INFO] [stdout] 564 | } [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 560 ~ match attr.expr { Expr::Var(ref var) => { [INFO] [stdout] 561 | if var.id == "self" { [INFO] [stdout] 562 | return CallType::Block(attr.name); [INFO] [stdout] 563 | } [INFO] [stdout] 564 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/codegen.rs:152:20 [INFO] [stdout] | [INFO] [stdout] 152 | if let Some(Instruction::Iterate(ref mut jump_target)) = [INFO] [stdout] | ____________________^ [INFO] [stdout] 153 | | self.instructions.get_mut(iter_instr) [INFO] [stdout] | |_____________________-----------------___________________^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [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/codegen.rs:156:17 [INFO] [stdout] | [INFO] [stdout] 156 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 152 ~ match self.instructions.get_mut(iter_instr) [INFO] [stdout] 153 ~ { Some(Instruction::Iterate(ref mut jump_target)) => { [INFO] [stdout] 154 | *jump_target = loop_end; [INFO] [stdout] 155 ~ } _ => { [INFO] [stdout] 156 | unreachable!(); [INFO] [stdout] 157 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/codegen.rs:411:12 [INFO] [stdout] | [INFO] [stdout] 411 | if let Some(Instruction::Jump(ref mut target)) = self.instructions.get_mut(instr) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----------------^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [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/codegen.rs:413:9 [INFO] [stdout] | [INFO] [stdout] 413 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 411 ~ match self.instructions.get_mut(instr) { Some(Instruction::Jump(ref mut target)) => { [INFO] [stdout] 412 | *target = macro_instr; [INFO] [stdout] 413 ~ } _ => { [INFO] [stdout] 414 | unreachable!(); [INFO] [stdout] 415 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/codegen.rs:486:12 [INFO] [stdout] | [INFO] [stdout] 486 | if let Some(ref filter_expr) = for_loop.filter_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/codegen.rs:502:9 [INFO] [stdout] | [INFO] [stdout] 502 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 486 ~ match for_loop.filter_expr { Some(ref filter_expr) => { [INFO] [stdout] 487 | self.add(Instruction::LoadConst(Value::from(0usize))); [INFO] [stdout] ... [INFO] [stdout] 501 | self.add(Instruction::BuildList(None)); [INFO] [stdout] 502 ~ } _ => { [INFO] [stdout] 503 | self.compile_expr(&for_loop.iter); [INFO] [stdout] 504 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/codegen.rs:558:20 [INFO] [stdout] | [INFO] [stdout] 558 | if let Some(ref start) = s.start { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [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/codegen.rs:560:17 [INFO] [stdout] | [INFO] [stdout] 560 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 558 ~ match s.start { Some(ref start) => { [INFO] [stdout] 559 | self.compile_expr(start); [INFO] [stdout] 560 ~ } _ => { [INFO] [stdout] 561 | self.add(Instruction::LoadConst(Value::from(0))); [INFO] [stdout] 562 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/codegen.rs:563:20 [INFO] [stdout] | [INFO] [stdout] 563 | if let Some(ref stop) = s.stop { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler/codegen.rs:565:17 [INFO] [stdout] | [INFO] [stdout] 565 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 563 ~ match s.stop { Some(ref stop) => { [INFO] [stdout] 564 | self.compile_expr(stop); [INFO] [stdout] 565 ~ } _ => { [INFO] [stdout] 566 | self.add(Instruction::LoadConst(Value::from(()))); [INFO] [stdout] 567 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/codegen.rs:568:20 [INFO] [stdout] | [INFO] [stdout] 568 | if let Some(ref step) = s.step { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [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/codegen.rs:570:17 [INFO] [stdout] | [INFO] [stdout] 570 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 568 ~ match s.step { Some(ref step) => { [INFO] [stdout] 569 | self.compile_expr(step); [INFO] [stdout] 570 ~ } _ => { [INFO] [stdout] 571 | self.add(Instruction::LoadConst(Value::from(1))); [INFO] [stdout] 572 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/codegen.rs:588:32 [INFO] [stdout] | [INFO] [stdout] 588 | ... if let Ok(negated) = neg(&c.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/compiler/codegen.rs:591:29 [INFO] [stdout] | [INFO] [stdout] 591 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 588 ~ match neg(&c.value) { Ok(negated) => { [INFO] [stdout] 589 | self.add(Instruction::LoadConst(negated)); [INFO] [stdout] 590 | return; [INFO] [stdout] 591 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/codegen.rs:607:20 [INFO] [stdout] | [INFO] [stdout] 607 | if let Some(ref false_expr) = i.false_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/codegen.rs:609:17 [INFO] [stdout] | [INFO] [stdout] 609 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 607 ~ match i.false_expr { Some(ref false_expr) => { [INFO] [stdout] 608 | self.compile_expr(false_expr); [INFO] [stdout] 609 ~ } _ => { [INFO] [stdout] 610 | self.add(Instruction::LoadConst(Value::UNDEFINED)); [INFO] [stdout] 611 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/codegen.rs:653:20 [INFO] [stdout] | [INFO] [stdout] 653 | if let Some(val) = l.as_const() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [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/codegen.rs:655:17 [INFO] [stdout] | [INFO] [stdout] 655 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 653 ~ match l.as_const() { Some(val) => { [INFO] [stdout] 654 | self.add(Instruction::LoadConst(val)); [INFO] [stdout] 655 ~ } _ => { [INFO] [stdout] 656 | self.set_line_from_span(l.span()); [INFO] [stdout] ... [INFO] [stdout] 660 | self.add(Instruction::BuildList(Some(l.items.len()))); [INFO] [stdout] 661 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/codegen.rs:664:20 [INFO] [stdout] | [INFO] [stdout] 664 | if let Some(val) = m.as_const() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [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/codegen.rs:666:17 [INFO] [stdout] | [INFO] [stdout] 666 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 664 ~ match m.as_const() { Some(val) => { [INFO] [stdout] 665 | self.add(Instruction::LoadConst(val)); [INFO] [stdout] 666 ~ } _ => { [INFO] [stdout] 667 | self.set_line_from_span(m.span()); [INFO] [stdout] ... [INFO] [stdout] 673 | self.add(Instruction::BuildMap(m.keys.len())); [INFO] [stdout] 674 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/codegen.rs:677:20 [INFO] [stdout] | [INFO] [stdout] 677 | if let Some(val) = m.as_const() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [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/codegen.rs:679:17 [INFO] [stdout] | [INFO] [stdout] 679 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 677 ~ match m.as_const() { Some(val) => { [INFO] [stdout] 678 | self.add(Instruction::LoadConst(val)); [INFO] [stdout] 679 ~ } _ => { [INFO] [stdout] 680 | self.set_line_from_span(m.span()); [INFO] [stdout] ... [INFO] [stdout] 685 | self.add(Instruction::BuildKwargs(m.pairs.len())); [INFO] [stdout] 686 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/lexer.rs:836:16 [INFO] [stdout] | [INFO] [stdout] 836 | if let Ok(tokens) = res { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^--- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [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:840:13 [INFO] [stdout] | [INFO] [stdout] 840 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 836 ~ match res { Ok(tokens) => { [INFO] [stdout] 837 | if let &[(Token::Ident(_), _)] = &tokens[..] { [INFO] [stdout] 838 | panic!("got a single ident for {s:?}") [INFO] [stdout] 839 | } [INFO] [stdout] 840 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/meta.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 22 | if let Some(ref mut nested_out) = self.nested_out { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [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/meta.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 22 ~ match self.nested_out { Some(ref mut nested_out) => { [INFO] [stdout] 23 | if !nested_out.contains(&name) { [INFO] [stdout] 24 | nested_out.insert(name); [INFO] [stdout] 25 | } [INFO] [stdout] 26 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/meta.rs:62:8 [INFO] [stdout] | [INFO] [stdout] 62 | if let Some(nested) = state.nested_out { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^---------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [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/meta.rs:64:5 [INFO] [stdout] | [INFO] [stdout] 64 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 62 ~ match state.nested_out { Some(nested) => { [INFO] [stdout] 63 | nested [INFO] [stdout] 64 ~ } _ => { [INFO] [stdout] 65 | state.out.into_iter().map(|x| x.to_string()).collect() [INFO] [stdout] 66 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/parser.rs:150:12 [INFO] [stdout] | [INFO] [stdout] 150 | if let Some(Ok((_, span))) = self.current { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [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:152:9 [INFO] [stdout] | [INFO] [stdout] 152 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 150 ~ match self.current { Some(Ok((_, span))) => { [INFO] [stdout] 151 | span [INFO] [stdout] 152 ~ } _ => { [INFO] [stdout] 153 | self.last_span [INFO] [stdout] 154 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/parser.rs:1089:15 [INFO] [stdout] | [INFO] [stdout] 1089 | while let Some((token, span)) = ok!(self.stream.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:1115:9 [INFO] [stdout] | [INFO] [stdout] 1115 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/error.rs:183:12 [INFO] [stdout] | [INFO] [stdout] 183 | if let Some(ref detail) = self.repr.detail { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^---------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/error.rs:185:9 [INFO] [stdout] | [INFO] [stdout] 185 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 183 ~ match self.repr.detail { Some(ref detail) => { [INFO] [stdout] 184 | ok!(write!(f, "{}: {}", self.kind(), detail)); [INFO] [stdout] 185 ~ } _ => { [INFO] [stdout] 186 | ok!(write!(f, "{}", self.kind())); [INFO] [stdout] 187 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm/mod.rs:332:24 [INFO] [stdout] | [INFO] [stdout] 332 | if let Some(ns) = b.downcast_object_ref::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/vm/mod.rs:334:21 [INFO] [stdout] | [INFO] [stdout] 334 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 332 ~ match b.downcast_object_ref::() { Some(ns) => { [INFO] [stdout] 333 | ns.set_value(name, a); [INFO] [stdout] 334 ~ } _ => { [INFO] [stdout] 335 | bail!(Error::new( [INFO] [stdout] ... [INFO] [stdout] 338 | )); [INFO] [stdout] 339 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm/mod.rs:430:24 [INFO] [stdout] | [INFO] [stdout] 430 | if let Some(mut loop_ctx) = state.ctx.pop_frame().current_loop { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^---------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/vm/mod.rs:439:21 [INFO] [stdout] | [INFO] [stdout] 439 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 430 ~ match state.ctx.pop_frame().current_loop { Some(mut loop_ctx) => { [INFO] [stdout] 431 | if let Some((target, end_capture)) = loop_ctx.current_recursion_jump.take() [INFO] [stdout] ... [INFO] [stdout] 438 | } [INFO] [stdout] 439 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm/mod.rs:431:28 [INFO] [stdout] | [INFO] [stdout] 431 | if let Some((target, end_capture)) = loop_ctx.current_recursion_jump.take() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/vm/mod.rs:438:25 [INFO] [stdout] | [INFO] [stdout] 438 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 431 ~ match loop_ctx.current_recursion_jump.take() [INFO] [stdout] 432 ~ { Some((target, end_capture)) => { [INFO] [stdout] 433 | pc = target; [INFO] [stdout] ... [INFO] [stdout] 437 | continue; [INFO] [stdout] 438 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm/mod.rs:575:31 [INFO] [stdout] | [INFO] [stdout] 575 | } else if let Some(func) = state.lookup(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/vm/mod.rs:580:21 [INFO] [stdout] | [INFO] [stdout] 580 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 575 ~ } else { match state.lookup(name) { Some(func) => { [INFO] [stdout] 576 | let args = stack.slice_top(*arg_count); [INFO] [stdout] ... [INFO] [stdout] 579 | stack.push(a); [INFO] [stdout] 580 ~ } _ => { [INFO] [stdout] 581 | bail!(Error::new( [INFO] [stdout] ... [INFO] [stdout] 584 | )); [INFO] [stdout] 585 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm/mod.rs:819:12 [INFO] [stdout] | [INFO] [stdout] 819 | if let Some(loop_ctx) = state.ctx.current_loop() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^---------^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/vm/mod.rs:828:9 [INFO] [stdout] | [INFO] [stdout] 828 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 819 ~ match state.ctx.current_loop() { Some(loop_ctx) => { [INFO] [stdout] 820 | if let Some(recurse_jump_target) = loop_ctx.recurse_jump_target { [INFO] [stdout] ... [INFO] [stdout] 827 | } [INFO] [stdout] 828 ~ } _ => { [INFO] [stdout] 829 | Err(Error::new( [INFO] [stdout] ... [INFO] [stdout] 832 | )) [INFO] [stdout] 833 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm/context.rs:61:12 [INFO] [stdout] | [INFO] [stdout] 61 | if let ValueRepr::Invalid(ref err) = root.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/vm/context.rs:63:9 [INFO] [stdout] | [INFO] [stdout] 63 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 61 ~ match root.0 { ValueRepr::Invalid(ref err) => { [INFO] [stdout] 62 | Err(Error::new(ErrorKind::BadSerialization, err.to_string())) [INFO] [stdout] 63 ~ } _ => { [INFO] [stdout] 64 | Ok(Frame::new(root)) [INFO] [stdout] 65 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm/context.rs:168:20 [INFO] [stdout] | [INFO] [stdout] 168 | if let Ok(iter) = frame.ctx.try_iter() { [INFO] [stdout] | ^^^^^^^^^^^^^^^-------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/vm/context.rs:179:17 [INFO] [stdout] | [INFO] [stdout] 179 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 168 ~ match frame.ctx.try_iter() { Ok(iter) => { [INFO] [stdout] 169 | for key in iter { [INFO] [stdout] ... [INFO] [stdout] 178 | } [INFO] [stdout] 179 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm/context.rs:170:28 [INFO] [stdout] | [INFO] [stdout] 170 | if let Some(str_key) = key.as_str() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^---^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/vm/context.rs:177:25 [INFO] [stdout] | [INFO] [stdout] 177 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 170 ~ match key.as_str() { Some(str_key) => { [INFO] [stdout] 171 | if !seen.contains(&Cow::Borrowed(str_key)) { [INFO] [stdout] ... [INFO] [stdout] 176 | } [INFO] [stdout] 177 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm/context.rs:172:36 [INFO] [stdout] | [INFO] [stdout] 172 | ... if let Ok(value) = frame.ctx.get_item(&key) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/vm/context.rs:175:33 [INFO] [stdout] | [INFO] [stdout] 175 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 172 ~ match frame.ctx.get_item(&key) { Ok(value) => { [INFO] [stdout] 173 | m.entry(&str_key, &value); [INFO] [stdout] 174 | seen.insert(Cow::Owned(str_key.to_owned())); [INFO] [stdout] 175 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm/context.rs:213:16 [INFO] [stdout] | [INFO] [stdout] 213 | if let Some(ref closure) = top.closure { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/vm/context.rs:215:13 [INFO] [stdout] | [INFO] [stdout] 215 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 213 ~ match top.closure { Some(ref closure) => { [INFO] [stdout] 214 | closure.store(key, value.clone()); [INFO] [stdout] 215 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm/context.rs:280:16 [INFO] [stdout] | [INFO] [stdout] 280 | if let Some(rv) = frame.ctx.get_attr_fast(key) { [INFO] [stdout] | ^^^^^^^^^^^^^^^---------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/vm/context.rs:282:13 [INFO] [stdout] | [INFO] [stdout] 282 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 280 ~ match frame.ctx.get_attr_fast(key) { Some(rv) => { [INFO] [stdout] 281 | return Some(rv); [INFO] [stdout] 282 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/filters.rs:530:12 [INFO] [stdout] | [INFO] [stdout] 530 | if let Some(s) = val.as_str() { [INFO] [stdout] | ^^^^^^^^^^^^^^---^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 539 | } else if let Some(iter) = val.as_object().and_then(|x| x.try_iter()) { [INFO] [stdout] | ------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/filters.rs:539:9 [INFO] [stdout] | [INFO] [stdout] 539 | } else if let Some(iter) = val.as_object().and_then(|x| x.try_iter()) { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/filters.rs:552:9 [INFO] [stdout] | [INFO] [stdout] 552 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 530 ~ match val.as_str() { Some(s) => { [INFO] [stdout] 531 | let mut rv = String::new(); [INFO] [stdout] ... [INFO] [stdout] 538 | Ok(rv) [INFO] [stdout] 539 ~ } _ => { match val.as_object().and_then(|x| x.try_iter()) { Some(iter) => { [INFO] [stdout] 540 | let mut rv = String::new(); [INFO] [stdout] ... [INFO] [stdout] 551 | Ok(rv) [INFO] [stdout] 552 ~ } _ => { [INFO] [stdout] 553 | Err(Error::new( [INFO] [stdout] ... [INFO] [stdout] 556 | )) [INFO] [stdout] 557 ~ }}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/filters.rs:545:20 [INFO] [stdout] | [INFO] [stdout] 545 | if let Some(s) = item.as_str() { [INFO] [stdout] | ^^^^^^^^^^^^^^----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/filters.rs:547:17 [INFO] [stdout] | [INFO] [stdout] 547 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 545 ~ match item.as_str() { Some(s) => { [INFO] [stdout] 546 | rv.push_str(s); [INFO] [stdout] 547 ~ } _ => { [INFO] [stdout] 548 | write!(rv, "{item}").ok(); [INFO] [stdout] 549 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/filters.rs:720:12 [INFO] [stdout] | [INFO] [stdout] 720 | if let Some(s) = value.as_str() { [INFO] [stdout] | ^^^^^^^^^^^^^^-----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 721 | Ok(s.chars().next().map_or(Value::UNDEFINED, Value::from)) [INFO] [stdout] 722 | } else if let Some(mut iter) = value.as_object().and_then(|x| x.try_iter()) { [INFO] [stdout] | -------------------------------------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/filters.rs:722:9 [INFO] [stdout] | [INFO] [stdout] 722 | } else if let Some(mut iter) = value.as_object().and_then(|x| x.try_iter()) { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/filters.rs:724:9 [INFO] [stdout] | [INFO] [stdout] 724 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 720 ~ match value.as_str() { Some(s) => { [INFO] [stdout] 721 | Ok(s.chars().next().map_or(Value::UNDEFINED, Value::from)) [INFO] [stdout] 722 ~ } _ => { match value.as_object().and_then(|x| x.try_iter()) { Some(mut iter) => { [INFO] [stdout] 723 | Ok(iter.next().unwrap_or(Value::UNDEFINED)) [INFO] [stdout] 724 ~ } _ => { [INFO] [stdout] 725 | Err(Error::new( [INFO] [stdout] ... [INFO] [stdout] 728 | )) [INFO] [stdout] 729 ~ }}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/filters.rs:749:12 [INFO] [stdout] | [INFO] [stdout] 749 | if let Some(s) = value.as_str() { [INFO] [stdout] | ^^^^^^^^^^^^^^-----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/filters.rs:751:9 [INFO] [stdout] | [INFO] [stdout] 751 | } else if matches!(value.kind(), ValueKind::Seq | ValueKind::Iterable) { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 749 ~ match value.as_str() { Some(s) => { [INFO] [stdout] 750 | Ok(s.chars().next_back().map_or(Value::UNDEFINED, Value::from)) [INFO] [stdout] 751 ~ } _ => if matches!(value.kind(), ValueKind::Seq | ValueKind::Iterable) { [INFO] [stdout] 752 | let rev = ok!(value.reverse()); [INFO] [stdout] ... [INFO] [stdout] 759 | )) [INFO] [stdout] 760 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/filters.rs:804:12 [INFO] [stdout] | [INFO] [stdout] 804 | if let Some(attr) = ok!(kwargs.get::>("attribute")) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^---------------------------------------^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/filters.rs:809:9 [INFO] [stdout] | [INFO] [stdout] 809 | } else { [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/functions.rs:394:16 [INFO] [stdout] | [INFO] [stdout] 394 | if let Some(pairs) = defaults [INFO] [stdout] | ________________^ - [INFO] [stdout] | |__________________________________| [INFO] [stdout] 395 | || .as_object() [INFO] [stdout] 396 | || .filter(|x| matches!(x.repr(), ObjectRepr::Map)) [INFO] [stdout] 397 | || .and_then(|x| x.try_iter_pairs()) [INFO] [stdout] | ||_________________________________________________^ 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/functions.rs:404:13 [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] 394 ~ match defaults [INFO] [stdout] 395 | .as_object() [INFO] [stdout] 396 | .filter(|x| matches!(x.repr(), ObjectRepr::Map)) [INFO] [stdout] 397 | .and_then(|x| x.try_iter_pairs()) [INFO] [stdout] 398 ~ { Some(pairs) => { [INFO] [stdout] 399 | for (key, value) in pairs { [INFO] [stdout] ... [INFO] [stdout] 403 | } [INFO] [stdout] 404 ~ } _ => { [INFO] [stdout] 405 | return Err(Error::new( [INFO] [stdout] ... [INFO] [stdout] 411 | )); [INFO] [stdout] 412 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/functions.rs:400:24 [INFO] [stdout] | [INFO] [stdout] 400 | if let Some(key) = key.as_str() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^---^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/functions.rs:402:21 [INFO] [stdout] | [INFO] [stdout] 402 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 400 ~ match key.as_str() { Some(key) => { [INFO] [stdout] 401 | ns.set_value(key, value); [INFO] [stdout] 402 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/mod.rs:364:20 [INFO] [stdout] | [INFO] [stdout] 364 | if let Ok(val) = i64::try_from(self.clone()) { [INFO] [stdout] | ^^^^^^^^^^^^^^--------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/mod.rs:366:17 [INFO] [stdout] | [INFO] [stdout] 366 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 364 ~ match i64::try_from(self.clone()) { Ok(val) => { [INFO] [stdout] 365 | val.hash(state) [INFO] [stdout] 366 ~ } _ => { [INFO] [stdout] 367 | as_f64(self).map(|x| x.to_bits()).hash(state) [INFO] [stdout] 368 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/mod.rs:390:24 [INFO] [stdout] | [INFO] [stdout] 390 | if let (Some(a), Some(b)) = (self.as_object(), other.as_object()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/mod.rs:400:21 [INFO] [stdout] | [INFO] [stdout] 400 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 390 ~ match (self.as_object(), other.as_object()) { (Some(a), Some(b)) => { [INFO] [stdout] 391 | if a.repr() != b.repr() { [INFO] [stdout] ... [INFO] [stdout] 399 | } [INFO] [stdout] 400 ~ } _ => { [INFO] [stdout] 401 | false [INFO] [stdout] 402 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/mod.rs:393:35 [INFO] [stdout] | [INFO] [stdout] 393 | } else if let (Some(ak), Some(bk)) = [INFO] [stdout] | ___________________________________^ [INFO] [stdout] 394 | | (a.try_iter_pairs(), b.try_iter_pairs()) [INFO] [stdout] | |_____________________________---------------------------------------^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/mod.rs:397:25 [INFO] [stdout] | [INFO] [stdout] 397 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 393 ~ } else { match (a.try_iter_pairs(), b.try_iter_pairs()) [INFO] [stdout] 394 ~ { (Some(ak), Some(bk)) => { [INFO] [stdout] 395 | ak.eq(bk) [INFO] [stdout] 396 ~ } _ => { [INFO] [stdout] 397 | false [INFO] [stdout] 398 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/mod.rs:946:12 [INFO] [stdout] | [INFO] [stdout] 946 | if let ValueRepr::Undefined = self.0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/mod.rs:948:9 [INFO] [stdout] | [INFO] [stdout] 948 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 946 ~ match self.0 { ValueRepr::Undefined => { [INFO] [stdout] 947 | Err(Error::from(ErrorKind::UndefinedError)) [INFO] [stdout] 948 ~ } _ => { [INFO] [stdout] 949 | Ok(self.get_item_opt(key).unwrap_or(Value::UNDEFINED)) [INFO] [stdout] 950 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/mod.rs:1033:28 [INFO] [stdout] | [INFO] [stdout] 1033 | if let Some(iter) = iter.lock().unwrap().take() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^--------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 1034 | Box::new(iter) as Box + Send + Sync> [INFO] [stdout] 1035 | } else if let Ok(iter) = for_restart.reverse().and_then(|x| x.try_iter()) { [INFO] [stdout] | ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/mod.rs:1035:25 [INFO] [stdout] | [INFO] [stdout] 1035 | } else if let Ok(iter) = for_restart.reverse().and_then(|x| x.try_iter()) { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/mod.rs:1037:25 [INFO] [stdout] | [INFO] [stdout] 1037 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1033 ~ match iter.lock().unwrap().take() { Some(iter) => { [INFO] [stdout] 1034 | Box::new(iter) as Box + Send + Sync> [INFO] [stdout] 1035 ~ } _ => { match for_restart.reverse().and_then(|x| x.try_iter()) { Ok(iter) => { [INFO] [stdout] 1036 | Box::new(iter) as Box + Send + Sync> [INFO] [stdout] 1037 ~ } _ => { [INFO] [stdout] 1038 | Box::new(None.into_iter()) [INFO] [stdout] 1039 | as Box + Send + Sync> [INFO] [stdout] 1040 ~ }}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/mod.rs:1176:12 [INFO] [stdout] | [INFO] [stdout] 1176 | if let ValueRepr::Object(ref dy) = self.0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/mod.rs:1178:9 [INFO] [stdout] | [INFO] [stdout] 1178 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1176 ~ match self.0 { ValueRepr::Object(ref dy) => { [INFO] [stdout] 1177 | dy.call(state, args) [INFO] [stdout] 1178 ~ } _ => { [INFO] [stdout] 1179 | Err(Error::new( [INFO] [stdout] ... [INFO] [stdout] 1182 | )) [INFO] [stdout] 1183 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/mod.rs:1195:24 [INFO] [stdout] | [INFO] [stdout] 1195 | if let Some(ref callback) = state.env().unknown_method_callback { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^----------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/mod.rs:1197:21 [INFO] [stdout] | [INFO] [stdout] 1197 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1195 ~ match state.env().unknown_method_callback { Some(ref callback) => { [INFO] [stdout] 1196 | return callback(state, self, name, args); [INFO] [stdout] 1197 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/mod.rs:1205:12 [INFO] [stdout] | [INFO] [stdout] 1205 | if let Some(object) = self.as_object() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^---------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/mod.rs:1207:9 [INFO] [stdout] | [INFO] [stdout] 1207 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1205 ~ match self.as_object() { Some(object) => { [INFO] [stdout] 1206 | object.call_method(state, name, args) [INFO] [stdout] 1207 ~ } _ => { [INFO] [stdout] 1208 | Err(Error::new( [INFO] [stdout] ... [INFO] [stdout] 1211 | )) [INFO] [stdout] 1212 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/deserialize.rs:90:15 [INFO] [stdout] | [INFO] [stdout] 90 | while let Some(e) = ok!(visitor.next_element()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/macros.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | / match $expr { [INFO] [stdout] 8 | | Ok(val) => val, [INFO] [stdout] 9 | | Err(err) => return Err(err), [INFO] [stdout] 10 | | } [INFO] [stdout] | |_________- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/deserialize.rs:92:9 [INFO] [stdout] | [INFO] [stdout] 92 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/deserialize.rs:101:15 [INFO] [stdout] | [INFO] [stdout] 101 | while let Some((k, v)) = ok!(map.next_entry()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/macros.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | / match $expr { [INFO] [stdout] 8 | | Ok(val) => val, [INFO] [stdout] 9 | | Err(err) => return Err(err), [INFO] [stdout] 10 | | } [INFO] [stdout] | |_________- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/deserialize.rs:103:9 [INFO] [stdout] | [INFO] [stdout] 103 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/object.rs:256:20 [INFO] [stdout] | [INFO] [stdout] 256 | if let ValueRepr::Object(ref obj) = self.0 .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/value/object.rs:258:17 [INFO] [stdout] | [INFO] [stdout] 258 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 256 ~ match self.0 .0 { ValueRepr::Object(ref obj) => { [INFO] [stdout] 257 | obj.render(f) [INFO] [stdout] 258 ~ } _ => { [INFO] [stdout] 259 | fmt::Debug::fmt(&self.0, f) [INFO] [stdout] 260 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/object.rs:650:12 [INFO] [stdout] | [INFO] [stdout] 650 | if let Some(iter) = self.try_iter_pairs() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^--------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/object.rs:655:9 [INFO] [stdout] | [INFO] [stdout] 655 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 650 ~ match self.try_iter_pairs() { Some(iter) => { [INFO] [stdout] 651 | for (key, value) in iter { [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/value/ops.rs:121:20 [INFO] [stdout] | [INFO] [stdout] 121 | if let Some(iter) = obj.try_iter() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^-------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/ops.rs:123:17 [INFO] [stdout] | [INFO] [stdout] 123 | } else { [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 obj.try_iter() { Some(iter) => { [INFO] [stdout] 122 | Box::new(iter.skip(start).take(len).step_by(step)) [INFO] [stdout] 123 ~ } _ => { [INFO] [stdout] 124 | Box::new(None.into_iter()) [INFO] [stdout] 125 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/ops.rs:240:20 [INFO] [stdout] | [INFO] [stdout] 240 | if let Ok(x) = i128::try_from(val.clone()) { [INFO] [stdout] | ^^^^^^^^^^^^--------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/ops.rs:244:17 [INFO] [stdout] | [INFO] [stdout] 244 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 240 ~ match i128::try_from(val.clone()) { Ok(x) => { [INFO] [stdout] 241 | x.checked_mul(-1) [INFO] [stdout] 242 | .ok_or_else(|| Error::new(ErrorKind::InvalidOperation, "overflow")) [INFO] [stdout] 243 | .map(int_as_value) [INFO] [stdout] 244 ~ } _ => { [INFO] [stdout] 245 | Err(Error::from(ErrorKind::InvalidOperation)) [INFO] [stdout] 246 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/ops.rs:272:15 [INFO] [stdout] | [INFO] [stdout] 272 | } else if let ValueRepr::Object(ref obj) = container.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/value/ops.rs:280:5 [INFO] [stdout] | [INFO] [stdout] 280 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 272 ~ } else { match container.0 { ValueRepr::Object(ref obj) => { [INFO] [stdout] 273 | match obj.repr() { [INFO] [stdout] ... [INFO] [stdout] 279 | } [INFO] [stdout] 280 ~ } _ => { [INFO] [stdout] 281 | return Err(Error::new( [INFO] [stdout] ... [INFO] [stdout] 284 | )); [INFO] [stdout] 285 ~ }}}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 100 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.05s [INFO] [stderr] Running `cargo check` to verify 2024 [INFO] [stderr] Checking unified-minijinja v0.0.2 (/tmp/fixit) [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/environment.rs:679:25 [INFO] [stdout] | [INFO] [stdout] 679 | let mut gen = CodeGenerator::new("", expr); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 679 | let mut r#gen = CodeGenerator::new("", expr); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/environment.rs:679:25 [INFO] [stdout] | [INFO] [stdout] 679 | let mut gen = CodeGenerator::new("", expr); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 679 | let mut r#gen = CodeGenerator::new("", expr); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/environment.rs:680:17 [INFO] [stdout] | [INFO] [stdout] 680 | gen.compile_expr(&ast); [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/environment.rs:680:17 [INFO] [stdout] | [INFO] [stdout] 680 | gen.compile_expr(&ast); [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/template.rs:384:17 [INFO] [stdout] | [INFO] [stdout] 384 | let mut gen = CodeGenerator::new(name, source); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 384 | let mut r#gen = CodeGenerator::new(name, source); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/template.rs:385:9 [INFO] [stdout] | [INFO] [stdout] 385 | gen.compile_stmt(&ast); [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/template.rs:384:17 [INFO] [stdout] | [INFO] [stdout] 384 | let mut gen = CodeGenerator::new(name, source); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 384 | let mut r#gen = CodeGenerator::new(name, source); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/template.rs:385:9 [INFO] [stdout] | [INFO] [stdout] 385 | gen.compile_stmt(&ast); [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lint `where_clauses_object_safety` has been removed: converted into hard error, see PR #125380 for more information [INFO] [stdout] --> src/lib.rs:199:10 [INFO] [stdout] | [INFO] [stdout] 199 | #![allow(where_clauses_object_safety)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(renamed_and_removed_lints)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lint `where_clauses_object_safety` has been removed: converted into hard error, see PR #125380 for more information [INFO] [stdout] --> src/lib.rs:199:10 [INFO] [stdout] | [INFO] [stdout] 199 | #![allow(where_clauses_object_safety)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(renamed_and_removed_lints)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 4 previous errors; 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `unified-minijinja` (lib) due to 5 previous errors; 1 warning emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: aborting due to 4 previous errors; 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `unified-minijinja` (lib test) due to 5 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" "1fce14a708bbf2e9d05d92283722dbbbb18905f62db37f006bfec204e7251825", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1fce14a708bbf2e9d05d92283722dbbbb18905f62db37f006bfec204e7251825", kill_on_drop: false }` [INFO] [stdout] 1fce14a708bbf2e9d05d92283722dbbbb18905f62db37f006bfec204e7251825