[INFO] fetching crate minijinja 2.3.1... [INFO] checking minijinja-2.3.1 against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] extracting crate minijinja 2.3.1 into /workspace/builds/worker-0-tc2/source [INFO] validating manifest of crates.io crate minijinja 2.3.1 on toolchain ccf408f4326a858c00dd845a64a86b16f360a801 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate minijinja 2.3.1 [INFO] finished tweaking crates.io crate minijinja 2.3.1 [INFO] tweaked toml for crates.io crate minijinja 2.3.1 written to /workspace/builds/worker-0-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-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] bf51cdec0d58a9ffdb91c0ecfde51687916cae594b829e502934b556861c7b8f [INFO] running `Command { std: "docker" "start" "-a" "bf51cdec0d58a9ffdb91c0ecfde51687916cae594b829e502934b556861c7b8f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "bf51cdec0d58a9ffdb91c0ecfde51687916cae594b829e502934b556861c7b8f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bf51cdec0d58a9ffdb91c0ecfde51687916cae594b829e502934b556861c7b8f", kill_on_drop: false }` [INFO] [stdout] bf51cdec0d58a9ffdb91c0ecfde51687916cae594b829e502934b556861c7b8f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] e7a9425392995f60e407b7aa308296fd20c7c7f7c2e41fbf4a10ee50a30d89c9 [INFO] running `Command { std: "docker" "start" "-a" "e7a9425392995f60e407b7aa308296fd20c7c7f7c2e41fbf4a10ee50a30d89c9", 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] Compiling unicode-ident v1.0.13 [INFO] [stderr] Checking memchr v2.7.4 [INFO] [stderr] Compiling libc v0.2.159 [INFO] [stderr] Compiling serde v1.0.210 [INFO] [stderr] Checking regex-syntax v0.8.4 [INFO] [stderr] Checking lazy_static v1.5.0 [INFO] [stderr] Checking unicode-segmentation v1.12.0 [INFO] [stderr] Checking log v0.4.22 [INFO] [stderr] Checking same-file v1.0.6 [INFO] [stderr] Compiling serde_json v1.0.128 [INFO] [stderr] Checking ryu v1.0.18 [INFO] [stderr] Checking itoa v1.0.11 [INFO] [stderr] Checking linked-hash-map v0.5.6 [INFO] [stderr] Checking walkdir v2.5.0 [INFO] [stderr] Checking similar v2.6.0 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Checking bstr v1.10.0 [INFO] [stderr] Compiling quote v1.0.37 [INFO] [stderr] Compiling syn v2.0.77 [INFO] [stderr] Checking console v0.15.8 [INFO] [stderr] Checking similar-asserts v1.6.0 [INFO] [stderr] Checking regex-automata v0.4.7 [INFO] [stderr] Compiling serde_derive v1.0.210 [INFO] [stderr] Checking globset v0.4.15 [INFO] [stderr] Checking insta v1.40.0 [INFO] [stderr] Checking minijinja v2.3.1 (/tmp/fixit) [INFO] [stderr] Migrating src/lib.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `minijinja` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/compiler/lexer.rs [INFO] [stderr] * src/compiler/parser.rs [INFO] [stderr] * src/macros.rs [INFO] [stderr] * src/utils.rs [INFO] [stderr] * src/value/argtypes.rs [INFO] [stderr] * src/value/ops.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:137:27 [INFO] [stderr] | [INFO] [stderr] 137 | $($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:138:16 [INFO] [stderr] | [INFO] [stderr] 138 | $(, .. $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:158:14 [INFO] [stderr] | [INFO] [stderr] 158 | $(.. $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:175:32 [INFO] [stderr] | [INFO] [stderr] 175 | ($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:223:27 [INFO] [stderr] | [INFO] [stderr] 223 | (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:224:27 [INFO] [stderr] | [INFO] [stderr] 224 | (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:225:15 [INFO] [stderr] | [INFO] [stderr] 225 | (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:226:15 [INFO] [stderr] | [INFO] [stderr] 226 | (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:247:74 [INFO] [stderr] | [INFO] [stderr] 247 | (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:250:74 [INFO] [stderr] | [INFO] [stderr] 250 | (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:254:47 [INFO] [stderr] | [INFO] [stderr] 254 | (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:257:47 [INFO] [stderr] | [INFO] [stderr] 257 | (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:309:12 [INFO] [stderr] | [INFO] [stderr] 309 | 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:310:9 [INFO] [stderr] | [INFO] [stderr] 310 | $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:311:29 [INFO] [stderr] | [INFO] [stderr] 311 | $(, $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:317:9 [INFO] [stderr] | [INFO] [stderr] 317 | $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:318:29 [INFO] [stderr] | [INFO] [stderr] 318 | $(, $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/lexer.rs:841:14 [INFO] [stderr] | [INFO] [stderr] 841 | ($delta:expr_2021, $tok: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/lexer.rs:841:32 [INFO] [stderr] | [INFO] [stderr] 841 | ($delta:expr_2021, $tok: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:218:6 [INFO] [stderr] | [INFO] [stderr] 218 | ($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:218:25 [INFO] [stderr] | [INFO] [stderr] 218 | ($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:540:14 [INFO] [stderr] | [INFO] [stderr] 540 | ($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:664:14 [INFO] [stderr] | [INFO] [stderr] 664 | ($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/utils.rs:209:22 [INFO] [stderr] | [INFO] [stderr] 209 | ($quote: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:199:14 [INFO] [stderr] | [INFO] [stderr] 199 | ($capture: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:266:18 [INFO] [stderr] | [INFO] [stderr] 266 | ($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:274:18 [INFO] [stderr] | [INFO] [stderr] 274 | ($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/vm/mod.rs:283:18 [INFO] [stderr] | [INFO] [stderr] 283 | ($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:389:25 [INFO] [stderr] | [INFO] [stderr] 389 | $($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:389:49 [INFO] [stderr] | [INFO] [stderr] 389 | $($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/ops.rs:14:10 [INFO] [stderr] | [INFO] [stderr] 14 | ($expr:expr_2021, $ty:ty) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error: aborting due to 44 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/environment.rs:678:25 [INFO] [stdout] | [INFO] [stdout] 678 | 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] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/environment.rs:679:17 [INFO] [stdout] | [INFO] [stdout] 679 | 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] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/environment.rs:680:17 [INFO] [stdout] | [INFO] [stdout] 680 | 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] [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] [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] [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] [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] [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] [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] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:137:34 [INFO] [stdout] | [INFO] [stdout] 137 | $($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] 137 | $($key:ident $(=> $value: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/macros.rs:138:21 [INFO] [stdout] | [INFO] [stdout] 138 | $(, .. $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] 138 | $(, .. $ctx: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/macros.rs:158:19 [INFO] [stdout] | [INFO] [stdout] 158 | $(.. $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] 158 | $(.. $ctx: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/macros.rs:175:39 [INFO] [stdout] | [INFO] [stdout] 175 | ($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] 175 | ($ctx:ident, $key:ident => $value: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/macros.rs:223:30 [INFO] [stdout] | [INFO] [stdout] 223 | (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] 223 | (branch [[$n:ident => $e:expr_2021]], $args:tt) => { $crate::__args_helper!(kwargs $args) }; [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:224:30 [INFO] [stdout] | [INFO] [stdout] 224 | (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] 224 | (branch [[$n:ident => $e:expr_2021, $($r:tt)*]], $args:tt) => { $crate::__args_helper!(kwargs $args) }; [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:225:18 [INFO] [stdout] | [INFO] [stdout] 225 | (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] 225 | (branch [[$e:expr_2021]], $args:tt) => { $crate::__args_helper!(args $args) }; [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:226:18 [INFO] [stdout] | [INFO] [stdout] 226 | (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] 226 | (branch [[$e:expr_2021, $($rest:tt)*]], $args:tt) => { $crate::__args_helper!(branch [[$($rest)*]], $args) }; [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:247:80 [INFO] [stdout] | [INFO] [stdout] 247 | (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] 247 | (peel $args:ident, $kwargs:ident, $has_kwargs:ident, [$name:ident => $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/macros.rs:250:80 [INFO] [stdout] | [INFO] [stdout] 250 | (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] 250 | (peel $args:ident, $kwargs:ident, $has_kwargs:ident, [$name:ident => $expr:expr_2021, $($rest:tt)*]) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:254:53 [INFO] [stdout] | [INFO] [stdout] 254 | (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] 254 | (peel $args:ident, $kwargs:ident, false, [$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/macros.rs:257:53 [INFO] [stdout] | [INFO] [stdout] 257 | (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] 257 | (peel $args:ident, $kwargs:ident, false, [$expr:expr_2021, $($rest:tt)*]) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:309:17 [INFO] [stdout] | [INFO] [stdout] 309 | 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] 309 | in $env: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/macros.rs:310:15 [INFO] [stdout] | [INFO] [stdout] 310 | $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] 310 | $tmpl: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/macros.rs:311:36 [INFO] [stdout] | [INFO] [stdout] 311 | $(, $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] 311 | $(, $key:ident $(=> $value: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/macros.rs:317:15 [INFO] [stdout] | [INFO] [stdout] 317 | $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] 317 | $tmpl: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/macros.rs:318:36 [INFO] [stdout] | [INFO] [stdout] 318 | $(, $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] 318 | $(, $key:ident $(=> $value: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/lexer.rs:841:21 [INFO] [stdout] | [INFO] [stdout] 841 | ($delta:expr, $tok: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] 841 | ($delta:expr_2021, $tok: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/lexer.rs:841:32 [INFO] [stdout] | [INFO] [stdout] 841 | ($delta:expr, $tok: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] 841 | ($delta:expr, $tok: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: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] [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] [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:218:14 [INFO] [stdout] | [INFO] [stdout] 218 | ($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] 218 | ($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:218:26 [INFO] [stdout] | [INFO] [stdout] 218 | ($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] 218 | ($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:540:20 [INFO] [stdout] | [INFO] [stdout] 540 | ($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] 540 | ($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:664:20 [INFO] [stdout] | [INFO] [stdout] 664 | ($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] 664 | ($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:209:29 [INFO] [stdout] | [INFO] [stdout] 209 | ($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] 209 | ($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:199:23 [INFO] [stdout] | [INFO] [stdout] 199 | ($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] 199 | ($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:266:23 [INFO] [stdout] | [INFO] [stdout] 266 | ($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] 266 | ($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:274:24 [INFO] [stdout] | [INFO] [stdout] 274 | ($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] 274 | ($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:283:24 [INFO] [stdout] | [INFO] [stdout] 283 | ($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] 283 | ($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:389:34 [INFO] [stdout] | [INFO] [stdout] 389 | $($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] 389 | $($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:389:50 [INFO] [stdout] | [INFO] [stdout] 389 | $($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] 389 | $($pat:pat $(if $if_expr: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/value/ops.rs:14:16 [INFO] [stdout] | [INFO] [stdout] 14 | ($expr:expr, $ty:ty) => {{ [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] 14 | ($expr:expr_2021, $ty:ty) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/ast.rs:580:24 [INFO] [stdout] | [INFO] [stdout] 580 | 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:584:21 [INFO] [stdout] | [INFO] [stdout] 584 | } [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] 580 ~ match attr.expr { Expr::Var(ref var) => { [INFO] [stdout] 581 | if var.id == "self" { [INFO] [stdout] 582 | return CallType::Block(attr.name); [INFO] [stdout] 583 | } [INFO] [stdout] 584 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/codegen.rs:458:12 [INFO] [stdout] | [INFO] [stdout] 458 | 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:460:9 [INFO] [stdout] | [INFO] [stdout] 460 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 458 ~ match self.instructions.get_mut(instr) { Some(Instruction::Jump(ref mut target)) => { [INFO] [stdout] 459 | *target = macro_instr; [INFO] [stdout] 460 ~ } _ => { [INFO] [stdout] 461 | unreachable!(); [INFO] [stdout] 462 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/codegen.rs:530:12 [INFO] [stdout] | [INFO] [stdout] 530 | 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:546:9 [INFO] [stdout] | [INFO] [stdout] 546 | } else { [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 for_loop.filter_expr { Some(ref filter_expr) => { [INFO] [stdout] 531 | self.add(Instruction::LoadConst(Value::from(0usize))); [INFO] [stdout] ... [INFO] [stdout] 545 | self.add(Instruction::BuildList(None)); [INFO] [stdout] 546 ~ } _ => { [INFO] [stdout] 547 | self.compile_expr(&for_loop.iter); [INFO] [stdout] 548 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/codegen.rs:602:20 [INFO] [stdout] | [INFO] [stdout] 602 | 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:604:17 [INFO] [stdout] | [INFO] [stdout] 604 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 602 ~ match s.start { Some(ref start) => { [INFO] [stdout] 603 | self.compile_expr(start); [INFO] [stdout] 604 ~ } _ => { [INFO] [stdout] 605 | self.add(Instruction::LoadConst(Value::from(0))); [INFO] [stdout] 606 ~ }} [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 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: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 s.stop { Some(ref stop) => { [INFO] [stdout] 608 | self.compile_expr(stop); [INFO] [stdout] 609 ~ } _ => { [INFO] [stdout] 610 | self.add(Instruction::LoadConst(Value::from(()))); [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:612:20 [INFO] [stdout] | [INFO] [stdout] 612 | 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:614:17 [INFO] [stdout] | [INFO] [stdout] 614 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 612 ~ match s.step { Some(ref step) => { [INFO] [stdout] 613 | self.compile_expr(step); [INFO] [stdout] 614 ~ } _ => { [INFO] [stdout] 615 | self.add(Instruction::LoadConst(Value::from(1))); [INFO] [stdout] 616 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/codegen.rs:632:32 [INFO] [stdout] | [INFO] [stdout] 632 | ... 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:635:29 [INFO] [stdout] | [INFO] [stdout] 635 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 632 ~ match neg(&c.value) { Ok(negated) => { [INFO] [stdout] 633 | self.add(Instruction::LoadConst(negated)); [INFO] [stdout] 634 | return; [INFO] [stdout] 635 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/codegen.rs:651:20 [INFO] [stdout] | [INFO] [stdout] 651 | 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:653:17 [INFO] [stdout] | [INFO] [stdout] 653 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 651 ~ match i.false_expr { Some(ref false_expr) => { [INFO] [stdout] 652 | self.compile_expr(false_expr); [INFO] [stdout] 653 ~ } _ => { [INFO] [stdout] 654 | self.add(Instruction::LoadConst(Value::UNDEFINED)); [INFO] [stdout] 655 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/codegen.rs:697:20 [INFO] [stdout] | [INFO] [stdout] 697 | 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:699:17 [INFO] [stdout] | [INFO] [stdout] 699 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 697 ~ match l.as_const() { Some(val) => { [INFO] [stdout] 698 | self.add(Instruction::LoadConst(val)); [INFO] [stdout] 699 ~ } _ => { [INFO] [stdout] 700 | self.set_line_from_span(l.span()); [INFO] [stdout] ... [INFO] [stdout] 704 | self.add(Instruction::BuildList(Some(l.items.len()))); [INFO] [stdout] 705 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/codegen.rs:708:20 [INFO] [stdout] | [INFO] [stdout] 708 | 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:710:17 [INFO] [stdout] | [INFO] [stdout] 710 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 708 ~ match m.as_const() { Some(val) => { [INFO] [stdout] 709 | self.add(Instruction::LoadConst(val)); [INFO] [stdout] 710 ~ } _ => { [INFO] [stdout] 711 | self.set_line_from_span(m.span()); [INFO] [stdout] ... [INFO] [stdout] 717 | self.add(Instruction::BuildMap(m.keys.len())); [INFO] [stdout] 718 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/codegen.rs:721:20 [INFO] [stdout] | [INFO] [stdout] 721 | 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:723:17 [INFO] [stdout] | [INFO] [stdout] 723 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 721 ~ match m.as_const() { Some(val) => { [INFO] [stdout] 722 | self.add(Instruction::LoadConst(val)); [INFO] [stdout] 723 ~ } _ => { [INFO] [stdout] 724 | self.set_line_from_span(m.span()); [INFO] [stdout] ... [INFO] [stdout] 729 | self.add(Instruction::BuildKwargs(m.pairs.len())); [INFO] [stdout] 730 ~ }} [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:553:27 [INFO] [stdout] | [INFO] [stdout] 553 | while let Some((Token::Str(s), _)) = ok!(self.stream.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:556:21 [INFO] [stdout] | [INFO] [stdout] 556 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/parser.rs:1125:15 [INFO] [stdout] | [INFO] [stdout] 1125 | 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:1151:9 [INFO] [stdout] | [INFO] [stdout] 1151 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/error.rs:185:12 [INFO] [stdout] | [INFO] [stdout] 185 | 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:187:9 [INFO] [stdout] | [INFO] [stdout] 187 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 185 ~ match self.repr.detail { Some(ref detail) => { [INFO] [stdout] 186 | ok!(write!(f, "{}: {}", self.kind(), detail)); [INFO] [stdout] 187 ~ } _ => { [INFO] [stdout] 188 | ok!(write!(f, "{}", self.kind())); [INFO] [stdout] 189 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm/mod.rs:337:24 [INFO] [stdout] | [INFO] [stdout] 337 | 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:339:21 [INFO] [stdout] | [INFO] [stdout] 339 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 337 ~ match b.downcast_object_ref::() { Some(ns) => { [INFO] [stdout] 338 | ns.set_value(name, a); [INFO] [stdout] 339 ~ } _ => { [INFO] [stdout] 340 | bail!(Error::new( [INFO] [stdout] ... [INFO] [stdout] 343 | )); [INFO] [stdout] 344 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm/mod.rs:435:24 [INFO] [stdout] | [INFO] [stdout] 435 | 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:444:21 [INFO] [stdout] | [INFO] [stdout] 444 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 435 ~ match state.ctx.pop_frame().current_loop { Some(mut loop_ctx) => { [INFO] [stdout] 436 | if let Some((target, end_capture)) = loop_ctx.current_recursion_jump.take() [INFO] [stdout] ... [INFO] [stdout] 443 | } [INFO] [stdout] 444 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm/mod.rs:436:28 [INFO] [stdout] | [INFO] [stdout] 436 | 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:443:25 [INFO] [stdout] | [INFO] [stdout] 443 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 436 ~ match loop_ctx.current_recursion_jump.take() [INFO] [stdout] 437 ~ { Some((target, end_capture)) => { [INFO] [stdout] 438 | pc = target; [INFO] [stdout] ... [INFO] [stdout] 442 | continue; [INFO] [stdout] 443 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm/mod.rs:580:31 [INFO] [stdout] | [INFO] [stdout] 580 | } 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:585:21 [INFO] [stdout] | [INFO] [stdout] 585 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 580 ~ } else { match state.lookup(name) { Some(func) => { [INFO] [stdout] 581 | let args = stack.slice_top(*arg_count); [INFO] [stdout] ... [INFO] [stdout] 584 | stack.push(a); [INFO] [stdout] 585 ~ } _ => { [INFO] [stdout] 586 | bail!(Error::new( [INFO] [stdout] ... [INFO] [stdout] 589 | )); [INFO] [stdout] 590 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm/mod.rs:829:12 [INFO] [stdout] | [INFO] [stdout] 829 | 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:838:9 [INFO] [stdout] | [INFO] [stdout] 838 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 829 ~ match state.ctx.current_loop() { Some(loop_ctx) => { [INFO] [stdout] 830 | if let Some(recurse_jump_target) = loop_ctx.recurse_jump_target { [INFO] [stdout] ... [INFO] [stdout] 837 | } [INFO] [stdout] 838 ~ } _ => { [INFO] [stdout] 839 | Err(Error::new( [INFO] [stdout] ... [INFO] [stdout] 842 | )) [INFO] [stdout] 843 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm/context.rs:164:20 [INFO] [stdout] | [INFO] [stdout] 164 | 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:175:17 [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] 164 ~ match frame.ctx.try_iter() { Ok(iter) => { [INFO] [stdout] 165 | for key in iter { [INFO] [stdout] ... [INFO] [stdout] 174 | } [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:166:28 [INFO] [stdout] | [INFO] [stdout] 166 | 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:173:25 [INFO] [stdout] | [INFO] [stdout] 173 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 166 ~ match key.as_str() { Some(str_key) => { [INFO] [stdout] 167 | if !seen.contains(&Cow::Borrowed(str_key)) { [INFO] [stdout] ... [INFO] [stdout] 172 | } [INFO] [stdout] 173 ~ } _ => {}} [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:36 [INFO] [stdout] | [INFO] [stdout] 168 | ... 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:171:33 [INFO] [stdout] | [INFO] [stdout] 171 | ... } [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.get_item(&key) { Ok(value) => { [INFO] [stdout] 169 | m.entry(&str_key, &value); [INFO] [stdout] 170 | seen.insert(Cow::Owned(str_key.to_owned())); [INFO] [stdout] 171 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm/context.rs:209:16 [INFO] [stdout] | [INFO] [stdout] 209 | 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:211:13 [INFO] [stdout] | [INFO] [stdout] 211 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 209 ~ match top.closure { Some(ref closure) => { [INFO] [stdout] 210 | closure.store(key, value.clone()); [INFO] [stdout] 211 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm/context.rs:285:16 [INFO] [stdout] | [INFO] [stdout] 285 | 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:287:13 [INFO] [stdout] | [INFO] [stdout] 287 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 285 ~ match frame.ctx.get_attr_fast(key) { Some(rv) => { [INFO] [stdout] 286 | return Some(rv); [INFO] [stdout] 287 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/filters.rs:531:12 [INFO] [stdout] | [INFO] [stdout] 531 | 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] 540 | } 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:540:9 [INFO] [stdout] | [INFO] [stdout] 540 | } 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:553:9 [INFO] [stdout] | [INFO] [stdout] 553 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 531 ~ match val.as_str() { Some(s) => { [INFO] [stdout] 532 | let mut rv = String::new(); [INFO] [stdout] ... [INFO] [stdout] 539 | Ok(rv) [INFO] [stdout] 540 ~ } _ => { match val.as_object().and_then(|x| x.try_iter()) { Some(iter) => { [INFO] [stdout] 541 | let mut rv = String::new(); [INFO] [stdout] ... [INFO] [stdout] 552 | Ok(rv) [INFO] [stdout] 553 ~ } _ => { [INFO] [stdout] 554 | Err(Error::new( [INFO] [stdout] ... [INFO] [stdout] 557 | )) [INFO] [stdout] 558 ~ }}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/filters.rs:546:20 [INFO] [stdout] | [INFO] [stdout] 546 | 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:548:17 [INFO] [stdout] | [INFO] [stdout] 548 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 546 ~ match item.as_str() { Some(s) => { [INFO] [stdout] 547 | rv.push_str(s); [INFO] [stdout] 548 ~ } _ => { [INFO] [stdout] 549 | write!(rv, "{item}").ok(); [INFO] [stdout] 550 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/filters.rs:743:12 [INFO] [stdout] | [INFO] [stdout] 743 | 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] 744 | Ok(s.chars().next().map_or(Value::UNDEFINED, Value::from)) [INFO] [stdout] 745 | } 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:745:9 [INFO] [stdout] | [INFO] [stdout] 745 | } 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:747:9 [INFO] [stdout] | [INFO] [stdout] 747 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 743 ~ match value.as_str() { Some(s) => { [INFO] [stdout] 744 | Ok(s.chars().next().map_or(Value::UNDEFINED, Value::from)) [INFO] [stdout] 745 ~ } _ => { match value.as_object().and_then(|x| x.try_iter()) { Some(mut iter) => { [INFO] [stdout] 746 | Ok(iter.next().unwrap_or(Value::UNDEFINED)) [INFO] [stdout] 747 ~ } _ => { [INFO] [stdout] 748 | Err(Error::new( [INFO] [stdout] ... [INFO] [stdout] 751 | )) [INFO] [stdout] 752 ~ }}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/filters.rs:772:12 [INFO] [stdout] | [INFO] [stdout] 772 | 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:774:9 [INFO] [stdout] | [INFO] [stdout] 774 | } 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] 772 ~ match value.as_str() { Some(s) => { [INFO] [stdout] 773 | Ok(s.chars().next_back().map_or(Value::UNDEFINED, Value::from)) [INFO] [stdout] 774 ~ } _ => if matches!(value.kind(), ValueKind::Seq | ValueKind::Iterable) { [INFO] [stdout] 775 | let rev = ok!(value.reverse()); [INFO] [stdout] ... [INFO] [stdout] 782 | )) [INFO] [stdout] 783 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/filters.rs:835:12 [INFO] [stdout] | [INFO] [stdout] 835 | 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:840:9 [INFO] [stdout] | [INFO] [stdout] 840 | } else { [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/filters.rs:1528:23 [INFO] [stdout] | [INFO] [stdout] 1528 | } else if let Some(s) = value_to_compare.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:1530:13 [INFO] [stdout] | [INFO] [stdout] 1530 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1528 ~ } else { match value_to_compare.as_str() { Some(s) => { [INFO] [stdout] 1529 | Value::from(s.to_lowercase()) [INFO] [stdout] 1530 ~ } _ => { [INFO] [stdout] 1531 | value_to_compare.clone() [INFO] [stdout] 1532 ~ }}}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/functions.rs:396:16 [INFO] [stdout] | [INFO] [stdout] 396 | if let Some(pairs) = defaults [INFO] [stdout] | ________________^ - [INFO] [stdout] | |__________________________________| [INFO] [stdout] 397 | || .as_object() [INFO] [stdout] 398 | || .filter(|x| matches!(x.repr(), ObjectRepr::Map)) [INFO] [stdout] 399 | || .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:406:13 [INFO] [stdout] | [INFO] [stdout] 406 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 396 ~ match defaults [INFO] [stdout] 397 | .as_object() [INFO] [stdout] 398 | .filter(|x| matches!(x.repr(), ObjectRepr::Map)) [INFO] [stdout] 399 | .and_then(|x| x.try_iter_pairs()) [INFO] [stdout] 400 ~ { Some(pairs) => { [INFO] [stdout] 401 | for (key, value) in pairs { [INFO] [stdout] ... [INFO] [stdout] 405 | } [INFO] [stdout] 406 ~ } _ => { [INFO] [stdout] 407 | return Err(Error::new( [INFO] [stdout] ... [INFO] [stdout] 413 | )); [INFO] [stdout] 414 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/functions.rs:402:24 [INFO] [stdout] | [INFO] [stdout] 402 | 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:404:21 [INFO] [stdout] | [INFO] [stdout] 404 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 402 ~ match key.as_str() { Some(key) => { [INFO] [stdout] 403 | ns.set_value(key, value); [INFO] [stdout] 404 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/mod.rs:463:20 [INFO] [stdout] | [INFO] [stdout] 463 | 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:465:17 [INFO] [stdout] | [INFO] [stdout] 465 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 463 ~ match i64::try_from(self.clone()) { Ok(val) => { [INFO] [stdout] 464 | val.hash(state) [INFO] [stdout] 465 ~ } _ => { [INFO] [stdout] 466 | as_f64(self, true).map(|x| x.to_bits()).hash(state) [INFO] [stdout] 467 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/mod.rs:529:36 [INFO] [stdout] | [INFO] [stdout] 529 | ... if let (Some(ak), Some(bk)) = (a.try_iter(), b.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/mod.rs:531:33 [INFO] [stdout] | [INFO] [stdout] 531 | ... } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 529 ~ match (a.try_iter(), b.try_iter()) { (Some(ak), Some(bk)) => { [INFO] [stdout] 530 | ak.eq(bk) [INFO] [stdout] 531 ~ } _ => { [INFO] [stdout] 532 | false [INFO] [stdout] 533 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/mod.rs:725:12 [INFO] [stdout] | [INFO] [stdout] 725 | if let ValueRepr::Invalid(err) = 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:729:9 [INFO] [stdout] | [INFO] [stdout] 729 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 725 ~ match self.0 { ValueRepr::Invalid(err) => { [INFO] [stdout] 726 | // Today the API implies tghat errors are `Clone`, but we don't want to expose [INFO] [stdout] 727 | // this as a functionality (yet?). [INFO] [stdout] 728 | Err(Arc::try_unwrap(err).unwrap_or_else(|arc| (*arc).internal_clone())) [INFO] [stdout] 729 ~ } _ => { [INFO] [stdout] 730 | Ok(self) [INFO] [stdout] 731 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/mod.rs:1193:12 [INFO] [stdout] | [INFO] [stdout] 1193 | 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:1195:9 [INFO] [stdout] | [INFO] [stdout] 1195 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1193 ~ match self.0 { ValueRepr::Undefined => { [INFO] [stdout] 1194 | Err(Error::from(ErrorKind::UndefinedError)) [INFO] [stdout] 1195 ~ } _ => { [INFO] [stdout] 1196 | Ok(self.get_item_opt(key).unwrap_or(Value::UNDEFINED)) [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:1290:28 [INFO] [stdout] | [INFO] [stdout] 1290 | 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] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [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:1292:25 [INFO] [stdout] | [INFO] [stdout] 1292 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1290 ~ match iter.lock().unwrap().take() { Some(iter) => { [INFO] [stdout] 1291 | Box::new(iter) as Box + Send + Sync> [INFO] [stdout] 1292 ~ } _ => { [INFO] [stdout] 1293 | match for_restart.reverse().and_then(|x| x.try_iter()) { [INFO] [stdout] ... [INFO] [stdout] 1298 | } [INFO] [stdout] 1299 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/mod.rs:1380:28 [INFO] [stdout] | [INFO] [stdout] 1380 | if let Some(mut iter) = dy.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/mod.rs:1384:25 [INFO] [stdout] | [INFO] [stdout] 1384 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1380 ~ match dy.try_iter() { Some(mut iter) => { [INFO] [stdout] 1381 | if let Some(rv) = iter.nth(idx) { [INFO] [stdout] 1382 | return Some(rv); [INFO] [stdout] 1383 | } [INFO] [stdout] 1384 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/mod.rs:1381:32 [INFO] [stdout] | [INFO] [stdout] 1381 | ... if let Some(rv) = iter.nth(idx) { [INFO] [stdout] | ^^^^^^^^^^^^^^^------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [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:1383:29 [INFO] [stdout] | [INFO] [stdout] 1383 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1381 ~ match iter.nth(idx) { Some(rv) => { [INFO] [stdout] 1382 | return Some(rv); [INFO] [stdout] 1383 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/mod.rs:1454:12 [INFO] [stdout] | [INFO] [stdout] 1454 | 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:1456:9 [INFO] [stdout] | [INFO] [stdout] 1456 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1454 ~ match self.0 { ValueRepr::Object(ref dy) => { [INFO] [stdout] 1455 | dy.call(state, args) [INFO] [stdout] 1456 ~ } _ => { [INFO] [stdout] 1457 | Err(Error::new( [INFO] [stdout] ... [INFO] [stdout] 1460 | )) [INFO] [stdout] 1461 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/mod.rs:1473:24 [INFO] [stdout] | [INFO] [stdout] 1473 | 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:1475:21 [INFO] [stdout] | [INFO] [stdout] 1475 | } else if err.detail().is_none() { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1473 ~ match state.env().unknown_method_callback { Some(ref callback) => { [INFO] [stdout] 1474 | return callback(state, self, name, args); [INFO] [stdout] 1475 ~ } _ => if err.detail().is_none() { [INFO] [stdout] 1476 | err.set_detail(format!("{} has no method named {}", self.kind(), name)); [INFO] [stdout] 1477 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/deserialize.rs:76:15 [INFO] [stdout] | [INFO] [stdout] 76 | 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:78:9 [INFO] [stdout] | [INFO] [stdout] 78 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/deserialize.rs:84:15 [INFO] [stdout] | [INFO] [stdout] 84 | 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:86:9 [INFO] [stdout] | [INFO] [stdout] 86 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/object.rs:658:12 [INFO] [stdout] | [INFO] [stdout] 658 | 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:663:9 [INFO] [stdout] | [INFO] [stdout] 663 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 658 ~ match self.try_iter_pairs() { Some(iter) => { [INFO] [stdout] 659 | for (key, value) in iter { [INFO] [stdout] ... [INFO] [stdout] 662 | } [INFO] [stdout] 663 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/ops.rs:137:20 [INFO] [stdout] | [INFO] [stdout] 137 | 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:139:17 [INFO] [stdout] | [INFO] [stdout] 139 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 137 ~ match obj.try_iter() { Some(iter) => { [INFO] [stdout] 138 | Box::new(iter.skip(start).take(len).step_by(step)) [INFO] [stdout] 139 ~ } _ => { [INFO] [stdout] 140 | Box::new(None.into_iter()) [INFO] [stdout] 141 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/ops.rs:198:20 [INFO] [stdout] | [INFO] [stdout] 198 | if let Ok(rhs) = rhs.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:201:17 [INFO] [stdout] | [INFO] [stdout] 201 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 198 ~ match rhs.try_iter() { Ok(rhs) => { [INFO] [stdout] 199 | return Box::new(lhs.chain(rhs)) [INFO] [stdout] 200 | as Box + Send + Sync>; [INFO] [stdout] 201 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/ops.rs:355:20 [INFO] [stdout] | [INFO] [stdout] 355 | 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:359:17 [INFO] [stdout] | [INFO] [stdout] 359 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 355 ~ match i128::try_from(val.clone()) { Ok(x) => { [INFO] [stdout] 356 | x.checked_mul(-1) [INFO] [stdout] 357 | .ok_or_else(|| Error::new(ErrorKind::InvalidOperation, "overflow")) [INFO] [stdout] 358 | .map(int_as_value) [INFO] [stdout] 359 ~ } _ => { [INFO] [stdout] 360 | Err(Error::from(ErrorKind::InvalidOperation)) [INFO] [stdout] 361 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/ops.rs:387:15 [INFO] [stdout] | [INFO] [stdout] 387 | } 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:395:5 [INFO] [stdout] | [INFO] [stdout] 395 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 387 ~ } else { match container.0 { ValueRepr::Object(ref obj) => { [INFO] [stdout] 388 | match obj.repr() { [INFO] [stdout] ... [INFO] [stdout] 394 | } [INFO] [stdout] 395 ~ } _ => { [INFO] [stdout] 396 | return Err(Error::new( [INFO] [stdout] ... [INFO] [stdout] 399 | )); [INFO] [stdout] 400 ~ }}}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 102 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `minijinja` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/compiler/lexer.rs [INFO] [stderr] * src/compiler/parser.rs [INFO] [stderr] * src/macros.rs [INFO] [stderr] * src/utils.rs [INFO] [stderr] * src/value/argtypes.rs [INFO] [stderr] * src/value/ops.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:137:27 [INFO] [stderr] | [INFO] [stderr] 137 | $($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:138:16 [INFO] [stderr] | [INFO] [stderr] 138 | $(, .. $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:158:14 [INFO] [stderr] | [INFO] [stderr] 158 | $(.. $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:175:32 [INFO] [stderr] | [INFO] [stderr] 175 | ($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:223:27 [INFO] [stderr] | [INFO] [stderr] 223 | (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:224:27 [INFO] [stderr] | [INFO] [stderr] 224 | (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:225:15 [INFO] [stderr] | [INFO] [stderr] 225 | (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:226:15 [INFO] [stderr] | [INFO] [stderr] 226 | (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:247:74 [INFO] [stderr] | [INFO] [stderr] 247 | (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:250:74 [INFO] [stderr] | [INFO] [stderr] 250 | (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:254:47 [INFO] [stderr] | [INFO] [stderr] 254 | (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:257:47 [INFO] [stderr] | [INFO] [stderr] 257 | (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:309:12 [INFO] [stderr] | [INFO] [stderr] 309 | 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:310:9 [INFO] [stderr] | [INFO] [stderr] 310 | $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:311:29 [INFO] [stderr] | [INFO] [stderr] 311 | $(, $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:317:9 [INFO] [stderr] | [INFO] [stderr] 317 | $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:318:29 [INFO] [stderr] | [INFO] [stderr] 318 | $(, $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/lexer.rs:841:14 [INFO] [stderr] | [INFO] [stderr] 841 | ($delta:expr_2021, $tok: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/lexer.rs:841:32 [INFO] [stderr] | [INFO] [stderr] 841 | ($delta:expr_2021, $tok: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] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/environment.rs:678:25 [INFO] [stdout] | [INFO] [stdout] 678 | 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] = 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/environment.rs:679:17 [INFO] [stdout] | [INFO] [stdout] 679 | 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:680:17 [INFO] [stdout] | [INFO] [stdout] 680 | 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] error[E0658]: fragment specifier `expr_2021` is unstable [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] --> src/compiler/parser.rs:59:6 [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] 59 | ($parser:expr_2021, $match:pat => $target:expr_2021, $expectation:expr_2021) => {{ [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] | ^^^^^^^^^^^^^^^^^ [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] = 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:137:34 [INFO] [stdout] | [INFO] [stdout] 137 | $($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] 137 | $($key:ident $(=> $value: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:138:21 [INFO] [stdout] | [INFO] [stdout] 138 | $(, .. $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] 138 | $(, .. $ctx: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:158:19 [INFO] [stdout] | [INFO] [stdout] 158 | $(.. $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] 158 | $(.. $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:175:39 [INFO] [stdout] | [INFO] [stdout] 175 | ($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] 175 | ($ctx:ident, $key:ident => $value: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:223:30 [INFO] [stdout] | [INFO] [stdout] 223 | (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] 223 | (branch [[$n:ident => $e:expr_2021]], $args:tt) => { $crate::__args_helper!(kwargs $args) }; [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] --> src/compiler/parser.rs:59:39 [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:224:30 [INFO] [stdout] | [INFO] [stdout] 224 | (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] 224 | (branch [[$n:ident => $e:expr_2021, $($r:tt)*]], $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:225:18 [INFO] [stdout] | [INFO] [stdout] 225 | (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] 225 | (branch [[$e:expr_2021]], $args:tt) => { $crate::__args_helper!(args $args) }; [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 59 | ($parser:expr_2021, $match:pat => $target:expr_2021, $expectation:expr_2021) => {{ [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:226:18 [INFO] [stdout] | [INFO] [stdout] 226 | (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] 226 | (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:247:80 [INFO] [stdout] | [INFO] [stdout] 247 | (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] 247 | (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:250:80 [INFO] [stdout] | [INFO] [stdout] 250 | (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] 250 | (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:254:53 [INFO] [stdout] | [INFO] [stdout] 254 | (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] 254 | (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] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:257:53 [INFO] [stdout] | [INFO] [stdout] 257 | (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] 257 | (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:309:17 [INFO] [stdout] | [INFO] [stdout] 309 | 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] 309 | 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:310:15 [INFO] [stdout] | [INFO] [stdout] 310 | $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] 310 | $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:311:36 [INFO] [stdout] | [INFO] [stdout] 311 | $(, $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] 311 | $(, $key:ident $(=> $value:expr_2021)?)* $(,)? [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] --> src/compiler/parser.rs:59:58 [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:317:15 [INFO] [stdout] | [INFO] [stdout] 317 | $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] 317 | $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:318:36 [INFO] [stdout] | [INFO] [stdout] 318 | $(, $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] 318 | $(, $key:ident $(=> $value:expr_2021)?)* $(,)? [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 59 | ($parser:expr_2021, $match:pat => $target:expr_2021, $expectation:expr_2021) => {{ [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/compiler/lexer.rs:841:21 [INFO] [stdout] | [INFO] [stdout] 841 | ($delta:expr, $tok: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] 841 | ($delta:expr_2021, $tok: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/lexer.rs:841:32 [INFO] [stdout] | [INFO] [stdout] 841 | ($delta:expr, $tok: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] 841 | ($delta:expr, $tok: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: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] [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] = 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: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] 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: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] --> src/compiler/parser.rs:69:6 [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] | [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] 69 | ($p:expr_2021, $match:pat) => { [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] | ^^^^^^^^^^^^ [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] | [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] = 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:218:14 [INFO] [stdout] | [INFO] [stdout] 218 | ($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] 218 | ($parser:expr_2021, $expr:expr) => {{ [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:218:26 [INFO] [stdout] | [INFO] [stdout] 218 | ($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] 218 | ($parser:expr, $expr: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/compiler/parser.rs:540:20 [INFO] [stdout] | [INFO] [stdout] 540 | ($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] 540 | ($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:664:20 [INFO] [stdout] | [INFO] [stdout] 664 | ($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] 664 | ($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/utils.rs:209:29 [INFO] [stdout] | [INFO] [stdout] 209 | ($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] 209 | ($quote:expr_2021) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] --> src/compiler/parser.rs:79:6 [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/vm/mod.rs:199:23 [INFO] [stdout] | [INFO] [stdout] 199 | ($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] 199 | ($capture: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:266:23 [INFO] [stdout] | [INFO] [stdout] 266 | ($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] 266 | ($err:expr_2021) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 79 | ($p:expr_2021, $match:pat) => { [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/vm/mod.rs:274:24 [INFO] [stdout] | [INFO] [stdout] 274 | ($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] 274 | ($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/vm/mod.rs:283:24 [INFO] [stdout] | [INFO] [stdout] 283 | ($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] 283 | ($expr:expr_2021) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [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:218:6 [INFO] [stderr] | [INFO] [stderr] 218 | ($parser: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/value/argtypes.rs:389:34 [INFO] [stdout] | [INFO] [stdout] 389 | $($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] 389 | $($pat:pat $(if $if_expr:expr_2021)? => $expr: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/value/argtypes.rs:389:50 [INFO] [stdout] | [INFO] [stdout] 389 | $($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] 389 | $($pat:pat $(if $if_expr:expr)? => $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/compiler/parser.rs:218:25 [INFO] [stderr] | [INFO] [stderr] 218 | ($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] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/value/ops.rs:14:16 [INFO] [stdout] | [INFO] [stdout] 14 | ($expr:expr, $ty:ty) => {{ [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] 14 | ($expr:expr_2021, $ty:ty) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/compiler/parser.rs:540:14 [INFO] [stderr] | [INFO] [stderr] 540 | ($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:664:14 [INFO] [stderr] | [INFO] [stderr] 664 | ($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/utils.rs:209:22 [INFO] [stderr] | [INFO] [stderr] 209 | ($quote: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:199:14 [INFO] [stderr] | [INFO] [stderr] 199 | ($capture: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:266:18 [INFO] [stderr] | [INFO] [stderr] 266 | ($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] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/ast.rs:580:24 [INFO] [stdout] | [INFO] [stdout] 580 | 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:584:21 [INFO] [stdout] | [INFO] [stdout] 584 | } [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] 580 ~ match attr.expr { Expr::Var(ref var) => { [INFO] [stdout] 581 | if var.id == "self" { [INFO] [stdout] 582 | return CallType::Block(attr.name); [INFO] [stdout] 583 | } [INFO] [stdout] 584 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/vm/mod.rs:274:18 [INFO] [stderr] | [INFO] [stderr] 274 | ($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/vm/mod.rs:283:18 [INFO] [stderr] | [INFO] [stderr] 283 | ($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:389:25 [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/codegen.rs:458:12 [INFO] [stdout] | [INFO] [stdout] 458 | 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:460:9 [INFO] [stdout] | [INFO] [stdout] 460 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 458 ~ match self.instructions.get_mut(instr) { Some(Instruction::Jump(ref mut target)) => { [INFO] [stdout] 459 | *target = macro_instr; [INFO] [stdout] 460 ~ } _ => { [INFO] [stdout] 461 | unreachable!(); [INFO] [stdout] 462 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stderr] 389 | $($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:389:49 [INFO] [stderr] | [INFO] [stderr] 389 | $($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/ops.rs:14:10 [INFO] [stderr] | [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/codegen.rs:530:12 [INFO] [stdout] | [INFO] [stdout] 530 | 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:546:9 [INFO] [stdout] | [INFO] [stdout] 546 | } else { [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 for_loop.filter_expr { Some(ref filter_expr) => { [INFO] [stdout] 531 | self.add(Instruction::LoadConst(Value::from(0usize))); [INFO] [stdout] ... [INFO] [stdout] 545 | self.add(Instruction::BuildList(None)); [INFO] [stdout] 546 ~ } _ => { [INFO] [stdout] 547 | self.compile_expr(&for_loop.iter); [INFO] [stdout] 548 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 14 | ($expr:expr_2021, $ty:ty) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error: aborting due to 44 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/codegen.rs:602:20 [INFO] [stdout] | [INFO] [stdout] 602 | 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:604:17 [INFO] [stdout] | [INFO] [stdout] 604 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 602 ~ match s.start { Some(ref start) => { [INFO] [stdout] 603 | self.compile_expr(start); [INFO] [stdout] 604 ~ } _ => { [INFO] [stdout] 605 | self.add(Instruction::LoadConst(Value::from(0))); [INFO] [stdout] 606 ~ }} [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 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: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 s.stop { Some(ref stop) => { [INFO] [stdout] 608 | self.compile_expr(stop); [INFO] [stdout] 609 ~ } _ => { [INFO] [stdout] 610 | self.add(Instruction::LoadConst(Value::from(()))); [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:612:20 [INFO] [stdout] | [INFO] [stdout] 612 | 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:614:17 [INFO] [stdout] | [INFO] [stdout] 614 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 612 ~ match s.step { Some(ref step) => { [INFO] [stdout] 613 | self.compile_expr(step); [INFO] [stdout] 614 ~ } _ => { [INFO] [stdout] 615 | self.add(Instruction::LoadConst(Value::from(1))); [INFO] [stdout] 616 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/codegen.rs:632:32 [INFO] [stdout] | [INFO] [stdout] 632 | ... 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:635:29 [INFO] [stdout] | [INFO] [stdout] 635 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 632 ~ match neg(&c.value) { Ok(negated) => { [INFO] [stdout] 633 | self.add(Instruction::LoadConst(negated)); [INFO] [stdout] 634 | return; [INFO] [stdout] 635 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/codegen.rs:651:20 [INFO] [stdout] | [INFO] [stdout] 651 | 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:653:17 [INFO] [stdout] | [INFO] [stdout] 653 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 651 ~ match i.false_expr { Some(ref false_expr) => { [INFO] [stdout] 652 | self.compile_expr(false_expr); [INFO] [stdout] 653 ~ } _ => { [INFO] [stdout] 654 | self.add(Instruction::LoadConst(Value::UNDEFINED)); [INFO] [stdout] 655 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/codegen.rs:697:20 [INFO] [stdout] | [INFO] [stdout] 697 | 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:699:17 [INFO] [stdout] | [INFO] [stdout] 699 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 697 ~ match l.as_const() { Some(val) => { [INFO] [stdout] 698 | self.add(Instruction::LoadConst(val)); [INFO] [stdout] 699 ~ } _ => { [INFO] [stdout] 700 | self.set_line_from_span(l.span()); [INFO] [stdout] ... [INFO] [stdout] 704 | self.add(Instruction::BuildList(Some(l.items.len()))); [INFO] [stdout] 705 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/codegen.rs:708:20 [INFO] [stdout] | [INFO] [stdout] 708 | 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:710:17 [INFO] [stdout] | [INFO] [stdout] 710 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 708 ~ match m.as_const() { Some(val) => { [INFO] [stdout] 709 | self.add(Instruction::LoadConst(val)); [INFO] [stdout] 710 ~ } _ => { [INFO] [stdout] 711 | self.set_line_from_span(m.span()); [INFO] [stdout] ... [INFO] [stdout] 717 | self.add(Instruction::BuildMap(m.keys.len())); [INFO] [stdout] 718 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/codegen.rs:721:20 [INFO] [stdout] | [INFO] [stdout] 721 | 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:723:17 [INFO] [stdout] | [INFO] [stdout] 723 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 721 ~ match m.as_const() { Some(val) => { [INFO] [stdout] 722 | self.add(Instruction::LoadConst(val)); [INFO] [stdout] 723 ~ } _ => { [INFO] [stdout] 724 | self.set_line_from_span(m.span()); [INFO] [stdout] ... [INFO] [stdout] 729 | self.add(Instruction::BuildKwargs(m.pairs.len())); [INFO] [stdout] 730 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/lexer.rs:943:16 [INFO] [stdout] | [INFO] [stdout] 943 | 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:947:13 [INFO] [stdout] | [INFO] [stdout] 947 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 943 ~ match res { Ok(tokens) => { [INFO] [stdout] 944 | if let &[(Token::Ident(_), _)] = &tokens[..] { [INFO] [stdout] 945 | panic!("got a single ident for {s:?}") [INFO] [stdout] 946 | } [INFO] [stdout] 947 ~ } _ => {}} [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:553:27 [INFO] [stdout] | [INFO] [stdout] 553 | while let Some((Token::Str(s), _)) = ok!(self.stream.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:556:21 [INFO] [stdout] | [INFO] [stdout] 556 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/parser.rs:1125:15 [INFO] [stdout] | [INFO] [stdout] 1125 | 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:1151:9 [INFO] [stdout] | [INFO] [stdout] 1151 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/error.rs:185:12 [INFO] [stdout] | [INFO] [stdout] 185 | 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:187:9 [INFO] [stdout] | [INFO] [stdout] 187 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 185 ~ match self.repr.detail { Some(ref detail) => { [INFO] [stdout] 186 | ok!(write!(f, "{}: {}", self.kind(), detail)); [INFO] [stdout] 187 ~ } _ => { [INFO] [stdout] 188 | ok!(write!(f, "{}", self.kind())); [INFO] [stdout] 189 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm/mod.rs:337:24 [INFO] [stdout] | [INFO] [stdout] 337 | 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:339:21 [INFO] [stdout] | [INFO] [stdout] 339 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 337 ~ match b.downcast_object_ref::() { Some(ns) => { [INFO] [stdout] 338 | ns.set_value(name, a); [INFO] [stdout] 339 ~ } _ => { [INFO] [stdout] 340 | bail!(Error::new( [INFO] [stdout] ... [INFO] [stdout] 343 | )); [INFO] [stdout] 344 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm/mod.rs:435:24 [INFO] [stdout] | [INFO] [stdout] 435 | 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:444:21 [INFO] [stdout] | [INFO] [stdout] 444 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 435 ~ match state.ctx.pop_frame().current_loop { Some(mut loop_ctx) => { [INFO] [stdout] 436 | if let Some((target, end_capture)) = loop_ctx.current_recursion_jump.take() [INFO] [stdout] ... [INFO] [stdout] 443 | } [INFO] [stdout] 444 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm/mod.rs:436:28 [INFO] [stdout] | [INFO] [stdout] 436 | 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:443:25 [INFO] [stdout] | [INFO] [stdout] 443 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 436 ~ match loop_ctx.current_recursion_jump.take() [INFO] [stdout] 437 ~ { Some((target, end_capture)) => { [INFO] [stdout] 438 | pc = target; [INFO] [stdout] ... [INFO] [stdout] 442 | continue; [INFO] [stdout] 443 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm/mod.rs:580:31 [INFO] [stdout] | [INFO] [stdout] 580 | } 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:585:21 [INFO] [stdout] | [INFO] [stdout] 585 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 580 ~ } else { match state.lookup(name) { Some(func) => { [INFO] [stdout] 581 | let args = stack.slice_top(*arg_count); [INFO] [stdout] ... [INFO] [stdout] 584 | stack.push(a); [INFO] [stdout] 585 ~ } _ => { [INFO] [stdout] 586 | bail!(Error::new( [INFO] [stdout] ... [INFO] [stdout] 589 | )); [INFO] [stdout] 590 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm/mod.rs:829:12 [INFO] [stdout] | [INFO] [stdout] 829 | 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:838:9 [INFO] [stdout] | [INFO] [stdout] 838 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 829 ~ match state.ctx.current_loop() { Some(loop_ctx) => { [INFO] [stdout] 830 | if let Some(recurse_jump_target) = loop_ctx.recurse_jump_target { [INFO] [stdout] ... [INFO] [stdout] 837 | } [INFO] [stdout] 838 ~ } _ => { [INFO] [stdout] 839 | Err(Error::new( [INFO] [stdout] ... [INFO] [stdout] 842 | )) [INFO] [stdout] 843 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm/context.rs:164:20 [INFO] [stdout] | [INFO] [stdout] 164 | 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:175:17 [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] 164 ~ match frame.ctx.try_iter() { Ok(iter) => { [INFO] [stdout] 165 | for key in iter { [INFO] [stdout] ... [INFO] [stdout] 174 | } [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:166:28 [INFO] [stdout] | [INFO] [stdout] 166 | 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:173:25 [INFO] [stdout] | [INFO] [stdout] 173 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 166 ~ match key.as_str() { Some(str_key) => { [INFO] [stdout] 167 | if !seen.contains(&Cow::Borrowed(str_key)) { [INFO] [stdout] ... [INFO] [stdout] 172 | } [INFO] [stdout] 173 ~ } _ => {}} [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:36 [INFO] [stdout] | [INFO] [stdout] 168 | ... 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:171:33 [INFO] [stdout] | [INFO] [stdout] 171 | ... } [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.get_item(&key) { Ok(value) => { [INFO] [stdout] 169 | m.entry(&str_key, &value); [INFO] [stdout] 170 | seen.insert(Cow::Owned(str_key.to_owned())); [INFO] [stdout] 171 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm/context.rs:209:16 [INFO] [stdout] | [INFO] [stdout] 209 | 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:211:13 [INFO] [stdout] | [INFO] [stdout] 211 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 209 ~ match top.closure { Some(ref closure) => { [INFO] [stdout] 210 | closure.store(key, value.clone()); [INFO] [stdout] 211 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm/context.rs:285:16 [INFO] [stdout] | [INFO] [stdout] 285 | 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:287:13 [INFO] [stdout] | [INFO] [stdout] 287 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 285 ~ match frame.ctx.get_attr_fast(key) { Some(rv) => { [INFO] [stdout] 286 | return Some(rv); [INFO] [stdout] 287 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/filters.rs:531:12 [INFO] [stdout] | [INFO] [stdout] 531 | 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] 540 | } 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:540:9 [INFO] [stdout] | [INFO] [stdout] 540 | } 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:553:9 [INFO] [stdout] | [INFO] [stdout] 553 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 531 ~ match val.as_str() { Some(s) => { [INFO] [stdout] 532 | let mut rv = String::new(); [INFO] [stdout] ... [INFO] [stdout] 539 | Ok(rv) [INFO] [stdout] 540 ~ } _ => { match val.as_object().and_then(|x| x.try_iter()) { Some(iter) => { [INFO] [stdout] 541 | let mut rv = String::new(); [INFO] [stdout] ... [INFO] [stdout] 552 | Ok(rv) [INFO] [stdout] 553 ~ } _ => { [INFO] [stdout] 554 | Err(Error::new( [INFO] [stdout] ... [INFO] [stdout] 557 | )) [INFO] [stdout] 558 ~ }}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/filters.rs:546:20 [INFO] [stdout] | [INFO] [stdout] 546 | 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:548:17 [INFO] [stdout] | [INFO] [stdout] 548 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 546 ~ match item.as_str() { Some(s) => { [INFO] [stdout] 547 | rv.push_str(s); [INFO] [stdout] 548 ~ } _ => { [INFO] [stdout] 549 | write!(rv, "{item}").ok(); [INFO] [stdout] 550 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/filters.rs:743:12 [INFO] [stdout] | [INFO] [stdout] 743 | 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] 744 | Ok(s.chars().next().map_or(Value::UNDEFINED, Value::from)) [INFO] [stdout] 745 | } 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:745:9 [INFO] [stdout] | [INFO] [stdout] 745 | } 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:747:9 [INFO] [stdout] | [INFO] [stdout] 747 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 743 ~ match value.as_str() { Some(s) => { [INFO] [stdout] 744 | Ok(s.chars().next().map_or(Value::UNDEFINED, Value::from)) [INFO] [stdout] 745 ~ } _ => { match value.as_object().and_then(|x| x.try_iter()) { Some(mut iter) => { [INFO] [stdout] 746 | Ok(iter.next().unwrap_or(Value::UNDEFINED)) [INFO] [stdout] 747 ~ } _ => { [INFO] [stdout] 748 | Err(Error::new( [INFO] [stdout] ... [INFO] [stdout] 751 | )) [INFO] [stdout] 752 ~ }}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/filters.rs:772:12 [INFO] [stdout] | [INFO] [stdout] 772 | 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:774:9 [INFO] [stdout] | [INFO] [stdout] 774 | } 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] 772 ~ match value.as_str() { Some(s) => { [INFO] [stdout] 773 | Ok(s.chars().next_back().map_or(Value::UNDEFINED, Value::from)) [INFO] [stdout] 774 ~ } _ => if matches!(value.kind(), ValueKind::Seq | ValueKind::Iterable) { [INFO] [stdout] 775 | let rev = ok!(value.reverse()); [INFO] [stdout] ... [INFO] [stdout] 782 | )) [INFO] [stdout] 783 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/filters.rs:835:12 [INFO] [stdout] | [INFO] [stdout] 835 | 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:840:9 [INFO] [stdout] | [INFO] [stdout] 840 | } else { [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/filters.rs:1528:23 [INFO] [stdout] | [INFO] [stdout] 1528 | } else if let Some(s) = value_to_compare.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:1530:13 [INFO] [stdout] | [INFO] [stdout] 1530 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1528 ~ } else { match value_to_compare.as_str() { Some(s) => { [INFO] [stdout] 1529 | Value::from(s.to_lowercase()) [INFO] [stdout] 1530 ~ } _ => { [INFO] [stdout] 1531 | value_to_compare.clone() [INFO] [stdout] 1532 ~ }}}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/functions.rs:396:16 [INFO] [stdout] | [INFO] [stdout] 396 | if let Some(pairs) = defaults [INFO] [stdout] | ________________^ - [INFO] [stdout] | |__________________________________| [INFO] [stdout] 397 | || .as_object() [INFO] [stdout] 398 | || .filter(|x| matches!(x.repr(), ObjectRepr::Map)) [INFO] [stdout] 399 | || .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:406:13 [INFO] [stdout] | [INFO] [stdout] 406 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 396 ~ match defaults [INFO] [stdout] 397 | .as_object() [INFO] [stdout] 398 | .filter(|x| matches!(x.repr(), ObjectRepr::Map)) [INFO] [stdout] 399 | .and_then(|x| x.try_iter_pairs()) [INFO] [stdout] 400 ~ { Some(pairs) => { [INFO] [stdout] 401 | for (key, value) in pairs { [INFO] [stdout] ... [INFO] [stdout] 405 | } [INFO] [stdout] 406 ~ } _ => { [INFO] [stdout] 407 | return Err(Error::new( [INFO] [stdout] ... [INFO] [stdout] 413 | )); [INFO] [stdout] 414 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/functions.rs:402:24 [INFO] [stdout] | [INFO] [stdout] 402 | 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:404:21 [INFO] [stdout] | [INFO] [stdout] 404 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 402 ~ match key.as_str() { Some(key) => { [INFO] [stdout] 403 | ns.set_value(key, value); [INFO] [stdout] 404 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/mod.rs:463:20 [INFO] [stdout] | [INFO] [stdout] 463 | 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:465:17 [INFO] [stdout] | [INFO] [stdout] 465 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 463 ~ match i64::try_from(self.clone()) { Ok(val) => { [INFO] [stdout] 464 | val.hash(state) [INFO] [stdout] 465 ~ } _ => { [INFO] [stdout] 466 | as_f64(self, true).map(|x| x.to_bits()).hash(state) [INFO] [stdout] 467 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/mod.rs:529:36 [INFO] [stdout] | [INFO] [stdout] 529 | ... if let (Some(ak), Some(bk)) = (a.try_iter(), b.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/mod.rs:531:33 [INFO] [stdout] | [INFO] [stdout] 531 | ... } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 529 ~ match (a.try_iter(), b.try_iter()) { (Some(ak), Some(bk)) => { [INFO] [stdout] 530 | ak.eq(bk) [INFO] [stdout] 531 ~ } _ => { [INFO] [stdout] 532 | false [INFO] [stdout] 533 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/mod.rs:725:12 [INFO] [stdout] | [INFO] [stdout] 725 | if let ValueRepr::Invalid(err) = 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:729:9 [INFO] [stdout] | [INFO] [stdout] 729 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 725 ~ match self.0 { ValueRepr::Invalid(err) => { [INFO] [stdout] 726 | // Today the API implies tghat errors are `Clone`, but we don't want to expose [INFO] [stdout] 727 | // this as a functionality (yet?). [INFO] [stdout] 728 | Err(Arc::try_unwrap(err).unwrap_or_else(|arc| (*arc).internal_clone())) [INFO] [stdout] 729 ~ } _ => { [INFO] [stdout] 730 | Ok(self) [INFO] [stdout] 731 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/mod.rs:1193:12 [INFO] [stdout] | [INFO] [stdout] 1193 | 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:1195:9 [INFO] [stdout] | [INFO] [stdout] 1195 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1193 ~ match self.0 { ValueRepr::Undefined => { [INFO] [stdout] 1194 | Err(Error::from(ErrorKind::UndefinedError)) [INFO] [stdout] 1195 ~ } _ => { [INFO] [stdout] 1196 | Ok(self.get_item_opt(key).unwrap_or(Value::UNDEFINED)) [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:1290:28 [INFO] [stdout] | [INFO] [stdout] 1290 | 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] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [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:1292:25 [INFO] [stdout] | [INFO] [stdout] 1292 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1290 ~ match iter.lock().unwrap().take() { Some(iter) => { [INFO] [stdout] 1291 | Box::new(iter) as Box + Send + Sync> [INFO] [stdout] 1292 ~ } _ => { [INFO] [stdout] 1293 | match for_restart.reverse().and_then(|x| x.try_iter()) { [INFO] [stdout] ... [INFO] [stdout] 1298 | } [INFO] [stdout] 1299 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/mod.rs:1380:28 [INFO] [stdout] | [INFO] [stdout] 1380 | if let Some(mut iter) = dy.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/mod.rs:1384:25 [INFO] [stdout] | [INFO] [stdout] 1384 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1380 ~ match dy.try_iter() { Some(mut iter) => { [INFO] [stdout] 1381 | if let Some(rv) = iter.nth(idx) { [INFO] [stdout] 1382 | return Some(rv); [INFO] [stdout] 1383 | } [INFO] [stdout] 1384 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/mod.rs:1381:32 [INFO] [stdout] | [INFO] [stdout] 1381 | ... if let Some(rv) = iter.nth(idx) { [INFO] [stdout] | ^^^^^^^^^^^^^^^------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [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:1383:29 [INFO] [stdout] | [INFO] [stdout] 1383 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1381 ~ match iter.nth(idx) { Some(rv) => { [INFO] [stdout] 1382 | return Some(rv); [INFO] [stdout] 1383 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/mod.rs:1454:12 [INFO] [stdout] | [INFO] [stdout] 1454 | 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:1456:9 [INFO] [stdout] | [INFO] [stdout] 1456 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1454 ~ match self.0 { ValueRepr::Object(ref dy) => { [INFO] [stdout] 1455 | dy.call(state, args) [INFO] [stdout] 1456 ~ } _ => { [INFO] [stdout] 1457 | Err(Error::new( [INFO] [stdout] ... [INFO] [stdout] 1460 | )) [INFO] [stdout] 1461 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/mod.rs:1473:24 [INFO] [stdout] | [INFO] [stdout] 1473 | 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:1475:21 [INFO] [stdout] | [INFO] [stdout] 1475 | } else if err.detail().is_none() { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1473 ~ match state.env().unknown_method_callback { Some(ref callback) => { [INFO] [stdout] 1474 | return callback(state, self, name, args); [INFO] [stdout] 1475 ~ } _ => if err.detail().is_none() { [INFO] [stdout] 1476 | err.set_detail(format!("{} has no method named {}", self.kind(), name)); [INFO] [stdout] 1477 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/deserialize.rs:76:15 [INFO] [stdout] | [INFO] [stdout] 76 | 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:78:9 [INFO] [stdout] | [INFO] [stdout] 78 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/deserialize.rs:84:15 [INFO] [stdout] | [INFO] [stdout] 84 | 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:86:9 [INFO] [stdout] | [INFO] [stdout] 86 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/object.rs:658:12 [INFO] [stdout] | [INFO] [stdout] 658 | 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:663:9 [INFO] [stdout] | [INFO] [stdout] 663 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 658 ~ match self.try_iter_pairs() { Some(iter) => { [INFO] [stdout] 659 | for (key, value) in iter { [INFO] [stdout] ... [INFO] [stdout] 662 | } [INFO] [stdout] 663 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/ops.rs:137:20 [INFO] [stdout] | [INFO] [stdout] 137 | 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:139:17 [INFO] [stdout] | [INFO] [stdout] 139 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 137 ~ match obj.try_iter() { Some(iter) => { [INFO] [stdout] 138 | Box::new(iter.skip(start).take(len).step_by(step)) [INFO] [stdout] 139 ~ } _ => { [INFO] [stdout] 140 | Box::new(None.into_iter()) [INFO] [stdout] 141 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/ops.rs:198:20 [INFO] [stdout] | [INFO] [stdout] 198 | if let Ok(rhs) = rhs.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:201:17 [INFO] [stdout] | [INFO] [stdout] 201 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 198 ~ match rhs.try_iter() { Ok(rhs) => { [INFO] [stdout] 199 | return Box::new(lhs.chain(rhs)) [INFO] [stdout] 200 | as Box + Send + Sync>; [INFO] [stdout] 201 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/ops.rs:355:20 [INFO] [stdout] | [INFO] [stdout] 355 | 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:359:17 [INFO] [stdout] | [INFO] [stdout] 359 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 355 ~ match i128::try_from(val.clone()) { Ok(x) => { [INFO] [stdout] 356 | x.checked_mul(-1) [INFO] [stdout] 357 | .ok_or_else(|| Error::new(ErrorKind::InvalidOperation, "overflow")) [INFO] [stdout] 358 | .map(int_as_value) [INFO] [stdout] 359 ~ } _ => { [INFO] [stdout] 360 | Err(Error::from(ErrorKind::InvalidOperation)) [INFO] [stdout] 361 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/ops.rs:387:15 [INFO] [stdout] | [INFO] [stdout] 387 | } 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:395:5 [INFO] [stdout] | [INFO] [stdout] 395 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 387 ~ } else { match container.0 { ValueRepr::Object(ref obj) => { [INFO] [stdout] 388 | match obj.repr() { [INFO] [stdout] ... [INFO] [stdout] 394 | } [INFO] [stdout] 395 ~ } _ => { [INFO] [stdout] 396 | return Err(Error::new( [INFO] [stdout] ... [INFO] [stdout] 399 | )); [INFO] [stdout] 400 ~ }}}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 103 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.15s [INFO] [stderr] Running `cargo check` to verify 2024 [INFO] [stderr] Checking minijinja v2.3.1 (/tmp/fixit) [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/environment.rs:678:25 [INFO] [stdout] | [INFO] [stdout] 678 | 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] 678 | 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:678:25 [INFO] [stdout] | [INFO] [stdout] 678 | 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] 678 | 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:679:17 [INFO] [stdout] | [INFO] [stdout] 679 | 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:679:17 [INFO] [stdout] | [INFO] [stdout] 679 | 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] error: aborting due to 4 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `minijinja` (lib) due to 5 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: aborting due to 4 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `minijinja` (lib test) due to 5 previous errors [INFO] [stderr] error: failed to check after updating to 2024 [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `cargo check --frozen --all --all-targets --message-format=json` (exit status: 101) [INFO] running `Command { std: "docker" "inspect" "e7a9425392995f60e407b7aa308296fd20c7c7f7c2e41fbf4a10ee50a30d89c9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e7a9425392995f60e407b7aa308296fd20c7c7f7c2e41fbf4a10ee50a30d89c9", kill_on_drop: false }` [INFO] [stdout] e7a9425392995f60e407b7aa308296fd20c7c7f7c2e41fbf4a10ee50a30d89c9