[INFO] fetching crate dharitri-sc-derive 0.11.4... [INFO] checking dharitri-sc-derive-0.11.4 against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] extracting crate dharitri-sc-derive 0.11.4 into /workspace/builds/worker-3-tc2/source [INFO] validating manifest of crates.io crate dharitri-sc-derive 0.11.4 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 dharitri-sc-derive 0.11.4 [INFO] finished tweaking crates.io crate dharitri-sc-derive 0.11.4 [INFO] tweaked toml for crates.io crate dharitri-sc-derive 0.11.4 written to /workspace/builds/worker-3-tc2/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 9 packages to latest compatible versions [INFO] [stderr] Adding endian-type v0.1.2 (available: v0.2.0) [INFO] [stderr] Adding syn v1.0.109 (available: v2.0.77) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] e4de52dc65ba155a1cdb7234a23b28943986731e45aef1e9ba7cbc5e5de311e9 [INFO] running `Command { std: "docker" "start" "-a" "e4de52dc65ba155a1cdb7234a23b28943986731e45aef1e9ba7cbc5e5de311e9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "e4de52dc65ba155a1cdb7234a23b28943986731e45aef1e9ba7cbc5e5de311e9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e4de52dc65ba155a1cdb7234a23b28943986731e45aef1e9ba7cbc5e5de311e9", kill_on_drop: false }` [INFO] [stdout] e4de52dc65ba155a1cdb7234a23b28943986731e45aef1e9ba7cbc5e5de311e9 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 82349b72cca50385193db39b32b96cab6c36e57b654dd4f284ae687619e6d856 [INFO] running `Command { std: "docker" "start" "-a" "82349b72cca50385193db39b32b96cab6c36e57b654dd4f284ae687619e6d856", 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] Checking unicode-ident v1.0.13 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Checking smallvec v1.13.2 [INFO] [stderr] Checking endian-type v0.1.2 [INFO] [stderr] Checking hex v0.4.3 [INFO] [stderr] Checking proc-macro2 v1.0.86 [INFO] [stderr] Checking nibble_vec v0.1.0 [INFO] [stderr] Checking radix_trie v0.2.1 [INFO] [stderr] Checking quote v1.0.37 [INFO] [stderr] Checking dharitri-sc-derive v0.11.4 (/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 `dharitri_sc_derive` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/generate/util.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/generate/util.rs:4:6 [INFO] [stderr] | [INFO] [stderr] 4 | ($ident:expr_2021, $fstr:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/generate/util.rs:4:24 [INFO] [stderr] | [INFO] [stderr] 4 | ($ident:expr_2021, $fstr:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/managed_vec_item_derive.rs:131:9 [INFO] [stdout] | [INFO] [stdout] 131 | let gen = 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] = note: `--force-warn keyword-idents-2024` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/managed_vec_item_derive.rs:158:5 [INFO] [stdout] | [INFO] [stdout] 158 | gen.into() [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/managed_vec_item_derive.rs:172:9 [INFO] [stdout] | [INFO] [stdout] 172 | let gen = 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] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/managed_vec_item_derive.rs:202:5 [INFO] [stdout] | [INFO] [stdout] 202 | gen.into() [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/generate/util.rs:4:13 [INFO] [stdout] | [INFO] [stdout] 4 | ($ident:expr, $fstr:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 4 | ($ident:expr_2021, $fstr:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/generate/util.rs:4:25 [INFO] [stdout] | [INFO] [stdout] 4 | ($ident:expr, $fstr:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 4 | ($ident:expr, $fstr:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `proxy_obj_name` is never read [INFO] [stdout] --> src/generate/auto_impl_proxy.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct ProxyGetterReturnType { [INFO] [stdout] | --------------------- field in this struct [INFO] [stdout] 12 | pub module_path: ProxyModulePath, [INFO] [stdout] 13 | pub proxy_obj_name: syn::PathSegment, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `auto_inheritance_modules` and `trait_attributes` are never read [INFO] [stdout] --> src/model/contract_trait.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct ContractTrait { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 13 | pub auto_inheritance_modules: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | pub trait_attributes: TraitProperties, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `trait_name` is never read [INFO] [stdout] --> src/model/supertrait.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Supertrait { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 8 | pub full_path: syn::Path, [INFO] [stdout] 9 | pub trait_name: syn::PathSegment, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Supertrait` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/format/format_args_macro.rs:18:28 [INFO] [stdout] | [INFO] [stdout] 18 | let format_string = if let proc_macro::TokenTree::Literal(lit) = format_string_token { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/format/format_args_macro.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | } 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] 18 ~ let format_string = match format_string_token { proc_macro::TokenTree::Literal(lit) => { [INFO] [stdout] 19 | lit.to_string() [INFO] [stdout] 20 ~ } _ => { [INFO] [stdout] 21 | panic!( [INFO] [stdout] 22 | "Formatting requires that the first argument is a string. Found: {format_string_token}" [INFO] [stdout] 23 | ); [INFO] [stdout] 24 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/generate/abi_gen.rs:152:16 [INFO] [stdout] | [INFO] [stdout] 152 | if let MethodImpl::Generated(AutoImpl::Event { identifier }) = &m.implementation { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/generate/abi_gen.rs:158:13 [INFO] [stdout] | [INFO] [stdout] 158 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 152 ~ match &m.implementation { MethodImpl::Generated(AutoImpl::Event { identifier }) => { [INFO] [stdout] 153 | let event_def = generate_event_snippet(m, identifier); [INFO] [stdout] ... [INFO] [stdout] 157 | }) [INFO] [stdout] 158 ~ } _ => { [INFO] [stdout] 159 | None [INFO] [stdout] 160 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/generate/auto_impl_proxy.rs:22:20 [INFO] [stdout] | [INFO] [stdout] 22 | if let Some((leading_segments, last_segment)) = split_path_last(&type_path.path) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/generate/auto_impl_proxy.rs:27:17 [INFO] [stdout] | [INFO] [stdout] 27 | } 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] 22 ~ match split_path_last(&type_path.path) { Some((leading_segments, last_segment)) => { [INFO] [stdout] 23 | ProxyGetterReturnType { [INFO] [stdout] ... [INFO] [stdout] 26 | } [INFO] [stdout] 27 ~ } _ => { [INFO] [stdout] 28 | panic!("Proxy getter return type must be specfied with some module specifier (e.g. `path::to::module::Proxy`)"); [INFO] [stdout] 29 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/generate/auto_impl_proxy.rs:67:16 [INFO] [stdout] | [INFO] [stdout] 67 | if let MethodImpl::Generated(AutoImpl::ProxyGetter) = &m.implementation { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/generate/auto_impl_proxy.rs:73:13 [INFO] [stdout] | [INFO] [stdout] 73 | } 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] 67 ~ match &m.implementation { MethodImpl::Generated(AutoImpl::ProxyGetter) => { [INFO] [stdout] 68 | let parsed_return_type = proxy_getter_return_type(m); [INFO] [stdout] ... [INFO] [stdout] 72 | }) [INFO] [stdout] 73 ~ } _ => { [INFO] [stdout] 74 | None [INFO] [stdout] 75 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/generate/callback_gen.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | if let Some(raw) = raw_decl { [INFO] [stdout] | ^^^^^^^^^^^^^^^^-------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/generate/callback_gen.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | } 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 ~ match raw_decl { Some(raw) => { [INFO] [stdout] 24 | let as_call_method = generate_endpoint_call_method_body(&raw); [INFO] [stdout] ... [INFO] [stdout] 35 | (cb_selector_body, cb_main_body) [INFO] [stdout] 36 ~ } _ => { [INFO] [stdout] 37 | let match_arms: Vec = match_arms(contract.methods.as_slice()); [INFO] [stdout] ... [INFO] [stdout] 60 | } [INFO] [stdout] 61 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/generate/callback_gen.rs:90:16 [INFO] [stdout] | [INFO] [stdout] 90 | if let PublicRole::Callback(callback) = &m.public_role { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/generate/callback_gen.rs:113:13 [INFO] [stdout] | [INFO] [stdout] 113 | } 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] 90 ~ match &m.public_role { PublicRole::Callback(callback) => { [INFO] [stdout] 91 | let payable_snippet = generate_payable_snippet(m); [INFO] [stdout] ... [INFO] [stdout] 112 | Some(match_arm) [INFO] [stdout] 113 ~ } _ => { [INFO] [stdout] 114 | None [INFO] [stdout] 115 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/generate/contract_gen.rs:12:16 [INFO] [stdout] | [INFO] [stdout] 12 | if let MethodImpl::Explicit(body) = &m.implementation { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/generate/contract_gen.rs:18:13 [INFO] [stdout] | [INFO] [stdout] 18 | } 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] 12 ~ match &m.implementation { MethodImpl::Explicit(body) => { [INFO] [stdout] 13 | let msig = method_gen::generate_sig_with_attributes(m); [INFO] [stdout] ... [INFO] [stdout] 17 | }) [INFO] [stdout] 18 ~ } _ => { [INFO] [stdout] 19 | None [INFO] [stdout] 20 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/generate/contract_gen.rs:46:16 [INFO] [stdout] | [INFO] [stdout] 46 | if let MethodImpl::Generated(_) = &m.implementation { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/generate/contract_gen.rs:49:13 [INFO] [stdout] | [INFO] [stdout] 49 | } 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] 46 ~ match &m.implementation { MethodImpl::Generated(_) => { [INFO] [stdout] 47 | let sig = method_gen::generate_sig_with_attributes(m); [INFO] [stdout] 48 | Some(quote! { #sig ; }) [INFO] [stdout] 49 ~ } _ => { [INFO] [stdout] 50 | None [INFO] [stdout] 51 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/generate/convert_to_owned_type.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | if let syn::Type::Slice(slice_type) = &*type_reference.elem { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 21 | } else if let syn::Type::Path(syn::TypePath { path, .. }) = &*type_reference.elem { [INFO] [stdout] | -------------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/generate/convert_to_owned_type.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | } else if let syn::Type::Path(syn::TypePath { path, .. }) = &*type_reference.elem { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/generate/convert_to_owned_type.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 30 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 15 ~ match &*type_reference.elem { syn::Type::Slice(slice_type) => { [INFO] [stdout] 16 | // deserialize as boxed slice, so we have an owned object that we can reference [INFO] [stdout] ... [INFO] [stdout] 20 | }; [INFO] [stdout] 21 ~ } _ => { match &*type_reference.elem { syn::Type::Path(syn::TypePath { path, .. }) => { [INFO] [stdout] 22 | if let Some(ident) = path.get_ident() { [INFO] [stdout] ... [INFO] [stdout] 29 | } [INFO] [stdout] 30 ~ } _ => {}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/generate/proxy_callback_gen.rs:67:16 [INFO] [stdout] | [INFO] [stdout] 67 | if let PublicRole::Callback(callback) | PublicRole::CallbackPromise(callback) = [INFO] [stdout] | ________________^ [INFO] [stdout] 68 | | &m.public_role [INFO] [stdout] | |__________________------------^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/generate/proxy_callback_gen.rs:71:13 [INFO] [stdout] | [INFO] [stdout] 71 | } 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] 67 ~ match &m.public_role [INFO] [stdout] 68 ~ { PublicRole::Callback(callback) | PublicRole::CallbackPromise(callback) => { [INFO] [stdout] 69 | Some(generate_callback_proxy_method(m, callback)) [INFO] [stdout] 70 ~ } _ => { [INFO] [stdout] 71 | None [INFO] [stdout] 72 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/generate/util.rs:71:20 [INFO] [stdout] | [INFO] [stdout] 71 | if let syn::PathArguments::AngleBracketed(angle_backeted) = &mut path_segm.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/generate/util.rs:78:17 [INFO] [stdout] | [INFO] [stdout] 78 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 71 ~ match &mut path_segm.arguments [INFO] [stdout] 72 ~ { syn::PathArguments::AngleBracketed(angle_backeted) => { [INFO] [stdout] 73 | angle_backeted.args.iter_mut().for_each(|gen_arg| { [INFO] [stdout] ... [INFO] [stdout] 77 | }); [INFO] [stdout] 78 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/generate/util.rs:74:28 [INFO] [stdout] | [INFO] [stdout] 74 | if let syn::GenericArgument::Type(gen_ty) = &mut *gen_arg { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/generate/util.rs:76:25 [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] 74 ~ match &mut *gen_arg { syn::GenericArgument::Type(gen_ty) => { [INFO] [stdout] 75 | clear_all_type_lifetimes(gen_ty); [INFO] [stdout] 76 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/parse/attributes/doc_attr.rs:13:16 [INFO] [stdout] | [INFO] [stdout] 13 | if let Some(first_seg) = attr.path.segments.first() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^------------------^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/parse/attributes/doc_attr.rs:15:13 [INFO] [stdout] | [INFO] [stdout] 15 | } 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] 13 ~ match attr.path.segments.first() { Some(first_seg) => { [INFO] [stdout] 14 | first_seg.ident == ATTR_DOC [INFO] [stdout] 15 ~ } _ => { [INFO] [stdout] 16 | false [INFO] [stdout] 17 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/parse/attributes/doc_attr.rs:23:16 [INFO] [stdout] | [INFO] [stdout] 23 | if let Some(proc_macro2::TokenTree::Punct(punct)) = tokens_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/parse/attributes/doc_attr.rs:25:13 [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 ~ match tokens_iter.next() { Some(proc_macro2::TokenTree::Punct(punct)) => { [INFO] [stdout] 24 | assert_eq!(punct.as_char(), '='); [INFO] [stdout] 25 ~ } _ => { [INFO] [stdout] 26 | panic!("malformed doc attribute"); [INFO] [stdout] 27 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/parse/attributes/doc_attr.rs:29:16 [INFO] [stdout] | [INFO] [stdout] 29 | if let Some(proc_macro2::TokenTree::Literal(lit)) = tokens_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/parse/attributes/doc_attr.rs:47:13 [INFO] [stdout] | [INFO] [stdout] 47 | } 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 tokens_iter.next() { Some(proc_macro2::TokenTree::Literal(lit)) => { [INFO] [stdout] 30 | let lit_str = lit.to_string(); [INFO] [stdout] ... [INFO] [stdout] 46 | message_slice.replace("\\\"", "\"").replace("\\'", "'") [INFO] [stdout] 47 ~ } _ => { [INFO] [stdout] 48 | panic!("malformed doc attribute"); [INFO] [stdout] 49 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/parse/attributes/payable_attr.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | if let Some(first_seg) = attr.path.segments.first() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^------------------^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/parse/attributes/payable_attr.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | } 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] 9 ~ match attr.path.segments.first() { Some(first_seg) => { [INFO] [stdout] 10 | if first_seg.ident == ATTR_PAYABLE { [INFO] [stdout] ... [INFO] [stdout] 16 | } [INFO] [stdout] 17 ~ } _ => { [INFO] [stdout] 18 | None [INFO] [stdout] 19 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/parse/attributes/util.rs:50:8 [INFO] [stdout] | [INFO] [stdout] 50 | if let Some(first_seg) = attr.path.segments.first() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^------------------^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/parse/attributes/util.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 56 | } 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] 50 ~ match attr.path.segments.first() { Some(first_seg) => { [INFO] [stdout] 51 | if first_seg.ident == attr_name { [INFO] [stdout] ... [INFO] [stdout] 55 | } [INFO] [stdout] 56 ~ } _ => { [INFO] [stdout] 57 | None [INFO] [stdout] 58 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/parse/attributes/util.rs:90:8 [INFO] [stdout] | [INFO] [stdout] 90 | if let Some(first_seg) = attr.path.segments.first() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^------------------^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/parse/attributes/util.rs:96:5 [INFO] [stdout] | [INFO] [stdout] 96 | } 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] 90 ~ match attr.path.segments.first() { Some(first_seg) => { [INFO] [stdout] 91 | if first_seg.ident == attr_name { [INFO] [stdout] ... [INFO] [stdout] 95 | } [INFO] [stdout] 96 ~ } _ => { [INFO] [stdout] 97 | None [INFO] [stdout] 98 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/parse/method_parse.rs:28:29 [INFO] [stdout] | [INFO] [stdout] 28 | let implementation = if let Some(body) = m.default.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/parse/method_parse.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | } 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] 28 ~ let implementation = match m.default.clone() { Some(body) => { [INFO] [stdout] 29 | MethodImpl::Explicit(body) [INFO] [stdout] 30 ~ } _ => { [INFO] [stdout] 31 | MethodImpl::NoImplementation [INFO] [stdout] 32 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/parse/supertrait_parse.rs:13:16 [INFO] [stdout] | [INFO] [stdout] 13 | if let Some((leading_segments, last_segment)) = split_path_last(&t.path) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/parse/supertrait_parse.rs:23:13 [INFO] [stdout] | [INFO] [stdout] 23 | } 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] 13 ~ match split_path_last(&t.path) { Some((leading_segments, last_segment)) => { [INFO] [stdout] 14 | assert!( [INFO] [stdout] ... [INFO] [stdout] 22 | } [INFO] [stdout] 23 ~ } _ => { [INFO] [stdout] 24 | panic!("All contract module supertraits must be specfied with some module specifier (e.g. `path::to::module::ContractName`)"); [INFO] [stdout] 25 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/preprocessing/substitution_algorithm.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 28 | if let Some(tt) = tt_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/preprocessing/substitution_algorithm.rs:41:9 [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] 28 ~ match tt_iter.next() { Some(tt) => { [INFO] [stdout] 29 | match tt { [INFO] [stdout] ... [INFO] [stdout] 40 | } [INFO] [stdout] 41 ~ } _ => { [INFO] [stdout] 42 | break; [INFO] [stdout] 43 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/type_abi_derive.rs:7:29 [INFO] [stdout] | [INFO] [stdout] 7 | let field_name_str = if let Some(ident) = &field.ident { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/type_abi_derive.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | } 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] 7 ~ let field_name_str = match &field.ident { Some(ident) => { [INFO] [stdout] 8 | ident.to_string() [INFO] [stdout] 9 ~ } _ => { [INFO] [stdout] 10| index.to_string() [INFO] [stdout] 11~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/validate/validate_method.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | if let PublicRole::Endpoint(endpoint_metadata) = &m.public_role { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/validate/validate_method.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 20 ~ match &m.public_role { PublicRole::Endpoint(endpoint_metadata) => { [INFO] [stdout] 21 | let endpoint_name_str = endpoint_metadata.public_name.to_string(); [INFO] [stdout] ... [INFO] [stdout] 26 | assert!(!reserved::is_reserved(endpoint_name_str.as_str()), "Cannot declare endpoint with name '{endpoint_name_str}', because that name is reserved by the Arwen API."); [INFO] [stdout] 27 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/validate/validate_method.rs:86:8 [INFO] [stdout] | [INFO] [stdout] 86 | if let Some(payment_arg) = m.payment_amount_arg() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^---------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/validate/validate_method.rs:94:5 [INFO] [stdout] | [INFO] [stdout] 94 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 86 ~ match m.payment_amount_arg() { Some(payment_arg) => { [INFO] [stdout] 87 | match &payment_arg.ty { [INFO] [stdout] ... [INFO] [stdout] 93 | } [INFO] [stdout] 94 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 33 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `dharitri_sc_derive` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/generate/util.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/generate/util.rs:4:6 [INFO] [stderr] | [INFO] [stderr] 4 | ($ident:expr_2021, $fstr:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/generate/util.rs:4:24 [INFO] [stderr] | [INFO] [stderr] 4 | ($ident:expr_2021, $fstr:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/managed_vec_item_derive.rs:131:9 [INFO] [stdout] | [INFO] [stdout] 131 | let gen = 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] = note: `--force-warn keyword-idents-2024` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/managed_vec_item_derive.rs:158:5 [INFO] [stdout] | [INFO] [stdout] 158 | gen.into() [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/managed_vec_item_derive.rs:172:9 [INFO] [stdout] | [INFO] [stdout] 172 | let gen = 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] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/managed_vec_item_derive.rs:202:5 [INFO] [stdout] | [INFO] [stdout] 202 | gen.into() [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/generate/util.rs:4:13 [INFO] [stdout] | [INFO] [stdout] 4 | ($ident:expr, $fstr:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 4 | ($ident:expr_2021, $fstr:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/generate/util.rs:4:25 [INFO] [stdout] | [INFO] [stdout] 4 | ($ident:expr, $fstr:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 4 | ($ident:expr, $fstr:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `proxy_obj_name` is never read [INFO] [stdout] --> src/generate/auto_impl_proxy.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct ProxyGetterReturnType { [INFO] [stdout] | --------------------- field in this struct [INFO] [stdout] 12 | pub module_path: ProxyModulePath, [INFO] [stdout] 13 | pub proxy_obj_name: syn::PathSegment, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `auto_inheritance_modules` and `trait_attributes` are never read [INFO] [stdout] --> src/model/contract_trait.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct ContractTrait { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 13 | pub auto_inheritance_modules: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | pub trait_attributes: TraitProperties, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `trait_name` is never read [INFO] [stdout] --> src/model/supertrait.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Supertrait { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 8 | pub full_path: syn::Path, [INFO] [stdout] 9 | pub trait_name: syn::PathSegment, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Supertrait` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/format/format_args_macro.rs:18:28 [INFO] [stdout] | [INFO] [stdout] 18 | let format_string = if let proc_macro::TokenTree::Literal(lit) = format_string_token { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/format/format_args_macro.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | } 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] 18 ~ let format_string = match format_string_token { proc_macro::TokenTree::Literal(lit) => { [INFO] [stdout] 19 | lit.to_string() [INFO] [stdout] 20 ~ } _ => { [INFO] [stdout] 21 | panic!( [INFO] [stdout] 22 | "Formatting requires that the first argument is a string. Found: {format_string_token}" [INFO] [stdout] 23 | ); [INFO] [stdout] 24 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/generate/abi_gen.rs:152:16 [INFO] [stdout] | [INFO] [stdout] 152 | if let MethodImpl::Generated(AutoImpl::Event { identifier }) = &m.implementation { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/generate/abi_gen.rs:158:13 [INFO] [stdout] | [INFO] [stdout] 158 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 152 ~ match &m.implementation { MethodImpl::Generated(AutoImpl::Event { identifier }) => { [INFO] [stdout] 153 | let event_def = generate_event_snippet(m, identifier); [INFO] [stdout] ... [INFO] [stdout] 157 | }) [INFO] [stdout] 158 ~ } _ => { [INFO] [stdout] 159 | None [INFO] [stdout] 160 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/generate/auto_impl_proxy.rs:22:20 [INFO] [stdout] | [INFO] [stdout] 22 | if let Some((leading_segments, last_segment)) = split_path_last(&type_path.path) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/generate/auto_impl_proxy.rs:27:17 [INFO] [stdout] | [INFO] [stdout] 27 | } 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] 22 ~ match split_path_last(&type_path.path) { Some((leading_segments, last_segment)) => { [INFO] [stdout] 23 | ProxyGetterReturnType { [INFO] [stdout] ... [INFO] [stdout] 26 | } [INFO] [stdout] 27 ~ } _ => { [INFO] [stdout] 28 | panic!("Proxy getter return type must be specfied with some module specifier (e.g. `path::to::module::Proxy`)"); [INFO] [stdout] 29 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/generate/auto_impl_proxy.rs:67:16 [INFO] [stdout] | [INFO] [stdout] 67 | if let MethodImpl::Generated(AutoImpl::ProxyGetter) = &m.implementation { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/generate/auto_impl_proxy.rs:73:13 [INFO] [stdout] | [INFO] [stdout] 73 | } 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] 67 ~ match &m.implementation { MethodImpl::Generated(AutoImpl::ProxyGetter) => { [INFO] [stdout] 68 | let parsed_return_type = proxy_getter_return_type(m); [INFO] [stdout] ... [INFO] [stdout] 72 | }) [INFO] [stdout] 73 ~ } _ => { [INFO] [stdout] 74 | None [INFO] [stdout] 75 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/generate/callback_gen.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | if let Some(raw) = raw_decl { [INFO] [stdout] | ^^^^^^^^^^^^^^^^-------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/generate/callback_gen.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | } 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 ~ match raw_decl { Some(raw) => { [INFO] [stdout] 24 | let as_call_method = generate_endpoint_call_method_body(&raw); [INFO] [stdout] ... [INFO] [stdout] 35 | (cb_selector_body, cb_main_body) [INFO] [stdout] 36 ~ } _ => { [INFO] [stdout] 37 | let match_arms: Vec = match_arms(contract.methods.as_slice()); [INFO] [stdout] ... [INFO] [stdout] 60 | } [INFO] [stdout] 61 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/generate/callback_gen.rs:90:16 [INFO] [stdout] | [INFO] [stdout] 90 | if let PublicRole::Callback(callback) = &m.public_role { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/generate/callback_gen.rs:113:13 [INFO] [stdout] | [INFO] [stdout] 113 | } 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] 90 ~ match &m.public_role { PublicRole::Callback(callback) => { [INFO] [stdout] 91 | let payable_snippet = generate_payable_snippet(m); [INFO] [stdout] ... [INFO] [stdout] 112 | Some(match_arm) [INFO] [stdout] 113 ~ } _ => { [INFO] [stdout] 114 | None [INFO] [stdout] 115 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/generate/contract_gen.rs:12:16 [INFO] [stdout] | [INFO] [stdout] 12 | if let MethodImpl::Explicit(body) = &m.implementation { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/generate/contract_gen.rs:18:13 [INFO] [stdout] | [INFO] [stdout] 18 | } 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] 12 ~ match &m.implementation { MethodImpl::Explicit(body) => { [INFO] [stdout] 13 | let msig = method_gen::generate_sig_with_attributes(m); [INFO] [stdout] ... [INFO] [stdout] 17 | }) [INFO] [stdout] 18 ~ } _ => { [INFO] [stdout] 19 | None [INFO] [stdout] 20 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/generate/contract_gen.rs:46:16 [INFO] [stdout] | [INFO] [stdout] 46 | if let MethodImpl::Generated(_) = &m.implementation { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/generate/contract_gen.rs:49:13 [INFO] [stdout] | [INFO] [stdout] 49 | } 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] 46 ~ match &m.implementation { MethodImpl::Generated(_) => { [INFO] [stdout] 47 | let sig = method_gen::generate_sig_with_attributes(m); [INFO] [stdout] 48 | Some(quote! { #sig ; }) [INFO] [stdout] 49 ~ } _ => { [INFO] [stdout] 50 | None [INFO] [stdout] 51 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/generate/convert_to_owned_type.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | if let syn::Type::Slice(slice_type) = &*type_reference.elem { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 21 | } else if let syn::Type::Path(syn::TypePath { path, .. }) = &*type_reference.elem { [INFO] [stdout] | -------------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/generate/convert_to_owned_type.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | } else if let syn::Type::Path(syn::TypePath { path, .. }) = &*type_reference.elem { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/generate/convert_to_owned_type.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 30 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 15 ~ match &*type_reference.elem { syn::Type::Slice(slice_type) => { [INFO] [stdout] 16 | // deserialize as boxed slice, so we have an owned object that we can reference [INFO] [stdout] ... [INFO] [stdout] 20 | }; [INFO] [stdout] 21 ~ } _ => { match &*type_reference.elem { syn::Type::Path(syn::TypePath { path, .. }) => { [INFO] [stdout] 22 | if let Some(ident) = path.get_ident() { [INFO] [stdout] ... [INFO] [stdout] 29 | } [INFO] [stdout] 30 ~ } _ => {}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/generate/proxy_callback_gen.rs:67:16 [INFO] [stdout] | [INFO] [stdout] 67 | if let PublicRole::Callback(callback) | PublicRole::CallbackPromise(callback) = [INFO] [stdout] | ________________^ [INFO] [stdout] 68 | | &m.public_role [INFO] [stdout] | |__________________------------^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/generate/proxy_callback_gen.rs:71:13 [INFO] [stdout] | [INFO] [stdout] 71 | } 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] 67 ~ match &m.public_role [INFO] [stdout] 68 ~ { PublicRole::Callback(callback) | PublicRole::CallbackPromise(callback) => { [INFO] [stdout] 69 | Some(generate_callback_proxy_method(m, callback)) [INFO] [stdout] 70 ~ } _ => { [INFO] [stdout] 71 | None [INFO] [stdout] 72 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/generate/util.rs:71:20 [INFO] [stdout] | [INFO] [stdout] 71 | if let syn::PathArguments::AngleBracketed(angle_backeted) = &mut path_segm.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/generate/util.rs:78:17 [INFO] [stdout] | [INFO] [stdout] 78 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 71 ~ match &mut path_segm.arguments [INFO] [stdout] 72 ~ { syn::PathArguments::AngleBracketed(angle_backeted) => { [INFO] [stdout] 73 | angle_backeted.args.iter_mut().for_each(|gen_arg| { [INFO] [stdout] ... [INFO] [stdout] 77 | }); [INFO] [stdout] 78 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/generate/util.rs:74:28 [INFO] [stdout] | [INFO] [stdout] 74 | if let syn::GenericArgument::Type(gen_ty) = &mut *gen_arg { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/generate/util.rs:76:25 [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] 74 ~ match &mut *gen_arg { syn::GenericArgument::Type(gen_ty) => { [INFO] [stdout] 75 | clear_all_type_lifetimes(gen_ty); [INFO] [stdout] 76 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/parse/attributes/doc_attr.rs:13:16 [INFO] [stdout] | [INFO] [stdout] 13 | if let Some(first_seg) = attr.path.segments.first() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^------------------^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/parse/attributes/doc_attr.rs:15:13 [INFO] [stdout] | [INFO] [stdout] 15 | } 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] 13 ~ match attr.path.segments.first() { Some(first_seg) => { [INFO] [stdout] 14 | first_seg.ident == ATTR_DOC [INFO] [stdout] 15 ~ } _ => { [INFO] [stdout] 16 | false [INFO] [stdout] 17 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/parse/attributes/doc_attr.rs:23:16 [INFO] [stdout] | [INFO] [stdout] 23 | if let Some(proc_macro2::TokenTree::Punct(punct)) = tokens_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/parse/attributes/doc_attr.rs:25:13 [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 ~ match tokens_iter.next() { Some(proc_macro2::TokenTree::Punct(punct)) => { [INFO] [stdout] 24 | assert_eq!(punct.as_char(), '='); [INFO] [stdout] 25 ~ } _ => { [INFO] [stdout] 26 | panic!("malformed doc attribute"); [INFO] [stdout] 27 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/parse/attributes/doc_attr.rs:29:16 [INFO] [stdout] | [INFO] [stdout] 29 | if let Some(proc_macro2::TokenTree::Literal(lit)) = tokens_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/parse/attributes/doc_attr.rs:47:13 [INFO] [stdout] | [INFO] [stdout] 47 | } 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 tokens_iter.next() { Some(proc_macro2::TokenTree::Literal(lit)) => { [INFO] [stdout] 30 | let lit_str = lit.to_string(); [INFO] [stdout] ... [INFO] [stdout] 46 | message_slice.replace("\\\"", "\"").replace("\\'", "'") [INFO] [stdout] 47 ~ } _ => { [INFO] [stdout] 48 | panic!("malformed doc attribute"); [INFO] [stdout] 49 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/parse/attributes/payable_attr.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | if let Some(first_seg) = attr.path.segments.first() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^------------------^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/parse/attributes/payable_attr.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | } 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] 9 ~ match attr.path.segments.first() { Some(first_seg) => { [INFO] [stdout] 10 | if first_seg.ident == ATTR_PAYABLE { [INFO] [stdout] ... [INFO] [stdout] 16 | } [INFO] [stdout] 17 ~ } _ => { [INFO] [stdout] 18 | None [INFO] [stdout] 19 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/parse/attributes/util.rs:50:8 [INFO] [stdout] | [INFO] [stdout] 50 | if let Some(first_seg) = attr.path.segments.first() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^------------------^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/parse/attributes/util.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 56 | } 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] 50 ~ match attr.path.segments.first() { Some(first_seg) => { [INFO] [stdout] 51 | if first_seg.ident == attr_name { [INFO] [stdout] ... [INFO] [stdout] 55 | } [INFO] [stdout] 56 ~ } _ => { [INFO] [stdout] 57 | None [INFO] [stdout] 58 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/parse/attributes/util.rs:90:8 [INFO] [stdout] | [INFO] [stdout] 90 | if let Some(first_seg) = attr.path.segments.first() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^------------------^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/parse/attributes/util.rs:96:5 [INFO] [stdout] | [INFO] [stdout] 96 | } 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] 90 ~ match attr.path.segments.first() { Some(first_seg) => { [INFO] [stdout] 91 | if first_seg.ident == attr_name { [INFO] [stdout] ... [INFO] [stdout] 95 | } [INFO] [stdout] 96 ~ } _ => { [INFO] [stdout] 97 | None [INFO] [stdout] 98 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/parse/method_parse.rs:28:29 [INFO] [stdout] | [INFO] [stdout] 28 | let implementation = if let Some(body) = m.default.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/parse/method_parse.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | } 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] 28 ~ let implementation = match m.default.clone() { Some(body) => { [INFO] [stdout] 29 | MethodImpl::Explicit(body) [INFO] [stdout] 30 ~ } _ => { [INFO] [stdout] 31 | MethodImpl::NoImplementation [INFO] [stdout] 32 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/parse/supertrait_parse.rs:13:16 [INFO] [stdout] | [INFO] [stdout] 13 | if let Some((leading_segments, last_segment)) = split_path_last(&t.path) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/parse/supertrait_parse.rs:23:13 [INFO] [stdout] | [INFO] [stdout] 23 | } 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] 13 ~ match split_path_last(&t.path) { Some((leading_segments, last_segment)) => { [INFO] [stdout] 14 | assert!( [INFO] [stdout] ... [INFO] [stdout] 22 | } [INFO] [stdout] 23 ~ } _ => { [INFO] [stdout] 24 | panic!("All contract module supertraits must be specfied with some module specifier (e.g. `path::to::module::ContractName`)"); [INFO] [stdout] 25 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/preprocessing/substitution_algorithm.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 28 | if let Some(tt) = tt_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/preprocessing/substitution_algorithm.rs:41:9 [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] 28 ~ match tt_iter.next() { Some(tt) => { [INFO] [stdout] 29 | match tt { [INFO] [stdout] ... [INFO] [stdout] 40 | } [INFO] [stdout] 41 ~ } _ => { [INFO] [stdout] 42 | break; [INFO] [stdout] 43 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/type_abi_derive.rs:7:29 [INFO] [stdout] | [INFO] [stdout] 7 | let field_name_str = if let Some(ident) = &field.ident { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/type_abi_derive.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | } 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] 7 ~ let field_name_str = match &field.ident { Some(ident) => { [INFO] [stdout] 8 | ident.to_string() [INFO] [stdout] 9 ~ } _ => { [INFO] [stdout] 10| index.to_string() [INFO] [stdout] 11~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/validate/validate_method.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | if let PublicRole::Endpoint(endpoint_metadata) = &m.public_role { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/validate/validate_method.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 20 ~ match &m.public_role { PublicRole::Endpoint(endpoint_metadata) => { [INFO] [stdout] 21 | let endpoint_name_str = endpoint_metadata.public_name.to_string(); [INFO] [stdout] ... [INFO] [stdout] 26 | assert!(!reserved::is_reserved(endpoint_name_str.as_str()), "Cannot declare endpoint with name '{endpoint_name_str}', because that name is reserved by the Arwen API."); [INFO] [stdout] 27 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/validate/validate_method.rs:86:8 [INFO] [stdout] | [INFO] [stdout] 86 | if let Some(payment_arg) = m.payment_amount_arg() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^---------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/validate/validate_method.rs:94:5 [INFO] [stdout] | [INFO] [stdout] 94 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 86 ~ match m.payment_amount_arg() { Some(payment_arg) => { [INFO] [stdout] 87 | match &payment_arg.ty { [INFO] [stdout] ... [INFO] [stdout] 93 | } [INFO] [stdout] 94 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 33 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.72s [INFO] [stderr] Running `cargo check` to verify 2024 [INFO] [stderr] Checking dharitri-sc-derive v0.11.4 (/tmp/fixit) [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/managed_vec_item_derive.rs:131:9 [INFO] [stdout] | [INFO] [stdout] 131 | let gen = quote! { [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 131 | let r#gen = quote! { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/managed_vec_item_derive.rs:158:5 [INFO] [stdout] | [INFO] [stdout] 158 | gen.into() [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/managed_vec_item_derive.rs:172:9 [INFO] [stdout] | [INFO] [stdout] 172 | let gen = quote! { [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 172 | let r#gen = quote! { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/managed_vec_item_derive.rs:202:5 [INFO] [stdout] | [INFO] [stdout] 202 | gen.into() [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/managed_vec_item_derive.rs:131:9 [INFO] [stdout] | [INFO] [stdout] 131 | let gen = quote! { [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 131 | let r#gen = quote! { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/managed_vec_item_derive.rs:158:5 [INFO] [stdout] | [INFO] [stdout] 158 | gen.into() [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/managed_vec_item_derive.rs:172:9 [INFO] [stdout] | [INFO] [stdout] 172 | let gen = quote! { [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 172 | let r#gen = quote! { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/managed_vec_item_derive.rs:202:5 [INFO] [stdout] | [INFO] [stdout] 202 | gen.into() [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 4 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 4 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `dharitri-sc-derive` (lib test) due to 5 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: could not compile `dharitri-sc-derive` (lib) due to 5 previous errors [INFO] [stderr] error: failed to check after updating to 2024 [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `cargo check --frozen --all --all-targets --message-format=json` (exit status: 101) [INFO] running `Command { std: "docker" "inspect" "82349b72cca50385193db39b32b96cab6c36e57b654dd4f284ae687619e6d856", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "82349b72cca50385193db39b32b96cab6c36e57b654dd4f284ae687619e6d856", kill_on_drop: false }` [INFO] [stdout] 82349b72cca50385193db39b32b96cab6c36e57b654dd4f284ae687619e6d856