[INFO] fetching crate validator_derive 0.19.0... [INFO] checking validator_derive-0.19.0 against try#da25749bf5e6ba5ed862ff361c19afff2a986b2d for pr-132712 [INFO] extracting crate validator_derive 0.19.0 into /workspace/builds/worker-0-tc2/source [INFO] validating manifest of crates.io crate validator_derive 0.19.0 on toolchain da25749bf5e6ba5ed862ff361c19afff2a986b2d [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+da25749bf5e6ba5ed862ff361c19afff2a986b2d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate validator_derive 0.19.0 [INFO] finished tweaking crates.io crate validator_derive 0.19.0 [INFO] tweaked toml for crates.io crate validator_derive 0.19.0 written to /workspace/builds/worker-0-tc2/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+da25749bf5e6ba5ed862ff361c19afff2a986b2d" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 13 packages to latest compatible versions [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+da25749bf5e6ba5ed862ff361c19afff2a986b2d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+da25749bf5e6ba5ed862ff361c19afff2a986b2d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] c8db95fdbe61b78dd0da73bbc98dba2e58e7857a83e0ab8dfce6587ba20d1e54 [INFO] running `Command { std: "docker" "start" "-a" "c8db95fdbe61b78dd0da73bbc98dba2e58e7857a83e0ab8dfce6587ba20d1e54", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c8db95fdbe61b78dd0da73bbc98dba2e58e7857a83e0ab8dfce6587ba20d1e54", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c8db95fdbe61b78dd0da73bbc98dba2e58e7857a83e0ab8dfce6587ba20d1e54", kill_on_drop: false }` [INFO] [stdout] c8db95fdbe61b78dd0da73bbc98dba2e58e7857a83e0ab8dfce6587ba20d1e54 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=allow" "-e" "RUSTDOCFLAGS=--cap-lints=allow" "-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:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+da25749bf5e6ba5ed862ff361c19afff2a986b2d" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] a5d61356ac73e64a78f7360c22716b1f197900ac9d046509e60515b3682a99de [INFO] running `Command { std: "docker" "start" "-a" "a5d61356ac73e64a78f7360c22716b1f197900ac9d046509e60515b3682a99de", kill_on_drop: false }` [INFO] [stderr] Copying to /tmp/fixit [INFO] [stderr] Running `cargo fix --edition` [INFO] [stderr] Migrating Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Checking unicode-ident v1.0.13 [INFO] [stderr] Compiling fnv v1.0.7 [INFO] [stderr] Compiling strsim v0.11.1 [INFO] [stderr] Compiling ident_case v1.0.1 [INFO] [stderr] Checking once_cell v1.20.2 [INFO] [stderr] Compiling syn v2.0.87 [INFO] [stderr] Compiling proc-macro-error-attr2 v2.0.0 [INFO] [stderr] Checking proc-macro2 v1.0.89 [INFO] [stderr] Checking quote v1.0.37 [INFO] [stderr] Checking darling_core v0.20.10 [INFO] [stderr] Checking proc-macro-error2 v2.0.1 [INFO] [stderr] Compiling darling_macro v0.20.10 [INFO] [stderr] Checking darling v0.20.10 [INFO] [stderr] Checking validator_derive v0.19.0 (/tmp/fixit) [INFO] [stderr] Migrating src/lib.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `validator_derive` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/lib.rs [INFO] [stderr] [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: mismatched closing delimiter: `)` [INFO] [stderr] --> src/lib.rs:257:33 [INFO] [stderr] | [INFO] [stderr] 257 | #[darling(rename = "crate", { default => match _ => )] [INFO] [stderr] | - ^ unclosed delimiter ^ mismatched closing delimiter [INFO] [stderr] | | [INFO] [stderr] | closing delimiter possibly meant for this [INFO] [stderr] [INFO] [stderr] error: aborting due to 1 previous error [INFO] [stderr] [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/types.rs:167:36 [INFO] [stdout] | [INFO] [stdout] 167 | ... if let syn::GenericArgument::Type(ref ty) = params.args.first().unwrap() [INFO] [stdout] | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: desugar the match ergonomics: `&` [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see 123076 [INFO] [stdout] = note: `--force-warn rust-2024-incompatible-pat` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:41:25 [INFO] [stdout] | [INFO] [stdout] 41 | let length = if let Some(length) = self.length.clone() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:43:9 [INFO] [stdout] | [INFO] [stdout] 43 | } else { [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 41 ~ let length = match self.length.clone() { Some(length) => { [INFO] [stdout] 42 | wrapper_closure(length_tokens(&self.crate_name, length, &actual_field, &field_name_str)) [INFO] [stdout] 43 ~ } _ => { [INFO] [stdout] 44 | quote!() [INFO] [stdout] 45 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:123:24 [INFO] [stdout] | [INFO] [stdout] 123 | let range = if let Some(range) = self.range.clone() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:125:9 [INFO] [stdout] | [INFO] [stdout] 125 | } 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] 123 ~ let range = match self.range.clone() { Some(range) => { [INFO] [stdout] 124 | wrapper_closure(range_tokens(&self.crate_name, range, &actual_field, &field_name_str)) [INFO] [stdout] 125 ~ } _ => { [INFO] [stdout] 126 | quote!() [INFO] [stdout] 127 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:169:29 [INFO] [stdout] | [INFO] [stdout] 169 | let must_match = if let Some(must_match) = self.must_match.clone() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^----------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:177:9 [INFO] [stdout] | [INFO] [stdout] 177 | } 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] 169 ~ let must_match = match self.must_match.clone() { Some(must_match) => { [INFO] [stdout] 170 | // TODO: handle option for other [INFO] [stdout] ... [INFO] [stdout] 176 | )) [INFO] [stdout] 177 ~ } _ => { [INFO] [stdout] 178 | quote!() [INFO] [stdout] 179 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:182:24 [INFO] [stdout] | [INFO] [stdout] 182 | let regex = if let Some(regex) = self.regex.clone() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:184:9 [INFO] [stdout] | [INFO] [stdout] 184 | } 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] 182 ~ let regex = match self.regex.clone() { Some(regex) => { [INFO] [stdout] 183 | wrapper_closure(regex_tokens(&self.crate_name, regex, &actual_field, &field_name_str)) [INFO] [stdout] 184 ~ } _ => { [INFO] [stdout] 185 | quote!() [INFO] [stdout] 186 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:257:33 [INFO] [stdout] | [INFO] [stdout] 257 | #[darling(rename = "crate", default)] [INFO] [stdout] | _________________________________^ [INFO] [stdout] 258 | | crate_name: CrateName, [INFO] [stdout] | |______________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:257:39 [INFO] [stdout] | [INFO] [stdout] 257 | #[darling(rename = "crate", 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] 257 | #[darling(rename = "crate", match { default => _ => })] [INFO] [stdout] | +++++ ++++++++++++ ~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:316:29 [INFO] [stdout] | [INFO] [stdout] 316 | let custom_context = if let Some(context) = &validation_data.context { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^----------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:326:5 [INFO] [stdout] | [INFO] [stdout] 326 | } 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] 316 ~ let custom_context = match &validation_data.context { Some(context) => { [INFO] [stdout] 317 | if let Some(mutable) = validation_data.mutable { [INFO] [stdout] ... [INFO] [stdout] 325 | } [INFO] [stdout] 326 ~ } _ => { [INFO] [stdout] 327 | quote!(()) [INFO] [stdout] 328 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:317:12 [INFO] [stdout] | [INFO] [stdout] 317 | if let Some(mutable) = validation_data.mutable { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^---------------^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:323:9 [INFO] [stdout] | [INFO] [stdout] 323 | } 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] 317 ~ match validation_data.mutable { Some(mutable) => { [INFO] [stdout] 318 | if mutable { [INFO] [stdout] ... [INFO] [stdout] 322 | } [INFO] [stdout] 323 ~ } _ => { [INFO] [stdout] 324 | quote!(&'v_a #context) [INFO] [stdout] 325 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tokens/custom.rs:13:19 [INFO] [stdout] | [INFO] [stdout] 13 | let args = if let Some(arg) = custom.use_context { [INFO] [stdout] | ^^^^^^^^^^^^^^^^------^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tokens/custom.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 13 ~ let args = match custom.use_context { Some(arg) => { [INFO] [stdout] 14 | if arg { [INFO] [stdout] ... [INFO] [stdout] 18 | } [INFO] [stdout] 19 ~ } _ => { [INFO] [stdout] 20 | quote!(#field_name) [INFO] [stdout] 21 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tokens/custom.rs:25:19 [INFO] [stdout] | [INFO] [stdout] 25 | let code = if let Some(c) = custom.code { [INFO] [stdout] | ^^^^^^^^^^^^^^------^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tokens/custom.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | } 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] 25 ~ let code = match custom.code { Some(c) => { [INFO] [stdout] 26 | quote!( [INFO] [stdout] 27 | err.code = ::std::borrow::Cow::from(#c); [INFO] [stdout] 28 | ) [INFO] [stdout] 29 ~ } _ => { [INFO] [stdout] 30 | quote!() [INFO] [stdout] 31 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tokens/length.rs:12:29 [INFO] [stdout] | [INFO] [stdout] 12 | let (min, min_err) = if let Some(v) = length.min.as_ref() { [INFO] [stdout] | ^^^^^^^^^^^^^^----------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tokens/length.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 12 ~ let (min, min_err) = match length.min.as_ref() { Some(v) => { [INFO] [stdout] 13 | (quote!(Some(#v)), quote!(err.add_param(::std::borrow::Cow::from("min"), &#v);)) [INFO] [stdout] 14 ~ } _ => { [INFO] [stdout] 15 | (quote!(None), quote!()) [INFO] [stdout] 16 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tokens/length.rs:17:29 [INFO] [stdout] | [INFO] [stdout] 17 | let (max, max_err) = if let Some(v) = length.max { [INFO] [stdout] | ^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tokens/length.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | } 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] 17 ~ let (max, max_err) = match length.max { Some(v) => { [INFO] [stdout] 18 | (quote!(Some(#v)), quote!(err.add_param(::std::borrow::Cow::from("max"), &#v);)) [INFO] [stdout] 19 ~ } _ => { [INFO] [stdout] 20 | (quote!(None), quote!()) [INFO] [stdout] 21 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tokens/length.rs:22:33 [INFO] [stdout] | [INFO] [stdout] 22 | let (equal, equal_err) = if let Some(v) = length.equal { [INFO] [stdout] | ^^^^^^^^^^^^^^------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tokens/length.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 22 ~ let (equal, equal_err) = match length.equal { Some(v) => { [INFO] [stdout] 23 | (quote!(Some(#v)), quote!(err.add_param(::std::borrow::Cow::from("equal"), &#v);)) [INFO] [stdout] 24 ~ } _ => { [INFO] [stdout] 25 | (quote!(None), quote!()) [INFO] [stdout] 26 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tokens/range.rs:12:29 [INFO] [stdout] | [INFO] [stdout] 12 | let (min, min_err) = if let Some(m) = range.min { [INFO] [stdout] | ^^^^^^^^^^^^^^--------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tokens/range.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 12 ~ let (min, min_err) = match range.min { Some(m) => { [INFO] [stdout] 13 | (quote!(Some(#m)), quote!(err.add_param(::std::borrow::Cow::from("min"), &#m);)) [INFO] [stdout] 14 ~ } _ => { [INFO] [stdout] 15 | (quote!(None), quote!()) [INFO] [stdout] 16 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tokens/range.rs:18:29 [INFO] [stdout] | [INFO] [stdout] 18 | let (max, max_err) = if let Some(m) = range.max { [INFO] [stdout] | ^^^^^^^^^^^^^^--------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tokens/range.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | } 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] 18 ~ let (max, max_err) = match range.max { Some(m) => { [INFO] [stdout] 19 | (quote!(Some(#m)), quote!(err.add_param(::std::borrow::Cow::from("max"), &#m);)) [INFO] [stdout] 20 ~ } _ => { [INFO] [stdout] 21 | (quote!(None), quote!()) [INFO] [stdout] 22 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tokens/range.rs:24:35 [INFO] [stdout] | [INFO] [stdout] 24 | let (ex_min, ex_min_err) = if let Some(m) = range.exclusive_min { [INFO] [stdout] | ^^^^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tokens/range.rs:26:5 [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 ~ let (ex_min, ex_min_err) = match range.exclusive_min { Some(m) => { [INFO] [stdout] 25 | (quote!(Some(#m)), quote!(err.add_param(::std::borrow::Cow::from("exclusive_min"), &#m);)) [INFO] [stdout] 26 ~ } _ => { [INFO] [stdout] 27 | (quote!(None), quote!()) [INFO] [stdout] 28 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tokens/range.rs:30:35 [INFO] [stdout] | [INFO] [stdout] 30 | let (ex_max, ex_max_err) = if let Some(m) = range.exclusive_max { [INFO] [stdout] | ^^^^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tokens/range.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | } 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] 30 ~ let (ex_max, ex_max_err) = match range.exclusive_max { Some(m) => { [INFO] [stdout] 31 | (quote!(Some(#m)), quote!(err.add_param(::std::borrow::Cow::from("exclusive_max"), &#m);)) [INFO] [stdout] 32 ~ } _ => { [INFO] [stdout] 33 | (quote!(None), quote!()) [INFO] [stdout] 34 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tokens/schema.rs:8:19 [INFO] [stdout] | [INFO] [stdout] 8 | let args = if let Some(args) = schema.use_context { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^------^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tokens/schema.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | } 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] 8 ~ let args = match schema.use_context { Some(args) => { [INFO] [stdout] 9 | if args { [INFO] [stdout] ... [INFO] [stdout] 13 | } [INFO] [stdout] 14 ~ } _ => { [INFO] [stdout] 15 | quote!(&self) [INFO] [stdout] 16 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tokens/schema.rs:22:19 [INFO] [stdout] | [INFO] [stdout] 22 | let code = if let Some(c) = schema.code { [INFO] [stdout] | ^^^^^^^^^^^^^^------^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tokens/schema.rs:26:5 [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] 22 ~ let code = match schema.code { Some(c) => { [INFO] [stdout] 23 | quote!( [INFO] [stdout] 24 | err.code = ::std::borrow::Cow::from(#c); [INFO] [stdout] 25 | ) [INFO] [stdout] 26 ~ } _ => { [INFO] [stdout] 27 | quote!() [INFO] [stdout] 28 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types.rs:71:15 [INFO] [stdout] | [INFO] [stdout] 71 | #[darling(skip)] [INFO] [stdout] | _______________^ [INFO] [stdout] 72 | | pub crate_name: CrateName, [INFO] [stdout] | |__________________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/types.rs:71:18 [INFO] [stdout] | [INFO] [stdout] 71 | #[darling(skip)] [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 71 | #[darling(match { skip => _ => })] [INFO] [stdout] | +++++ +++++++++ ~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types.rs:90:16 [INFO] [stdout] | [INFO] [stdout] 90 | if let Err(e) = &c.function { [INFO] [stdout] | ^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/types.rs:96:13 [INFO] [stdout] | [INFO] [stdout] 96 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 90 ~ match &c.function { Err(e) => { [INFO] [stdout] 91 | abort!( [INFO] [stdout] ... [INFO] [stdout] 95 | ); [INFO] [stdout] 96 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types.rs:136:12 [INFO] [stdout] | [INFO] [stdout] 136 | if let Some(range) = &self.range { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/types.rs:149:9 [INFO] [stdout] | [INFO] [stdout] 149 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 136 ~ match &self.range { Some(range) => { [INFO] [stdout] 137 | // Check if validator has no arguments [INFO] [stdout] ... [INFO] [stdout] 148 | } [INFO] [stdout] 149 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types.rs:165:24 [INFO] [stdout] | [INFO] [stdout] 165 | if let Some(p) = p.path.segments.first() { [INFO] [stdout] | ^^^^^^^^^^^^^^---------------^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/types.rs:172:21 [INFO] [stdout] | [INFO] [stdout] 172 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 165 ~ match p.path.segments.first() { Some(p) => { [INFO] [stdout] 166 | if let syn::PathArguments::AngleBracketed(ref params) = p.arguments { [INFO] [stdout] ... [INFO] [stdout] 171 | } [INFO] [stdout] 172 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types.rs:166:28 [INFO] [stdout] | [INFO] [stdout] 166 | if let syn::PathArguments::AngleBracketed(ref params) = p.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/types.rs:171:25 [INFO] [stdout] | [INFO] [stdout] 171 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 166 ~ match p.arguments { syn::PathArguments::AngleBracketed(ref params) => { [INFO] [stdout] 167 | if let syn::GenericArgument::Type(ref ty) = params.args.first().unwrap() [INFO] [stdout] ... [INFO] [stdout] 170 | } [INFO] [stdout] 171 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types.rs:167:32 [INFO] [stdout] | [INFO] [stdout] 167 | ... if let syn::GenericArgument::Type(ref ty) = params.args.first().unwrap() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----------^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/types.rs:170:29 [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] 167 ~ match params.args.first().unwrap() [INFO] [stdout] 168 ~ { syn::GenericArgument::Type(ref ty) => { [INFO] [stdout] 169 | count = find_option(count, ty); [INFO] [stdout] 170 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `validator_derive` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/lib.rs [INFO] [stderr] [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: mismatched closing delimiter: `)` [INFO] [stderr] --> src/lib.rs:257:33 [INFO] [stderr] | [INFO] [stderr] 257 | #[darling(rename = "crate", { default => match _ => )] [INFO] [stderr] | - ^ unclosed delimiter ^ mismatched closing delimiter [INFO] [stderr] | | [INFO] [stderr] | closing delimiter possibly meant for this [INFO] [stderr] [INFO] [stderr] error: aborting due to 1 previous error [INFO] [stderr] [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/types.rs:167:36 [INFO] [stdout] | [INFO] [stdout] 167 | ... if let syn::GenericArgument::Type(ref ty) = params.args.first().unwrap() [INFO] [stdout] | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: desugar the match ergonomics: `&` [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see 123076 [INFO] [stdout] = note: `--force-warn rust-2024-incompatible-pat` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:41:25 [INFO] [stdout] | [INFO] [stdout] 41 | let length = if let Some(length) = self.length.clone() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:43:9 [INFO] [stdout] | [INFO] [stdout] 43 | } else { [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 41 ~ let length = match self.length.clone() { Some(length) => { [INFO] [stdout] 42 | wrapper_closure(length_tokens(&self.crate_name, length, &actual_field, &field_name_str)) [INFO] [stdout] 43 ~ } _ => { [INFO] [stdout] 44 | quote!() [INFO] [stdout] 45 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:123:24 [INFO] [stdout] | [INFO] [stdout] 123 | let range = if let Some(range) = self.range.clone() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:125:9 [INFO] [stdout] | [INFO] [stdout] 125 | } 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] 123 ~ let range = match self.range.clone() { Some(range) => { [INFO] [stdout] 124 | wrapper_closure(range_tokens(&self.crate_name, range, &actual_field, &field_name_str)) [INFO] [stdout] 125 ~ } _ => { [INFO] [stdout] 126 | quote!() [INFO] [stdout] 127 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:169:29 [INFO] [stdout] | [INFO] [stdout] 169 | let must_match = if let Some(must_match) = self.must_match.clone() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^----------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:177:9 [INFO] [stdout] | [INFO] [stdout] 177 | } 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] 169 ~ let must_match = match self.must_match.clone() { Some(must_match) => { [INFO] [stdout] 170 | // TODO: handle option for other [INFO] [stdout] ... [INFO] [stdout] 176 | )) [INFO] [stdout] 177 ~ } _ => { [INFO] [stdout] 178 | quote!() [INFO] [stdout] 179 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:182:24 [INFO] [stdout] | [INFO] [stdout] 182 | let regex = if let Some(regex) = self.regex.clone() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:184:9 [INFO] [stdout] | [INFO] [stdout] 184 | } 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] 182 ~ let regex = match self.regex.clone() { Some(regex) => { [INFO] [stdout] 183 | wrapper_closure(regex_tokens(&self.crate_name, regex, &actual_field, &field_name_str)) [INFO] [stdout] 184 ~ } _ => { [INFO] [stdout] 185 | quote!() [INFO] [stdout] 186 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:257:33 [INFO] [stdout] | [INFO] [stdout] 257 | #[darling(rename = "crate", default)] [INFO] [stdout] | _________________________________^ [INFO] [stdout] 258 | | crate_name: CrateName, [INFO] [stdout] | |______________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:257:39 [INFO] [stdout] | [INFO] [stdout] 257 | #[darling(rename = "crate", 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] 257 | #[darling(rename = "crate", match { default => _ => })] [INFO] [stdout] | +++++ ++++++++++++ ~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:316:29 [INFO] [stdout] | [INFO] [stdout] 316 | let custom_context = if let Some(context) = &validation_data.context { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^----------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:326:5 [INFO] [stdout] | [INFO] [stdout] 326 | } 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] 316 ~ let custom_context = match &validation_data.context { Some(context) => { [INFO] [stdout] 317 | if let Some(mutable) = validation_data.mutable { [INFO] [stdout] ... [INFO] [stdout] 325 | } [INFO] [stdout] 326 ~ } _ => { [INFO] [stdout] 327 | quote!(()) [INFO] [stdout] 328 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:317:12 [INFO] [stdout] | [INFO] [stdout] 317 | if let Some(mutable) = validation_data.mutable { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^---------------^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:323:9 [INFO] [stdout] | [INFO] [stdout] 323 | } 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] 317 ~ match validation_data.mutable { Some(mutable) => { [INFO] [stdout] 318 | if mutable { [INFO] [stdout] ... [INFO] [stdout] 322 | } [INFO] [stdout] 323 ~ } _ => { [INFO] [stdout] 324 | quote!(&'v_a #context) [INFO] [stdout] 325 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tokens/custom.rs:13:19 [INFO] [stdout] | [INFO] [stdout] 13 | let args = if let Some(arg) = custom.use_context { [INFO] [stdout] | ^^^^^^^^^^^^^^^^------^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tokens/custom.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 13 ~ let args = match custom.use_context { Some(arg) => { [INFO] [stdout] 14 | if arg { [INFO] [stdout] ... [INFO] [stdout] 18 | } [INFO] [stdout] 19 ~ } _ => { [INFO] [stdout] 20 | quote!(#field_name) [INFO] [stdout] 21 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tokens/custom.rs:25:19 [INFO] [stdout] | [INFO] [stdout] 25 | let code = if let Some(c) = custom.code { [INFO] [stdout] | ^^^^^^^^^^^^^^------^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tokens/custom.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | } 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] 25 ~ let code = match custom.code { Some(c) => { [INFO] [stdout] 26 | quote!( [INFO] [stdout] 27 | err.code = ::std::borrow::Cow::from(#c); [INFO] [stdout] 28 | ) [INFO] [stdout] 29 ~ } _ => { [INFO] [stdout] 30 | quote!() [INFO] [stdout] 31 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tokens/length.rs:12:29 [INFO] [stdout] | [INFO] [stdout] 12 | let (min, min_err) = if let Some(v) = length.min.as_ref() { [INFO] [stdout] | ^^^^^^^^^^^^^^----------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tokens/length.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 12 ~ let (min, min_err) = match length.min.as_ref() { Some(v) => { [INFO] [stdout] 13 | (quote!(Some(#v)), quote!(err.add_param(::std::borrow::Cow::from("min"), &#v);)) [INFO] [stdout] 14 ~ } _ => { [INFO] [stdout] 15 | (quote!(None), quote!()) [INFO] [stdout] 16 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tokens/length.rs:17:29 [INFO] [stdout] | [INFO] [stdout] 17 | let (max, max_err) = if let Some(v) = length.max { [INFO] [stdout] | ^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tokens/length.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | } 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] 17 ~ let (max, max_err) = match length.max { Some(v) => { [INFO] [stdout] 18 | (quote!(Some(#v)), quote!(err.add_param(::std::borrow::Cow::from("max"), &#v);)) [INFO] [stdout] 19 ~ } _ => { [INFO] [stdout] 20 | (quote!(None), quote!()) [INFO] [stdout] 21 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tokens/length.rs:22:33 [INFO] [stdout] | [INFO] [stdout] 22 | let (equal, equal_err) = if let Some(v) = length.equal { [INFO] [stdout] | ^^^^^^^^^^^^^^------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tokens/length.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 22 ~ let (equal, equal_err) = match length.equal { Some(v) => { [INFO] [stdout] 23 | (quote!(Some(#v)), quote!(err.add_param(::std::borrow::Cow::from("equal"), &#v);)) [INFO] [stdout] 24 ~ } _ => { [INFO] [stdout] 25 | (quote!(None), quote!()) [INFO] [stdout] 26 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tokens/range.rs:12:29 [INFO] [stdout] | [INFO] [stdout] 12 | let (min, min_err) = if let Some(m) = range.min { [INFO] [stdout] | ^^^^^^^^^^^^^^--------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tokens/range.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 12 ~ let (min, min_err) = match range.min { Some(m) => { [INFO] [stdout] 13 | (quote!(Some(#m)), quote!(err.add_param(::std::borrow::Cow::from("min"), &#m);)) [INFO] [stdout] 14 ~ } _ => { [INFO] [stdout] 15 | (quote!(None), quote!()) [INFO] [stdout] 16 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tokens/range.rs:18:29 [INFO] [stdout] | [INFO] [stdout] 18 | let (max, max_err) = if let Some(m) = range.max { [INFO] [stdout] | ^^^^^^^^^^^^^^--------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tokens/range.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | } 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] 18 ~ let (max, max_err) = match range.max { Some(m) => { [INFO] [stdout] 19 | (quote!(Some(#m)), quote!(err.add_param(::std::borrow::Cow::from("max"), &#m);)) [INFO] [stdout] 20 ~ } _ => { [INFO] [stdout] 21 | (quote!(None), quote!()) [INFO] [stdout] 22 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tokens/range.rs:24:35 [INFO] [stdout] | [INFO] [stdout] 24 | let (ex_min, ex_min_err) = if let Some(m) = range.exclusive_min { [INFO] [stdout] | ^^^^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tokens/range.rs:26:5 [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 ~ let (ex_min, ex_min_err) = match range.exclusive_min { Some(m) => { [INFO] [stdout] 25 | (quote!(Some(#m)), quote!(err.add_param(::std::borrow::Cow::from("exclusive_min"), &#m);)) [INFO] [stdout] 26 ~ } _ => { [INFO] [stdout] 27 | (quote!(None), quote!()) [INFO] [stdout] 28 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tokens/range.rs:30:35 [INFO] [stdout] | [INFO] [stdout] 30 | let (ex_max, ex_max_err) = if let Some(m) = range.exclusive_max { [INFO] [stdout] | ^^^^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tokens/range.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | } 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] 30 ~ let (ex_max, ex_max_err) = match range.exclusive_max { Some(m) => { [INFO] [stdout] 31 | (quote!(Some(#m)), quote!(err.add_param(::std::borrow::Cow::from("exclusive_max"), &#m);)) [INFO] [stdout] 32 ~ } _ => { [INFO] [stdout] 33 | (quote!(None), quote!()) [INFO] [stdout] 34 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tokens/schema.rs:8:19 [INFO] [stdout] | [INFO] [stdout] 8 | let args = if let Some(args) = schema.use_context { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^------^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tokens/schema.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | } 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] 8 ~ let args = match schema.use_context { Some(args) => { [INFO] [stdout] 9 | if args { [INFO] [stdout] ... [INFO] [stdout] 13 | } [INFO] [stdout] 14 ~ } _ => { [INFO] [stdout] 15 | quote!(&self) [INFO] [stdout] 16 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tokens/schema.rs:22:19 [INFO] [stdout] | [INFO] [stdout] 22 | let code = if let Some(c) = schema.code { [INFO] [stdout] | ^^^^^^^^^^^^^^------^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tokens/schema.rs:26:5 [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] 22 ~ let code = match schema.code { Some(c) => { [INFO] [stdout] 23 | quote!( [INFO] [stdout] 24 | err.code = ::std::borrow::Cow::from(#c); [INFO] [stdout] 25 | ) [INFO] [stdout] 26 ~ } _ => { [INFO] [stdout] 27 | quote!() [INFO] [stdout] 28 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types.rs:71:15 [INFO] [stdout] | [INFO] [stdout] 71 | #[darling(skip)] [INFO] [stdout] | _______________^ [INFO] [stdout] 72 | | pub crate_name: CrateName, [INFO] [stdout] | |__________________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/types.rs:71:18 [INFO] [stdout] | [INFO] [stdout] 71 | #[darling(skip)] [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 71 | #[darling(match { skip => _ => })] [INFO] [stdout] | +++++ +++++++++ ~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types.rs:90:16 [INFO] [stdout] | [INFO] [stdout] 90 | if let Err(e) = &c.function { [INFO] [stdout] | ^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/types.rs:96:13 [INFO] [stdout] | [INFO] [stdout] 96 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 90 ~ match &c.function { Err(e) => { [INFO] [stdout] 91 | abort!( [INFO] [stdout] ... [INFO] [stdout] 95 | ); [INFO] [stdout] 96 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types.rs:136:12 [INFO] [stdout] | [INFO] [stdout] 136 | if let Some(range) = &self.range { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/types.rs:149:9 [INFO] [stdout] | [INFO] [stdout] 149 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 136 ~ match &self.range { Some(range) => { [INFO] [stdout] 137 | // Check if validator has no arguments [INFO] [stdout] ... [INFO] [stdout] 148 | } [INFO] [stdout] 149 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types.rs:165:24 [INFO] [stdout] | [INFO] [stdout] 165 | if let Some(p) = p.path.segments.first() { [INFO] [stdout] | ^^^^^^^^^^^^^^---------------^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/types.rs:172:21 [INFO] [stdout] | [INFO] [stdout] 172 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 165 ~ match p.path.segments.first() { Some(p) => { [INFO] [stdout] 166 | if let syn::PathArguments::AngleBracketed(ref params) = p.arguments { [INFO] [stdout] ... [INFO] [stdout] 171 | } [INFO] [stdout] 172 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types.rs:166:28 [INFO] [stdout] | [INFO] [stdout] 166 | if let syn::PathArguments::AngleBracketed(ref params) = p.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/types.rs:171:25 [INFO] [stdout] | [INFO] [stdout] 171 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 166 ~ match p.arguments { syn::PathArguments::AngleBracketed(ref params) => { [INFO] [stdout] 167 | if let syn::GenericArgument::Type(ref ty) = params.args.first().unwrap() [INFO] [stdout] ... [INFO] [stdout] 170 | } [INFO] [stdout] 171 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types.rs:167:32 [INFO] [stdout] | [INFO] [stdout] 167 | ... if let syn::GenericArgument::Type(ref ty) = params.args.first().unwrap() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----------^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/types.rs:170:29 [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] 167 ~ match params.args.first().unwrap() [INFO] [stdout] 168 ~ { syn::GenericArgument::Type(ref ty) => { [INFO] [stdout] 169 | count = find_option(count, ty); [INFO] [stdout] 170 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.34s [INFO] [stderr] Running `cargo check` to verify 2024 [INFO] [stderr] Checking validator_derive v0.19.0 (/tmp/fixit) [INFO] [stdout] error: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/types.rs:167:36 [INFO] [stdout] | [INFO] [stdout] 167 | ... if let syn::GenericArgument::Type(ref ty) = params.args.first().unwrap() [INFO] [stdout] | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: desugar the match ergonomics: `&` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/types.rs:167:36 [INFO] [stdout] | [INFO] [stdout] 167 | ... if let syn::GenericArgument::Type(ref ty) = params.args.first().unwrap() [INFO] [stdout] | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: desugar the match ergonomics: `&` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `validator_derive` (lib test) due to 1 previous error [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: could not compile `validator_derive` (lib) due to 1 previous error [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" "a5d61356ac73e64a78f7360c22716b1f197900ac9d046509e60515b3682a99de", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a5d61356ac73e64a78f7360c22716b1f197900ac9d046509e60515b3682a99de", kill_on_drop: false }` [INFO] [stdout] a5d61356ac73e64a78f7360c22716b1f197900ac9d046509e60515b3682a99de