[INFO] fetching crate handlebars 6.1.0... [INFO] checking handlebars-6.1.0 against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] extracting crate handlebars 6.1.0 into /workspace/builds/worker-0-tc2/source [INFO] validating manifest of crates.io crate handlebars 6.1.0 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 handlebars 6.1.0 [INFO] removed 0 missing examples [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate handlebars 6.1.0 [INFO] tweaked toml for crates.io crate handlebars 6.1.0 written to /workspace/builds/worker-0-tc2/source/Cargo.toml [INFO] crate crates.io crate handlebars 6.1.0 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-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] 0e7465b3e8e4c6cc78914e5c6e751a58a38ffa9b40cbd333fa703f322a3ba6f6 [INFO] running `Command { std: "docker" "start" "-a" "0e7465b3e8e4c6cc78914e5c6e751a58a38ffa9b40cbd333fa703f322a3ba6f6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "0e7465b3e8e4c6cc78914e5c6e751a58a38ffa9b40cbd333fa703f322a3ba6f6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0e7465b3e8e4c6cc78914e5c6e751a58a38ffa9b40cbd333fa703f322a3ba6f6", kill_on_drop: false }` [INFO] [stdout] 0e7465b3e8e4c6cc78914e5c6e751a58a38ffa9b40cbd333fa703f322a3ba6f6 [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] 92c5ee8691ea253784bfbe9764aae8226bd21216d052c29527486f5a7f04589f [INFO] running `Command { std: "docker" "start" "-a" "92c5ee8691ea253784bfbe9764aae8226bd21216d052c29527486f5a7f04589f", 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 (4 fixes) [INFO] [stderr] Compiling libc v0.2.155 [INFO] [stderr] Compiling serde v1.0.204 [INFO] [stderr] Compiling once_cell v1.19.0 [INFO] [stderr] Compiling anyhow v1.0.86 [INFO] [stderr] Compiling quote v1.0.36 [INFO] [stderr] Compiling typenum v1.17.0 [INFO] [stderr] Compiling rustix v0.38.34 [INFO] [stderr] Compiling either v1.13.0 [INFO] [stderr] Compiling syn v2.0.72 [INFO] [stderr] Compiling itertools v0.12.1 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling cc v1.1.7 [INFO] [stderr] Compiling crossbeam-utils v0.8.20 [INFO] [stderr] Checking log v0.4.22 [INFO] [stderr] Compiling regex-syntax v0.8.4 [INFO] [stderr] Compiling linux-raw-sys v0.4.14 [INFO] [stderr] Compiling bitflags v2.6.0 [INFO] [stderr] Compiling serde_json v1.0.122 [INFO] [stderr] Compiling prettyplease v0.2.20 [INFO] [stderr] Compiling memchr v2.7.4 [INFO] [stderr] Compiling ucd-trie v0.1.6 [INFO] [stderr] Compiling bytes v1.7.1 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling crypto-common v0.1.6 [INFO] [stderr] Compiling indexmap v2.3.0 [INFO] [stderr] Compiling fastrand v2.1.0 [INFO] [stderr] Compiling regex-automata v0.4.7 [INFO] [stderr] Checking anstyle v1.0.8 [INFO] [stderr] Compiling fixedbitset v0.4.2 [INFO] [stderr] Checking crossbeam-epoch v0.9.18 [INFO] [stderr] Compiling petgraph v0.6.5 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling ahash v0.8.11 [INFO] [stderr] Compiling multimap v0.10.0 [INFO] [stderr] Compiling rayon-core v1.12.1 [INFO] [stderr] Compiling cpp_demangle v0.4.3 [INFO] [stderr] Compiling cpufeatures v0.2.12 [INFO] [stderr] Checking uuid v1.10.0 [INFO] [stderr] Compiling sha2 v0.10.8 [INFO] [stderr] Checking debugid v0.8.0 [INFO] [stderr] Checking crossbeam-deque v0.8.5 [INFO] [stderr] Compiling tempfile v3.11.0 [INFO] [stderr] Compiling findshlibs v0.10.2 [INFO] [stderr] Compiling regex v1.10.6 [INFO] [stderr] Compiling backtrace v0.3.73 [INFO] [stderr] Checking is-terminal v0.4.12 [INFO] [stderr] Checking memmap2 v0.9.4 [INFO] [stderr] Checking getrandom v0.2.15 [INFO] [stderr] Checking half v2.4.1 [INFO] [stderr] Checking hashbrown v0.14.5 [INFO] [stderr] Checking ciborium-io v0.2.2 [INFO] [stderr] Checking utf8parse v0.2.2 [INFO] [stderr] Checking rustc-demangle v0.1.24 [INFO] [stderr] Checking adler v1.0.2 [INFO] [stderr] Checking clap_lex v0.7.2 [INFO] [stderr] Checking stable_deref_trait v1.2.0 [INFO] [stderr] Checking arrayvec v0.7.4 [INFO] [stderr] Compiling symbolic-demangle v12.10.0 [INFO] [stderr] Checking bytemuck v1.16.3 [INFO] [stderr] Checking equivalent v1.0.1 [INFO] [stderr] Checking plotters-backend v0.3.6 [INFO] [stderr] Checking smallvec v1.13.2 [INFO] [stderr] Checking gimli v0.29.0 [INFO] [stderr] Checking rgb v0.8.47 [INFO] [stderr] Checking plotters-svg v0.3.6 [INFO] [stderr] Checking parking_lot_core v0.9.10 [INFO] [stderr] Checking num-format v0.4.4 [INFO] [stderr] Checking clap_builder v4.5.13 [INFO] [stderr] Checking symbolic-common v12.10.0 [INFO] [stderr] Checking miniz_oxide v0.7.4 [INFO] [stderr] Checking ciborium-ll v0.2.2 [INFO] [stderr] Checking anstyle-parse v0.2.5 [INFO] [stderr] Checking itertools v0.10.5 [INFO] [stderr] Compiling thiserror-impl v1.0.63 [INFO] [stderr] Compiling serde_derive v1.0.204 [INFO] [stderr] Compiling prost-derive v0.12.6 [INFO] [stderr] Checking quick-xml v0.26.0 [INFO] [stderr] Checking object v0.36.2 [INFO] [stderr] Checking cast v0.3.0 [INFO] [stderr] Checking colorchoice v1.0.2 [INFO] [stderr] Checking is_terminal_polyfill v1.70.1 [INFO] [stderr] Checking anstyle-query v1.1.1 [INFO] [stderr] Checking addr2line v0.22.0 [INFO] [stderr] Checking powerfmt v0.2.0 [INFO] [stderr] Compiling thiserror v1.0.63 [INFO] [stderr] Compiling pest v2.7.11 [INFO] [stderr] Checking str_stack v0.1.0 [INFO] [stderr] Checking same-file v1.0.6 [INFO] [stderr] Checking inferno v0.11.21 [INFO] [stderr] Checking walkdir v2.5.0 [INFO] [stderr] Checking anstream v0.6.15 [INFO] [stderr] Checking nix v0.26.4 [INFO] [stderr] Checking criterion-plot v0.5.0 [INFO] [stderr] Checking clap v4.5.13 [INFO] [stderr] Checking plotters v0.3.6 [INFO] [stderr] Checking rayon v1.10.0 [INFO] [stderr] Compiling prost v0.12.6 [INFO] [stderr] Compiling prost-types v0.12.6 [INFO] [stderr] Compiling pest_meta v2.7.11 [INFO] [stderr] Checking env_filter v0.1.2 [INFO] [stderr] Checking parking_lot v0.12.3 [INFO] [stderr] Checking ascii v1.1.0 [INFO] [stderr] Checking chunked_transfer v1.5.0 [INFO] [stderr] Checking num-conv v0.1.0 [INFO] [stderr] Checking anes v0.1.6 [INFO] [stderr] Checking httpdate v1.0.3 [INFO] [stderr] Checking time-core v0.1.2 [INFO] [stderr] Checking oorandom v11.1.4 [INFO] [stderr] Checking tiny_http v0.12.0 [INFO] [stderr] Checking env_logger v0.11.5 [INFO] [stderr] Compiling pest_generator v2.7.11 [INFO] [stderr] Compiling prost-build v0.12.6 [INFO] [stderr] Compiling pest_derive v2.7.11 [INFO] [stderr] Compiling pprof v0.13.0 [INFO] [stderr] Checking deranged v0.3.11 [INFO] [stderr] Checking ciborium v0.2.2 [INFO] [stderr] Checking time v0.3.36 [INFO] [stderr] Checking tinytemplate v1.2.1 [INFO] [stderr] Checking handlebars v6.1.0 (/tmp/fixit) [INFO] [stderr] Migrating src/lib.rs from 2021 edition to 2024 [INFO] [stderr] Checking criterion v0.5.1 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `handlebars` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/macros.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:42:6 [INFO] [stderr] | [INFO] [stderr] 42 | $body:expr_2021 ) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error: aborting due to 1 previous error [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:42:12 [INFO] [stdout] | [INFO] [stdout] 42 | $body: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] 42 | $body:expr_2021 ) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/registry.rs:588:12 [INFO] [stdout] | [INFO] [stdout] 588 | if let (true, Some(source)) = (self.dev_mode, self.template_sources.get(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/registry.rs:605:9 [INFO] [stdout] | [INFO] [stdout] 605 | } else { [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 588 ~ match (self.dev_mode, self.template_sources.get(name)) { (true, Some(source)) => { [INFO] [stdout] 589 | let r = source [INFO] [stdout] ... [INFO] [stdout] 604 | Some(r) [INFO] [stdout] 605 ~ } _ => { [INFO] [stdout] 606 | self.templates.get(name).map(|t| Ok(Cow::Borrowed(t))) [INFO] [stdout] 607 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/registry.rs:615:12 [INFO] [stdout] | [INFO] [stdout] 615 | if let Some(result) = self.get_or_load_template_optional(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/registry.rs:617:9 [INFO] [stdout] | [INFO] [stdout] 617 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 615 ~ match self.get_or_load_template_optional(name) { Some(result) => { [INFO] [stdout] 616 | result [INFO] [stdout] 617 ~ } _ => { [INFO] [stdout] 618 | Err(RenderErrorReason::TemplateNotFound(name.to_owned()).into()) [INFO] [stdout] 619 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/render.rs:682:24 [INFO] [stdout] | [INFO] [stdout] 682 | if let Some(ref d) = rc.get_local_helper(&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/render.rs:684:21 [INFO] [stdout] | [INFO] [stdout] 684 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 682 ~ match rc.get_local_helper(&name) { Some(ref d) => { [INFO] [stdout] 683 | call_helper_for_value(d.as_ref(), &h, registry, ctx, rc) [INFO] [stdout] 684 ~ } _ => { [INFO] [stdout] 685 | let mut helper = registry.get_or_load_helper(&name)?; [INFO] [stdout] ... [INFO] [stdout] 699 | .and_then(|d| call_helper_for_value(d.as_ref(), &h, registry, ctx, rc)) [INFO] [stdout] 700 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/render.rs:808:8 [INFO] [stdout] | [INFO] [stdout] 808 | if let Some(ref d) = rc.get_local_helper(h.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/render.rs:810:5 [INFO] [stdout] | [INFO] [stdout] 810 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 808 ~ match rc.get_local_helper(h.name()) { Some(ref d) => { [INFO] [stdout] 809 | call_indent_aware(&**d, rc) [INFO] [stdout] 810 ~ } _ => { [INFO] [stdout] 811 | let mut helper = registry.get_or_load_helper(h.name())?; [INFO] [stdout] ... [INFO] [stdout] 823 | .and_then(|d| call_indent_aware(&*d, rc)) [INFO] [stdout] 824 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/render.rs:894:36 [INFO] [stdout] | [INFO] [stdout] 894 | ... if let Some(hook) = registry.get_or_load_helper(HELPER_MISSING)? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^-------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/render.rs:897:33 [INFO] [stdout] | [INFO] [stdout] 897 | ... } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 894 ~ match registry.get_or_load_helper(HELPER_MISSING)? { Some(hook) => { [INFO] [stdout] 895 | let h = Helper::try_from_template(ht, registry, ctx, rc)?; [INFO] [stdout] 896 | hook.call(&h, registry, ctx, rc, out) [INFO] [stdout] 897 ~ } _ => { [INFO] [stdout] 898 | Ok(()) [INFO] [stdout] 899 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/template.rs:215:16 [INFO] [stdout] | [INFO] [stdout] 215 | if let Some(inverse_tmpl) = &mut self.inverse { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/template.rs:220:13 [INFO] [stdout] | [INFO] [stdout] 220 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 215 ~ match &mut self.inverse { Some(inverse_tmpl) => { [INFO] [stdout] 216 | assert_eq!(inverse_tmpl.elements.len(), 1); [INFO] [stdout] ... [INFO] [stdout] 219 | } [INFO] [stdout] 220 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/template.rs:217:20 [INFO] [stdout] | [INFO] [stdout] 217 | if let HelperBlock(helper) = &mut inverse_tmpl.elements[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/template.rs:219:17 [INFO] [stdout] | [INFO] [stdout] 219 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 217 ~ match &mut inverse_tmpl.elements[0] { HelperBlock(helper) => { [INFO] [stdout] 218 | return Some(helper); [INFO] [stdout] 219 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/template.rs:249:19 [INFO] [stdout] | [INFO] [stdout] 249 | while let Some(mut node) = self.inverse.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/template.rs:256:13 [INFO] [stdout] | [INFO] [stdout] 256 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/template.rs:251:20 [INFO] [stdout] | [INFO] [stdout] 251 | if let HelperBlock(c) = &mut node.elements[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/template.rs:255:17 [INFO] [stdout] | [INFO] [stdout] 255 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 251 ~ match &mut node.elements[0] { HelperBlock(c) => { [INFO] [stdout] 252 | self.inverse = c.inverse.take(); [INFO] [stdout] 253 | c.inverse = prev; [INFO] [stdout] 254 | prev = Some(node); [INFO] [stdout] 255 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/template.rs:423:20 [INFO] [stdout] | [INFO] [stdout] 423 | if let Ok(json) = json_result { [INFO] [stdout] | ^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/template.rs:425:17 [INFO] [stdout] | [INFO] [stdout] 425 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 423 ~ match json_result { Ok(json) => { [INFO] [stdout] 424 | Parameter::Literal(json) [INFO] [stdout] 425 ~ } _ => { [INFO] [stdout] 426 | return Err(TemplateError::of(TemplateErrorReason::InvalidParam( [INFO] [stdout] 427 | param_span.as_str().to_owned(), [INFO] [stdout] 428 | ))); [INFO] [stdout] 429 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/template.rs:558:12 [INFO] [stdout] | [INFO] [stdout] 558 | if let Some(RawString(ref mut text)) = t.elements.last_mut() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/template.rs:560:9 [INFO] [stdout] | [INFO] [stdout] 560 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 558 ~ match t.elements.last_mut() { Some(RawString(ref mut text)) => { [INFO] [stdout] 559 | text.trim_end().to_owned().clone_into(text); [INFO] [stdout] 560 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/template.rs:593:20 [INFO] [stdout] | [INFO] [stdout] 593 | if let Some(RawString(ref mut text)) = t.elements.last_mut() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/template.rs:598:17 [INFO] [stdout] | [INFO] [stdout] 598 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 593 ~ match t.elements.last_mut() { Some(RawString(ref mut text)) => { [INFO] [stdout] 594 | // trim leading space for standalone statement [INFO] [stdout] ... [INFO] [stdout] 597 | .clone_into(text); [INFO] [stdout] 598 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 13 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stdout] --> src/macros.rs:42:6 [INFO] [stdout] | [INFO] [stdout] 42 | $body:expr_2021 ) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #123742 for more information [INFO] [stdout] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/grammar.rs:13:16 [INFO] [stdout] | [INFO] [stdout] 13 | ($rule:expr, $in: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] 13 | ($rule:expr_2021, $in:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating examples/helper_macro.rs from 2021 edition to 2024 [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/grammar.rs:13:26 [INFO] [stdout] | [INFO] [stdout] 13 | ($rule:expr, $in: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] 13 | ($rule:expr, $in: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/grammar.rs:27:16 [INFO] [stdout] | [INFO] [stdout] 27 | ($rule:expr, $in: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] 27 | ($rule:expr_2021, $in: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/grammar.rs:27:26 [INFO] [stdout] | [INFO] [stdout] 27 | ($rule:expr, $in: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] 27 | ($rule:expr, $in: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/grammar.rs:42:16 [INFO] [stdout] | [INFO] [stdout] 42 | ($rule:expr, $in: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] 42 | ($rule:expr_2021, $in: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/grammar.rs:42:26 [INFO] [stdout] | [INFO] [stdout] 42 | ($rule:expr, $in: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] 42 | ($rule:expr, $in:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `handlebars` (lib test) due to 2 previous errors; 6 warnings emitted [INFO] [stdout] error: aborting due to 1 previous error; 6 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] For more information about this error, try `rustc --explain E0658`. [INFO] [stdout] [INFO] [stderr] Migrating examples/render_file.rs from 2021 edition to 2024 [INFO] [stderr] Migrating tests/helper_function_lifetime.rs from 2021 edition to 2024 [INFO] [stderr] Migrating examples/block_helper_macro_let.rs from 2021 edition to 2024 [INFO] [stderr] Migrating tests/template_names.rs from 2021 edition to 2024 [INFO] [stderr] Migrating tests/helper_with_space.rs from 2021 edition to 2024 [INFO] [stderr] Migrating tests/data_helper.rs from 2021 edition to 2024 [INFO] [stderr] error: failed to migrate to next edition [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `cargo fix --edition --allow-no-vcs --allow-dirty --frozen --all --all-targets --message-format=json` (exit status: 101) [INFO] running `Command { std: "docker" "inspect" "92c5ee8691ea253784bfbe9764aae8226bd21216d052c29527486f5a7f04589f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "92c5ee8691ea253784bfbe9764aae8226bd21216d052c29527486f5a7f04589f", kill_on_drop: false }` [INFO] [stdout] 92c5ee8691ea253784bfbe9764aae8226bd21216d052c29527486f5a7f04589f