[INFO] fetching crate pyo3-macros-backend 0.22.3... [INFO] checking pyo3-macros-backend-0.22.3 against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] extracting crate pyo3-macros-backend 0.22.3 into /workspace/builds/worker-5-tc2/source [INFO] validating manifest of crates.io crate pyo3-macros-backend 0.22.3 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 pyo3-macros-backend 0.22.3 [INFO] finished tweaking crates.io crate pyo3-macros-backend 0.22.3 [INFO] tweaked toml for crates.io crate pyo3-macros-backend 0.22.3 written to /workspace/builds/worker-5-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 8 packages to latest compatible versions [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-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] 7dd6a0ac296a40e04e34151d1c2d1612d275fabaa5dd6e40b6c4ec317f0fe9d4 [INFO] running `Command { std: "docker" "start" "-a" "7dd6a0ac296a40e04e34151d1c2d1612d275fabaa5dd6e40b6c4ec317f0fe9d4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "7dd6a0ac296a40e04e34151d1c2d1612d275fabaa5dd6e40b6c4ec317f0fe9d4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7dd6a0ac296a40e04e34151d1c2d1612d275fabaa5dd6e40b6c4ec317f0fe9d4", kill_on_drop: false }` [INFO] [stdout] 7dd6a0ac296a40e04e34151d1c2d1612d275fabaa5dd6e40b6c4ec317f0fe9d4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] 9468daa1c7c10d10f05d1e0ca39b3e6adff5d85893e93bd0595d77dffaa5f076 [INFO] running `Command { std: "docker" "start" "-a" "9468daa1c7c10d10f05d1e0ca39b3e6adff5d85893e93bd0595d77dffaa5f076", 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 target-lexicon v0.12.16 [INFO] [stderr] Compiling proc-macro2 v1.0.86 [INFO] [stderr] Checking unicode-ident v1.0.13 [INFO] [stderr] Checking heck v0.5.0 [INFO] [stderr] Checking quote v1.0.37 [INFO] [stderr] Checking syn v2.0.77 [INFO] [stderr] Compiling pyo3-build-config v0.22.3 [INFO] [stderr] Compiling pyo3-macros-backend v0.22.3 (/tmp/fixit) [INFO] [stderr] Migrating build.rs from 2021 edition to 2024 [INFO] [stderr] Migrating src/lib.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `pyo3_macros_backend` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/utils.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/utils.rs:10:6 [INFO] [stderr] | [INFO] [stderr] 10 | ($span:expr_2021 => $msg:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/utils.rs:10:25 [INFO] [stderr] | [INFO] [stderr] 10 | ($span:expr_2021 => $msg:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/utils.rs:17:6 [INFO] [stderr] | [INFO] [stderr] 17 | ($span:expr_2021 => $msg:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/utils.rs:17:25 [INFO] [stderr] | [INFO] [stderr] 17 | ($span:expr_2021 => $msg:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/utils.rs:25:6 [INFO] [stderr] | [INFO] [stderr] 25 | ($condition:expr_2021, $span:expr_2021 => $msg:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/utils.rs:25:28 [INFO] [stderr] | [INFO] [stderr] 25 | ($condition:expr_2021, $span:expr_2021 => $msg:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/utils.rs:25:47 [INFO] [stderr] | [INFO] [stderr] 25 | ($condition:expr_2021, $span:expr_2021 => $msg:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/utils.rs:30:8 [INFO] [stderr] | [INFO] [stderr] 30 | ($($condition:expr_2021, $span:expr_2021 => $msg:expr_2021;)*) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/utils.rs:30:30 [INFO] [stderr] | [INFO] [stderr] 30 | ($($condition:expr_2021, $span:expr_2021 => $msg:expr_2021;)*) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/utils.rs:30:49 [INFO] [stderr] | [INFO] [stderr] 30 | ($($condition:expr_2021, $span:expr_2021 => $msg:expr_2021;)*) => { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error: aborting due to 10 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/pymethod.rs:1591:33 [INFO] [stdout] | [INFO] [stdout] 1591 | let Self(TokenGenerator(gen), ctx) = self; [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/pymethod.rs:1592:10 [INFO] [stdout] | [INFO] [stdout] 1592 | (gen)(ctx).to_tokens(tokens) [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/utils.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | ($span:expr => $msg:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = 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] 10 | ($span:expr_2021 => $msg: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/utils.rs:10:25 [INFO] [stdout] | [INFO] [stdout] 10 | ($span:expr => $msg:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 10 | ($span:expr => $msg:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/utils.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 17 | ($span:expr => $msg:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 17 | ($span:expr_2021 => $msg: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/utils.rs:17:25 [INFO] [stdout] | [INFO] [stdout] 17 | ($span:expr => $msg:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 17 | ($span:expr => $msg:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/utils.rs:25:17 [INFO] [stdout] | [INFO] [stdout] 25 | ($condition:expr, $span:expr => $msg:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 25 | ($condition:expr_2021, $span:expr => $msg: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/utils.rs:25:29 [INFO] [stdout] | [INFO] [stdout] 25 | ($condition:expr, $span:expr => $msg:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 25 | ($condition:expr, $span:expr_2021 => $msg: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/utils.rs:25:42 [INFO] [stdout] | [INFO] [stdout] 25 | ($condition:expr, $span:expr => $msg:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 25 | ($condition:expr, $span:expr => $msg:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/utils.rs:30:19 [INFO] [stdout] | [INFO] [stdout] 30 | ($($condition:expr, $span:expr => $msg:expr;)*) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 30 | ($($condition:expr_2021, $span:expr => $msg: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/utils.rs:30:31 [INFO] [stdout] | [INFO] [stdout] 30 | ($($condition:expr, $span:expr => $msg:expr;)*) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 30 | ($($condition:expr, $span:expr_2021 => $msg: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/utils.rs:30:44 [INFO] [stdout] | [INFO] [stdout] 30 | ($($condition:expr, $span:expr => $msg:expr;)*) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 30 | ($($condition:expr, $span:expr => $msg:expr_2021;)*) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils.rs:62:12 [INFO] [stdout] | [INFO] [stdout] 62 | if let syn::PathArguments::AngleBracketed(params) = &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/utils.rs:66:9 [INFO] [stdout] | [INFO] [stdout] 66 | } [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] 62 ~ match &seg.arguments { syn::PathArguments::AngleBracketed(params) => { [INFO] [stdout] 63 | if let syn::GenericArgument::Type(ty) = params.args.first()? { [INFO] [stdout] 64 | return Some(ty); [INFO] [stdout] 65 | } [INFO] [stdout] 66 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils.rs:63:16 [INFO] [stdout] | [INFO] [stdout] 63 | if let syn::GenericArgument::Type(ty) = params.args.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/utils.rs:65:13 [INFO] [stdout] | [INFO] [stdout] 65 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 63 ~ match params.args.first()? { syn::GenericArgument::Type(ty) => { [INFO] [stdout] 64 | return Some(ty); [INFO] [stdout] 65 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils.rs:148:16 [INFO] [stdout] | [INFO] [stdout] 148 | if let Ok(nv) = attr.meta.require_name_value() { [INFO] [stdout] | ^^^^^^^^^^^^^---------^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/utils.rs:170:13 [INFO] [stdout] | [INFO] [stdout] 170 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 148 ~ match attr.meta.require_name_value() { Ok(nv) => { [INFO] [stdout] 149 | if !first { [INFO] [stdout] ... [INFO] [stdout] 169 | } [INFO] [stdout] 170 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils.rs:154:20 [INFO] [stdout] | [INFO] [stdout] 154 | if let syn::Expr::Lit(syn::ExprLit { [INFO] [stdout] | ____________________^ [INFO] [stdout] 155 | | lit: syn::Lit::Str(lit_str), [INFO] [stdout] 156 | | .. [INFO] [stdout] 157 | | }) = &nv.value [INFO] [stdout] | |_______________________-------^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/utils.rs:163:17 [INFO] [stdout] | [INFO] [stdout] 163 | } 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] 154 ~ match &nv.value [INFO] [stdout] 155 ~ { syn::Expr::Lit(syn::ExprLit { [INFO] [stdout] 156 + lit: syn::Lit::Str(lit_str), [INFO] [stdout] 157 + .. [INFO] [stdout] 158 ~ }) => { [INFO] [stdout] 159 | // Strip single left space from literal strings, if needed. [INFO] [stdout] ... [INFO] [stdout] 162 | current_part.push_str(doc_line.strip_prefix(' ').unwrap_or(&doc_line)); [INFO] [stdout] 163 ~ } _ => { [INFO] [stdout] 164 | // This is probably a macro doc from Rust 1.54, e.g. #[doc = include_str!(...)] [INFO] [stdout] ... [INFO] [stdout] 168 | parts.push(nv.value.to_token_stream()); [INFO] [stdout] 169 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/attributes.rs:78:12 [INFO] [stdout] | [INFO] [stdout] 78 | if let Ok(ident) = string_literal.parse_with(Ident::parse_any) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/attributes.rs:80:9 [INFO] [stdout] | [INFO] [stdout] 80 | } 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] 78 ~ match string_literal.parse_with(Ident::parse_any) { Ok(ident) => { [INFO] [stdout] 79 | Ok(NameLitStr(ident)) [INFO] [stdout] 80 ~ } _ => { [INFO] [stdout] 81 | bail_spanned!(string_literal.span() => "expected a single identifier in double quotes") [INFO] [stdout] 82 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/attributes.rs:239:12 [INFO] [stdout] | [INFO] [stdout] 239 | if let Some(options) = get_pyo3_options(attr)? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^----------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/attributes.rs:242:9 [INFO] [stdout] | [INFO] [stdout] 242 | } 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] 239 ~ match get_pyo3_options(attr)? { Some(options) => { [INFO] [stdout] 240 | out.extend(options); [INFO] [stdout] 241 | Ok(true) [INFO] [stdout] 242 ~ } _ => { [INFO] [stdout] 243 | Ok(false) [INFO] [stdout] 244 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/frompyobject.rs:182:32 [INFO] [stdout] | [INFO] [stdout] 182 | ... if let Some(replaced) = attrs.getter.replace(FieldGetter::GetItem(None)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^------------------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/frompyobject.rs:193:29 [INFO] [stdout] | [INFO] [stdout] 193 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 182 ~ match attrs.getter.replace(FieldGetter::GetItem(None)) [INFO] [stdout] 183 ~ { Some(replaced) => { [INFO] [stdout] 184 | match replaced { [INFO] [stdout] ... [INFO] [stdout] 192 | } [INFO] [stdout] 193 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/frompyobject.rs:498:16 [INFO] [stdout] | [INFO] [stdout] 498 | if let Some(pyo3_attrs) = get_pyo3_options(attr)? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^----------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/frompyobject.rs:531:13 [INFO] [stdout] | [INFO] [stdout] 531 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 498 ~ match get_pyo3_options(attr)? { Some(pyo3_attrs) => { [INFO] [stdout] 499 | for pyo3_attr in pyo3_attrs { [INFO] [stdout] ... [INFO] [stdout] 530 | } [INFO] [stdout] 531 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/frompyobject.rs:609:16 [INFO] [stdout] | [INFO] [stdout] 609 | if let Some(pyo3_attrs) = get_pyo3_options(attr)? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^----------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/frompyobject.rs:628:13 [INFO] [stdout] | [INFO] [stdout] 628 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 609 ~ match get_pyo3_options(attr)? { Some(pyo3_attrs) => { [INFO] [stdout] 610 | for pyo3_attr in pyo3_attrs { [INFO] [stdout] ... [INFO] [stdout] 627 | } [INFO] [stdout] 628 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/konst.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 24 | if let Some(name) = &self.attributes.name { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^-------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/konst.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | } 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] 24 ~ match &self.attributes.name { Some(name) => { [INFO] [stdout] 25 | Cow::Borrowed(&name.value.0) [INFO] [stdout] 26 ~ } _ => { [INFO] [stdout] 27 | Cow::Owned(self.rust_ident.unraw()) [INFO] [stdout] 28 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/konst.rs:75:23 [INFO] [stdout] | [INFO] [stdout] 75 | } else if let Some(pyo3_attributes) = get_pyo3_options(attr)? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/konst.rs:82:13 [INFO] [stdout] | [INFO] [stdout] 82 | } 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] 75 ~ } else { match get_pyo3_options(attr)? { Some(pyo3_attributes) => { [INFO] [stdout] 76 | for pyo3_attr in pyo3_attributes { [INFO] [stdout] ... [INFO] [stdout] 81 | Ok(true) [INFO] [stdout] 82 ~ } _ => { [INFO] [stdout] 83 | Ok(false) [INFO] [stdout] 84 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/method.rs:475:28 [INFO] [stdout] | [INFO] [stdout] 475 | let signature = if let Some(signature) = signature { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^--------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/method.rs:477:9 [INFO] [stdout] | [INFO] [stdout] 477 | } 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] 475 ~ let signature = match signature { Some(signature) => { [INFO] [stdout] 476 | FunctionSignature::from_arguments_and_attribute(arguments, signature)? [INFO] [stdout] 477 ~ } _ => { [INFO] [stdout] 478 | FunctionSignature::from_arguments(arguments)? [INFO] [stdout] 479 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/method.rs:567:20 [INFO] [stdout] | [INFO] [stdout] 567 | if let Some(name) = name.take() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/method.rs:572:17 [INFO] [stdout] | [INFO] [stdout] 572 | } else if python_name.is_none() { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 567 ~ match name.take() { Some(name) => { [INFO] [stdout] 568 | ensure_spanned!( [INFO] [stdout] ... [INFO] [stdout] 571 | ); [INFO] [stdout] 572 ~ } _ => if python_name.is_none() { [INFO] [stdout] 573 | // Strip off "get_" prefix if needed [INFO] [stdout] 574 | *python_name = strip_fn_name("get_"); [INFO] [stdout] 575 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/method.rs:580:20 [INFO] [stdout] | [INFO] [stdout] 580 | if let Some(name) = name.take() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/method.rs:585:17 [INFO] [stdout] | [INFO] [stdout] 585 | } else if python_name.is_none() { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 580 ~ match name.take() { Some(name) => { [INFO] [stdout] 581 | ensure_spanned!( [INFO] [stdout] ... [INFO] [stdout] 584 | ); [INFO] [stdout] 585 ~ } _ => if python_name.is_none() { [INFO] [stdout] 586 | // Strip off "set_" prefix if needed [INFO] [stdout] 587 | *python_name = strip_fn_name("set_"); [INFO] [stdout] 588 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/method.rs:716:23 [INFO] [stdout] | [INFO] [stdout] 716 | } else if let Some(self_arg) = self_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/method.rs:725:13 [INFO] [stdout] | [INFO] [stdout] 725 | } 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] 716 ~ } else { match self_arg() { Some(self_arg) => { [INFO] [stdout] 717 | let self_checker = holders.push_gil_refs_checker(self_arg.span()); [INFO] [stdout] ... [INFO] [stdout] 724 | } [INFO] [stdout] 725 ~ } _ => { [INFO] [stdout] 726 | quote! { function(#(#args),*) } [INFO] [stdout] 727 ~ }}}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/method.rs:685:28 [INFO] [stdout] | [INFO] [stdout] 685 | if let Some(self_arg) = self_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/method.rs:694:25 [INFO] [stdout] | [INFO] [stdout] 694 | } 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] 685 ~ match self_arg() { Some(self_arg) => { [INFO] [stdout] 686 | let self_checker = holders.push_gil_refs_checker(self_arg.span()); [INFO] [stdout] ... [INFO] [stdout] 693 | } [INFO] [stdout] 694 ~ } _ => { [INFO] [stdout] 695 | quote! { function(#(#args),*) } [INFO] [stdout] 696 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/method.rs:1026:24 [INFO] [stdout] | [INFO] [stdout] 1026 | if let Ok(name) = l.parse_args::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^---------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 1027 | Ok(Some(name)) [INFO] [stdout] 1028 | } else if let Ok(name) = l.parse_args::() { [INFO] [stdout] | ----------------------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/method.rs:1028:21 [INFO] [stdout] | [INFO] [stdout] 1028 | } else if let Ok(name) = l.parse_args::() { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/method.rs:1030:21 [INFO] [stdout] | [INFO] [stdout] 1030 | } 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] 1026 ~ match l.parse_args::() { Ok(name) => { [INFO] [stdout] 1027 | Ok(Some(name)) [INFO] [stdout] 1028 ~ } _ => { match l.parse_args::() { Ok(name) => { [INFO] [stdout] 1029 | name.parse().map(Some) [INFO] [stdout] 1030 ~ } _ => { [INFO] [stdout] 1031 | bail_spanned!(l.tokens.span() => "expected ident or string literal for property name"); [INFO] [stdout] 1032 ~ }}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/module.rs:103:24 [INFO] [stdout] | [INFO] [stdout] 103 | let full_name = if let Some(module) = &options.module { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^-------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/module.rs:105:5 [INFO] [stdout] | [INFO] [stdout] 105 | } 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] 103 ~ let full_name = match &options.module { Some(module) => { [INFO] [stdout] 104 | format!("{}.{}", module.value.value(), name) [INFO] [stdout] 105 ~ } _ => { [INFO] [stdout] 106 | name.to_string() [INFO] [stdout] 107 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/module.rs:397:20 [INFO] [stdout] | [INFO] [stdout] 397 | if let syn::Pat::Ident(pat_ident) = &*pat_type.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/module.rs:404:17 [INFO] [stdout] | [INFO] [stdout] 404 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 397 ~ match &*pat_type.pat { syn::Pat::Ident(pat_ident) => { [INFO] [stdout] 398 | let ident: &syn::Ident = &pat_ident.ident; [INFO] [stdout] ... [INFO] [stdout] 403 | ]); [INFO] [stdout] 404 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/module.rs:491:16 [INFO] [stdout] | [INFO] [stdout] 491 | if let Some(pyfn_args) = get_pyfn_attr(&mut func.attrs)? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/module.rs:504:13 [INFO] [stdout] | [INFO] [stdout] 504 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 491 ~ match get_pyfn_attr(&mut func.attrs)? { Some(pyfn_args) => { [INFO] [stdout] 492 | let module_name = pyfn_args.modname; [INFO] [stdout] ... [INFO] [stdout] 503 | stmts.extend(statements); [INFO] [stdout] 504 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/params.rs:349:15 [INFO] [stdout] | [INFO] [stdout] 349 | } else if let Some(default) = default { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/params.rs:362:5 [INFO] [stdout] | [INFO] [stdout] 362 | } 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] 349 ~ } else { match default { Some(default) => { [INFO] [stdout] 350 | let holder = holders.push_holder(arg.name.span()); [INFO] [stdout] ... [INFO] [stdout] 361 | } [INFO] [stdout] 362 ~ } _ => { [INFO] [stdout] 363 | let holder = holders.push_holder(arg.name.span()); [INFO] [stdout] ... [INFO] [stdout] 370 | } [INFO] [stdout] 371 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/params.rs:315:12 [INFO] [stdout] | [INFO] [stdout] 315 | if let Some(default) = default { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/params.rs:327:9 [INFO] [stdout] | [INFO] [stdout] 327 | } 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] 315 ~ match default { Some(default) => { [INFO] [stdout] 316 | quote_arg_span! { [INFO] [stdout] ... [INFO] [stdout] 326 | } [INFO] [stdout] 327 ~ } _ => { [INFO] [stdout] 328 | quote_arg_span! { [INFO] [stdout] ... [INFO] [stdout] 334 | } [INFO] [stdout] 335 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/pyclass.rs:463:8 [INFO] [stdout] | [INFO] [stdout] 463 | if let Some(extends) = &args.options.extends { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^-------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 464 | bail_spanned!(extends.span() => "enums can't extend from other classes"); [INFO] [stdout] 465 | } else if let Some(subclass) = &args.options.subclass { [INFO] [stdout] | ------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/pyclass.rs:465:5 [INFO] [stdout] | [INFO] [stdout] 465 | } else if let Some(subclass) = &args.options.subclass { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/pyclass.rs:467:5 [INFO] [stdout] | [INFO] [stdout] 467 | } else if enum_.variants.is_empty() { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 463 ~ match &args.options.extends { Some(extends) => { [INFO] [stdout] 464 | bail_spanned!(extends.span() => "enums can't extend from other classes"); [INFO] [stdout] 465 ~ } _ => { match &args.options.subclass { Some(subclass) => { [INFO] [stdout] 466 | bail_spanned!(subclass.span() => "enums can't be inherited by other classes"); [INFO] [stdout] 467 ~ } _ => if enum_.variants.is_empty() { [INFO] [stdout] 468 | bail_spanned!(enum_.brace_token.span.join() => "#[pyclass] can't be used on enums without any variants"); [INFO] [stdout] 469 ~ }}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/pyclass.rs:516:16 [INFO] [stdout] | [INFO] [stdout] 516 | if let Some(ident) = args [INFO] [stdout] | ________________^ - [INFO] [stdout] | |__________________________________| [INFO] [stdout] 517 | || .into_iter() [INFO] [stdout] 518 | || .filter_map(|ts| syn::parse2::(ts).ok()) [INFO] [stdout] 519 | || .find(is_numeric_type) [INFO] [stdout] | ||______________________________________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | |______________________________________| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/pyclass.rs:522:13 [INFO] [stdout] | [INFO] [stdout] 522 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 516 ~ match args [INFO] [stdout] 517 | .into_iter() [INFO] [stdout] 518 | .filter_map(|ts| syn::parse2::(ts).ok()) [INFO] [stdout] 519 | .find(is_numeric_type) [INFO] [stdout] 520 ~ { Some(ident) => { [INFO] [stdout] 521 | repr_type = ident; [INFO] [stdout] 522 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/pyclass.rs:634:20 [INFO] [stdout] | [INFO] [stdout] 634 | if let Some(attr) = &args.options.rename_all { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^----------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/pyclass.rs:637:17 [INFO] [stdout] | [INFO] [stdout] 637 | } 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] 634 ~ match &args.options.rename_all { Some(attr) => { [INFO] [stdout] 635 | let new_name = apply_renaming_rule(attr.value.rule, &name.to_string()); [INFO] [stdout] 636 | Cow::Owned(Ident::new(&new_name, Span::call_site())) [INFO] [stdout] 637 ~ } _ => { [INFO] [stdout] 638 | Cow::Owned(name) [INFO] [stdout] 639 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/pyclass.rs:1483:24 [INFO] [stdout] | [INFO] [stdout] 1483 | let signature = if let Some(constructor) = variant.options.constructor { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^--------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/pyclass.rs:1488:5 [INFO] [stdout] | [INFO] [stdout] 1488 | } 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] 1483 ~ let signature = match variant.options.constructor { Some(constructor) => { [INFO] [stdout] 1484 | crate::pyfunction::FunctionSignature::from_arguments_and_attribute( [INFO] [stdout] ... [INFO] [stdout] 1487 | )? [INFO] [stdout] 1488 ~ } _ => { [INFO] [stdout] 1489 | crate::pyfunction::FunctionSignature::from_arguments(args)? [INFO] [stdout] 1490 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/pyclass.rs:1538:24 [INFO] [stdout] | [INFO] [stdout] 1538 | let signature = if let Some(constructor) = variant.options.constructor { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^--------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/pyclass.rs:1543:5 [INFO] [stdout] | [INFO] [stdout] 1543 | } 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] 1538 ~ let signature = match variant.options.constructor { Some(constructor) => { [INFO] [stdout] 1539 | crate::pyfunction::FunctionSignature::from_arguments_and_attribute( [INFO] [stdout] ... [INFO] [stdout] 1542 | )? [INFO] [stdout] 1543 ~ } _ => { [INFO] [stdout] 1544 | crate::pyfunction::FunctionSignature::from_arguments(args)? [INFO] [stdout] 1545 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/pyclass.rs:1654:21 [INFO] [stdout] | [INFO] [stdout] 1654 | let module = if let Some(ModuleAttribute { value, .. }) = &attr.options.module { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/pyclass.rs:1656:5 [INFO] [stdout] | [INFO] [stdout] 1656 | } 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] 1654 ~ let module = match &attr.options.module { Some(ModuleAttribute { value, .. }) => { [INFO] [stdout] 1655 | quote! { ::core::option::Option::Some(#value) } [INFO] [stdout] 1656 ~ } _ => { [INFO] [stdout] 1657 | quote! { ::core::option::Option::None } [INFO] [stdout] 1658 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/pyfunction.rs:55:16 [INFO] [stdout] | [INFO] [stdout] 55 | if let Some(pyo3_attrs) = get_pyo3_options(attr)? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^----------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/pyfunction.rs:79:13 [INFO] [stdout] | [INFO] [stdout] 79 | } 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] 55 ~ match get_pyo3_options(attr)? { Some(pyo3_attrs) => { [INFO] [stdout] 56 | for attr in pyo3_attrs { [INFO] [stdout] ... [INFO] [stdout] 78 | Ok(true) [INFO] [stdout] 79 ~ } _ => { [INFO] [stdout] 80 | Ok(false) [INFO] [stdout] 81 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/pyfunction.rs:240:24 [INFO] [stdout] | [INFO] [stdout] 240 | let signature = if let Some(signature) = signature { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^--------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/pyfunction.rs:242:5 [INFO] [stdout] | [INFO] [stdout] 242 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 240 ~ let signature = match signature { Some(signature) => { [INFO] [stdout] 241 | FunctionSignature::from_arguments_and_attribute(arguments, signature)? [INFO] [stdout] 242 ~ } _ => { [INFO] [stdout] 243 | FunctionSignature::from_arguments(arguments)? [INFO] [stdout] 244 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/pyfunction/signature.rs:130:12 [INFO] [stdout] | [INFO] [stdout] 130 | if let Some((eq, default)) = &self.eq_and_default { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/pyfunction/signature.rs:133:9 [INFO] [stdout] | [INFO] [stdout] 133 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 130 ~ match &self.eq_and_default { Some((eq, default)) => { [INFO] [stdout] 131 | eq.to_tokens(tokens); [INFO] [stdout] 132 | default.to_tokens(tokens); [INFO] [stdout] 133 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/pyfunction/signature.rs:414:24 [INFO] [stdout] | [INFO] [stdout] 414 | if let Some((_, default)) = &arg.eq_and_default { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/pyfunction/signature.rs:424:21 [INFO] [stdout] | [INFO] [stdout] 424 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 414 ~ match &arg.eq_and_default { Some((_, default)) => { [INFO] [stdout] 415 | if let FnArg::Regular(arg) = fn_arg { [INFO] [stdout] ... [INFO] [stdout] 423 | } [INFO] [stdout] 424 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/pyimpl.rs:75:8 [INFO] [stdout] | [INFO] [stdout] 75 | if let Some((_, path, _)) = &ast.trait_ { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/pyimpl.rs:77:5 [INFO] [stdout] | [INFO] [stdout] 77 | } else if ast.generics != Default::default() { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 75 ~ match &ast.trait_ { Some((_, path, _)) => { [INFO] [stdout] 76 | bail_spanned!(path.span() => "#[pymethods] cannot be used on trait impl blocks"); [INFO] [stdout] 77 ~ } _ => if ast.generics != Default::default() { [INFO] [stdout] 78 | bail_spanned!( [INFO] [stdout] ... [INFO] [stdout] 84 | impl_methods(&ast.self_ty, &mut ast.items, methods_type, options) [INFO] [stdout] 85 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/pymethod.rs:580:16 [INFO] [stdout] | [INFO] [stdout] 580 | 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/pymethod.rs:583:13 [INFO] [stdout] | [INFO] [stdout] 583 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 580 ~ match &field.ident { Some(ident) => { [INFO] [stdout] 581 | // named struct field [INFO] [stdout] 582 | quote!({ #slf.#ident = _val; }) [INFO] [stdout] 583 ~ } _ => { [INFO] [stdout] 584 | // tuple struct field [INFO] [stdout] 585 | let index = syn::Index::from(field_index); [INFO] [stdout] 586 | quote!({ #slf.#index = _val; }) [INFO] [stdout] 587 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/pymethod.rs:776:28 [INFO] [stdout] | [INFO] [stdout] 776 | let field = 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/pymethod.rs:778:13 [INFO] [stdout] | [INFO] [stdout] 778 | } 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] 776 ~ let field = match &field.ident { Some(ident) => { [INFO] [stdout] 777 | ident.to_token_stream() [INFO] [stdout] 778 ~ } _ => { [INFO] [stdout] 779 | syn::Index::from(field_index).to_token_stream() [INFO] [stdout] 780 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 47 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `pyo3_macros_backend` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/utils.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/utils.rs:10:6 [INFO] [stderr] | [INFO] [stderr] 10 | ($span:expr_2021 => $msg:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/pymethod.rs:1591:33 [INFO] [stdout] | [INFO] [stdout] 1591 | let Self(TokenGenerator(gen), ctx) = self; [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] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/utils.rs:10:25 [INFO] [stderr] | [INFO] [stderr] 10 | ($span:expr_2021 => $msg:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/utils.rs:17:6 [INFO] [stderr] | [INFO] [stderr] 17 | ($span:expr_2021 => $msg:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/pymethod.rs:1592:10 [INFO] [stdout] | [INFO] [stdout] 1592 | (gen)(ctx).to_tokens(tokens) [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] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/utils.rs:17:25 [INFO] [stderr] | [INFO] [stderr] 17 | ($span:expr_2021 => $msg:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/utils.rs:25:6 [INFO] [stderr] | [INFO] [stderr] 25 | ($condition:expr_2021, $span:expr_2021 => $msg:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/utils.rs:25:28 [INFO] [stderr] | [INFO] [stderr] 25 | ($condition:expr_2021, $span:expr_2021 => $msg:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/utils.rs:25:47 [INFO] [stderr] | [INFO] [stderr] 25 | ($condition:expr_2021, $span:expr_2021 => $msg:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/utils.rs:30:8 [INFO] [stderr] | [INFO] [stderr] 30 | ($($condition:expr_2021, $span:expr_2021 => $msg:expr_2021;)*) => { [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/utils.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | ($span:expr => $msg:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = 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] 10 | ($span:expr_2021 => $msg:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/utils.rs:30:30 [INFO] [stderr] | [INFO] [stderr] 30 | ($($condition:expr_2021, $span:expr_2021 => $msg:expr_2021;)*) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/utils.rs:10:25 [INFO] [stdout] | [INFO] [stdout] 10 | ($span:expr => $msg:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 10 | ($span:expr => $msg:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/utils.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 17 | ($span:expr => $msg:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 17 | ($span:expr_2021 => $msg:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/utils.rs:17:25 [INFO] [stdout] | [INFO] [stdout] 17 | ($span:expr => $msg:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 17 | ($span:expr => $msg:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] --> src/utils.rs:30:49 [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/utils.rs:25:17 [INFO] [stdout] | [INFO] [stdout] 25 | ($condition:expr, $span:expr => $msg:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 25 | ($condition:expr_2021, $span:expr => $msg:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stderr] 30 | ($($condition:expr_2021, $span:expr_2021 => $msg:expr_2021;)*) => { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error: aborting due to 10 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: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/utils.rs:25:29 [INFO] [stdout] | [INFO] [stdout] 25 | ($condition:expr, $span:expr => $msg:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 25 | ($condition:expr, $span:expr_2021 => $msg: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/utils.rs:25:42 [INFO] [stdout] | [INFO] [stdout] 25 | ($condition:expr, $span:expr => $msg:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 25 | ($condition:expr, $span:expr => $msg:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/utils.rs:30:19 [INFO] [stdout] | [INFO] [stdout] 30 | ($($condition:expr, $span:expr => $msg:expr;)*) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 30 | ($($condition:expr_2021, $span:expr => $msg: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/utils.rs:30:31 [INFO] [stdout] | [INFO] [stdout] 30 | ($($condition:expr, $span:expr => $msg:expr;)*) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 30 | ($($condition:expr, $span:expr_2021 => $msg: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/utils.rs:30:44 [INFO] [stdout] | [INFO] [stdout] 30 | ($($condition:expr, $span:expr => $msg:expr;)*) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 30 | ($($condition:expr, $span:expr => $msg:expr_2021;)*) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils.rs:62:12 [INFO] [stdout] | [INFO] [stdout] 62 | if let syn::PathArguments::AngleBracketed(params) = &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/utils.rs:66:9 [INFO] [stdout] | [INFO] [stdout] 66 | } [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] 62 ~ match &seg.arguments { syn::PathArguments::AngleBracketed(params) => { [INFO] [stdout] 63 | if let syn::GenericArgument::Type(ty) = params.args.first()? { [INFO] [stdout] 64 | return Some(ty); [INFO] [stdout] 65 | } [INFO] [stdout] 66 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils.rs:63:16 [INFO] [stdout] | [INFO] [stdout] 63 | if let syn::GenericArgument::Type(ty) = params.args.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/utils.rs:65:13 [INFO] [stdout] | [INFO] [stdout] 65 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 63 ~ match params.args.first()? { syn::GenericArgument::Type(ty) => { [INFO] [stdout] 64 | return Some(ty); [INFO] [stdout] 65 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils.rs:148:16 [INFO] [stdout] | [INFO] [stdout] 148 | if let Ok(nv) = attr.meta.require_name_value() { [INFO] [stdout] | ^^^^^^^^^^^^^---------^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/utils.rs:170:13 [INFO] [stdout] | [INFO] [stdout] 170 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 148 ~ match attr.meta.require_name_value() { Ok(nv) => { [INFO] [stdout] 149 | if !first { [INFO] [stdout] ... [INFO] [stdout] 169 | } [INFO] [stdout] 170 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils.rs:154:20 [INFO] [stdout] | [INFO] [stdout] 154 | if let syn::Expr::Lit(syn::ExprLit { [INFO] [stdout] | ____________________^ [INFO] [stdout] 155 | | lit: syn::Lit::Str(lit_str), [INFO] [stdout] 156 | | .. [INFO] [stdout] 157 | | }) = &nv.value [INFO] [stdout] | |_______________________-------^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/utils.rs:163:17 [INFO] [stdout] | [INFO] [stdout] 163 | } 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] 154 ~ match &nv.value [INFO] [stdout] 155 ~ { syn::Expr::Lit(syn::ExprLit { [INFO] [stdout] 156 + lit: syn::Lit::Str(lit_str), [INFO] [stdout] 157 + .. [INFO] [stdout] 158 ~ }) => { [INFO] [stdout] 159 | // Strip single left space from literal strings, if needed. [INFO] [stdout] ... [INFO] [stdout] 162 | current_part.push_str(doc_line.strip_prefix(' ').unwrap_or(&doc_line)); [INFO] [stdout] 163 ~ } _ => { [INFO] [stdout] 164 | // This is probably a macro doc from Rust 1.54, e.g. #[doc = include_str!(...)] [INFO] [stdout] ... [INFO] [stdout] 168 | parts.push(nv.value.to_token_stream()); [INFO] [stdout] 169 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/attributes.rs:78:12 [INFO] [stdout] | [INFO] [stdout] 78 | if let Ok(ident) = string_literal.parse_with(Ident::parse_any) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/attributes.rs:80:9 [INFO] [stdout] | [INFO] [stdout] 80 | } 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] 78 ~ match string_literal.parse_with(Ident::parse_any) { Ok(ident) => { [INFO] [stdout] 79 | Ok(NameLitStr(ident)) [INFO] [stdout] 80 ~ } _ => { [INFO] [stdout] 81 | bail_spanned!(string_literal.span() => "expected a single identifier in double quotes") [INFO] [stdout] 82 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/attributes.rs:239:12 [INFO] [stdout] | [INFO] [stdout] 239 | if let Some(options) = get_pyo3_options(attr)? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^----------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/attributes.rs:242:9 [INFO] [stdout] | [INFO] [stdout] 242 | } 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] 239 ~ match get_pyo3_options(attr)? { Some(options) => { [INFO] [stdout] 240 | out.extend(options); [INFO] [stdout] 241 | Ok(true) [INFO] [stdout] 242 ~ } _ => { [INFO] [stdout] 243 | Ok(false) [INFO] [stdout] 244 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/frompyobject.rs:182:32 [INFO] [stdout] | [INFO] [stdout] 182 | ... if let Some(replaced) = attrs.getter.replace(FieldGetter::GetItem(None)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^------------------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/frompyobject.rs:193:29 [INFO] [stdout] | [INFO] [stdout] 193 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 182 ~ match attrs.getter.replace(FieldGetter::GetItem(None)) [INFO] [stdout] 183 ~ { Some(replaced) => { [INFO] [stdout] 184 | match replaced { [INFO] [stdout] ... [INFO] [stdout] 192 | } [INFO] [stdout] 193 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/frompyobject.rs:498:16 [INFO] [stdout] | [INFO] [stdout] 498 | if let Some(pyo3_attrs) = get_pyo3_options(attr)? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^----------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/frompyobject.rs:531:13 [INFO] [stdout] | [INFO] [stdout] 531 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 498 ~ match get_pyo3_options(attr)? { Some(pyo3_attrs) => { [INFO] [stdout] 499 | for pyo3_attr in pyo3_attrs { [INFO] [stdout] ... [INFO] [stdout] 530 | } [INFO] [stdout] 531 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/frompyobject.rs:609:16 [INFO] [stdout] | [INFO] [stdout] 609 | if let Some(pyo3_attrs) = get_pyo3_options(attr)? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^----------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/frompyobject.rs:628:13 [INFO] [stdout] | [INFO] [stdout] 628 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 609 ~ match get_pyo3_options(attr)? { Some(pyo3_attrs) => { [INFO] [stdout] 610 | for pyo3_attr in pyo3_attrs { [INFO] [stdout] ... [INFO] [stdout] 627 | } [INFO] [stdout] 628 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/konst.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 24 | if let Some(name) = &self.attributes.name { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^-------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/konst.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | } 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] 24 ~ match &self.attributes.name { Some(name) => { [INFO] [stdout] 25 | Cow::Borrowed(&name.value.0) [INFO] [stdout] 26 ~ } _ => { [INFO] [stdout] 27 | Cow::Owned(self.rust_ident.unraw()) [INFO] [stdout] 28 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/konst.rs:75:23 [INFO] [stdout] | [INFO] [stdout] 75 | } else if let Some(pyo3_attributes) = get_pyo3_options(attr)? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/konst.rs:82:13 [INFO] [stdout] | [INFO] [stdout] 82 | } 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] 75 ~ } else { match get_pyo3_options(attr)? { Some(pyo3_attributes) => { [INFO] [stdout] 76 | for pyo3_attr in pyo3_attributes { [INFO] [stdout] ... [INFO] [stdout] 81 | Ok(true) [INFO] [stdout] 82 ~ } _ => { [INFO] [stdout] 83 | Ok(false) [INFO] [stdout] 84 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/method.rs:475:28 [INFO] [stdout] | [INFO] [stdout] 475 | let signature = if let Some(signature) = signature { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^--------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/method.rs:477:9 [INFO] [stdout] | [INFO] [stdout] 477 | } 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] 475 ~ let signature = match signature { Some(signature) => { [INFO] [stdout] 476 | FunctionSignature::from_arguments_and_attribute(arguments, signature)? [INFO] [stdout] 477 ~ } _ => { [INFO] [stdout] 478 | FunctionSignature::from_arguments(arguments)? [INFO] [stdout] 479 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/method.rs:567:20 [INFO] [stdout] | [INFO] [stdout] 567 | if let Some(name) = name.take() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/method.rs:572:17 [INFO] [stdout] | [INFO] [stdout] 572 | } else if python_name.is_none() { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 567 ~ match name.take() { Some(name) => { [INFO] [stdout] 568 | ensure_spanned!( [INFO] [stdout] ... [INFO] [stdout] 571 | ); [INFO] [stdout] 572 ~ } _ => if python_name.is_none() { [INFO] [stdout] 573 | // Strip off "get_" prefix if needed [INFO] [stdout] 574 | *python_name = strip_fn_name("get_"); [INFO] [stdout] 575 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/method.rs:580:20 [INFO] [stdout] | [INFO] [stdout] 580 | if let Some(name) = name.take() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/method.rs:585:17 [INFO] [stdout] | [INFO] [stdout] 585 | } else if python_name.is_none() { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 580 ~ match name.take() { Some(name) => { [INFO] [stdout] 581 | ensure_spanned!( [INFO] [stdout] ... [INFO] [stdout] 584 | ); [INFO] [stdout] 585 ~ } _ => if python_name.is_none() { [INFO] [stdout] 586 | // Strip off "set_" prefix if needed [INFO] [stdout] 587 | *python_name = strip_fn_name("set_"); [INFO] [stdout] 588 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/method.rs:716:23 [INFO] [stdout] | [INFO] [stdout] 716 | } else if let Some(self_arg) = self_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/method.rs:725:13 [INFO] [stdout] | [INFO] [stdout] 725 | } 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] 716 ~ } else { match self_arg() { Some(self_arg) => { [INFO] [stdout] 717 | let self_checker = holders.push_gil_refs_checker(self_arg.span()); [INFO] [stdout] ... [INFO] [stdout] 724 | } [INFO] [stdout] 725 ~ } _ => { [INFO] [stdout] 726 | quote! { function(#(#args),*) } [INFO] [stdout] 727 ~ }}}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/method.rs:685:28 [INFO] [stdout] | [INFO] [stdout] 685 | if let Some(self_arg) = self_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/method.rs:694:25 [INFO] [stdout] | [INFO] [stdout] 694 | } 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] 685 ~ match self_arg() { Some(self_arg) => { [INFO] [stdout] 686 | let self_checker = holders.push_gil_refs_checker(self_arg.span()); [INFO] [stdout] ... [INFO] [stdout] 693 | } [INFO] [stdout] 694 ~ } _ => { [INFO] [stdout] 695 | quote! { function(#(#args),*) } [INFO] [stdout] 696 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/method.rs:1026:24 [INFO] [stdout] | [INFO] [stdout] 1026 | if let Ok(name) = l.parse_args::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^---------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 1027 | Ok(Some(name)) [INFO] [stdout] 1028 | } else if let Ok(name) = l.parse_args::() { [INFO] [stdout] | ----------------------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/method.rs:1028:21 [INFO] [stdout] | [INFO] [stdout] 1028 | } else if let Ok(name) = l.parse_args::() { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/method.rs:1030:21 [INFO] [stdout] | [INFO] [stdout] 1030 | } 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] 1026 ~ match l.parse_args::() { Ok(name) => { [INFO] [stdout] 1027 | Ok(Some(name)) [INFO] [stdout] 1028 ~ } _ => { match l.parse_args::() { Ok(name) => { [INFO] [stdout] 1029 | name.parse().map(Some) [INFO] [stdout] 1030 ~ } _ => { [INFO] [stdout] 1031 | bail_spanned!(l.tokens.span() => "expected ident or string literal for property name"); [INFO] [stdout] 1032 ~ }}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/module.rs:103:24 [INFO] [stdout] | [INFO] [stdout] 103 | let full_name = if let Some(module) = &options.module { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^-------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/module.rs:105:5 [INFO] [stdout] | [INFO] [stdout] 105 | } 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] 103 ~ let full_name = match &options.module { Some(module) => { [INFO] [stdout] 104 | format!("{}.{}", module.value.value(), name) [INFO] [stdout] 105 ~ } _ => { [INFO] [stdout] 106 | name.to_string() [INFO] [stdout] 107 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/module.rs:397:20 [INFO] [stdout] | [INFO] [stdout] 397 | if let syn::Pat::Ident(pat_ident) = &*pat_type.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/module.rs:404:17 [INFO] [stdout] | [INFO] [stdout] 404 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 397 ~ match &*pat_type.pat { syn::Pat::Ident(pat_ident) => { [INFO] [stdout] 398 | let ident: &syn::Ident = &pat_ident.ident; [INFO] [stdout] ... [INFO] [stdout] 403 | ]); [INFO] [stdout] 404 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/module.rs:491:16 [INFO] [stdout] | [INFO] [stdout] 491 | if let Some(pyfn_args) = get_pyfn_attr(&mut func.attrs)? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/module.rs:504:13 [INFO] [stdout] | [INFO] [stdout] 504 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 491 ~ match get_pyfn_attr(&mut func.attrs)? { Some(pyfn_args) => { [INFO] [stdout] 492 | let module_name = pyfn_args.modname; [INFO] [stdout] ... [INFO] [stdout] 503 | stmts.extend(statements); [INFO] [stdout] 504 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/params.rs:349:15 [INFO] [stdout] | [INFO] [stdout] 349 | } else if let Some(default) = default { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/params.rs:362:5 [INFO] [stdout] | [INFO] [stdout] 362 | } 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] 349 ~ } else { match default { Some(default) => { [INFO] [stdout] 350 | let holder = holders.push_holder(arg.name.span()); [INFO] [stdout] ... [INFO] [stdout] 361 | } [INFO] [stdout] 362 ~ } _ => { [INFO] [stdout] 363 | let holder = holders.push_holder(arg.name.span()); [INFO] [stdout] ... [INFO] [stdout] 370 | } [INFO] [stdout] 371 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/params.rs:315:12 [INFO] [stdout] | [INFO] [stdout] 315 | if let Some(default) = default { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/params.rs:327:9 [INFO] [stdout] | [INFO] [stdout] 327 | } 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] 315 ~ match default { Some(default) => { [INFO] [stdout] 316 | quote_arg_span! { [INFO] [stdout] ... [INFO] [stdout] 326 | } [INFO] [stdout] 327 ~ } _ => { [INFO] [stdout] 328 | quote_arg_span! { [INFO] [stdout] ... [INFO] [stdout] 334 | } [INFO] [stdout] 335 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/pyclass.rs:463:8 [INFO] [stdout] | [INFO] [stdout] 463 | if let Some(extends) = &args.options.extends { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^-------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 464 | bail_spanned!(extends.span() => "enums can't extend from other classes"); [INFO] [stdout] 465 | } else if let Some(subclass) = &args.options.subclass { [INFO] [stdout] | ------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/pyclass.rs:465:5 [INFO] [stdout] | [INFO] [stdout] 465 | } else if let Some(subclass) = &args.options.subclass { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/pyclass.rs:467:5 [INFO] [stdout] | [INFO] [stdout] 467 | } else if enum_.variants.is_empty() { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 463 ~ match &args.options.extends { Some(extends) => { [INFO] [stdout] 464 | bail_spanned!(extends.span() => "enums can't extend from other classes"); [INFO] [stdout] 465 ~ } _ => { match &args.options.subclass { Some(subclass) => { [INFO] [stdout] 466 | bail_spanned!(subclass.span() => "enums can't be inherited by other classes"); [INFO] [stdout] 467 ~ } _ => if enum_.variants.is_empty() { [INFO] [stdout] 468 | bail_spanned!(enum_.brace_token.span.join() => "#[pyclass] can't be used on enums without any variants"); [INFO] [stdout] 469 ~ }}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/pyclass.rs:516:16 [INFO] [stdout] | [INFO] [stdout] 516 | if let Some(ident) = args [INFO] [stdout] | ________________^ - [INFO] [stdout] | |__________________________________| [INFO] [stdout] 517 | || .into_iter() [INFO] [stdout] 518 | || .filter_map(|ts| syn::parse2::(ts).ok()) [INFO] [stdout] 519 | || .find(is_numeric_type) [INFO] [stdout] | ||______________________________________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | |______________________________________| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/pyclass.rs:522:13 [INFO] [stdout] | [INFO] [stdout] 522 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 516 ~ match args [INFO] [stdout] 517 | .into_iter() [INFO] [stdout] 518 | .filter_map(|ts| syn::parse2::(ts).ok()) [INFO] [stdout] 519 | .find(is_numeric_type) [INFO] [stdout] 520 ~ { Some(ident) => { [INFO] [stdout] 521 | repr_type = ident; [INFO] [stdout] 522 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/pyclass.rs:634:20 [INFO] [stdout] | [INFO] [stdout] 634 | if let Some(attr) = &args.options.rename_all { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^----------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/pyclass.rs:637:17 [INFO] [stdout] | [INFO] [stdout] 637 | } 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] 634 ~ match &args.options.rename_all { Some(attr) => { [INFO] [stdout] 635 | let new_name = apply_renaming_rule(attr.value.rule, &name.to_string()); [INFO] [stdout] 636 | Cow::Owned(Ident::new(&new_name, Span::call_site())) [INFO] [stdout] 637 ~ } _ => { [INFO] [stdout] 638 | Cow::Owned(name) [INFO] [stdout] 639 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/pyclass.rs:1483:24 [INFO] [stdout] | [INFO] [stdout] 1483 | let signature = if let Some(constructor) = variant.options.constructor { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^--------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/pyclass.rs:1488:5 [INFO] [stdout] | [INFO] [stdout] 1488 | } 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] 1483 ~ let signature = match variant.options.constructor { Some(constructor) => { [INFO] [stdout] 1484 | crate::pyfunction::FunctionSignature::from_arguments_and_attribute( [INFO] [stdout] ... [INFO] [stdout] 1487 | )? [INFO] [stdout] 1488 ~ } _ => { [INFO] [stdout] 1489 | crate::pyfunction::FunctionSignature::from_arguments(args)? [INFO] [stdout] 1490 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/pyclass.rs:1538:24 [INFO] [stdout] | [INFO] [stdout] 1538 | let signature = if let Some(constructor) = variant.options.constructor { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^--------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/pyclass.rs:1543:5 [INFO] [stdout] | [INFO] [stdout] 1543 | } 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] 1538 ~ let signature = match variant.options.constructor { Some(constructor) => { [INFO] [stdout] 1539 | crate::pyfunction::FunctionSignature::from_arguments_and_attribute( [INFO] [stdout] ... [INFO] [stdout] 1542 | )? [INFO] [stdout] 1543 ~ } _ => { [INFO] [stdout] 1544 | crate::pyfunction::FunctionSignature::from_arguments(args)? [INFO] [stdout] 1545 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/pyclass.rs:1654:21 [INFO] [stdout] | [INFO] [stdout] 1654 | let module = if let Some(ModuleAttribute { value, .. }) = &attr.options.module { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/pyclass.rs:1656:5 [INFO] [stdout] | [INFO] [stdout] 1656 | } 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] 1654 ~ let module = match &attr.options.module { Some(ModuleAttribute { value, .. }) => { [INFO] [stdout] 1655 | quote! { ::core::option::Option::Some(#value) } [INFO] [stdout] 1656 ~ } _ => { [INFO] [stdout] 1657 | quote! { ::core::option::Option::None } [INFO] [stdout] 1658 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/pyfunction.rs:55:16 [INFO] [stdout] | [INFO] [stdout] 55 | if let Some(pyo3_attrs) = get_pyo3_options(attr)? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^----------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/pyfunction.rs:79:13 [INFO] [stdout] | [INFO] [stdout] 79 | } 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] 55 ~ match get_pyo3_options(attr)? { Some(pyo3_attrs) => { [INFO] [stdout] 56 | for attr in pyo3_attrs { [INFO] [stdout] ... [INFO] [stdout] 78 | Ok(true) [INFO] [stdout] 79 ~ } _ => { [INFO] [stdout] 80 | Ok(false) [INFO] [stdout] 81 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/pyfunction.rs:240:24 [INFO] [stdout] | [INFO] [stdout] 240 | let signature = if let Some(signature) = signature { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^--------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/pyfunction.rs:242:5 [INFO] [stdout] | [INFO] [stdout] 242 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 240 ~ let signature = match signature { Some(signature) => { [INFO] [stdout] 241 | FunctionSignature::from_arguments_and_attribute(arguments, signature)? [INFO] [stdout] 242 ~ } _ => { [INFO] [stdout] 243 | FunctionSignature::from_arguments(arguments)? [INFO] [stdout] 244 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/pyfunction/signature.rs:130:12 [INFO] [stdout] | [INFO] [stdout] 130 | if let Some((eq, default)) = &self.eq_and_default { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/pyfunction/signature.rs:133:9 [INFO] [stdout] | [INFO] [stdout] 133 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 130 ~ match &self.eq_and_default { Some((eq, default)) => { [INFO] [stdout] 131 | eq.to_tokens(tokens); [INFO] [stdout] 132 | default.to_tokens(tokens); [INFO] [stdout] 133 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/pyfunction/signature.rs:414:24 [INFO] [stdout] | [INFO] [stdout] 414 | if let Some((_, default)) = &arg.eq_and_default { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/pyfunction/signature.rs:424:21 [INFO] [stdout] | [INFO] [stdout] 424 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 414 ~ match &arg.eq_and_default { Some((_, default)) => { [INFO] [stdout] 415 | if let FnArg::Regular(arg) = fn_arg { [INFO] [stdout] ... [INFO] [stdout] 423 | } [INFO] [stdout] 424 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/pyimpl.rs:75:8 [INFO] [stdout] | [INFO] [stdout] 75 | if let Some((_, path, _)) = &ast.trait_ { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/pyimpl.rs:77:5 [INFO] [stdout] | [INFO] [stdout] 77 | } else if ast.generics != Default::default() { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 75 ~ match &ast.trait_ { Some((_, path, _)) => { [INFO] [stdout] 76 | bail_spanned!(path.span() => "#[pymethods] cannot be used on trait impl blocks"); [INFO] [stdout] 77 ~ } _ => if ast.generics != Default::default() { [INFO] [stdout] 78 | bail_spanned!( [INFO] [stdout] ... [INFO] [stdout] 84 | impl_methods(&ast.self_ty, &mut ast.items, methods_type, options) [INFO] [stdout] 85 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/pymethod.rs:580:16 [INFO] [stdout] | [INFO] [stdout] 580 | 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/pymethod.rs:583:13 [INFO] [stdout] | [INFO] [stdout] 583 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 580 ~ match &field.ident { Some(ident) => { [INFO] [stdout] 581 | // named struct field [INFO] [stdout] 582 | quote!({ #slf.#ident = _val; }) [INFO] [stdout] 583 ~ } _ => { [INFO] [stdout] 584 | // tuple struct field [INFO] [stdout] 585 | let index = syn::Index::from(field_index); [INFO] [stdout] 586 | quote!({ #slf.#index = _val; }) [INFO] [stdout] 587 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/pymethod.rs:776:28 [INFO] [stdout] | [INFO] [stdout] 776 | let field = 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/pymethod.rs:778:13 [INFO] [stdout] | [INFO] [stdout] 778 | } 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] 776 ~ let field = match &field.ident { Some(ident) => { [INFO] [stdout] 777 | ident.to_token_stream() [INFO] [stdout] 778 ~ } _ => { [INFO] [stdout] 779 | syn::Index::from(field_index).to_token_stream() [INFO] [stdout] 780 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 47 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.52s [INFO] [stderr] Running `cargo check` to verify 2024 [INFO] [stderr] Compiling pyo3-macros-backend v0.22.3 (/tmp/fixit) [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/pymethod.rs:1591:33 [INFO] [stdout] | [INFO] [stdout] 1591 | let Self(TokenGenerator(gen), ctx) = self; [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 1591 | let Self(TokenGenerator(r#gen), ctx) = self; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/pymethod.rs:1592:10 [INFO] [stdout] | [INFO] [stdout] 1592 | (gen)(ctx).to_tokens(tokens) [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/pymethod.rs:1591:33 [INFO] [stdout] | [INFO] [stdout] 1591 | let Self(TokenGenerator(gen), ctx) = self; [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 1591 | let Self(TokenGenerator(r#gen), ctx) = self; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/pymethod.rs:1592:10 [INFO] [stdout] | [INFO] [stdout] 1592 | (gen)(ctx).to_tokens(tokens) [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `pyo3-macros-backend` (lib test) due to 3 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `pyo3-macros-backend` (lib) due to 3 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" "9468daa1c7c10d10f05d1e0ca39b3e6adff5d85893e93bd0595d77dffaa5f076", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9468daa1c7c10d10f05d1e0ca39b3e6adff5d85893e93bd0595d77dffaa5f076", kill_on_drop: false }` [INFO] [stdout] 9468daa1c7c10d10f05d1e0ca39b3e6adff5d85893e93bd0595d77dffaa5f076