[INFO] fetching crate bpaf_derive 0.5.10... [INFO] checking bpaf_derive-0.5.10 against try#4d98531622e1718ae0bc3c7a1ab9cd8938428452+rustflags=-Dtail_expr_drop_order for pr-129604 [INFO] extracting crate bpaf_derive 0.5.10 into /workspace/builds/worker-0-tc2/source [INFO] validating manifest of crates.io crate bpaf_derive 0.5.10 on toolchain 4d98531622e1718ae0bc3c7a1ab9cd8938428452 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate bpaf_derive 0.5.10 [INFO] finished tweaking crates.io crate bpaf_derive 0.5.10 [INFO] tweaked toml for crates.io crate bpaf_derive 0.5.10 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" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "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] [stderr] Adding yansi v0.5.1 (latest: v1.0.1) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] a3302da4fb34fcb7b2c3587c94d2179304e4cae6154747c08ae529067d3689e1 [INFO] running `Command { std: "docker" "start" "-a" "a3302da4fb34fcb7b2c3587c94d2179304e4cae6154747c08ae529067d3689e1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a3302da4fb34fcb7b2c3587c94d2179304e4cae6154747c08ae529067d3689e1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a3302da4fb34fcb7b2c3587c94d2179304e4cae6154747c08ae529067d3689e1", kill_on_drop: false }` [INFO] [stdout] a3302da4fb34fcb7b2c3587c94d2179304e4cae6154747c08ae529067d3689e1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dtail_expr_drop_order" "-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 8257f1fe90708371a435c1e347bc2a1d6008c2724aaf323de92cabc71c5bc773 [INFO] running `Command { std: "docker" "start" "-a" "8257f1fe90708371a435c1e347bc2a1d6008c2724aaf323de92cabc71c5bc773", kill_on_drop: false }` [INFO] [stderr] Checking unicode-ident v1.0.12 [INFO] [stderr] Checking diff v0.1.13 [INFO] [stderr] Checking yansi v0.5.1 [INFO] [stderr] Checking proc-macro2 v1.0.86 [INFO] [stderr] Checking pretty_assertions v1.4.0 [INFO] [stderr] Checking quote v1.0.37 [INFO] [stderr] Checking syn v2.0.77 [INFO] [stderr] Checking bpaf_derive v0.5.10 (/opt/rustwide/workdir) [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/lib.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn derive_macro(input: proc_macro::TokenStream) -> proc_macro::TokenStream { [INFO] [stdout] | ------------------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 28 | quote::ToTokens::to_token_stream(&syn::parse_macro_input!(input as Top)).into() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: requested on the command line with `-D tail-expr-drop-order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/attrs.rs:146:12 [INFO] [stdout] | [INFO] [stdout] 145 | pub(crate) fn from_name(name: Name, ident: &Option) -> Result { [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 146 | Ok(match name { [INFO] [stdout] | ____________^ [INFO] [stdout] 147 | | Name::Short { [INFO] [stdout] 148 | | name: Some(name), .. [INFO] [stdout] 149 | | } => Self::Short { name }, [INFO] [stdout] ... | [INFO] [stdout] 167 | | Name::Env { name, .. } => Self::Env { name }, [INFO] [stdout] 168 | | }) [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/attrs.rs:647:8 [INFO] [stdout] | [INFO] [stdout] 629 | let mut parsed = None; [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 641 | let help = if help.is_empty() { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 647 | Ok((parsed, help)) [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/field.rs:57:56 [INFO] [stdout] | [INFO] [stdout] 57 | try_split_type(ty).unwrap_or_else(|| Shape::Direct(ty.clone())) [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/named_field.rs:159:20 [INFO] [stdout] | [INFO] [stdout] 154 | let attrs = input.call(Attribute::parse_outer)?; [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 155 | let _vis = input.parse::()?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 156 | let name = input.parse::()?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 157 | input.parse::()?; [INFO] [stdout] 158 | let ty = input.parse::()?; [INFO] [stdout] | -- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 159 | Self::make(Some(name), ty, &attrs) [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/named_field.rs:166:20 [INFO] [stdout] | [INFO] [stdout] 163 | let attrs = input.call(Attribute::parse_outer)?; [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 164 | let _vis = input.parse::()?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 165 | let ty = input.parse::()?; [INFO] [stdout] | -- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 166 | Self::make(None, ty, &attrs) [INFO] [stdout] | ^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/named_field.rs:307:12 [INFO] [stdout] | [INFO] [stdout] 170 | pub(crate) fn make(name: Option, ty: Type, attrs: &[Attribute]) -> Result { [INFO] [stdout] | ------------------- -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 171 | let (field_attrs, mut help) = parse_bpaf_doc_attrs::(attrs)?; [INFO] [stdout] | ----------- ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 172 | [INFO] [stdout] 173 | let mut field_attrs = field_attrs.unwrap_or_default(); [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 181 | let mut cons = match field_attrs.consumer.pop() { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 182 | Some(cons) => cons, [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 205 | let mut env = Vec::new(); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 206 | let mut naming = Vec::new(); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 251 | let mut postpr = std::mem::take(&mut field_attrs.postpr); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 252 | [INFO] [stdout] 253 | let shape = split_type(&ty); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 302 | let help = match field_attrs.help.pop() { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 303 | Some(h) => Some(Help::Custom(h.doc)), [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 307 | Ok(StructField { [INFO] [stdout] | ____________^ [INFO] [stdout] 308 | | name, [INFO] [stdout] 309 | | env, [INFO] [stdout] 310 | | naming, [INFO] [stdout] ... | [INFO] [stdout] 313 | | help, [INFO] [stdout] 314 | | }) [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |_________these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/top.rs:107:12 [INFO] [stdout] | [INFO] [stdout] 58 | let attrs = input.call(Attribute::parse_outer)?; [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 59 | let (top_decor, mut help) = parse_bpaf_doc_attrs::(&attrs)?; [INFO] [stdout] | --------- ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 62 | custom_name, [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 63 | boxed, [INFO] [stdout] 64 | mut mode, [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 65 | attrs, [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 68 | bpaf_path, [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 74 | let vis = input.parse::()?; [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 75 | [INFO] [stdout] 76 | let mut body = Body::parse(input)?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 77 | let ty = body.ty(); [INFO] [stdout] | -- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 107 | Ok(Top { [INFO] [stdout] | ____________^ [INFO] [stdout] 108 | | vis: if private { Visibility::Inherited } else { vis }, [INFO] [stdout] 109 | | mode, [INFO] [stdout] ... | [INFO] [stdout] 118 | | bpaf_path, [INFO] [stdout] 119 | | }) [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |_________these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/top.rs:298:9 [INFO] [stdout] | [INFO] [stdout] 184 | let boxed = if *boxed { quote!(.boxed()) } else { quote!() }; [INFO] [stdout] | ----- ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 185 | let adjacent = if *adjacent { [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 186 | quote!(.adjacent()) [INFO] [stdout] | ------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 191 | let original = match mode { [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 203 | let version = version.as_ref().map(|v| quote!(.version(#v))); [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 204 | let usage = usage.as_ref().map(|v| quote!(.usage(#v))); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 205 | let descr = descr.as_ref().map(|v| quote!(.descr(#v))); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 206 | let footer = footer.as_ref().map(|v| quote!(.footer(#v))); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 207 | let header = header.as_ref().map(|v| quote!(.header(#v))); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 208 | let max_width = max_width.as_ref().map(|v| quote!(.max_width(#v))); [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 219 | let help = help.as_ref().map(|v| quote!(.help(#v))); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 220 | / quote! { [INFO] [stdout] 221 | | #vis fn #generate() -> impl ::bpaf::Parser<#ty> { [INFO] [stdout] 222 | | [INFO] [stdout] 223 | | #[allow(unused_imports)] [INFO] [stdout] ... | [INFO] [stdout] 235 | | #(#short)* [INFO] [stdout] | | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 236 | | #(#long)* [INFO] [stdout] | | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... | [INFO] [stdout] 240 | | } [INFO] [stdout] 241 | | } [INFO] [stdout] | | - [INFO] [stdout] | |_________________| [INFO] [stdout] | |_________________these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |_________________these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |_________________these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |_________________these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |_________________these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |_________________these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 253 | | let body = match cargo_helper { [INFO] [stdout] | | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 254 | | Some(cargo) => quote!(::bpaf::cargo_helper(#cargo, #body)), [INFO] [stdout] | | ------------------------------------------- [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 255 | | None => quote!(#body), [INFO] [stdout] | | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... | [INFO] [stdout] 258 | | let version = version.as_ref().map(|v| quote!(.version(#v))); [INFO] [stdout] | | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 259 | | let usage = usage.as_ref().map(|v| quote!(.usage(#v))); [INFO] [stdout] | | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 260 | | let descr = descr.as_ref().map(|v| quote!(.descr(#v))); [INFO] [stdout] | | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 261 | | let footer = footer.as_ref().map(|v| quote!(.footer(#v))); [INFO] [stdout] | | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 262 | | let header = header.as_ref().map(|v| quote!(.header(#v))); [INFO] [stdout] | | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 263 | | let max_width = max_width.as_ref().map(|v| quote!(.max_width(#v))); [INFO] [stdout] | | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 264 | | [INFO] [stdout] 265 | / quote! { [INFO] [stdout] 266 | | #vis fn #generate() -> ::bpaf::OptionParser<#ty> { [INFO] [stdout] 267 | | #[allow(unused_imports)] [INFO] [stdout] 268 | | use ::bpaf::Parser; [INFO] [stdout] ... | [INFO] [stdout] 278 | | } [INFO] [stdout] 279 | | } [INFO] [stdout] | | - [INFO] [stdout] | |_________________| [INFO] [stdout] | |_________________these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |_________________these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |_________________these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 283 | | let group_help = group_help.as_ref().map(|v| quote!(.group_help(#v))); [INFO] [stdout] | | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 284 | / quote! { [INFO] [stdout] 285 | | #vis fn #generate() -> impl ::bpaf::Parser<#ty> { [INFO] [stdout] 286 | | #[allow(unused_imports)] [INFO] [stdout] 287 | | use ::bpaf::Parser; [INFO] [stdout] ... | [INFO] [stdout] 293 | | } [INFO] [stdout] 294 | | } [INFO] [stdout] | | - [INFO] [stdout] | |_________________| [INFO] [stdout] | |_________________these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |_________________these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |_________________these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 298 | / if let Some(custom_path) = bpaf_path { [INFO] [stdout] 299 | let mut replaced: ItemFn = parse_quote!(#original); [INFO] [stdout] 300 | CratePathReplacer::new(parse_quote!(::bpaf), custom_path.clone()) [INFO] [stdout] 301 | .visit_item_fn_mut(&mut replaced); [INFO] [stdout] ... [INFO] [stdout] 304 | original [INFO] [stdout] 305 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/top.rs:339:33 [INFO] [stdout] | [INFO] [stdout] 339 | .filter_map(|p| p.resolve(&name).transpose()) [INFO] [stdout] | - ^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/top.rs:504:12 [INFO] [stdout] | [INFO] [stdout] 434 | fn resolve(self, enum_name: &Ident) -> Result> { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 435 | let ParsedEnumBranch { mut branch, attrs } = self; [INFO] [stdout] | ------ ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 439 | let (enum_decor, mut help) = parse_bpaf_doc_attrs::(&attrs)?; [INFO] [stdout] | ---------- ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 440 | let Ed { attrs: ea, skip } = enum_decor.unwrap_or_default(); [INFO] [stdout] | -- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 445 | let mut attrs = Vec::with_capacity(ea.len()); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 504 | Ok(Some(EnumBranch { branch, attrs })) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/top.rs:603:12 [INFO] [stdout] | [INFO] [stdout] 588 | let ident = input.parse::()?; [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 589 | let content; [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 590 | let fields = if input.peek(token::Paren) { [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 591 | parenthesized!(content in input); [INFO] [stdout] | -------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 594 | braced!(content in input); [INFO] [stdout] | ------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 603 | Ok(Branch { [INFO] [stdout] | ____________^ [INFO] [stdout] 604 | | enum_name: None, [INFO] [stdout] 605 | | ident, [INFO] [stdout] 606 | | //decor, [INFO] [stdout] 607 | | fields, [INFO] [stdout] 608 | | }) [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |_________these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/utils.rs:29:8 [INFO] [stdout] | [INFO] [stdout] 24 | let content; [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 25 | let _ = parenthesized!(content in input); [INFO] [stdout] | -------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 26 | let a = content.parse::()?; [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 27 | let _ = content.parse::()?; [INFO] [stdout] 28 | let b = content.parse::()?; [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 29 | Ok((a, b)) [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/utils.rs:49:8 [INFO] [stdout] | [INFO] [stdout] 48 | let content; [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 49 | Ok(if input.peek(syn::token::Paren) { [INFO] [stdout] | ________^ [INFO] [stdout] 50 | | let _ = parenthesized!(content in input); [INFO] [stdout] 51 | | Some(content.parse::()?) [INFO] [stdout] 52 | | } else { [INFO] [stdout] 53 | | None [INFO] [stdout] 54 | | }) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/td.rs:280:12 [INFO] [stdout] | [INFO] [stdout] 170 | let mut custom_name = None; [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 173 | let mut command = None; [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 174 | let mut options = None; [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 175 | let mut parser = Some(ParserCfg::default()); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 176 | let mut adjacent = false; [INFO] [stdout] 177 | let mut attrs = Vec::new(); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 178 | let mut first = true; [INFO] [stdout] 179 | let mut bpaf_path = None; [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 272 | let mode = match (options, command) { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 273 | (Some(options), Some(command)) => Mode::Command { command, options }, [INFO] [stdout] | ------- ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 274 | (Some(options), None) => Mode::Options { options }, [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 280 | Ok(TopInfo { [INFO] [stdout] | ____________^ [INFO] [stdout] 281 | | ignore_rustdoc, [INFO] [stdout] 282 | | private, [INFO] [stdout] 283 | | custom_name, [INFO] [stdout] ... | [INFO] [stdout] 288 | | bpaf_path, [INFO] [stdout] 289 | | }) [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/td.rs:369:12 [INFO] [stdout] | [INFO] [stdout] 306 | let mut attrs = Vec::new(); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 310 | let first = input.fork().parse::()?; [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 369 | Ok(Ed { skip, attrs }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 16 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `bpaf_derive` (lib) due to 17 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/lib.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn derive_macro(input: proc_macro::TokenStream) -> proc_macro::TokenStream { [INFO] [stdout] | ------------------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 28 | quote::ToTokens::to_token_stream(&syn::parse_macro_input!(input as Top)).into() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: requested on the command line with `-D tail-expr-drop-order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/attrs.rs:146:12 [INFO] [stdout] | [INFO] [stdout] 145 | pub(crate) fn from_name(name: Name, ident: &Option) -> Result { [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 146 | Ok(match name { [INFO] [stdout] | ____________^ [INFO] [stdout] 147 | | Name::Short { [INFO] [stdout] 148 | | name: Some(name), .. [INFO] [stdout] 149 | | } => Self::Short { name }, [INFO] [stdout] ... | [INFO] [stdout] 167 | | Name::Env { name, .. } => Self::Env { name }, [INFO] [stdout] 168 | | }) [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/attrs.rs:647:8 [INFO] [stdout] | [INFO] [stdout] 629 | let mut parsed = None; [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 641 | let help = if help.is_empty() { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 647 | Ok((parsed, help)) [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/field.rs:57:56 [INFO] [stdout] | [INFO] [stdout] 57 | try_split_type(ty).unwrap_or_else(|| Shape::Direct(ty.clone())) [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/named_field.rs:159:20 [INFO] [stdout] | [INFO] [stdout] 154 | let attrs = input.call(Attribute::parse_outer)?; [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 155 | let _vis = input.parse::()?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 156 | let name = input.parse::()?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 157 | input.parse::()?; [INFO] [stdout] 158 | let ty = input.parse::()?; [INFO] [stdout] | -- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 159 | Self::make(Some(name), ty, &attrs) [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/named_field.rs:166:20 [INFO] [stdout] | [INFO] [stdout] 163 | let attrs = input.call(Attribute::parse_outer)?; [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 164 | let _vis = input.parse::()?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 165 | let ty = input.parse::()?; [INFO] [stdout] | -- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 166 | Self::make(None, ty, &attrs) [INFO] [stdout] | ^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/named_field.rs:307:12 [INFO] [stdout] | [INFO] [stdout] 170 | pub(crate) fn make(name: Option, ty: Type, attrs: &[Attribute]) -> Result { [INFO] [stdout] | ------------------- -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 171 | let (field_attrs, mut help) = parse_bpaf_doc_attrs::(attrs)?; [INFO] [stdout] | ----------- ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 172 | [INFO] [stdout] 173 | let mut field_attrs = field_attrs.unwrap_or_default(); [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 181 | let mut cons = match field_attrs.consumer.pop() { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 182 | Some(cons) => cons, [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 205 | let mut env = Vec::new(); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 206 | let mut naming = Vec::new(); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 251 | let mut postpr = std::mem::take(&mut field_attrs.postpr); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 252 | [INFO] [stdout] 253 | let shape = split_type(&ty); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 302 | let help = match field_attrs.help.pop() { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 303 | Some(h) => Some(Help::Custom(h.doc)), [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 307 | Ok(StructField { [INFO] [stdout] | ____________^ [INFO] [stdout] 308 | | name, [INFO] [stdout] 309 | | env, [INFO] [stdout] 310 | | naming, [INFO] [stdout] ... | [INFO] [stdout] 313 | | help, [INFO] [stdout] 314 | | }) [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |_________these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/top.rs:107:12 [INFO] [stdout] | [INFO] [stdout] 58 | let attrs = input.call(Attribute::parse_outer)?; [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 59 | let (top_decor, mut help) = parse_bpaf_doc_attrs::(&attrs)?; [INFO] [stdout] | --------- ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 62 | custom_name, [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 63 | boxed, [INFO] [stdout] 64 | mut mode, [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 65 | attrs, [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 68 | bpaf_path, [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 74 | let vis = input.parse::()?; [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 75 | [INFO] [stdout] 76 | let mut body = Body::parse(input)?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 77 | let ty = body.ty(); [INFO] [stdout] | -- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 107 | Ok(Top { [INFO] [stdout] | ____________^ [INFO] [stdout] 108 | | vis: if private { Visibility::Inherited } else { vis }, [INFO] [stdout] 109 | | mode, [INFO] [stdout] ... | [INFO] [stdout] 118 | | bpaf_path, [INFO] [stdout] 119 | | }) [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |_________these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/top.rs:298:9 [INFO] [stdout] | [INFO] [stdout] 184 | let boxed = if *boxed { quote!(.boxed()) } else { quote!() }; [INFO] [stdout] | ----- ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 185 | let adjacent = if *adjacent { [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 186 | quote!(.adjacent()) [INFO] [stdout] | ------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 191 | let original = match mode { [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 203 | let version = version.as_ref().map(|v| quote!(.version(#v))); [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 204 | let usage = usage.as_ref().map(|v| quote!(.usage(#v))); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 205 | let descr = descr.as_ref().map(|v| quote!(.descr(#v))); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 206 | let footer = footer.as_ref().map(|v| quote!(.footer(#v))); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 207 | let header = header.as_ref().map(|v| quote!(.header(#v))); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 208 | let max_width = max_width.as_ref().map(|v| quote!(.max_width(#v))); [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 219 | let help = help.as_ref().map(|v| quote!(.help(#v))); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 220 | / quote! { [INFO] [stdout] 221 | | #vis fn #generate() -> impl ::bpaf::Parser<#ty> { [INFO] [stdout] 222 | | [INFO] [stdout] 223 | | #[allow(unused_imports)] [INFO] [stdout] ... | [INFO] [stdout] 235 | | #(#short)* [INFO] [stdout] | | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 236 | | #(#long)* [INFO] [stdout] | | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... | [INFO] [stdout] 240 | | } [INFO] [stdout] 241 | | } [INFO] [stdout] | | - [INFO] [stdout] | |_________________| [INFO] [stdout] | |_________________these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |_________________these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |_________________these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |_________________these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |_________________these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |_________________these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 253 | | let body = match cargo_helper { [INFO] [stdout] | | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 254 | | Some(cargo) => quote!(::bpaf::cargo_helper(#cargo, #body)), [INFO] [stdout] | | ------------------------------------------- [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 255 | | None => quote!(#body), [INFO] [stdout] | | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... | [INFO] [stdout] 258 | | let version = version.as_ref().map(|v| quote!(.version(#v))); [INFO] [stdout] | | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 259 | | let usage = usage.as_ref().map(|v| quote!(.usage(#v))); [INFO] [stdout] | | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 260 | | let descr = descr.as_ref().map(|v| quote!(.descr(#v))); [INFO] [stdout] | | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 261 | | let footer = footer.as_ref().map(|v| quote!(.footer(#v))); [INFO] [stdout] | | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 262 | | let header = header.as_ref().map(|v| quote!(.header(#v))); [INFO] [stdout] | | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 263 | | let max_width = max_width.as_ref().map(|v| quote!(.max_width(#v))); [INFO] [stdout] | | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 264 | | [INFO] [stdout] 265 | / quote! { [INFO] [stdout] 266 | | #vis fn #generate() -> ::bpaf::OptionParser<#ty> { [INFO] [stdout] 267 | | #[allow(unused_imports)] [INFO] [stdout] 268 | | use ::bpaf::Parser; [INFO] [stdout] ... | [INFO] [stdout] 278 | | } [INFO] [stdout] 279 | | } [INFO] [stdout] | | - [INFO] [stdout] | |_________________| [INFO] [stdout] | |_________________these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |_________________these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |_________________these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 283 | | let group_help = group_help.as_ref().map(|v| quote!(.group_help(#v))); [INFO] [stdout] | | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 284 | / quote! { [INFO] [stdout] 285 | | #vis fn #generate() -> impl ::bpaf::Parser<#ty> { [INFO] [stdout] 286 | | #[allow(unused_imports)] [INFO] [stdout] 287 | | use ::bpaf::Parser; [INFO] [stdout] ... | [INFO] [stdout] 293 | | } [INFO] [stdout] 294 | | } [INFO] [stdout] | | - [INFO] [stdout] | |_________________| [INFO] [stdout] | |_________________these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |_________________these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |_________________these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 298 | / if let Some(custom_path) = bpaf_path { [INFO] [stdout] 299 | let mut replaced: ItemFn = parse_quote!(#original); [INFO] [stdout] 300 | CratePathReplacer::new(parse_quote!(::bpaf), custom_path.clone()) [INFO] [stdout] 301 | .visit_item_fn_mut(&mut replaced); [INFO] [stdout] ... [INFO] [stdout] 304 | original [INFO] [stdout] 305 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/top.rs:339:33 [INFO] [stdout] | [INFO] [stdout] 339 | .filter_map(|p| p.resolve(&name).transpose()) [INFO] [stdout] | - ^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/top.rs:504:12 [INFO] [stdout] | [INFO] [stdout] 434 | fn resolve(self, enum_name: &Ident) -> Result> { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 435 | let ParsedEnumBranch { mut branch, attrs } = self; [INFO] [stdout] | ------ ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 439 | let (enum_decor, mut help) = parse_bpaf_doc_attrs::(&attrs)?; [INFO] [stdout] | ---------- ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 440 | let Ed { attrs: ea, skip } = enum_decor.unwrap_or_default(); [INFO] [stdout] | -- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 445 | let mut attrs = Vec::with_capacity(ea.len()); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 504 | Ok(Some(EnumBranch { branch, attrs })) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/top.rs:603:12 [INFO] [stdout] | [INFO] [stdout] 588 | let ident = input.parse::()?; [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 589 | let content; [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 590 | let fields = if input.peek(token::Paren) { [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 591 | parenthesized!(content in input); [INFO] [stdout] | -------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 594 | braced!(content in input); [INFO] [stdout] | ------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 603 | Ok(Branch { [INFO] [stdout] | ____________^ [INFO] [stdout] 604 | | enum_name: None, [INFO] [stdout] 605 | | ident, [INFO] [stdout] 606 | | //decor, [INFO] [stdout] 607 | | fields, [INFO] [stdout] 608 | | }) [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |_________these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/utils.rs:29:8 [INFO] [stdout] | [INFO] [stdout] 24 | let content; [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 25 | let _ = parenthesized!(content in input); [INFO] [stdout] | -------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 26 | let a = content.parse::()?; [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 27 | let _ = content.parse::()?; [INFO] [stdout] 28 | let b = content.parse::()?; [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 29 | Ok((a, b)) [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/utils.rs:49:8 [INFO] [stdout] | [INFO] [stdout] 48 | let content; [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 49 | Ok(if input.peek(syn::token::Paren) { [INFO] [stdout] | ________^ [INFO] [stdout] 50 | | let _ = parenthesized!(content in input); [INFO] [stdout] 51 | | Some(content.parse::()?) [INFO] [stdout] 52 | | } else { [INFO] [stdout] 53 | | None [INFO] [stdout] 54 | | }) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/td.rs:280:12 [INFO] [stdout] | [INFO] [stdout] 170 | let mut custom_name = None; [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 173 | let mut command = None; [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 174 | let mut options = None; [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 175 | let mut parser = Some(ParserCfg::default()); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 176 | let mut adjacent = false; [INFO] [stdout] 177 | let mut attrs = Vec::new(); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 178 | let mut first = true; [INFO] [stdout] 179 | let mut bpaf_path = None; [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 272 | let mode = match (options, command) { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 273 | (Some(options), Some(command)) => Mode::Command { command, options }, [INFO] [stdout] | ------- ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 274 | (Some(options), None) => Mode::Options { options }, [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 280 | Ok(TopInfo { [INFO] [stdout] | ____________^ [INFO] [stdout] 281 | | ignore_rustdoc, [INFO] [stdout] 282 | | private, [INFO] [stdout] 283 | | custom_name, [INFO] [stdout] ... | [INFO] [stdout] 288 | | bpaf_path, [INFO] [stdout] 289 | | }) [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/td.rs:369:12 [INFO] [stdout] | [INFO] [stdout] 306 | let mut attrs = Vec::new(); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 310 | let first = input.fork().parse::()?; [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 369 | Ok(Ed { skip, attrs }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 16 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `bpaf_derive` (lib test) due to 17 previous errors [INFO] running `Command { std: "docker" "inspect" "8257f1fe90708371a435c1e347bc2a1d6008c2724aaf323de92cabc71c5bc773", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8257f1fe90708371a435c1e347bc2a1d6008c2724aaf323de92cabc71c5bc773", kill_on_drop: false }` [INFO] [stdout] 8257f1fe90708371a435c1e347bc2a1d6008c2724aaf323de92cabc71c5bc773