[INFO] cloning repository https://github.com/MrElectrify/vtable_gen [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/MrElectrify/vtable_gen" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMrElectrify%2Fvtable_gen", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMrElectrify%2Fvtable_gen'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 293fc57e977885666da5d37aae1cb76c08bf381d [INFO] checking MrElectrify/vtable_gen/293fc57e977885666da5d37aae1cb76c08bf381d against try#4d98531622e1718ae0bc3c7a1ab9cd8938428452+rustflags=-Dtail_expr_drop_order for pr-129604 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMrElectrify%2Fvtable_gen" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/MrElectrify/vtable_gen 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 git repo https://github.com/MrElectrify/vtable_gen [INFO] finished tweaking git repo https://github.com/MrElectrify/vtable_gen [INFO] tweaked toml for git repo https://github.com/MrElectrify/vtable_gen written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/MrElectrify/vtable_gen already has a lockfile, it will not be regenerated [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] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 4dc05a0619080778522527f1247cda1ab88cfbc783741586018fc222ac98c746 [INFO] running `Command { std: "docker" "start" "-a" "4dc05a0619080778522527f1247cda1ab88cfbc783741586018fc222ac98c746", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "4dc05a0619080778522527f1247cda1ab88cfbc783741586018fc222ac98c746", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4dc05a0619080778522527f1247cda1ab88cfbc783741586018fc222ac98c746", kill_on_drop: false }` [INFO] [stdout] 4dc05a0619080778522527f1247cda1ab88cfbc783741586018fc222ac98c746 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -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] d00947cfdef64e6ec36f7bd3fa6fba585dc4dc9a7c87c6f1c25df9d5980f2616 [INFO] running `Command { std: "docker" "start" "-a" "d00947cfdef64e6ec36f7bd3fa6fba585dc4dc9a7c87c6f1c25df9d5980f2616", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.85 [INFO] [stderr] Compiling unicode-ident v1.0.12 [INFO] [stderr] Compiling strsim v0.11.1 [INFO] [stderr] Compiling ident_case v1.0.1 [INFO] [stderr] Compiling fnv v1.0.7 [INFO] [stderr] Checking unicode-segmentation v1.11.0 [INFO] [stderr] Checking either v1.12.0 [INFO] [stderr] Checking itertools v0.13.0 [INFO] [stderr] Compiling convert_case v0.6.0 [INFO] [stderr] Checking quote v1.0.36 [INFO] [stderr] Checking syn v2.0.66 [INFO] [stderr] Checking darling_core v0.20.9 [INFO] [stderr] Compiling darling_macro v0.20.9 [INFO] [stderr] Checking darling v0.20.9 [INFO] [stderr] Checking vtable_gen v1.1.0 (/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/class/mod.rs:156:5 [INFO] [stdout] | [INFO] [stdout] 111 | fn generate_class(mut def: CppDef) -> File { [INFO] [stdout] | --------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 112 | // extract `gen_base` [INFO] [stdout] 113 | let additional_bases = SecondaryBase::extract(&mut def.class).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] 122 | let stct = stct::gen_struct(&def.class, &additional_bases); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 125 | let bridge = bridge::gen_bridge(&def.class); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 131 | let trt = if let Some(gen_vtable) = &gen_vtable { [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 138 | let vtable = vtable::gen_vtable(&def.class, &additional_bases, gen_vtable.is_some()); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 141 | let impl_hooks = imp::gen_hooks(&def, &additional_bases); [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 144 | let access_helpers = base_access::gen_base_helpers(&def.class); [INFO] [stdout] | -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 145 | [INFO] [stdout] 146 | let output = quote! { [INFO] [stdout] | _________------___- [INFO] [stdout] | |_________|________| [INFO] [stdout] | |_________|________| [INFO] [stdout] | |_________|________| [INFO] [stdout] | |_________|________| [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 147 | | #[allow(non_camel_case_types)] [INFO] [stdout] 148 | | #stct [INFO] [stdout] 149 | | #impl_hooks [INFO] [stdout] ... | [INFO] [stdout] 154 | | #access_helpers [INFO] [stdout] 155 | | }; [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] 156 | | syn::parse(output.into()).expect("failed to generate class") [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/class/base_access.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 12 | let deref = impl_deref(class); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 13 | let as_ref = impl_as_ref(class); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 14 | [INFO] [stdout] 15 | / syn::parse( [INFO] [stdout] 16 | | quote! { [INFO] [stdout] 17 | | #deref [INFO] [stdout] 18 | | #as_ref [INFO] [stdout] 19 | | } [INFO] [stdout] 20 | | .into(), [INFO] [stdout] 21 | | ) [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/class/base_access.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 29 | let generic_args = class.generic_args(); [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 30 | let base_paths = class [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 36 | let base_names = base_paths [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 41 | / syn::parse( [INFO] [stdout] 42 | | quote! { [INFO] [stdout] 43 | | #( [INFO] [stdout] 44 | | impl #generics AsRef<#base_paths> for #ident #generic_args { [INFO] [stdout] ... | [INFO] [stdout] 57 | | .into(), [INFO] [stdout] 58 | | ) [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/class/base_access.rs:71:9 [INFO] [stdout] | [INFO] [stdout] 66 | let generic_args = class.generic_args(); [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 67 | let (base_path, _) = class.bases.bases.first()?; [INFO] [stdout] 68 | let base_ident = make_base_name(extract_ident(base_path)); [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 71 | / syn::parse( [INFO] [stdout] 72 | | quote! { [INFO] [stdout] 73 | | impl #generics ::core::ops::Deref for #ident #generic_args { [INFO] [stdout] 74 | | type Target = #base_path; [INFO] [stdout] ... | [INFO] [stdout] 87 | | ) [INFO] [stdout] 88 | | .expect("failed to generate `Deref` impl"), [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/class/bridge.rs:51:5 [INFO] [stdout] | [INFO] [stdout] 11 | let generic_args = class.generic_args(); [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 12 | let vtable_ident = make_vtable_ident(&class.ident); [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 15 | let mut fns: Vec = Vec::new(); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 50 | let generic_args = class.generic_args(); [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 51 | / syn::parse( [INFO] [stdout] 52 | | quote! { [INFO] [stdout] 53 | | impl #generics #ident #generic_args { [INFO] [stdout] 54 | | #(#fns)* [INFO] [stdout] ... | [INFO] [stdout] 57 | | .into(), [INFO] [stdout] 58 | | ) [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/class/extractor.rs:18:13 [INFO] [stdout] | [INFO] [stdout] 15 | let gen_base_attr = class.attrs.remove(gen_base_idx); [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 18 | / Self::parse_attr(gen_base_attr) [INFO] [stdout] 19 | | .unwrap_or_else(|e| panic!("Parse `{}` error: {e}", Self::attr())), [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/class/gen_vtable.rs:26:32 [INFO] [stdout] | [INFO] [stdout] 25 | fn parse_attr(attr: Attribute) -> syn::Result { [INFO] [stdout] | --------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 26 | Self::from_attributes(&[attr]).map_err(|err| syn::Error::new(Span::call_site(), err)) [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/class/generic_base.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 23 | fn parse_attr(attr: Attribute) -> syn::Result { [INFO] [stdout] | --------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 24 | Ok(attr [INFO] [stdout] | ____________^ [INFO] [stdout] 25 | | .parse_args_with(|args: ParseStream| { [INFO] [stdout] 26 | | args.parse_terminated( [INFO] [stdout] 27 | | |base_collection| { [INFO] [stdout] ... | [INFO] [stdout] 37 | | .map(|p| p.into_iter().collect()) [INFO] [stdout] 38 | | .collect()) [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/class/generic_base.rs:37:22 [INFO] [stdout] | [INFO] [stdout] 37 | .map(|p| p.into_iter().collect()) [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/class/imp.rs:168:5 [INFO] [stdout] | [INFO] [stdout] 165 | items: Vec, [INFO] [stdout] | -------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 168 | / items [INFO] [stdout] 169 | | .into_iter() [INFO] [stdout] 170 | | .flat_map(|item| match item { [INFO] [stdout] 171 | | ImplItem::Fn(item_fn) => hook_fn(class, item_fn, additional_bases) [INFO] [stdout] ... | [INFO] [stdout] 175 | | item => vec![item], [INFO] [stdout] 176 | | }) [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/class/imp.rs:225:5 [INFO] [stdout] | [INFO] [stdout] 194 | let arg_names = func [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 204 | let proxy_ident = make_ctor_call(ident); [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 205 | let static_ident = make_vtable_static(&class.ident, &class.ident, &class.generic_args()); [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 209 | let secondary_base_idents = secondary_base_types [INFO] [stdout] | --------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 220 | let output = quote! { [INFO] [stdout] | _________------___- [INFO] [stdout] | |_________|________| [INFO] [stdout] | |_________|________| [INFO] [stdout] | |_________|________| [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 221 | | #vis #unsafety #abi fn #ident(#args) #output { [INFO] [stdout] 222 | | Self::#proxy_ident(#(#arg_names,)* &#static_ident, #(&#secondary_base_idents),*) [INFO] [stdout] 223 | | } [INFO] [stdout] 224 | | }; [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] 225 | | syn::parse(output.into()).expect("failed to generate stub") [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/class/secondary_base.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 26 | fn parse_attr(attr: Attribute) -> syn::Result { [INFO] [stdout] | --------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 27 | Ok(attr [INFO] [stdout] | ____________^ [INFO] [stdout] 28 | | .parse_args_with(Punctuated::::parse_terminated)? [INFO] [stdout] 29 | | .iter() [INFO] [stdout] 30 | | .map(|expr| (expr.target.clone(), expr.bases.iter().cloned().collect())) [INFO] [stdout] 31 | | .collect()) [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/class/secondary_base.rs:30:26 [INFO] [stdout] | [INFO] [stdout] 30 | .map(|expr| (expr.target.clone(), expr.bases.iter().cloned().collect())) [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/class/secondary_base.rs:30:47 [INFO] [stdout] | [INFO] [stdout] 30 | .map(|expr| (expr.target.clone(), expr.bases.iter().cloned().collect())) [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/class/secondary_base.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 37 | let target = input.parse()?; [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 40 | let contents; [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 41 | let bracket = bracketed!(contents in input); [INFO] [stdout] | ----------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 42 | [INFO] [stdout] 43 | Ok(Self { [INFO] [stdout] | ____________^ [INFO] [stdout] 44 | | target, [INFO] [stdout] 45 | | eq, [INFO] [stdout] 46 | | bracket, [INFO] [stdout] 47 | | bases: contents.parse_terminated(Path::parse, Token![,])?, [INFO] [stdout] 48 | | }) [INFO] [stdout] | | ^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |_________| [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/class/stct.rs:53:5 [INFO] [stdout] | [INFO] [stdout] 14 | let mut attrs = class.attrs.clone(); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 15 | [INFO] [stdout] 16 | let default_impl = intercept_default(class, &mut attrs, additional_bases); [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 23 | let mut fields = class.body.fields.clone(); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 53 | / syn::parse( [INFO] [stdout] 54 | | quote! { [INFO] [stdout] 55 | | #(#attrs)* [INFO] [stdout] 56 | | #vis struct #ident #generics { [INFO] [stdout] ... | [INFO] [stdout] 62 | | .into(), [INFO] [stdout] 63 | | ) [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/class/stct.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 75 | let nested = attr [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 79 | nested.iter().any(|meta| meta.path().is_ident("C")) [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/class/stct.rs:153:10 [INFO] [stdout] | [INFO] [stdout] 95 | let meta = derive_attr [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 104 | let mut new_meta = Punctuated::::new(); [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 117 | let fields: Vec = class [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 130 | let default_fn = parse_quote! { [INFO] [stdout] | _________----------___- [INFO] [stdout] | |_________|____________| [INFO] [stdout] | |_________|____________| [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 131 | | fn default() -> Self { [INFO] [stdout] 132 | | Self { [INFO] [stdout] 133 | | #(#fields),* [INFO] [stdout] 134 | | } [INFO] [stdout] 135 | | } [INFO] [stdout] 136 | | }; [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] 137 | let generics = &class.generics; [INFO] [stdout] 138 | | let generic_args = class.generic_args(); [INFO] [stdout] | | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... | [INFO] [stdout] 144 | let output = quote! { [INFO] [stdout] | _________------___- [INFO] [stdout] | |_________|________| [INFO] [stdout] | |_________|________| [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 145 | | impl #generics #ident #generic_args { [INFO] [stdout] 146 | | #impl_fn [INFO] [stdout] 147 | | } [INFO] [stdout] ... | [INFO] [stdout] 151 | | } [INFO] [stdout] 152 | | }; [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] 153 | | Some(syn::parse(output.into()).expect("failed to generate default implementation")) [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/class/trt.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 15 | let virtuals_ident = make_virtuals(&class.ident); [INFO] [stdout] | -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 18 | let base_traits = collect_base_traits(class); [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 21 | let trait_functions = collect_functions(class); [INFO] [stdout] | --------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 24 | let macro_impl = gen_unimpl_macro(class); [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 27 | let trait_impl = if !no_unimpl { [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 28 | let macro_ident = make_virtuals_macro_ident(&class.ident); [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 29 | let struct_ident = &class.ident; [INFO] [stdout] 30 | let struct_generic_args = class.generic_args(); [INFO] [stdout] | ------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 31 | Some(quote!(#macro_ident!(#struct_ident, #struct_generic_args);)) [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] 36 | let output = quote! { [INFO] [stdout] | _________------___- [INFO] [stdout] | |_________|________| [INFO] [stdout] | |_________|________| [INFO] [stdout] | |_________|________| [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 37 | | #vis trait #virtuals_ident #generics: #(#base_traits)+* { [INFO] [stdout] 38 | | #(#trait_functions)* [INFO] [stdout] 39 | | } [INFO] [stdout] ... | [INFO] [stdout] 43 | | #trait_impl [INFO] [stdout] 44 | | }; [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] 45 | | syn::parse(output.into()).expect("failed to generate trait") [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/class/trt.rs:88:26 [INFO] [stdout] | [INFO] [stdout] 82 | let mut sig = virt.sig.clone(); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 88 | default: None, [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/class/trt.rs:162:5 [INFO] [stdout] | [INFO] [stdout] 97 | let generic_args = class.generic_args().args; [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 98 | // collect all generic args into descriptors [INFO] [stdout] 99 | let def_generic_arg_idents = generic_args [INFO] [stdout] | ---------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 104 | let macro_ident = make_virtuals_macro_ident(struct_ident); [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 105 | let virtuals_ident = make_virtuals(struct_ident); [INFO] [stdout] | -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 106 | [INFO] [stdout] 107 | let prefix = base_prefix(); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 108 | let impls = class [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 134 | let additional_impls: Vec = class [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 148 | let output = quote! { [INFO] [stdout] | _________------___- [INFO] [stdout] | |_________|________| [INFO] [stdout] | |_________|________| [INFO] [stdout] | |_________|________| [INFO] [stdout] | |_________|________| [INFO] [stdout] | |_________|________| [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 149 | | #[macro_export] [INFO] [stdout] 150 | | macro_rules! #macro_ident { [INFO] [stdout] 151 | | // implementor_ty: The type of the implementor. [INFO] [stdout] ... | [INFO] [stdout] 160 | | } [INFO] [stdout] 161 | | }; [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] 162 | | syn::parse(output.into()).expect("failed to generate unimpl macro") [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/class/trt.rs:144:13 [INFO] [stdout] | [INFO] [stdout] 139 | let macro_ident = make_virtuals_macro_ident(base_ty); [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 142 | let base_def_args = extract_implementor_generics(class, base_path); [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 143 | let expr = quote!(#macro_ident!($implementor_ty, <#(#base_def_args),*>)); [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] 144 | syn::parse(expr.into()).expect("failed to parse additional trait unimpl") [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/class/vtable.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 27 | let virtuals = sort_virtuals(class); [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 30 | let vtable = gen_vtable_struct(class, &virtuals); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 33 | let mcro = gen_vtable_macro(class, &virtuals); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 36 | let stc = if gen_vtable { [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 42 | / syn::parse( [INFO] [stdout] 43 | | quote! { [INFO] [stdout] 44 | | #vtable [INFO] [stdout] 45 | | #[allow(clippy::crate_in_macro_def)] [INFO] [stdout] ... | [INFO] [stdout] 49 | | .into(), [INFO] [stdout] 50 | | ) [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/class/vtable.rs:146:5 [INFO] [stdout] | [INFO] [stdout] 80 | let virtuals_ident = make_virtuals(class_ident); [INFO] [stdout] | -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 81 | let mut fields = Vec::new(); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 84 | let def_generic_arg_idents = class [INFO] [stdout] | ---------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 92 | let prefix = base_prefix(); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 131 | let macro_ident = make_vtable_macro_ident(class_ident); [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 132 | let struct_ident = make_vtable_ident(class_ident); [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 133 | [INFO] [stdout] 134 | let output = quote! { [INFO] [stdout] | _________------___- [INFO] [stdout] | |_________|________| [INFO] [stdout] | |_________|________| [INFO] [stdout] | |_________|________| [INFO] [stdout] | |_________|________| [INFO] [stdout] | |_________|________| [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 135 | | #[macro_export] [INFO] [stdout] 136 | | macro_rules! #macro_ident { [INFO] [stdout] 137 | | // implementor_ty: The type of the implementor. [INFO] [stdout] ... | [INFO] [stdout] 144 | | } [INFO] [stdout] 145 | | }; [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] 146 | | syn::parse(output.into()).expect("failed to generate vtable macro") [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/class/vtable.rs:166:5 [INFO] [stdout] | [INFO] [stdout] 157 | let macro_ident = make_vtable_macro_ident(vtable_ty); [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 158 | let vtable_static_path = make_vtable_static(class_ident, vtable_ty, base_generics); [INFO] [stdout] | ------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 159 | let vtable_static_ident = extract_ident(&vtable_static_path); [INFO] [stdout] 160 | let vtable_struct_ident = make_vtable_ident(vtable_ty); [INFO] [stdout] | ------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 161 | [INFO] [stdout] 162 | let output = quote! { [INFO] [stdout] | _________------___- [INFO] [stdout] | |_________|________| [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 163 | | #vis const #vtable_static_ident: #vtable_struct_ident #base_generics = [INFO] [stdout] 164 | | #macro_ident!(#class_ident #class_generics, #base_generics); [INFO] [stdout] 165 | | }; [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] 166 | | syn::parse(output.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] [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/class/vtable.rs:212:5 [INFO] [stdout] | [INFO] [stdout] 175 | let generic_args = class.generic_args(); [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 178 | let mut consts = vec![gen_vtable_static_for( [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 207 | let output = quote! { [INFO] [stdout] | _________------___- [INFO] [stdout] | |_________|________| [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 208 | | impl #generics #class_ident #generic_args { [INFO] [stdout] 209 | | #(#consts)* [INFO] [stdout] 210 | | } [INFO] [stdout] 211 | | }; [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] 212 | | syn::parse(output.into()).expect("failed to generate vtable static") [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/class/vtable.rs:262:13 [INFO] [stdout] | [INFO] [stdout] 256 | let base_vtable_ident = make_vtable_ident(base_ident); [INFO] [stdout] | ----------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 259 | let prefix = base_prefix(); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 262 | / Field { [INFO] [stdout] 263 | | attrs: vec![], [INFO] [stdout] 264 | | vis: parse_quote!(pub), [INFO] [stdout] 265 | | mutability: FieldMutability::None, [INFO] [stdout] ... | [INFO] [stdout] 268 | | ty: parse_quote!(#prefix #base_vtable_ident #base_args), [INFO] [stdout] 269 | | }, [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/class/vtable.rs:300:5 [INFO] [stdout] | [INFO] [stdout] 218 | let vtable_ident = make_vtable_ident(&class.ident); [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 219 | let mut fields = Punctuated::::new(); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 287 | let output = quote! { [INFO] [stdout] | _________------___- [INFO] [stdout] | |_________|________| [INFO] [stdout] | |_________|________| [INFO] [stdout] | |_________|________| [INFO] [stdout] | |_________|________| [INFO] [stdout] | |_________|________| [INFO] [stdout] | |_________|________| [INFO] [stdout] | |_________|________| [INFO] [stdout] | |_________|________| [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 288 | | #[repr(C)] [INFO] [stdout] 289 | | #[derive(Debug)] [INFO] [stdout] 290 | | #vis struct #vtable_ident #generics { [INFO] [stdout] ... | [INFO] [stdout] 298 | | impl #impl_generics Eq for #vtable_ident #ty_generics {} [INFO] [stdout] 299 | | }; [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] | |_____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] 300 | | syn::parse(output.into()).expect("failed to generate vtable struct") [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/parse.rs:22:34 [INFO] [stdout] | [INFO] [stdout] 22 | self.paths().map(|path| &last_segment(path).ident) [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/parse.rs:27:38 [INFO] [stdout] | [INFO] [stdout] 27 | self.path(index).map(|path| &last_segment(path).ident) [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/parse.rs:69:12 [INFO] [stdout] | [INFO] [stdout] 53 | let mut bases = Vec::new(); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 69 | Ok(Self { colon_token, bases }) [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/parse.rs:99:12 [INFO] [stdout] | [INFO] [stdout] 83 | let content; [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 84 | let braces = braced!(content in input); [INFO] [stdout] | ------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 85 | [INFO] [stdout] 86 | let mut fields = Punctuated::new(); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 99 | Ok(Self { [INFO] [stdout] | ____________^ [INFO] [stdout] 100 | | braces, [INFO] [stdout] 101 | | fields, [INFO] [stdout] 102 | | virtuals: content.parse_terminated(Virtual::parse, Token![,])?, [INFO] [stdout] 103 | | }) [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/parse.rs:212:12 [INFO] [stdout] | [INFO] [stdout] 211 | let content; [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 212 | Ok(Self { [INFO] [stdout] | ____________^ [INFO] [stdout] 213 | | paren_token: Some(parenthesized!(content in input)), [INFO] [stdout] 214 | | idx: Some(content.parse()?), [INFO] [stdout] 215 | | }) [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/util.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 41 | let class_generics = class.generic_args(); [INFO] [stdout] | -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 44 | let def_generics = match &base_path [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 51 | _ => parse_quote!(<>), [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 55 | / def_generics [INFO] [stdout] 56 | | .args [INFO] [stdout] 57 | | .iter() [INFO] [stdout] 58 | | .map(|base_arg| { [INFO] [stdout] ... | [INFO] [stdout] 67 | | .unwrap_or_else(|| base_arg.to_token_stream()) [INFO] [stdout] 68 | | }) [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/class/mod.rs:156:5 [INFO] [stdout] | [INFO] [stdout] 111 | fn generate_class(mut def: CppDef) -> File { [INFO] [stdout] | --------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 112 | // extract `gen_base` [INFO] [stdout] 113 | let additional_bases = SecondaryBase::extract(&mut def.class).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] 122 | let stct = stct::gen_struct(&def.class, &additional_bases); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 125 | let bridge = bridge::gen_bridge(&def.class); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 131 | let trt = if let Some(gen_vtable) = &gen_vtable { [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 138 | let vtable = vtable::gen_vtable(&def.class, &additional_bases, gen_vtable.is_some()); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 141 | let impl_hooks = imp::gen_hooks(&def, &additional_bases); [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 144 | let access_helpers = base_access::gen_base_helpers(&def.class); [INFO] [stdout] | -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 145 | [INFO] [stdout] 146 | let output = quote! { [INFO] [stdout] | _________------___- [INFO] [stdout] | |_________|________| [INFO] [stdout] | |_________|________| [INFO] [stdout] | |_________|________| [INFO] [stdout] | |_________|________| [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 147 | | #[allow(non_camel_case_types)] [INFO] [stdout] 148 | | #stct [INFO] [stdout] 149 | | #impl_hooks [INFO] [stdout] ... | [INFO] [stdout] 154 | | #access_helpers [INFO] [stdout] 155 | | }; [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] 156 | | syn::parse(output.into()).expect("failed to generate class") [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/class/base_access.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 12 | let deref = impl_deref(class); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 13 | let as_ref = impl_as_ref(class); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 14 | [INFO] [stdout] 15 | / syn::parse( [INFO] [stdout] 16 | | quote! { [INFO] [stdout] 17 | | #deref [INFO] [stdout] 18 | | #as_ref [INFO] [stdout] 19 | | } [INFO] [stdout] 20 | | .into(), [INFO] [stdout] 21 | | ) [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/class/base_access.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 29 | let generic_args = class.generic_args(); [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 30 | let base_paths = class [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 36 | let base_names = base_paths [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 41 | / syn::parse( [INFO] [stdout] 42 | | quote! { [INFO] [stdout] 43 | | #( [INFO] [stdout] 44 | | impl #generics AsRef<#base_paths> for #ident #generic_args { [INFO] [stdout] ... | [INFO] [stdout] 57 | | .into(), [INFO] [stdout] 58 | | ) [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/class/base_access.rs:71:9 [INFO] [stdout] | [INFO] [stdout] 66 | let generic_args = class.generic_args(); [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 67 | let (base_path, _) = class.bases.bases.first()?; [INFO] [stdout] 68 | let base_ident = make_base_name(extract_ident(base_path)); [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 71 | / syn::parse( [INFO] [stdout] 72 | | quote! { [INFO] [stdout] 73 | | impl #generics ::core::ops::Deref for #ident #generic_args { [INFO] [stdout] 74 | | type Target = #base_path; [INFO] [stdout] ... | [INFO] [stdout] 87 | | ) [INFO] [stdout] 88 | | .expect("failed to generate `Deref` impl"), [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/class/bridge.rs:51:5 [INFO] [stdout] | [INFO] [stdout] 11 | let generic_args = class.generic_args(); [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 12 | let vtable_ident = make_vtable_ident(&class.ident); [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 15 | let mut fns: Vec = Vec::new(); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 50 | let generic_args = class.generic_args(); [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 51 | / syn::parse( [INFO] [stdout] 52 | | quote! { [INFO] [stdout] 53 | | impl #generics #ident #generic_args { [INFO] [stdout] 54 | | #(#fns)* [INFO] [stdout] ... | [INFO] [stdout] 57 | | .into(), [INFO] [stdout] 58 | | ) [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/class/extractor.rs:18:13 [INFO] [stdout] | [INFO] [stdout] 15 | let gen_base_attr = class.attrs.remove(gen_base_idx); [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 18 | / Self::parse_attr(gen_base_attr) [INFO] [stdout] 19 | | .unwrap_or_else(|e| panic!("Parse `{}` error: {e}", Self::attr())), [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/class/gen_vtable.rs:26:32 [INFO] [stdout] | [INFO] [stdout] 25 | fn parse_attr(attr: Attribute) -> syn::Result { [INFO] [stdout] | --------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 26 | Self::from_attributes(&[attr]).map_err(|err| syn::Error::new(Span::call_site(), err)) [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/class/generic_base.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 23 | fn parse_attr(attr: Attribute) -> syn::Result { [INFO] [stdout] | --------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 24 | Ok(attr [INFO] [stdout] | ____________^ [INFO] [stdout] 25 | | .parse_args_with(|args: ParseStream| { [INFO] [stdout] 26 | | args.parse_terminated( [INFO] [stdout] 27 | | |base_collection| { [INFO] [stdout] ... | [INFO] [stdout] 37 | | .map(|p| p.into_iter().collect()) [INFO] [stdout] 38 | | .collect()) [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/class/generic_base.rs:37:22 [INFO] [stdout] | [INFO] [stdout] 37 | .map(|p| p.into_iter().collect()) [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/class/imp.rs:168:5 [INFO] [stdout] | [INFO] [stdout] 165 | items: Vec, [INFO] [stdout] | -------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 168 | / items [INFO] [stdout] 169 | | .into_iter() [INFO] [stdout] 170 | | .flat_map(|item| match item { [INFO] [stdout] 171 | | ImplItem::Fn(item_fn) => hook_fn(class, item_fn, additional_bases) [INFO] [stdout] ... | [INFO] [stdout] 175 | | item => vec![item], [INFO] [stdout] 176 | | }) [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/class/imp.rs:225:5 [INFO] [stdout] | [INFO] [stdout] 194 | let arg_names = func [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 204 | let proxy_ident = make_ctor_call(ident); [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 205 | let static_ident = make_vtable_static(&class.ident, &class.ident, &class.generic_args()); [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 209 | let secondary_base_idents = secondary_base_types [INFO] [stdout] | --------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 220 | let output = quote! { [INFO] [stdout] | _________------___- [INFO] [stdout] | |_________|________| [INFO] [stdout] | |_________|________| [INFO] [stdout] | |_________|________| [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 221 | | #vis #unsafety #abi fn #ident(#args) #output { [INFO] [stdout] 222 | | Self::#proxy_ident(#(#arg_names,)* &#static_ident, #(&#secondary_base_idents),*) [INFO] [stdout] 223 | | } [INFO] [stdout] 224 | | }; [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] 225 | | syn::parse(output.into()).expect("failed to generate stub") [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/class/secondary_base.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 26 | fn parse_attr(attr: Attribute) -> syn::Result { [INFO] [stdout] | --------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 27 | Ok(attr [INFO] [stdout] | ____________^ [INFO] [stdout] 28 | | .parse_args_with(Punctuated::::parse_terminated)? [INFO] [stdout] 29 | | .iter() [INFO] [stdout] 30 | | .map(|expr| (expr.target.clone(), expr.bases.iter().cloned().collect())) [INFO] [stdout] 31 | | .collect()) [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/class/secondary_base.rs:30:26 [INFO] [stdout] | [INFO] [stdout] 30 | .map(|expr| (expr.target.clone(), expr.bases.iter().cloned().collect())) [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/class/secondary_base.rs:30:47 [INFO] [stdout] | [INFO] [stdout] 30 | .map(|expr| (expr.target.clone(), expr.bases.iter().cloned().collect())) [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/class/secondary_base.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 37 | let target = input.parse()?; [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 40 | let contents; [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 41 | let bracket = bracketed!(contents in input); [INFO] [stdout] | ----------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 42 | [INFO] [stdout] 43 | Ok(Self { [INFO] [stdout] | ____________^ [INFO] [stdout] 44 | | target, [INFO] [stdout] 45 | | eq, [INFO] [stdout] 46 | | bracket, [INFO] [stdout] 47 | | bases: contents.parse_terminated(Path::parse, Token![,])?, [INFO] [stdout] 48 | | }) [INFO] [stdout] | | ^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |_________| [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/class/stct.rs:53:5 [INFO] [stdout] | [INFO] [stdout] 14 | let mut attrs = class.attrs.clone(); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 15 | [INFO] [stdout] 16 | let default_impl = intercept_default(class, &mut attrs, additional_bases); [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 23 | let mut fields = class.body.fields.clone(); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 53 | / syn::parse( [INFO] [stdout] 54 | | quote! { [INFO] [stdout] 55 | | #(#attrs)* [INFO] [stdout] 56 | | #vis struct #ident #generics { [INFO] [stdout] ... | [INFO] [stdout] 62 | | .into(), [INFO] [stdout] 63 | | ) [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/class/stct.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 75 | let nested = attr [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 79 | nested.iter().any(|meta| meta.path().is_ident("C")) [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: aborting due to 34 previous errors [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/class/stct.rs:153:10 [INFO] [stdout] | [INFO] [stdout] 95 | let meta = derive_attr [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 104 | let mut new_meta = Punctuated::::new(); [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 117 | let fields: Vec = class [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 130 | let default_fn = parse_quote! { [INFO] [stdout] | _________----------___- [INFO] [stdout] | |_________|____________| [INFO] [stdout] | |_________|____________| [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 131 | | fn default() -> Self { [INFO] [stdout] 132 | | Self { [INFO] [stdout] 133 | | #(#fields),* [INFO] [stdout] 134 | | } [INFO] [stdout] 135 | | } [INFO] [stdout] 136 | | }; [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] 137 | let generics = &class.generics; [INFO] [stdout] 138 | | let generic_args = class.generic_args(); [INFO] [stdout] | | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... | [INFO] [stdout] 144 | let output = quote! { [INFO] [stdout] | _________------___- [INFO] [stdout] | |_________|________| [INFO] [stdout] | |_________|________| [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 145 | | impl #generics #ident #generic_args { [INFO] [stdout] 146 | | #impl_fn [INFO] [stdout] 147 | | } [INFO] [stdout] ... | [INFO] [stdout] 151 | | } [INFO] [stdout] 152 | | }; [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] 153 | | Some(syn::parse(output.into()).expect("failed to generate default implementation")) [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] [stderr] error: could not compile `vtable_gen` (lib) due to 35 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/class/trt.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 15 | let virtuals_ident = make_virtuals(&class.ident); [INFO] [stdout] | -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 18 | let base_traits = collect_base_traits(class); [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 21 | let trait_functions = collect_functions(class); [INFO] [stdout] | --------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 24 | let macro_impl = gen_unimpl_macro(class); [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 27 | let trait_impl = if !no_unimpl { [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 28 | let macro_ident = make_virtuals_macro_ident(&class.ident); [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 29 | let struct_ident = &class.ident; [INFO] [stdout] 30 | let struct_generic_args = class.generic_args(); [INFO] [stdout] | ------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 31 | Some(quote!(#macro_ident!(#struct_ident, #struct_generic_args);)) [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] 36 | let output = quote! { [INFO] [stdout] | _________------___- [INFO] [stdout] | |_________|________| [INFO] [stdout] | |_________|________| [INFO] [stdout] | |_________|________| [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 37 | | #vis trait #virtuals_ident #generics: #(#base_traits)+* { [INFO] [stdout] 38 | | #(#trait_functions)* [INFO] [stdout] 39 | | } [INFO] [stdout] ... | [INFO] [stdout] 43 | | #trait_impl [INFO] [stdout] 44 | | }; [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] 45 | | syn::parse(output.into()).expect("failed to generate trait") [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/class/trt.rs:88:26 [INFO] [stdout] | [INFO] [stdout] 82 | let mut sig = virt.sig.clone(); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 88 | default: None, [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/class/trt.rs:162:5 [INFO] [stdout] | [INFO] [stdout] 97 | let generic_args = class.generic_args().args; [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 98 | // collect all generic args into descriptors [INFO] [stdout] 99 | let def_generic_arg_idents = generic_args [INFO] [stdout] | ---------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 104 | let macro_ident = make_virtuals_macro_ident(struct_ident); [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 105 | let virtuals_ident = make_virtuals(struct_ident); [INFO] [stdout] | -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 106 | [INFO] [stdout] 107 | let prefix = base_prefix(); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 108 | let impls = class [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 134 | let additional_impls: Vec = class [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 148 | let output = quote! { [INFO] [stdout] | _________------___- [INFO] [stdout] | |_________|________| [INFO] [stdout] | |_________|________| [INFO] [stdout] | |_________|________| [INFO] [stdout] | |_________|________| [INFO] [stdout] | |_________|________| [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 149 | | #[macro_export] [INFO] [stdout] 150 | | macro_rules! #macro_ident { [INFO] [stdout] 151 | | // implementor_ty: The type of the implementor. [INFO] [stdout] ... | [INFO] [stdout] 160 | | } [INFO] [stdout] 161 | | }; [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] 162 | | syn::parse(output.into()).expect("failed to generate unimpl macro") [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/class/trt.rs:144:13 [INFO] [stdout] | [INFO] [stdout] 139 | let macro_ident = make_virtuals_macro_ident(base_ty); [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 142 | let base_def_args = extract_implementor_generics(class, base_path); [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 143 | let expr = quote!(#macro_ident!($implementor_ty, <#(#base_def_args),*>)); [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] 144 | syn::parse(expr.into()).expect("failed to parse additional trait unimpl") [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/class/vtable.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 27 | let virtuals = sort_virtuals(class); [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 30 | let vtable = gen_vtable_struct(class, &virtuals); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 33 | let mcro = gen_vtable_macro(class, &virtuals); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 36 | let stc = if gen_vtable { [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 42 | / syn::parse( [INFO] [stdout] 43 | | quote! { [INFO] [stdout] 44 | | #vtable [INFO] [stdout] 45 | | #[allow(clippy::crate_in_macro_def)] [INFO] [stdout] ... | [INFO] [stdout] 49 | | .into(), [INFO] [stdout] 50 | | ) [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/class/vtable.rs:146:5 [INFO] [stdout] | [INFO] [stdout] 80 | let virtuals_ident = make_virtuals(class_ident); [INFO] [stdout] | -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 81 | let mut fields = Vec::new(); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 84 | let def_generic_arg_idents = class [INFO] [stdout] | ---------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 92 | let prefix = base_prefix(); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 131 | let macro_ident = make_vtable_macro_ident(class_ident); [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 132 | let struct_ident = make_vtable_ident(class_ident); [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 133 | [INFO] [stdout] 134 | let output = quote! { [INFO] [stdout] | _________------___- [INFO] [stdout] | |_________|________| [INFO] [stdout] | |_________|________| [INFO] [stdout] | |_________|________| [INFO] [stdout] | |_________|________| [INFO] [stdout] | |_________|________| [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 135 | | #[macro_export] [INFO] [stdout] 136 | | macro_rules! #macro_ident { [INFO] [stdout] 137 | | // implementor_ty: The type of the implementor. [INFO] [stdout] ... | [INFO] [stdout] 144 | | } [INFO] [stdout] 145 | | }; [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] 146 | | syn::parse(output.into()).expect("failed to generate vtable macro") [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/class/vtable.rs:166:5 [INFO] [stdout] | [INFO] [stdout] 157 | let macro_ident = make_vtable_macro_ident(vtable_ty); [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 158 | let vtable_static_path = make_vtable_static(class_ident, vtable_ty, base_generics); [INFO] [stdout] | ------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 159 | let vtable_static_ident = extract_ident(&vtable_static_path); [INFO] [stdout] 160 | let vtable_struct_ident = make_vtable_ident(vtable_ty); [INFO] [stdout] | ------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 161 | [INFO] [stdout] 162 | let output = quote! { [INFO] [stdout] | _________------___- [INFO] [stdout] | |_________|________| [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 163 | | #vis const #vtable_static_ident: #vtable_struct_ident #base_generics = [INFO] [stdout] 164 | | #macro_ident!(#class_ident #class_generics, #base_generics); [INFO] [stdout] 165 | | }; [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] 166 | | syn::parse(output.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] [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/class/vtable.rs:212:5 [INFO] [stdout] | [INFO] [stdout] 175 | let generic_args = class.generic_args(); [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 178 | let mut consts = vec![gen_vtable_static_for( [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 207 | let output = quote! { [INFO] [stdout] | _________------___- [INFO] [stdout] | |_________|________| [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 208 | | impl #generics #class_ident #generic_args { [INFO] [stdout] 209 | | #(#consts)* [INFO] [stdout] 210 | | } [INFO] [stdout] 211 | | }; [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] 212 | | syn::parse(output.into()).expect("failed to generate vtable static") [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/class/vtable.rs:262:13 [INFO] [stdout] | [INFO] [stdout] 256 | let base_vtable_ident = make_vtable_ident(base_ident); [INFO] [stdout] | ----------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 259 | let prefix = base_prefix(); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 262 | / Field { [INFO] [stdout] 263 | | attrs: vec![], [INFO] [stdout] 264 | | vis: parse_quote!(pub), [INFO] [stdout] 265 | | mutability: FieldMutability::None, [INFO] [stdout] ... | [INFO] [stdout] 268 | | ty: parse_quote!(#prefix #base_vtable_ident #base_args), [INFO] [stdout] 269 | | }, [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/class/vtable.rs:300:5 [INFO] [stdout] | [INFO] [stdout] 218 | let vtable_ident = make_vtable_ident(&class.ident); [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 219 | let mut fields = Punctuated::::new(); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 287 | let output = quote! { [INFO] [stdout] | _________------___- [INFO] [stdout] | |_________|________| [INFO] [stdout] | |_________|________| [INFO] [stdout] | |_________|________| [INFO] [stdout] | |_________|________| [INFO] [stdout] | |_________|________| [INFO] [stdout] | |_________|________| [INFO] [stdout] | |_________|________| [INFO] [stdout] | |_________|________| [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 288 | | #[repr(C)] [INFO] [stdout] 289 | | #[derive(Debug)] [INFO] [stdout] 290 | | #vis struct #vtable_ident #generics { [INFO] [stdout] ... | [INFO] [stdout] 298 | | impl #impl_generics Eq for #vtable_ident #ty_generics {} [INFO] [stdout] 299 | | }; [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] | |_____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] 300 | | syn::parse(output.into()).expect("failed to generate vtable struct") [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/parse.rs:22:34 [INFO] [stdout] | [INFO] [stdout] 22 | self.paths().map(|path| &last_segment(path).ident) [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/parse.rs:27:38 [INFO] [stdout] | [INFO] [stdout] 27 | self.path(index).map(|path| &last_segment(path).ident) [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/parse.rs:69:12 [INFO] [stdout] | [INFO] [stdout] 53 | let mut bases = Vec::new(); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 69 | Ok(Self { colon_token, bases }) [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/parse.rs:99:12 [INFO] [stdout] | [INFO] [stdout] 83 | let content; [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 84 | let braces = braced!(content in input); [INFO] [stdout] | ------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 85 | [INFO] [stdout] 86 | let mut fields = Punctuated::new(); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 99 | Ok(Self { [INFO] [stdout] | ____________^ [INFO] [stdout] 100 | | braces, [INFO] [stdout] 101 | | fields, [INFO] [stdout] 102 | | virtuals: content.parse_terminated(Virtual::parse, Token![,])?, [INFO] [stdout] 103 | | }) [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/parse.rs:212:12 [INFO] [stdout] | [INFO] [stdout] 211 | let content; [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 212 | Ok(Self { [INFO] [stdout] | ____________^ [INFO] [stdout] 213 | | paren_token: Some(parenthesized!(content in input)), [INFO] [stdout] 214 | | idx: Some(content.parse()?), [INFO] [stdout] 215 | | }) [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/util.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 41 | let class_generics = class.generic_args(); [INFO] [stdout] | -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 44 | let def_generics = match &base_path [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 51 | _ => parse_quote!(<>), [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 55 | / def_generics [INFO] [stdout] 56 | | .args [INFO] [stdout] 57 | | .iter() [INFO] [stdout] 58 | | .map(|base_arg| { [INFO] [stdout] ... | [INFO] [stdout] 67 | | .unwrap_or_else(|| base_arg.to_token_stream()) [INFO] [stdout] 68 | | }) [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: aborting due to 34 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `vtable_gen` (lib) due to 35 previous errors [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/class/mod.rs:156:5 [INFO] [stdout] | [INFO] [stdout] 111 | fn generate_class(mut def: CppDef) -> File { [INFO] [stdout] | --------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 112 | // extract `gen_base` [INFO] [stdout] 113 | let additional_bases = SecondaryBase::extract(&mut def.class).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] 122 | let stct = stct::gen_struct(&def.class, &additional_bases); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 125 | let bridge = bridge::gen_bridge(&def.class); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 131 | let trt = if let Some(gen_vtable) = &gen_vtable { [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 138 | let vtable = vtable::gen_vtable(&def.class, &additional_bases, gen_vtable.is_some()); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 141 | let impl_hooks = imp::gen_hooks(&def, &additional_bases); [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 144 | let access_helpers = base_access::gen_base_helpers(&def.class); [INFO] [stdout] | -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 145 | [INFO] [stdout] 146 | let output = quote! { [INFO] [stdout] | _________------___- [INFO] [stdout] | |_________|________| [INFO] [stdout] | |_________|________| [INFO] [stdout] | |_________|________| [INFO] [stdout] | |_________|________| [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 147 | | #[allow(non_camel_case_types)] [INFO] [stdout] 148 | | #stct [INFO] [stdout] 149 | | #impl_hooks [INFO] [stdout] ... | [INFO] [stdout] 154 | | #access_helpers [INFO] [stdout] 155 | | }; [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] 156 | | syn::parse(output.into()).expect("failed to generate class") [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/class/base_access.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 12 | let deref = impl_deref(class); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 13 | let as_ref = impl_as_ref(class); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 14 | [INFO] [stdout] 15 | / syn::parse( [INFO] [stdout] 16 | | quote! { [INFO] [stdout] 17 | | #deref [INFO] [stdout] 18 | | #as_ref [INFO] [stdout] 19 | | } [INFO] [stdout] 20 | | .into(), [INFO] [stdout] 21 | | ) [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/class/base_access.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 29 | let generic_args = class.generic_args(); [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 30 | let base_paths = class [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 36 | let base_names = base_paths [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 41 | / syn::parse( [INFO] [stdout] 42 | | quote! { [INFO] [stdout] 43 | | #( [INFO] [stdout] 44 | | impl #generics AsRef<#base_paths> for #ident #generic_args { [INFO] [stdout] ... | [INFO] [stdout] 57 | | .into(), [INFO] [stdout] 58 | | ) [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/class/base_access.rs:71:9 [INFO] [stdout] | [INFO] [stdout] 66 | let generic_args = class.generic_args(); [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 67 | let (base_path, _) = class.bases.bases.first()?; [INFO] [stdout] 68 | let base_ident = make_base_name(extract_ident(base_path)); [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 71 | / syn::parse( [INFO] [stdout] 72 | | quote! { [INFO] [stdout] 73 | | impl #generics ::core::ops::Deref for #ident #generic_args { [INFO] [stdout] 74 | | type Target = #base_path; [INFO] [stdout] ... | [INFO] [stdout] 87 | | ) [INFO] [stdout] 88 | | .expect("failed to generate `Deref` impl"), [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/class/bridge.rs:51:5 [INFO] [stdout] | [INFO] [stdout] 11 | let generic_args = class.generic_args(); [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 12 | let vtable_ident = make_vtable_ident(&class.ident); [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 15 | let mut fns: Vec = Vec::new(); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 50 | let generic_args = class.generic_args(); [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 51 | / syn::parse( [INFO] [stdout] 52 | | quote! { [INFO] [stdout] 53 | | impl #generics #ident #generic_args { [INFO] [stdout] 54 | | #(#fns)* [INFO] [stdout] ... | [INFO] [stdout] 57 | | .into(), [INFO] [stdout] 58 | | ) [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/class/extractor.rs:18:13 [INFO] [stdout] | [INFO] [stdout] 15 | let gen_base_attr = class.attrs.remove(gen_base_idx); [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 18 | / Self::parse_attr(gen_base_attr) [INFO] [stdout] 19 | | .unwrap_or_else(|e| panic!("Parse `{}` error: {e}", Self::attr())), [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/class/gen_vtable.rs:26:32 [INFO] [stdout] | [INFO] [stdout] 25 | fn parse_attr(attr: Attribute) -> syn::Result { [INFO] [stdout] | --------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 26 | Self::from_attributes(&[attr]).map_err(|err| syn::Error::new(Span::call_site(), err)) [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/class/generic_base.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 23 | fn parse_attr(attr: Attribute) -> syn::Result { [INFO] [stdout] | --------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 24 | Ok(attr [INFO] [stdout] | ____________^ [INFO] [stdout] 25 | | .parse_args_with(|args: ParseStream| { [INFO] [stdout] 26 | | args.parse_terminated( [INFO] [stdout] 27 | | |base_collection| { [INFO] [stdout] ... | [INFO] [stdout] 37 | | .map(|p| p.into_iter().collect()) [INFO] [stdout] 38 | | .collect()) [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/class/generic_base.rs:37:22 [INFO] [stdout] | [INFO] [stdout] 37 | .map(|p| p.into_iter().collect()) [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/class/imp.rs:168:5 [INFO] [stdout] | [INFO] [stdout] 165 | items: Vec, [INFO] [stdout] | -------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 168 | / items [INFO] [stdout] 169 | | .into_iter() [INFO] [stdout] 170 | | .flat_map(|item| match item { [INFO] [stdout] 171 | | ImplItem::Fn(item_fn) => hook_fn(class, item_fn, additional_bases) [INFO] [stdout] ... | [INFO] [stdout] 175 | | item => vec![item], [INFO] [stdout] 176 | | }) [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/class/imp.rs:225:5 [INFO] [stdout] | [INFO] [stdout] 194 | let arg_names = func [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 204 | let proxy_ident = make_ctor_call(ident); [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 205 | let static_ident = make_vtable_static(&class.ident, &class.ident, &class.generic_args()); [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 209 | let secondary_base_idents = secondary_base_types [INFO] [stdout] | --------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 220 | let output = quote! { [INFO] [stdout] | _________------___- [INFO] [stdout] | |_________|________| [INFO] [stdout] | |_________|________| [INFO] [stdout] | |_________|________| [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 221 | | #vis #unsafety #abi fn #ident(#args) #output { [INFO] [stdout] 222 | | Self::#proxy_ident(#(#arg_names,)* &#static_ident, #(&#secondary_base_idents),*) [INFO] [stdout] 223 | | } [INFO] [stdout] 224 | | }; [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] 225 | | syn::parse(output.into()).expect("failed to generate stub") [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/class/secondary_base.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 26 | fn parse_attr(attr: Attribute) -> syn::Result { [INFO] [stdout] | --------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 27 | Ok(attr [INFO] [stdout] | ____________^ [INFO] [stdout] 28 | | .parse_args_with(Punctuated::::parse_terminated)? [INFO] [stdout] 29 | | .iter() [INFO] [stdout] 30 | | .map(|expr| (expr.target.clone(), expr.bases.iter().cloned().collect())) [INFO] [stdout] 31 | | .collect()) [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/class/secondary_base.rs:30:26 [INFO] [stdout] | [INFO] [stdout] 30 | .map(|expr| (expr.target.clone(), expr.bases.iter().cloned().collect())) [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/class/secondary_base.rs:30:47 [INFO] [stdout] | [INFO] [stdout] 30 | .map(|expr| (expr.target.clone(), expr.bases.iter().cloned().collect())) [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/class/secondary_base.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 37 | let target = input.parse()?; [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 40 | let contents; [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 41 | let bracket = bracketed!(contents in input); [INFO] [stdout] | ----------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 42 | [INFO] [stdout] 43 | Ok(Self { [INFO] [stdout] | ____________^ [INFO] [stdout] 44 | | target, [INFO] [stdout] 45 | | eq, [INFO] [stdout] 46 | | bracket, [INFO] [stdout] 47 | | bases: contents.parse_terminated(Path::parse, Token![,])?, [INFO] [stdout] 48 | | }) [INFO] [stdout] | | ^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |_________| [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/class/stct.rs:53:5 [INFO] [stdout] | [INFO] [stdout] 14 | let mut attrs = class.attrs.clone(); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 15 | [INFO] [stdout] 16 | let default_impl = intercept_default(class, &mut attrs, additional_bases); [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 23 | let mut fields = class.body.fields.clone(); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 53 | / syn::parse( [INFO] [stdout] 54 | | quote! { [INFO] [stdout] 55 | | #(#attrs)* [INFO] [stdout] 56 | | #vis struct #ident #generics { [INFO] [stdout] ... | [INFO] [stdout] 62 | | .into(), [INFO] [stdout] 63 | | ) [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/class/stct.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 75 | let nested = attr [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 79 | nested.iter().any(|meta| meta.path().is_ident("C")) [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/class/stct.rs:153:10 [INFO] [stdout] | [INFO] [stdout] 95 | let meta = derive_attr [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 104 | let mut new_meta = Punctuated::::new(); [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 117 | let fields: Vec = class [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 130 | let default_fn = parse_quote! { [INFO] [stdout] | _________----------___- [INFO] [stdout] | |_________|____________| [INFO] [stdout] | |_________|____________| [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 131 | | fn default() -> Self { [INFO] [stdout] 132 | | Self { [INFO] [stdout] 133 | | #(#fields),* [INFO] [stdout] 134 | | } [INFO] [stdout] 135 | | } [INFO] [stdout] 136 | | }; [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] 137 | let generics = &class.generics; [INFO] [stdout] 138 | | let generic_args = class.generic_args(); [INFO] [stdout] | | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... | [INFO] [stdout] 144 | let output = quote! { [INFO] [stdout] | _________------___- [INFO] [stdout] | |_________|________| [INFO] [stdout] | |_________|________| [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 145 | | impl #generics #ident #generic_args { [INFO] [stdout] 146 | | #impl_fn [INFO] [stdout] 147 | | } [INFO] [stdout] ... | [INFO] [stdout] 151 | | } [INFO] [stdout] 152 | | }; [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] 153 | | Some(syn::parse(output.into()).expect("failed to generate default implementation")) [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/class/trt.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 15 | let virtuals_ident = make_virtuals(&class.ident); [INFO] [stdout] | -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 18 | let base_traits = collect_base_traits(class); [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 21 | let trait_functions = collect_functions(class); [INFO] [stdout] | --------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 24 | let macro_impl = gen_unimpl_macro(class); [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 27 | let trait_impl = if !no_unimpl { [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 28 | let macro_ident = make_virtuals_macro_ident(&class.ident); [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 29 | let struct_ident = &class.ident; [INFO] [stdout] 30 | let struct_generic_args = class.generic_args(); [INFO] [stdout] | ------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 31 | Some(quote!(#macro_ident!(#struct_ident, #struct_generic_args);)) [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] 36 | let output = quote! { [INFO] [stdout] | _________------___- [INFO] [stdout] | |_________|________| [INFO] [stdout] | |_________|________| [INFO] [stdout] | |_________|________| [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 37 | | #vis trait #virtuals_ident #generics: #(#base_traits)+* { [INFO] [stdout] 38 | | #(#trait_functions)* [INFO] [stdout] 39 | | } [INFO] [stdout] ... | [INFO] [stdout] 43 | | #trait_impl [INFO] [stdout] 44 | | }; [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] 45 | | syn::parse(output.into()).expect("failed to generate trait") [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/class/trt.rs:88:26 [INFO] [stdout] | [INFO] [stdout] 82 | let mut sig = virt.sig.clone(); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 88 | default: None, [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/class/trt.rs:162:5 [INFO] [stdout] | [INFO] [stdout] 97 | let generic_args = class.generic_args().args; [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 98 | // collect all generic args into descriptors [INFO] [stdout] 99 | let def_generic_arg_idents = generic_args [INFO] [stdout] | ---------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 104 | let macro_ident = make_virtuals_macro_ident(struct_ident); [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 105 | let virtuals_ident = make_virtuals(struct_ident); [INFO] [stdout] | -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 106 | [INFO] [stdout] 107 | let prefix = base_prefix(); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 108 | let impls = class [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 134 | let additional_impls: Vec = class [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 148 | let output = quote! { [INFO] [stdout] | _________------___- [INFO] [stdout] | |_________|________| [INFO] [stdout] | |_________|________| [INFO] [stdout] | |_________|________| [INFO] [stdout] | |_________|________| [INFO] [stdout] | |_________|________| [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 149 | | #[macro_export] [INFO] [stdout] 150 | | macro_rules! #macro_ident { [INFO] [stdout] 151 | | // implementor_ty: The type of the implementor. [INFO] [stdout] ... | [INFO] [stdout] 160 | | } [INFO] [stdout] 161 | | }; [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] 162 | | syn::parse(output.into()).expect("failed to generate unimpl macro") [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/class/trt.rs:144:13 [INFO] [stdout] | [INFO] [stdout] 139 | let macro_ident = make_virtuals_macro_ident(base_ty); [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 142 | let base_def_args = extract_implementor_generics(class, base_path); [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 143 | let expr = quote!(#macro_ident!($implementor_ty, <#(#base_def_args),*>)); [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] 144 | syn::parse(expr.into()).expect("failed to parse additional trait unimpl") [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/class/vtable.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 27 | let virtuals = sort_virtuals(class); [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 30 | let vtable = gen_vtable_struct(class, &virtuals); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 33 | let mcro = gen_vtable_macro(class, &virtuals); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 36 | let stc = if gen_vtable { [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 42 | / syn::parse( [INFO] [stdout] 43 | | quote! { [INFO] [stdout] 44 | | #vtable [INFO] [stdout] 45 | | #[allow(clippy::crate_in_macro_def)] [INFO] [stdout] ... | [INFO] [stdout] 49 | | .into(), [INFO] [stdout] 50 | | ) [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/class/vtable.rs:146:5 [INFO] [stdout] | [INFO] [stdout] 80 | let virtuals_ident = make_virtuals(class_ident); [INFO] [stdout] | -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 81 | let mut fields = Vec::new(); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 84 | let def_generic_arg_idents = class [INFO] [stdout] | ---------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 92 | let prefix = base_prefix(); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 131 | let macro_ident = make_vtable_macro_ident(class_ident); [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 132 | let struct_ident = make_vtable_ident(class_ident); [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 133 | [INFO] [stdout] 134 | let output = quote! { [INFO] [stdout] | _________------___- [INFO] [stdout] | |_________|________| [INFO] [stdout] | |_________|________| [INFO] [stdout] | |_________|________| [INFO] [stdout] | |_________|________| [INFO] [stdout] | |_________|________| [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 135 | | #[macro_export] [INFO] [stdout] 136 | | macro_rules! #macro_ident { [INFO] [stdout] 137 | | // implementor_ty: The type of the implementor. [INFO] [stdout] ... | [INFO] [stdout] 144 | | } [INFO] [stdout] 145 | | }; [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] 146 | | syn::parse(output.into()).expect("failed to generate vtable macro") [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/class/vtable.rs:166:5 [INFO] [stdout] | [INFO] [stdout] 157 | let macro_ident = make_vtable_macro_ident(vtable_ty); [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 158 | let vtable_static_path = make_vtable_static(class_ident, vtable_ty, base_generics); [INFO] [stdout] | ------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 159 | let vtable_static_ident = extract_ident(&vtable_static_path); [INFO] [stdout] 160 | let vtable_struct_ident = make_vtable_ident(vtable_ty); [INFO] [stdout] | ------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 161 | [INFO] [stdout] 162 | let output = quote! { [INFO] [stdout] | _________------___- [INFO] [stdout] | |_________|________| [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 163 | | #vis const #vtable_static_ident: #vtable_struct_ident #base_generics = [INFO] [stdout] 164 | | #macro_ident!(#class_ident #class_generics, #base_generics); [INFO] [stdout] 165 | | }; [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] 166 | | syn::parse(output.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] [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/class/vtable.rs:212:5 [INFO] [stdout] | [INFO] [stdout] 175 | let generic_args = class.generic_args(); [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 178 | let mut consts = vec![gen_vtable_static_for( [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 207 | let output = quote! { [INFO] [stdout] | _________------___- [INFO] [stdout] | |_________|________| [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 208 | | impl #generics #class_ident #generic_args { [INFO] [stdout] 209 | | #(#consts)* [INFO] [stdout] 210 | | } [INFO] [stdout] 211 | | }; [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] 212 | | syn::parse(output.into()).expect("failed to generate vtable static") [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/class/vtable.rs:262:13 [INFO] [stdout] | [INFO] [stdout] 256 | let base_vtable_ident = make_vtable_ident(base_ident); [INFO] [stdout] | ----------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 259 | let prefix = base_prefix(); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 262 | / Field { [INFO] [stdout] 263 | | attrs: vec![], [INFO] [stdout] 264 | | vis: parse_quote!(pub), [INFO] [stdout] 265 | | mutability: FieldMutability::None, [INFO] [stdout] ... | [INFO] [stdout] 268 | | ty: parse_quote!(#prefix #base_vtable_ident #base_args), [INFO] [stdout] 269 | | }, [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/class/vtable.rs:300:5 [INFO] [stdout] | [INFO] [stdout] 218 | let vtable_ident = make_vtable_ident(&class.ident); [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 219 | let mut fields = Punctuated::::new(); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 287 | let output = quote! { [INFO] [stdout] | _________------___- [INFO] [stdout] | |_________|________| [INFO] [stdout] | |_________|________| [INFO] [stdout] | |_________|________| [INFO] [stdout] | |_________|________| [INFO] [stdout] | |_________|________| [INFO] [stdout] | |_________|________| [INFO] [stdout] | |_________|________| [INFO] [stdout] | |_________|________| [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 288 | | #[repr(C)] [INFO] [stdout] 289 | | #[derive(Debug)] [INFO] [stdout] 290 | | #vis struct #vtable_ident #generics { [INFO] [stdout] ... | [INFO] [stdout] 298 | | impl #impl_generics Eq for #vtable_ident #ty_generics {} [INFO] [stdout] 299 | | }; [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] | |_____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] 300 | | syn::parse(output.into()).expect("failed to generate vtable struct") [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/parse.rs:22:34 [INFO] [stdout] | [INFO] [stdout] 22 | self.paths().map(|path| &last_segment(path).ident) [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/parse.rs:27:38 [INFO] [stdout] | [INFO] [stdout] 27 | self.path(index).map(|path| &last_segment(path).ident) [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/parse.rs:69:12 [INFO] [stdout] | [INFO] [stdout] 53 | let mut bases = Vec::new(); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 69 | Ok(Self { colon_token, bases }) [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/parse.rs:99:12 [INFO] [stdout] | [INFO] [stdout] 83 | let content; [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 84 | let braces = braced!(content in input); [INFO] [stdout] | ------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 85 | [INFO] [stdout] 86 | let mut fields = Punctuated::new(); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 99 | Ok(Self { [INFO] [stdout] | ____________^ [INFO] [stdout] 100 | | braces, [INFO] [stdout] 101 | | fields, [INFO] [stdout] 102 | | virtuals: content.parse_terminated(Virtual::parse, Token![,])?, [INFO] [stdout] 103 | | }) [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/parse.rs:212:12 [INFO] [stdout] | [INFO] [stdout] 211 | let content; [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 212 | Ok(Self { [INFO] [stdout] | ____________^ [INFO] [stdout] 213 | | paren_token: Some(parenthesized!(content in input)), [INFO] [stdout] 214 | | idx: Some(content.parse()?), [INFO] [stdout] 215 | | }) [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/util.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 41 | let class_generics = class.generic_args(); [INFO] [stdout] | -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 44 | let def_generics = match &base_path [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 51 | _ => parse_quote!(<>), [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 55 | / def_generics [INFO] [stdout] 56 | | .args [INFO] [stdout] 57 | | .iter() [INFO] [stdout] 58 | | .map(|base_arg| { [INFO] [stdout] ... | [INFO] [stdout] 67 | | .unwrap_or_else(|| base_arg.to_token_stream()) [INFO] [stdout] 68 | | }) [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: aborting due to 34 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `vtable_gen` (lib test) due to 35 previous errors [INFO] running `Command { std: "docker" "inspect" "d00947cfdef64e6ec36f7bd3fa6fba585dc4dc9a7c87c6f1c25df9d5980f2616", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d00947cfdef64e6ec36f7bd3fa6fba585dc4dc9a7c87c6f1c25df9d5980f2616", kill_on_drop: false }` [INFO] [stdout] d00947cfdef64e6ec36f7bd3fa6fba585dc4dc9a7c87c6f1c25df9d5980f2616