[INFO] fetching crate frame-support-procedural 30.0.2... [INFO] checking frame-support-procedural-30.0.2 against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] extracting crate frame-support-procedural 30.0.2 into /workspace/builds/worker-1-tc2/source [INFO] validating manifest of crates.io crate frame-support-procedural 30.0.2 on toolchain ccf408f4326a858c00dd845a64a86b16f360a801 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate frame-support-procedural 30.0.2 [INFO] finished tweaking crates.io crate frame-support-procedural 30.0.2 [INFO] tweaked toml for crates.io crate frame-support-procedural 30.0.2 written to /workspace/builds/worker-1-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 73 packages to latest compatible versions [INFO] [stderr] Adding cfg-expr v0.15.8 (available: v0.17.0) [INFO] [stderr] Adding generic-array v0.14.7 (available: v1.1.0) [INFO] [stderr] Adding itertools v0.11.0 (available: v0.13.0) [INFO] [stderr] Adding wasi v0.11.0+wasi-snapshot-preview1 (available: v0.13.2+wasi-0.2.1) [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-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] 225628f375979ff13da3db34c681fe7fa73e2e724e5f0d741121e34f5f6709d7 [INFO] running `Command { std: "docker" "start" "-a" "225628f375979ff13da3db34c681fe7fa73e2e724e5f0d741121e34f5f6709d7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "225628f375979ff13da3db34c681fe7fa73e2e724e5f0d741121e34f5f6709d7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "225628f375979ff13da3db34c681fe7fa73e2e724e5f0d741121e34f5f6709d7", kill_on_drop: false }` [INFO] [stdout] 225628f375979ff13da3db34c681fe7fa73e2e724e5f0d741121e34f5f6709d7 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] 425b3d5c4d8a8c1a68a807a18df32a396bd867d48ef35c4921d41c6ccc488d1a [INFO] running `Command { std: "docker" "start" "-a" "425b3d5c4d8a8c1a68a807a18df32a396bd867d48ef35c4921d41c6ccc488d1a", kill_on_drop: false }` [INFO] [stderr] Copying to /tmp/fixit [INFO] [stderr] Running `cargo fix --edition` [INFO] [stderr] Migrating Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Compiling libc v0.2.159 [INFO] [stderr] Compiling version_check v0.9.5 [INFO] [stderr] Compiling crunchy v0.2.2 [INFO] [stderr] Compiling tiny-keccak v2.0.2 [INFO] [stderr] Checking unicode-ident v1.0.13 [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Compiling once_cell v1.19.0 [INFO] [stderr] Checking subtle v2.6.1 [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Checking hashbrown v0.14.5 [INFO] [stderr] Checking equivalent v1.0.1 [INFO] [stderr] Compiling prettyplease v0.2.22 [INFO] [stderr] Compiling typenum v1.17.0 [INFO] [stderr] Checking memchr v2.7.4 [INFO] [stderr] Compiling autocfg v1.3.0 [INFO] [stderr] Compiling syn v2.0.77 [INFO] [stderr] Checking toml_datetime v0.6.8 [INFO] [stderr] Checking proc-macro2 v1.0.86 [INFO] [stderr] Checking winnow v0.6.20 [INFO] [stderr] Checking regex-syntax v0.8.4 [INFO] [stderr] Checking cpufeatures v0.2.14 [INFO] [stderr] Checking static_assertions v1.1.0 [INFO] [stderr] Checking arrayvec v0.7.6 [INFO] [stderr] Checking keccak v0.1.5 [INFO] [stderr] Checking arrayref v0.3.9 [INFO] [stderr] Checking constant_time_eq v0.3.1 [INFO] [stderr] Compiling expander v2.2.1 [INFO] [stderr] Checking lazy_static v1.5.0 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Checking smallvec v1.13.2 [INFO] [stderr] Compiling fs-err v2.11.0 [INFO] [stderr] Checking blake2b_simd v1.0.2 [INFO] [stderr] Checking either v1.13.0 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Checking cfg-expr v0.15.8 [INFO] [stderr] Checking itertools v0.11.0 [INFO] [stderr] Checking quote v1.0.37 [INFO] [stderr] Checking indexmap v2.5.0 [INFO] [stderr] Compiling getrandom v0.2.15 [INFO] [stderr] Checking file-guard v0.2.0 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Compiling const-random-macro v0.1.16 [INFO] [stderr] Checking block-buffer v0.10.4 [INFO] [stderr] Checking crypto-common v0.1.6 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Compiling const-random v0.1.18 [INFO] [stderr] Checking toml_edit v0.22.22 [INFO] [stderr] Checking sha2 v0.10.8 [INFO] [stderr] Checking blake2 v0.10.6 [INFO] [stderr] Checking sha3 v0.10.8 [INFO] [stderr] Checking regex-automata v0.4.7 [INFO] [stderr] Checking proc-macro-crate v3.2.0 [INFO] [stderr] Checking regex v1.10.6 [INFO] [stderr] Checking proc-macro-warning v1.0.2 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Compiling derive-syn-parse v0.2.0 [INFO] [stderr] Compiling macro_magic_core_macros v0.5.1 [INFO] [stderr] Compiling frame-support-procedural-tools-derive v12.0.0 [INFO] [stderr] Checking Inflector v0.11.4 [INFO] [stderr] Checking frame-support-procedural-tools v13.0.0 [INFO] [stderr] Checking zerocopy v0.7.35 [INFO] [stderr] Compiling macro_magic_core v0.5.1 [INFO] [stderr] Compiling macro_magic_macros v0.5.1 [INFO] [stderr] Checking ppv-lite86 v0.2.20 [INFO] [stderr] Checking macro_magic v0.5.1 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking twox-hash v1.6.3 [INFO] [stderr] Checking sp-crypto-hashing v0.1.0 [INFO] [stderr] Checking frame-support-procedural v30.0.2 (/tmp/fixit) [INFO] [stderr] Migrating src/lib.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `frame_support_procedural` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/lib.rs [INFO] [stderr] * src/pallet/parse/tests/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/pallet/parse/tests/mod.rs:66:3 [INFO] [stderr] | [INFO] [stderr] 66 | ($expr:expr_2021, $reg:literal) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/pallet/expand/storage.rs:417:7 [INFO] [stdout] | [INFO] [stdout] 417 | let gen = &def.type_use_generics(storage.attr_span); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] = note: `--force-warn keyword-idents-2024` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/pallet/expand/storage.rs:418:71 [INFO] [stdout] | [INFO] [stdout] 418 | let full_ident = quote::quote_spanned!(storage.attr_span => #ident<#gen> ); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/pallet/expand/storage.rs:441:8 [INFO] [stdout] | [INFO] [stdout] 441 | let gen = &def.type_use_generics(storage.attr_span); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/pallet/expand/storage.rs:444:72 [INFO] [stdout] | [INFO] [stdout] 444 | let full_ident = quote::quote_spanned!(storage.attr_span => #ident<#gen> ); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/pallet/expand/storage.rs:842:10 [INFO] [stdout] | [INFO] [stdout] 842 | let gen = &def.type_use_generics(storage.attr_span); [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/pallet/expand/storage.rs:843:62 [INFO] [stdout] | [INFO] [stdout] 843 | Some(quote::quote_spanned!(storage.attr_span => #ident<#gen> )) [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] warning: unexpected `cfg` condition value: `try-runtime` [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/pallet/expand/tt_default_parts.rs:41:7 [INFO] [stdout] | [INFO] [stdout] 41 | let gen = event.gen_kind.is_generic().then(|| quote::quote!( )); [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/lib.rs:323:31 [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/pallet/expand/tt_default_parts.rs:42:25 [INFO] [stdout] | [INFO] [stdout] 42 | quote::quote!( Event #gen , ) [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/pallet/expand/tt_default_parts.rs:48:7 [INFO] [stdout] | [INFO] [stdout] 48 | let gen = origin.is_generic.then(|| quote::quote!( )); [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] 323 | if cfg!(any(feature = "std", feature = "try-runtime")) { [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/pallet/expand/tt_default_parts.rs:49:26 [INFO] [stdout] | [INFO] [stdout] 49 | quote::quote!( Origin #gen , ) [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/pallet/expand/tt_default_parts.rs:53:7 [INFO] [stdout] | [INFO] [stdout] 53 | let gen = genesis_config.gen_kind.is_generic().then(|| quote::quote!( )); [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/pallet/expand/tt_default_parts.rs:54:26 [INFO] [stdout] | [INFO] [stdout] 54 | quote::quote!( Config #gen , ) [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: expected values for `feature` are: `default`, `experimental`, `no-metadata-docs`, `std`, `tuples-128`, and `tuples-96` [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/pallet/expand/tt_default_parts.rs:93:7 [INFO] [stdout] | [INFO] [stdout] 93 | let gen = event.gen_kind.is_generic().then(|| quote::quote!()); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = help: consider adding `try-runtime` as a feature in `Cargo.toml` [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/pallet/expand/tt_default_parts.rs:94:26 [INFO] [stdout] | [INFO] [stdout] 94 | quote::quote!(+ Event #gen) [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/pallet/expand/tt_default_parts.rs:100:7 [INFO] [stdout] | [INFO] [stdout] 100 | let gen = origin.is_generic.then(|| quote::quote!()); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/pallet/expand/tt_default_parts.rs:101:27 [INFO] [stdout] | [INFO] [stdout] 101 | quote::quote!(+ Origin #gen) [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/pallet/expand/tt_default_parts.rs:105:7 [INFO] [stdout] | [INFO] [stdout] 105 | let gen = genesis_config.gen_kind.is_generic().then(|| quote::quote!()); [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: aborting due to 1 previous error; 1 warning emitted [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/pallet/expand/tt_default_parts.rs:106:27 [INFO] [stdout] | [INFO] [stdout] 106 | quote::quote!(+ Config #gen) [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/pallet/parse/helper.rs:189:29 [INFO] [stdout] | [INFO] [stdout] 189 | pub fn check_config_def_gen(gen: &syn::Generics, span: proc_macro2::Span) -> syn::Result<()> { [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] For more information about this error, try `rustc --explain E0658`. [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/pallet/parse/helper.rs:204:39 [INFO] [stdout] | [INFO] [stdout] 204 | syn::parse2::(gen.params.to_token_stream()).map_err(|e| { [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] Original diagnostics will follow. [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/pallet/parse/helper.rs:222:2 [INFO] [stdout] | [INFO] [stdout] 222 | gen: &syn::Generics, [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/pallet/parse/helper.rs:244:33 [INFO] [stdout] | [INFO] [stdout] 244 | let i = syn::parse2::(gen.params.to_token_stream()) [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/pallet/parse/helper.rs:267:2 [INFO] [stdout] | [INFO] [stdout] 267 | gen: &syn::Generics, [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/pallet/parse/helper.rs:322:33 [INFO] [stdout] | [INFO] [stdout] 322 | let i = syn::parse2::(gen.params.to_token_stream()) [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/pallet/parse/helper.rs:384:23 [INFO] [stdout] | [INFO] [stdout] 384 | pub fn check_impl_gen(gen: &syn::Generics, span: proc_macro2::Span) -> syn::Result { [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/pallet/parse/helper.rs:409:33 [INFO] [stdout] | [INFO] [stdout] 409 | let i = syn::parse2::(gen.params.to_token_stream()) [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/pallet/parse/helper.rs:430:2 [INFO] [stdout] | [INFO] [stdout] 430 | gen: &syn::Generics, [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/pallet/parse/helper.rs:481:37 [INFO] [stdout] | [INFO] [stdout] 481 | let mut i = syn::parse2::(gen.params.to_token_stream()) [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/pallet/parse/helper.rs:549:2 [INFO] [stdout] | [INFO] [stdout] 549 | gen: &syn::Generics, [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/pallet/parse/helper.rs:583:33 [INFO] [stdout] | [INFO] [stdout] 583 | let i = syn::parse2::(gen.params.to_token_stream()) [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/pallet/parse/storage.rs:684:27 [INFO] [stdout] | [INFO] [stdout] 684 | if args.args.iter().all(|gen| matches!(gen, syn::GenericArgument::Type(_))) { [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/pallet/parse/storage.rs:684:41 [INFO] [stdout] | [INFO] [stdout] 684 | if args.args.iter().all(|gen| matches!(gen, syn::GenericArgument::Type(_))) { [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/pallet/parse/storage.rs:688:10 [INFO] [stdout] | [INFO] [stdout] 688 | .map(|gen| match gen { [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/pallet/parse/storage.rs:688:21 [INFO] [stdout] | [INFO] [stdout] 688 | .map(|gen| match gen { [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/pallet/parse/storage.rs:689:32 [INFO] [stdout] | [INFO] [stdout] 689 | syn::GenericArgument::Type(gen) => gen.clone(), [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/pallet/parse/storage.rs:689:40 [INFO] [stdout] | [INFO] [stdout] 689 | syn::GenericArgument::Type(gen) => gen.clone(), [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/pallet/parse/storage.rs:694:34 [INFO] [stdout] | [INFO] [stdout] 694 | } else if args.args.iter().all(|gen| matches!(gen, syn::GenericArgument::AssocType(_))) { [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/pallet/parse/storage.rs:694:48 [INFO] [stdout] | [INFO] [stdout] 694 | } else if args.args.iter().all(|gen| matches!(gen, syn::GenericArgument::AssocType(_))) { [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/pallet/parse/storage.rs:698:10 [INFO] [stdout] | [INFO] [stdout] 698 | .map(|gen| match gen { [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/pallet/parse/storage.rs:698:21 [INFO] [stdout] | [INFO] [stdout] 698 | .map(|gen| match gen { [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/pallet/parse/storage.rs:699:37 [INFO] [stdout] | [INFO] [stdout] 699 | syn::GenericArgument::AssocType(gen) => gen.clone(), [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/pallet/parse/storage.rs:699:45 [INFO] [stdout] | [INFO] [stdout] 699 | syn::GenericArgument::AssocType(gen) => gen.clone(), [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/pallet/parse/tests/mod.rs:66:9 [INFO] [stdout] | [INFO] [stdout] 66 | ($expr:expr, $reg:literal) => { [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] 66 | ($expr:expr_2021, $reg:literal) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `try-runtime` [INFO] [stdout] --> src/lib.rs:323:31 [INFO] [stdout] | [INFO] [stdout] 323 | if cfg!(any(feature = "std", feature = "try-runtime")) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `experimental`, `no-metadata-docs`, `std`, `tuples-128`, and `tuples-96` [INFO] [stdout] = help: consider adding `try-runtime` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to deprecated safe function `std::env::set_var` is unsafe and requires unsafe block [INFO] [stdout] --> src/pallet/parse/tests/mod.rs:208:2 [INFO] [stdout] | [INFO] [stdout] 208 | set_var("CARGO_MANIFEST_DIR", orig.join(path.as_ref())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #27970 [INFO] [stdout] = note: `--force-warn deprecated-safe-2024` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: you can wrap the call in an `unsafe` block if you can guarantee that the environment access only happens in single-threaded code [INFO] [stdout] | [INFO] [stdout] 208 ~ // TODO: Audit that the environment access only happens in single-threaded code. [INFO] [stdout] 209 ~ unsafe { set_var("CARGO_MANIFEST_DIR", orig.join(path.as_ref())) }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to deprecated safe function `std::env::set_var` is unsafe and requires unsafe block [INFO] [stdout] --> src/pallet/parse/tests/mod.rs:214:2 [INFO] [stdout] | [INFO] [stdout] 214 | set_var("CARGO_MANIFEST_DIR", &orig); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #27970 [INFO] [stdout] help: you can wrap the call in an `unsafe` block if you can guarantee that the environment access only happens in single-threaded code [INFO] [stdout] | [INFO] [stdout] 214 ~ // TODO: Audit that the environment access only happens in single-threaded code. [INFO] [stdout] 215 ~ unsafe { set_var("CARGO_MANIFEST_DIR", &orig) }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `TestTrait` is never used [INFO] [stdout] --> src/derive_impl.rs:261:8 [INFO] [stdout] | [INFO] [stdout] 261 | trait TestTrait { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:1168:6 [INFO] [stdout] | [INFO] [stdout] 1168 | if let Some(last_seg) = attr.path().segments.last() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^--------------------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:1170:3 [INFO] [stdout] | [INFO] [stdout] 1170 | } 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] 1168 ~ match attr.path().segments.last() { Some(last_seg) => { [INFO] [stdout] 1169 | last_seg.ident == "pallet" [INFO] [stdout] 1170 ~ } _ => { [INFO] [stdout] 1171 | false [INFO] [stdout] 1172 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:1183:6 [INFO] [stdout] | [INFO] [stdout] 1183 | if let Some(foreign_content) = foreign_mod.content { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:1185:3 [INFO] [stdout] | [INFO] [stdout] 1185 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1183 ~ match foreign_mod.content { Some(foreign_content) => { [INFO] [stdout] 1184 | content.1.extend(foreign_content.1); [INFO] [stdout] 1185 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/benchmark.rs:539:7 [INFO] [stdout] | [INFO] [stdout] 539 | if let Some(mode) = benchmark_attrs.pov_mode { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/benchmark.rs:556:4 [INFO] [stdout] | [INFO] [stdout] 556 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 539 ~ match benchmark_attrs.pov_mode { Some(mode) => { [INFO] [stdout] 540 | let mut modes = Vec::new(); [INFO] [stdout] ... [INFO] [stdout] 555 | ); [INFO] [stdout] 556 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/derive_impl.rs:133:6 [INFO] [stdout] | [INFO] [stdout] 133 | if let Some(ident) = impl_item_ident(&item) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/derive_impl.rs:164:3 [INFO] [stdout] | [INFO] [stdout] 164 | } 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] 133 ~ match impl_item_ident(&item) { Some(ident) => { [INFO] [stdout] 134 | if existing_local_keys.contains(&ident) { [INFO] [stdout] ... [INFO] [stdout] 163 | Some(item) [INFO] [stdout] 164 ~ } _ => { [INFO] [stdout] 165 | // do not copy colliding items that lack an ident [INFO] [stdout] ... [INFO] [stdout] 168 | .then_some(item) [INFO] [stdout] 169 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/derive_impl.rs:275:6 [INFO] [stdout] | [INFO] [stdout] 275 | if let ImplItem::Type(typ) = item { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^---- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/derive_impl.rs:277:3 [INFO] [stdout] | [INFO] [stdout] 277 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 275 ~ match item { ImplItem::Type(typ) => { [INFO] [stdout] 276 | assert_eq!(is_runtime_type(&typ), true); [INFO] [stdout] 277 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/match_and_insert.rs:110:8 [INFO] [stdout] | [INFO] [stdout] 110 | while let Some(token) = 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/match_and_insert.rs:139:2 [INFO] [stdout] | [INFO] [stdout] 139 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/pallet/mod.rs:44:6 [INFO] [stdout] | [INFO] [stdout] 44 | if let Ok(_) = syn::parse::(attr.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/pallet/mod.rs:46:3 [INFO] [stdout] | [INFO] [stdout] 46 | } 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] 44 ~ match syn::parse::(attr.clone()) { Ok(_) => { [INFO] [stdout] 45 | dev_mode = true; [INFO] [stdout] 46 ~ } _ => { [INFO] [stdout] 47 | let msg = "Invalid pallet macro call: unexpected attribute. Macro call must be \ [INFO] [stdout] ... [INFO] [stdout] 52 | return syn::Error::new(span, msg).to_compile_error().into() [INFO] [stdout] 53 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/pallet/expand/config.rs:60:10 [INFO] [stdout] | [INFO] [stdout] 60 | if let syn::TraitItem::Type(item) = item.0.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/pallet/expand/config.rs:64:7 [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] 60 ~ match item.0.clone() { syn::TraitItem::Type(item) => { [INFO] [stdout] 61 | let mut item = item.clone(); [INFO] [stdout] 62 | item.bounds.clear(); [INFO] [stdout] 63 | syn::TraitItem::Type(item) [INFO] [stdout] 64 ~ } _ => { [INFO] [stdout] 65 | item.0.clone() [INFO] [stdout] 66 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/pallet/expand/doc_only.rs:23:25 [INFO] [stdout] | [INFO] [stdout] 23 | let dispatchables = if let Some(call_def) = &def.call { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^-------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/pallet/expand/doc_only.rs:50:2 [INFO] [stdout] | [INFO] [stdout] 50 | } 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] 23 ~ let dispatchables = match &def.call { Some(call_def) => { [INFO] [stdout] 24 | let type_impl_generics = def.type_impl_generics(Span::call_site()); [INFO] [stdout] ... [INFO] [stdout] 49 | .collect::() [INFO] [stdout] 50 ~ } _ => { [INFO] [stdout] 51 | quote::quote!() [INFO] [stdout] 52 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/pallet/expand/error.rs:40:17 [INFO] [stdout] | [INFO] [stdout] 40 | let error = if let Some(error) = &def.error { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^--------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/pallet/expand/error.rs:42:2 [INFO] [stdout] | [INFO] [stdout] 42 | } 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] 40 ~ let error = match &def.error { Some(error) => { [INFO] [stdout] 41 | error [INFO] [stdout] 42 ~ } _ => { [INFO] [stdout] 43 | return quote::quote! { [INFO] [stdout] ... [INFO] [stdout] 58 | } [INFO] [stdout] 59 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/pallet/expand/event.rs:32:32 [INFO] [stdout] | [INFO] [stdout] 32 | let (event, macro_ident) = if let Some(event) = &def.event { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^--------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/pallet/expand/event.rs:35:2 [INFO] [stdout] | [INFO] [stdout] 35 | } 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] 32 ~ let (event, macro_ident) = match &def.event { Some(event) => { [INFO] [stdout] 33 | let ident = Ident::new(&format!("__is_event_part_defined_{}", count), event.attr_span); [INFO] [stdout] 34 | (event, ident) [INFO] [stdout] 35 ~ } _ => { [INFO] [stdout] 36 | let macro_ident = [INFO] [stdout] ... [INFO] [stdout] 58 | } [INFO] [stdout] 59 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/pallet/expand/event.rs:125:25 [INFO] [stdout] | [INFO] [stdout] 125 | let deposit_event = if let Some(deposit_event) = &event.deposit_event { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/pallet/expand/event.rs:151:2 [INFO] [stdout] | [INFO] [stdout] 151 | } 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] 125 ~ let deposit_event = match &event.deposit_event { Some(deposit_event) => { [INFO] [stdout] 126 | let event_use_gen = &event.gen_kind.type_use_gen(event.attr_span); [INFO] [stdout] ... [INFO] [stdout] 150 | ) [INFO] [stdout] 151 ~ } _ => { [INFO] [stdout] 152 | Default::default() [INFO] [stdout] 153 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/pallet/expand/genesis_build.rs:23:26 [INFO] [stdout] | [INFO] [stdout] 23 | let genesis_config = if let Some(genesis_config) = &def.genesis_config { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/pallet/expand/genesis_build.rs:25:2 [INFO] [stdout] | [INFO] [stdout] 25 | } 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] 23 ~ let genesis_config = match &def.genesis_config { Some(genesis_config) => { [INFO] [stdout] 24 | genesis_config [INFO] [stdout] 25 ~ } _ => { [INFO] [stdout] 26 | return Default::default() [INFO] [stdout] 27 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/pallet/expand/genesis_config.rs:29:6 [INFO] [stdout] | [INFO] [stdout] 29 | if let Some(genesis_config) = &def.genesis_config { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/pallet/expand/genesis_config.rs:41:3 [INFO] [stdout] | [INFO] [stdout] 41 | } 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] 29 ~ match &def.genesis_config { Some(genesis_config) => { [INFO] [stdout] 30 | let def_macro_ident = Ident::new( [INFO] [stdout] ... [INFO] [stdout] 40 | (genesis_config, def_macro_ident, std_macro_ident) [INFO] [stdout] 41 ~ } _ => { [INFO] [stdout] 42 | let def_macro_ident = [INFO] [stdout] ... [INFO] [stdout] 75 | } [INFO] [stdout] 76 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/pallet/expand/hooks.rs:45:47 [INFO] [stdout] | [INFO] [stdout] 45 | let initialize_on_chain_storage_version = if let Some(in_code_version) = [INFO] [stdout] | __________________________________________________^ [INFO] [stdout] 46 | | &def.pallet_struct.storage_version [INFO] [stdout] | |__________--------------------------------^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/pallet/expand/hooks.rs:57:2 [INFO] [stdout] | [INFO] [stdout] 57 | } 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] 45 ~ let initialize_on_chain_storage_version = match &def.pallet_struct.storage_version [INFO] [stdout] 46 ~ { Some(in_code_version) => { [INFO] [stdout] 47 | quote::quote! { [INFO] [stdout] ... [INFO] [stdout] 55 | } [INFO] [stdout] 56 ~ } _ => { [INFO] [stdout] 57 | quote::quote! { [INFO] [stdout] ... [INFO] [stdout] 66 | } [INFO] [stdout] 67 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/pallet/expand/pallet_struct.rs:80:33 [INFO] [stdout] | [INFO] [stdout] 80 | let pallet_error_metadata = if let Some(error_def) = &def.error { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^--------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/pallet/expand/pallet_struct.rs:92:2 [INFO] [stdout] | [INFO] [stdout] 92 | } 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] 80 ~ let pallet_error_metadata = match &def.error { Some(error_def) => { [INFO] [stdout] 81 | let error_ident = &error_def.error; [INFO] [stdout] ... [INFO] [stdout] 91 | ) [INFO] [stdout] 92 ~ } _ => { [INFO] [stdout] 93 | quote::quote_spanned!(def.pallet_struct.attr_span => [INFO] [stdout] ... [INFO] [stdout] 100| ) [INFO] [stdout] 101~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/pallet/expand/pallet_struct.rs:164:6 [INFO] [stdout] | [INFO] [stdout] 164 | if let Some(v) = def.pallet_struct.storage_version.as_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/pallet/expand/pallet_struct.rs:166:3 [INFO] [stdout] | [INFO] [stdout] 166 | } 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] 164 ~ match def.pallet_struct.storage_version.as_ref() { Some(v) => { [INFO] [stdout] 165 | (quote::quote! { #v }, quote::quote! { #frame_support::traits::StorageVersion }) [INFO] [stdout] 166 ~ } _ => { [INFO] [stdout] 167 | ( [INFO] [stdout] ... [INFO] [stdout] 170 | ) [INFO] [stdout] 171 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/pallet/expand/storage.rs:167:10 [INFO] [stdout] | [INFO] [stdout] 167 | if let syn::PathArguments::AngleBracketed( [INFO] [stdout] | ____________________________^ [INFO] [stdout] 168 | | syn::AngleBracketedGenericArguments { args, .. }, [INFO] [stdout] 169 | | ) = &mut seg.arguments [INFO] [stdout] | |__________________________________------------^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/pallet/expand/storage.rs:173:7 [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] 167 ~ match &mut seg.arguments [INFO] [stdout] 168 ~ { syn::PathArguments::AngleBracketed( [INFO] [stdout] 169 ~ syn::AngleBracketedGenericArguments { args, .. }, [INFO] [stdout] 170 ~ ) => { [INFO] [stdout] 171 | args.clear(); [INFO] [stdout] 172 | args.push(syn::GenericArgument::Type(syn::parse_quote!(#error_path))); [INFO] [stdout] 173 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/pallet/expand/storage.rs:187:6 [INFO] [stdout] | [INFO] [stdout] 187 | if let Some(named_generics) = storage_def.named_generics.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/pallet/expand/storage.rs:261:3 [INFO] [stdout] | [INFO] [stdout] 261 | } 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] 187 ~ match storage_def.named_generics.clone() { Some(named_generics) => { [INFO] [stdout] 188 | args.args.clear(); [INFO] [stdout] ... [INFO] [stdout] 260 | } [INFO] [stdout] 261 ~ } _ => { [INFO] [stdout] 262 | args.args[0] = syn::parse_quote!( #prefix_ident<#type_use_gen> ); [INFO] [stdout] ... [INFO] [stdout] 305 | } [INFO] [stdout] 306 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/pallet/expand/storage.rs:288:14 [INFO] [stdout] | [INFO] [stdout] 288 | } else if let Some(QueryKind::ResultQuery(error_path, _)) = [INFO] [stdout] | _______________________^ [INFO] [stdout] 289 | | storage_def.query_kind.as_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/pallet/expand/storage.rs:292:4 [INFO] [stdout] | [INFO] [stdout] 292 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 288 ~ } else { match storage_def.query_kind.as_ref() [INFO] [stdout] 289 ~ { Some(QueryKind::ResultQuery(error_path, _)) => { [INFO] [stdout] 290 | args.args.push(syn::GenericArgument::Type(syn::parse_quote!(#error_path))) [INFO] [stdout] 291 ~ } _ => {}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/pallet/expand/storage.rs:285:8 [INFO] [stdout] | [INFO] [stdout] 285 | if let syn::GenericArgument::Type(query_kind) = args.args.index_mut(query_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/pallet/expand/storage.rs:287:5 [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 args.args.index_mut(query_idx) { syn::GenericArgument::Type(query_kind) => { [INFO] [stdout] 286 | set_result_query_type_parameter(query_kind)?; [INFO] [stdout] 287 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/pallet/expand/storage.rs:436:6 [INFO] [stdout] | [INFO] [stdout] 436 | if let Some(getter) = &storage.getter { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^-------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/pallet/expand/storage.rs:625:3 [INFO] [stdout] | [INFO] [stdout] 625 | } 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] 436 ~ match &storage.getter { Some(getter) => { [INFO] [stdout] 437 | let completed_where_clause = [INFO] [stdout] ... [INFO] [stdout] 624 | } [INFO] [stdout] 625 ~ } _ => { [INFO] [stdout] 626 | Default::default() [INFO] [stdout] 627 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/pallet/parse/call.rs:263:8 [INFO] [stdout] | [INFO] [stdout] 263 | if let syn::ReturnType::Type(_, type_) = &method.sig.output { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/pallet/parse/call.rs:265:5 [INFO] [stdout] | [INFO] [stdout] 265 | } 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] 263 ~ match &method.sig.output { syn::ReturnType::Type(_, type_) => { [INFO] [stdout] 264 | helper::check_pallet_call_return_type(type_)?; [INFO] [stdout] 265 ~ } _ => { [INFO] [stdout] 266 | let msg = "Invalid pallet::call, require return type \ [INFO] [stdout] 267 | DispatchResultWithPostInfo"; [INFO] [stdout] 268 | return Err(syn::Error::new(method.sig.span(), msg)) [INFO] [stdout] 269 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/pallet/parse/call.rs:361:25 [INFO] [stdout] | [INFO] [stdout] 361 | let arg_ident = if let syn::Pat::Ident(pat) = &*arg.pat { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^-------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/pallet/parse/call.rs:363:6 [INFO] [stdout] | [INFO] [stdout] 363 | } 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] 361 ~ let arg_ident = match &*arg.pat { syn::Pat::Ident(pat) => { [INFO] [stdout] 362 | pat.ident.clone() [INFO] [stdout] 363 ~ } _ => { [INFO] [stdout] 364 | let msg = "Invalid pallet::call, argument must be ident"; [INFO] [stdout] 365 | return Err(syn::Error::new(arg.pat.span(), msg)) [INFO] [stdout] 366 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/pallet/parse/call.rs:407:11 [INFO] [stdout] | [INFO] [stdout] 407 | ... if let syn::Pat::Type(syn::PatType { ty, .. }) = feeless_arg.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/pallet/parse/call.rs:414:8 [INFO] [stdout] | [INFO] [stdout] 414 | ... } 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] 407 ~ match feeless_arg.clone() { syn::Pat::Type(syn::PatType { ty, .. }) => { [INFO] [stdout] 408 | if let syn::Type::Reference(pat) = *ty { [INFO] [stdout] ... [INFO] [stdout] 413 | } [INFO] [stdout] 414 ~ } _ => { [INFO] [stdout] 415 | let msg = "Invalid pallet::call, feeless_if closure argument must be a type ascription pattern"; [INFO] [stdout] 416 | return Err(syn::Error::new(feeless_arg.span(), msg)) [INFO] [stdout] 417 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/pallet/parse/call.rs:408:12 [INFO] [stdout] | [INFO] [stdout] 408 | ... if let syn::Type::Reference(pat) = *ty { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/pallet/parse/call.rs:410:9 [INFO] [stdout] | [INFO] [stdout] 410 | ... } 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] 408 ~ match *ty { syn::Type::Reference(pat) => { [INFO] [stdout] 409 | pat.elem.clone() [INFO] [stdout] 410 ~ } _ => { [INFO] [stdout] 411 | let msg = "Invalid pallet::call, feeless_if closure argument must be a reference"; [INFO] [stdout] 412 | return Err(syn::Error::new(ty.span(), msg)) [INFO] [stdout] 413 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/pallet/parse/composite.rs:143:7 [INFO] [stdout] | [INFO] [stdout] 143 | if let syn::Meta::List(syn::MetaList { path, .. }) = &attr.meta { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/pallet/parse/composite.rs:145:4 [INFO] [stdout] | [INFO] [stdout] 145 | } 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] 143 ~ match &attr.meta { syn::Meta::List(syn::MetaList { path, .. }) => { [INFO] [stdout] 144 | path.get_ident().map(|ident| ident == "derive").unwrap_or(false) [INFO] [stdout] 145 ~ } _ => { [INFO] [stdout] 146 | false [INFO] [stdout] 147 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/pallet/parse/event.rs:125:6 [INFO] [stdout] | [INFO] [stdout] 125 | if let Some(u) = helper::check_type_def_optional_gen(&item.generics, item.ident.span())? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-------------^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/pallet/parse/event.rs:127:3 [INFO] [stdout] | [INFO] [stdout] 127 | } 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] 125 ~ match helper::check_type_def_optional_gen(&item.generics, item.ident.span())? { Some(u) => { [INFO] [stdout] 126 | instances.push(u); [INFO] [stdout] 127 ~ } _ => { [INFO] [stdout] 128 | // construct_runtime only allow non generic event for non instantiable pallet. [INFO] [stdout] 129 | instances.push(helper::InstanceUsage { has_instance: false, span: item.ident.span() }) [INFO] [stdout] 130 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/pallet/parse/helper.rs:77:8 [INFO] [stdout] | [INFO] [stdout] 77 | while let Some(attr) = take_first_item_pallet_attr(item)? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^---------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/pallet/parse/helper.rs:79:2 [INFO] [stdout] | [INFO] [stdout] 79 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/pallet/parse/inherent.rs:41:6 [INFO] [stdout] | [INFO] [stdout] 41 | if let Some(last) = item.trait_.as_ref().unwrap().1.segments.last() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^----------------------------------------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/pallet/parse/inherent.rs:46:3 [INFO] [stdout] | [INFO] [stdout] 46 | } 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] 41 ~ match item.trait_.as_ref().unwrap().1.segments.last() { Some(last) => { [INFO] [stdout] 42 | if last.ident != "ProvideInherent" { [INFO] [stdout] ... [INFO] [stdout] 45 | } [INFO] [stdout] 46 ~ } _ => { [INFO] [stdout] 47 | let msg = "Invalid pallet::inherent, expected impl<..> ProvideInherent for Pallet<..>"; [INFO] [stdout] 48 | return Err(syn::Error::new(item.span(), msg)) [INFO] [stdout] 49 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/pallet/parse/storage.rs:351:5 [INFO] [stdout] | [INFO] [stdout] 351 | if let Some(mut error) = errors.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/pallet/parse/storage.rs:356:2 [INFO] [stdout] | [INFO] [stdout] 356 | } 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] 351 ~ match errors.next() { Some(mut error) => { [INFO] [stdout] 352 | for other_error in errors { [INFO] [stdout] ... [INFO] [stdout] 355 | Err(error) [INFO] [stdout] 356 ~ } _ => { [INFO] [stdout] 357 | Ok(()) [INFO] [stdout] 358 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/pallet/parse/storage.rs:739:21 [INFO] [stdout] | [INFO] [stdout] 739 | let ty_params = if let syn::PathArguments::AngleBracketed(args) = &key_struct.arguments { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/pallet/parse/storage.rs:741:2 [INFO] [stdout] | [INFO] [stdout] 741 | } 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] 739 ~ let ty_params = match &key_struct.arguments { syn::PathArguments::AngleBracketed(args) => { [INFO] [stdout] 740 | args [INFO] [stdout] 741 ~ } _ => { [INFO] [stdout] 742 | let msg = "Invalid pallet::storage, expected angle bracketed arguments"; [INFO] [stdout] 743 | return Err(syn::Error::new(key_struct.arguments.span(), msg)) [INFO] [stdout] 744 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/pallet/parse/storage.rs:809:16 [INFO] [stdout] | [INFO] [stdout] 809 | let typ = if let syn::Type::Path(typ) = &*item.ty { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^-------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/pallet/parse/storage.rs:811:3 [INFO] [stdout] | [INFO] [stdout] 811 | } 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] 809 ~ let typ = match &*item.ty { syn::Type::Path(typ) => { [INFO] [stdout] 810 | typ [INFO] [stdout] 811 ~ } _ => { [INFO] [stdout] 812 | let msg = "Invalid pallet::storage, expected type path"; [INFO] [stdout] 813 | return Err(syn::Error::new(item.ty.span(), msg)) [INFO] [stdout] 814 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/pallet/parse/validate_unsigned.rs:39:6 [INFO] [stdout] | [INFO] [stdout] 39 | if let Some(last) = item.trait_.as_ref().unwrap().1.segments.last() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^----------------------------------------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/pallet/parse/validate_unsigned.rs:44:3 [INFO] [stdout] | [INFO] [stdout] 44 | } 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] 39 ~ match item.trait_.as_ref().unwrap().1.segments.last() { Some(last) => { [INFO] [stdout] 40 | if last.ident != "ValidateUnsigned" { [INFO] [stdout] ... [INFO] [stdout] 43 | } [INFO] [stdout] 44 ~ } _ => { [INFO] [stdout] 45 | let msg = "Invalid pallet::validate_unsigned, expected impl<..> ValidateUnsigned for \ [INFO] [stdout] 46 | Pallet<..>"; [INFO] [stdout] 47 | return Err(syn::Error::new(item.span(), msg)) [INFO] [stdout] 48 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/pallet_error.rs:135:7 [INFO] [stdout] | [INFO] [stdout] 135 | if let Some(v) = 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/pallet_error.rs:137:4 [INFO] [stdout] | [INFO] [stdout] 137 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 135 ~ match res { Some(v) => { [INFO] [stdout] 136 | return Ok(v) [INFO] [stdout] 137 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/runtime/mod.rs:217:6 [INFO] [stdout] | [INFO] [stdout] 217 | if let Ok(_) = syn::parse::(attr.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/runtime/mod.rs:219:3 [INFO] [stdout] | [INFO] [stdout] 219 | } 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] 217 ~ match syn::parse::(attr.clone()) { Ok(_) => { [INFO] [stdout] 218 | legacy_ordering = true; [INFO] [stdout] 219 ~ } _ => { [INFO] [stdout] 220 | let msg = "Invalid runtime macro call: unexpected attribute. Macro call must be \ [INFO] [stdout] ... [INFO] [stdout] 225 | return syn::Error::new(span, msg).to_compile_error().into() [INFO] [stdout] 226 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/runtime/parse/mod.rs:186:7 [INFO] [stdout] | [INFO] [stdout] 186 | if let Some((pallet_index, pallet_item)) = pallet_index_and_item { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/runtime/parse/mod.rs:229:4 [INFO] [stdout] | [INFO] [stdout] 229 | } 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] 186 ~ match pallet_index_and_item { Some((pallet_index, pallet_item)) => { [INFO] [stdout] 187 | match *pallet_item.ty.clone() { [INFO] [stdout] ... [INFO] [stdout] 228 | } [INFO] [stdout] 229 ~ } _ => { [INFO] [stdout] 230 | if let syn::Item::Type(item) = item { [INFO] [stdout] ... [INFO] [stdout] 233 | } [INFO] [stdout] 234 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/runtime/parse/pallet_decl.rs:51:7 [INFO] [stdout] | [INFO] [stdout] 51 | if let PathArguments::AngleBracketed(syn::AngleBracketedGenericArguments { [INFO] [stdout] | ________________^ [INFO] [stdout] 52 | | args, .. [INFO] [stdout] 53 | | }) = segment.arguments.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/runtime/parse/pallet_decl.rs:77:4 [INFO] [stdout] | [INFO] [stdout] 77 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 51 ~ match segment.arguments.clone() [INFO] [stdout] 52 ~ { PathArguments::AngleBracketed(syn::AngleBracketedGenericArguments { [INFO] [stdout] 53 ~ args, .. [INFO] [stdout] 54 ~ }) => { [INFO] [stdout] 55 | if segment.ident == "Pallet" { [INFO] [stdout] ... [INFO] [stdout] 76 | } [INFO] [stdout] 77 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/runtime/parse/pallet_decl.rs:61:8 [INFO] [stdout] | [INFO] [stdout] 61 | if let Some(syn::GenericArgument::Type(syn::Type::Path(arg_path))) = [INFO] [stdout] | ____________________^ [INFO] [stdout] 62 | | args_iter.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/runtime/parse/pallet_decl.rs:76:5 [INFO] [stdout] | [INFO] [stdout] 76 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 61 ~ match args_iter.next() [INFO] [stdout] 62 ~ { Some(syn::GenericArgument::Type(syn::Type::Path(arg_path))) => { [INFO] [stdout] 63 | let ident = arg_path.path.require_ident()?.clone(); [INFO] [stdout] ... [INFO] [stdout] 74 | } [INFO] [stdout] 75 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/runtime/parse/pallet_decl.rs:67:10 [INFO] [stdout] | [INFO] [stdout] 67 | if let Some(syn::GenericArgument::Type(syn::Type::Path(arg_path))) = [INFO] [stdout] | ____________________________^ [INFO] [stdout] 68 | | args_iter.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/runtime/parse/pallet_decl.rs:71:7 [INFO] [stdout] | [INFO] [stdout] 71 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 67 ~ match args_iter.next() [INFO] [stdout] 68 ~ { Some(syn::GenericArgument::Type(syn::Type::Path(arg_path))) => { [INFO] [stdout] 69 | instance = Some(arg_path.path.require_ident()?.clone()); [INFO] [stdout] 70 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 87 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Fixed src/pallet/parse/validate_unsigned.rs (1 fix) [INFO] [stderr] Fixed src/pallet/expand/tt_default_parts.rs (12 fixes) [INFO] [stderr] Fixed src/pallet/parse/event.rs (1 fix) [INFO] [stderr] Fixed src/pallet/parse/call.rs (4 fixes) [INFO] [stderr] Fixed src/pallet/parse/inherent.rs (1 fix) [INFO] [stderr] Fixed src/pallet/expand/config.rs (1 fix) [INFO] [stderr] Fixed src/lib.rs (2 fixes) [INFO] [stderr] Fixed src/runtime/parse/pallet_decl.rs (3 fixes) [INFO] [stderr] Fixed src/pallet/expand/hooks.rs (1 fix) [INFO] [stderr] Fixed src/pallet_error.rs (1 fix) [INFO] [stderr] Fixed src/pallet/expand/error.rs (1 fix) [INFO] [stderr] Fixed src/pallet/expand/event.rs (2 fixes) [INFO] [stderr] Fixed src/pallet/parse/storage.rs (15 fixes) [INFO] [stderr] Fixed src/pallet/parse/composite.rs (1 fix) [INFO] [stderr] Fixed src/pallet/expand/doc_only.rs (1 fix) [INFO] [stderr] Fixed src/runtime/mod.rs (1 fix) [INFO] [stderr] Fixed src/pallet/mod.rs (1 fix) [INFO] [stderr] Fixed src/pallet/expand/storage.rs (11 fixes) [INFO] [stderr] Fixed src/runtime/parse/mod.rs (1 fix) [INFO] [stderr] Fixed src/derive_impl.rs (1 fix) [INFO] [stderr] Fixed src/pallet/expand/genesis_config.rs (1 fix) [INFO] [stderr] Fixed src/pallet/expand/pallet_struct.rs (2 fixes) [INFO] [stderr] Fixed src/pallet/expand/genesis_build.rs (1 fix) [INFO] [stderr] Fixed src/benchmark.rs (1 fix) [INFO] [stderr] Fixed src/pallet/parse/helper.rs (12 fixes) [INFO] [stdout] warning: unexpected `cfg` condition value: `try-runtime` [INFO] [stdout] --> src/lib.rs:323:31 [INFO] [stdout] | [INFO] [stdout] 323 | if cfg!(any(feature = "std", feature = "try-runtime")) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `experimental`, `no-metadata-docs`, `std`, `tuples-128`, and `tuples-96` [INFO] [stdout] = help: consider adding `try-runtime` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/match_and_insert.rs:110:8 [INFO] [stdout] | [INFO] [stdout] 110 | while let Some(token) = 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/match_and_insert.rs:139:2 [INFO] [stdout] | [INFO] [stdout] 139 | } [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/pallet/parse/helper.rs:77:8 [INFO] [stdout] | [INFO] [stdout] 77 | while let Some(attr) = take_first_item_pallet_attr(item)? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^---------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/pallet/parse/helper.rs:79:2 [INFO] [stdout] | [INFO] [stdout] 79 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 3 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 36.42s [INFO] [stderr] Running `cargo check` to verify 2024 [INFO] [stderr] Checking frame-support-procedural v30.0.2 (/tmp/fixit) [INFO] [stdout] warning: unexpected `cfg` condition value: `try-runtime` [INFO] [stdout] --> src/lib.rs:323:31 [INFO] [stdout] | [INFO] [stdout] 323 | if cfg!(any(feature = "std", feature = "try-runtime")) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `experimental`, `no-metadata-docs`, `std`, `tuples-128`, and `tuples-96` [INFO] [stdout] = help: consider adding `try-runtime` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `try-runtime` [INFO] [stdout] --> src/lib.rs:323:31 [INFO] [stdout] | [INFO] [stdout] 323 | if cfg!(any(feature = "std", feature = "try-runtime")) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `experimental`, `no-metadata-docs`, `std`, `tuples-128`, and `tuples-96` [INFO] [stdout] = help: consider adding `try-runtime` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0133]: call to unsafe function `std::env::set_var` is unsafe and requires unsafe block [INFO] [stdout] --> src/pallet/parse/tests/mod.rs:208:2 [INFO] [stdout] | [INFO] [stdout] 208 | set_var("CARGO_MANIFEST_DIR", orig.join(path.as_ref())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0133]: call to unsafe function `std::env::set_var` is unsafe and requires unsafe block [INFO] [stdout] --> src/pallet/parse/tests/mod.rs:214:2 [INFO] [stdout] | [INFO] [stdout] 214 | set_var("CARGO_MANIFEST_DIR", &orig); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors; 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] error: could not compile `frame-support-procedural` (lib test) due to 3 previous errors; 1 warning emitted [INFO] [stderr] error: failed to check after updating to 2024 [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `cargo check --frozen --all --all-targets --message-format=json` (exit status: 101) [INFO] running `Command { std: "docker" "inspect" "425b3d5c4d8a8c1a68a807a18df32a396bd867d48ef35c4921d41c6ccc488d1a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "425b3d5c4d8a8c1a68a807a18df32a396bd867d48ef35c4921d41c6ccc488d1a", kill_on_drop: false }` [INFO] [stdout] 425b3d5c4d8a8c1a68a807a18df32a396bd867d48ef35c4921d41c6ccc488d1a