[INFO] fetching crate butcher_proc_macro 0.5.1... [INFO] checking butcher_proc_macro-0.5.1 against try#4d98531622e1718ae0bc3c7a1ab9cd8938428452+rustflags=-Dtail_expr_drop_order for pr-129604 [INFO] extracting crate butcher_proc_macro 0.5.1 into /workspace/builds/worker-5-tc2/source [INFO] validating manifest of crates.io crate butcher_proc_macro 0.5.1 on toolchain 4d98531622e1718ae0bc3c7a1ab9cd8938428452 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate butcher_proc_macro 0.5.1 [INFO] finished tweaking crates.io crate butcher_proc_macro 0.5.1 [INFO] tweaked toml for crates.io crate butcher_proc_macro 0.5.1 written to /workspace/builds/worker-5-tc2/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Locking 5 packages to latest compatible versions [INFO] [stderr] Adding syn v1.0.109 (latest: v2.0.77) [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] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] d6339f5de9c2e74f64ba138c18a1ea5131004cd95a8bc1fd733923360bdc3dfd [INFO] running `Command { std: "docker" "start" "-a" "d6339f5de9c2e74f64ba138c18a1ea5131004cd95a8bc1fd733923360bdc3dfd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "d6339f5de9c2e74f64ba138c18a1ea5131004cd95a8bc1fd733923360bdc3dfd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d6339f5de9c2e74f64ba138c18a1ea5131004cd95a8bc1fd733923360bdc3dfd", kill_on_drop: false }` [INFO] [stdout] d6339f5de9c2e74f64ba138c18a1ea5131004cd95a8bc1fd733923360bdc3dfd [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -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] 4aa0d44cf15e2fed6f71dbf5d20e926f7fc5dfdb89110eaa972e7e431aea675e [INFO] running `Command { std: "docker" "start" "-a" "4aa0d44cf15e2fed6f71dbf5d20e926f7fc5dfdb89110eaa972e7e431aea675e", kill_on_drop: false }` [INFO] [stderr] Checking unicode-ident v1.0.12 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Checking proc-macro2 v1.0.86 [INFO] [stderr] Checking quote v1.0.37 [INFO] [stderr] Checking butcher_proc_macro v0.5.1 (/opt/rustwide/workdir) [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/lib.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn butcher_derive(tokens: TokenStream) -> TokenStream { [INFO] [stdout] | ------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 18 | let data = parse_macro_input!(tokens as DeriveInput); [INFO] [stdout] | ---- ----------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 19 | / derive_butcher::try_from(data) [INFO] [stdout] 20 | | .unwrap_or_else(|e| e.to_compile_error()) [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/derive_butcher/enums.rs:69:12 [INFO] [stdout] | [INFO] [stdout] 25 | pub(super) fn from(input: DeriveInput) -> Result { [INFO] [stdout] | ------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 26 | let name = input.ident; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 27 | let vis = input.vis; [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 28 | [INFO] [stdout] 29 | let generics_for_butchered = input.generics.params.iter().cloned().collect::>(); [INFO] [stdout] | ---------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 30 | [INFO] [stdout] 31 | let where_clause_for_butchered = input.generics.where_clause; [INFO] [stdout] | -------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 32 | [INFO] [stdout] 33 | let data = match input.data { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 34 | Data::Enum(d) => d, [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 39 | let mut generic_types = HashSet::new(); [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 40 | let mut lifetimes = HashSet::new(); [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 52 | let variants = data [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 69 | Ok(ButcheredEnum { [INFO] [stdout] | ____________^ [INFO] [stdout] 70 | | name, [INFO] [stdout] 71 | | vis, [INFO] [stdout] 72 | | variants, [INFO] [stdout] 73 | | generics_for_butchered, [INFO] [stdout] 74 | | where_clause_for_butchered, [INFO] [stdout] 75 | | }) [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/derive_butcher/enums.rs:56:52 [INFO] [stdout] | [INFO] [stdout] 56 | .fold(Ok(Vec::new()), |acc, res| match (acc, res) { [INFO] [stdout] | --- --- ^^^^^^^^^^ [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/derive_butcher/enums.rs:276:12 [INFO] [stdout] | [INFO] [stdout] 247 | v: SVariant, [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 251 | let name = v.ident; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 252 | [INFO] [stdout] 253 | let (fields, kind) = match v.fields { [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 254 | Fields::Named(fs) => (punctuated_to_vector(fs.named), VariantKind::Named), [INFO] [stdout] | -- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 255 | Fields::Unnamed(fs) => (punctuated_to_vector(fs.unnamed), VariantKind::Unnamed), [INFO] [stdout] | -- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 259 | let fields = fields [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 276 | Ok(Variant { name, kind, fields }) [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/derive_butcher/enums.rs:263:52 [INFO] [stdout] | [INFO] [stdout] 263 | .fold(Ok(Vec::new()), |acc, res| match (acc, res) { [INFO] [stdout] | --- --- ^^^^^^^^^^ [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/derive_butcher/enums.rs:285:37 [INFO] [stdout] | [INFO] [stdout] 285 | .map(|(name, ty, vis)| (name.expand_main_struct_field(), ty, vis)) [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/derive_butcher/enums.rs:506:5 [INFO] [stdout] | [INFO] [stdout] 505 | fn punctuated_to_vector(punc: Punctuated) -> Vec { [INFO] [stdout] | ---------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 506 | punc.into_iter().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/derive_butcher/field.rs:68:12 [INFO] [stdout] | [INFO] [stdout] 43 | input: syn::Field, [INFO] [stdout] | ----------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 48 | let FieldMetadata(method, additional_traits) = parse_meta_attrs(input.attrs.as_slice())?; [INFO] [stdout] | ----------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 49 | [INFO] [stdout] 50 | let vis = input.vis; [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 51 | [INFO] [stdout] 52 | let name = input [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 57 | let ty = input.ty; [INFO] [stdout] | -- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 58 | [INFO] [stdout] 59 | let mut associated_generics = find_generics_in_type(&ty, generic_types)?; [INFO] [stdout] | ------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 60 | let mut associated_lifetimes = find_lifetimes_in_type(&ty, lifetimes)?; [INFO] [stdout] | -------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 68 | Ok(Field { [INFO] [stdout] | ____________^ [INFO] [stdout] 69 | | vis, [INFO] [stdout] 70 | | method, [INFO] [stdout] 71 | | name, [INFO] [stdout] ... | [INFO] [stdout] 75 | | additional_traits, [INFO] [stdout] 76 | | }) [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |_________these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/derive_butcher/field.rs:170:9 [INFO] [stdout] | [INFO] [stdout] 159 | let required_by_method = self.method.required_traits_for(&self.ty, lt); [INFO] [stdout] | ------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 170 | / iter::once(required_by_method) [INFO] [stdout] 171 | | .chain(bounds_for_generic_types) [INFO] [stdout] 172 | | .chain(bounds_for_lifetimes) [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/derive_butcher/field.rs:173:20 [INFO] [stdout] | [INFO] [stdout] 159 | let required_by_method = self.method.required_traits_for(&self.ty, lt); [INFO] [stdout] | ------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 173 | .chain(self.additional_traits.clone()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/derive_butcher/field.rs:236:12 [INFO] [stdout] | [INFO] [stdout] 229 | let traits = if input.is_empty() { [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 236 | Ok(FieldMetadata(method, traits)) [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/derive_butcher/structs.rs:76:12 [INFO] [stdout] | [INFO] [stdout] 25 | pub(super) fn from(input: DeriveInput) -> Result { [INFO] [stdout] | ------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 26 | let name = input.ident; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 27 | let vis = input.vis; [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 28 | [INFO] [stdout] 29 | let generics_for_butchered = input.generics.params.iter().cloned().collect::>(); [INFO] [stdout] | ---------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 30 | [INFO] [stdout] 31 | let where_clause_for_butchered = input.generics.where_clause; [INFO] [stdout] | -------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 32 | [INFO] [stdout] 33 | let data = match input.data { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 34 | Data::Struct(d) => d, [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 39 | let (fields, kind) = match data.fields { [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 40 | Fields::Named(fields) => Ok((fields.named, StructKind::Named)), [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 41 | Fields::Unnamed(fields) => Ok((fields.unnamed, StructKind::Tupled)), [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 46 | let mut generic_types = HashSet::new(); [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 47 | let mut lifetimes = HashSet::new(); [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 59 | let fields = fields [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 76 | Ok(ButcheredStruct { [INFO] [stdout] | ____________^ [INFO] [stdout] 77 | | name, [INFO] [stdout] 78 | | fields, [INFO] [stdout] 79 | | vis, [INFO] [stdout] ... | [INFO] [stdout] 82 | | kind, [INFO] [stdout] 83 | | }) [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |_________these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/derive_butcher/structs.rs:63:52 [INFO] [stdout] | [INFO] [stdout] 63 | .fold(Ok(Vec::new()), |acc, res| match (acc, res) { [INFO] [stdout] | --- --- ^^^^^^^^^^ [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/derive_butcher/structs.rs:150:37 [INFO] [stdout] | [INFO] [stdout] 150 | .map(|(name, ty, vis)| (name.expand_main_struct_field(), ty, vis)) [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: aborting due to 14 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `butcher_proc_macro` (lib test) due to 15 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/lib.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn butcher_derive(tokens: TokenStream) -> TokenStream { [INFO] [stdout] | ------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 18 | let data = parse_macro_input!(tokens as DeriveInput); [INFO] [stdout] | ---- ----------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 19 | / derive_butcher::try_from(data) [INFO] [stdout] 20 | | .unwrap_or_else(|e| e.to_compile_error()) [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/derive_butcher/enums.rs:69:12 [INFO] [stdout] | [INFO] [stdout] 25 | pub(super) fn from(input: DeriveInput) -> Result { [INFO] [stdout] | ------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 26 | let name = input.ident; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 27 | let vis = input.vis; [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 28 | [INFO] [stdout] 29 | let generics_for_butchered = input.generics.params.iter().cloned().collect::>(); [INFO] [stdout] | ---------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 30 | [INFO] [stdout] 31 | let where_clause_for_butchered = input.generics.where_clause; [INFO] [stdout] | -------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 32 | [INFO] [stdout] 33 | let data = match input.data { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 34 | Data::Enum(d) => d, [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 39 | let mut generic_types = HashSet::new(); [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 40 | let mut lifetimes = HashSet::new(); [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 52 | let variants = data [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 69 | Ok(ButcheredEnum { [INFO] [stdout] | ____________^ [INFO] [stdout] 70 | | name, [INFO] [stdout] 71 | | vis, [INFO] [stdout] 72 | | variants, [INFO] [stdout] 73 | | generics_for_butchered, [INFO] [stdout] 74 | | where_clause_for_butchered, [INFO] [stdout] 75 | | }) [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/derive_butcher/enums.rs:56:52 [INFO] [stdout] | [INFO] [stdout] 56 | .fold(Ok(Vec::new()), |acc, res| match (acc, res) { [INFO] [stdout] | --- --- ^^^^^^^^^^ [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/derive_butcher/enums.rs:276:12 [INFO] [stdout] | [INFO] [stdout] 247 | v: SVariant, [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 251 | let name = v.ident; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 252 | [INFO] [stdout] 253 | let (fields, kind) = match v.fields { [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 254 | Fields::Named(fs) => (punctuated_to_vector(fs.named), VariantKind::Named), [INFO] [stdout] | -- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 255 | Fields::Unnamed(fs) => (punctuated_to_vector(fs.unnamed), VariantKind::Unnamed), [INFO] [stdout] | -- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 259 | let fields = fields [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 276 | Ok(Variant { name, kind, fields }) [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/derive_butcher/enums.rs:263:52 [INFO] [stdout] | [INFO] [stdout] 263 | .fold(Ok(Vec::new()), |acc, res| match (acc, res) { [INFO] [stdout] | --- --- ^^^^^^^^^^ [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/derive_butcher/enums.rs:285:37 [INFO] [stdout] | [INFO] [stdout] 285 | .map(|(name, ty, vis)| (name.expand_main_struct_field(), ty, vis)) [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/derive_butcher/enums.rs:506:5 [INFO] [stdout] | [INFO] [stdout] 505 | fn punctuated_to_vector(punc: Punctuated) -> Vec { [INFO] [stdout] | ---------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 506 | punc.into_iter().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/derive_butcher/field.rs:68:12 [INFO] [stdout] | [INFO] [stdout] 43 | input: syn::Field, [INFO] [stdout] | ----------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 48 | let FieldMetadata(method, additional_traits) = parse_meta_attrs(input.attrs.as_slice())?; [INFO] [stdout] | ----------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 49 | [INFO] [stdout] 50 | let vis = input.vis; [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 51 | [INFO] [stdout] 52 | let name = input [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 57 | let ty = input.ty; [INFO] [stdout] | -- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 58 | [INFO] [stdout] 59 | let mut associated_generics = find_generics_in_type(&ty, generic_types)?; [INFO] [stdout] | ------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 60 | let mut associated_lifetimes = find_lifetimes_in_type(&ty, lifetimes)?; [INFO] [stdout] | -------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 68 | Ok(Field { [INFO] [stdout] | ____________^ [INFO] [stdout] 69 | | vis, [INFO] [stdout] 70 | | method, [INFO] [stdout] 71 | | name, [INFO] [stdout] ... | [INFO] [stdout] 75 | | additional_traits, [INFO] [stdout] 76 | | }) [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |_________these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/derive_butcher/field.rs:170:9 [INFO] [stdout] | [INFO] [stdout] 159 | let required_by_method = self.method.required_traits_for(&self.ty, lt); [INFO] [stdout] | ------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 170 | / iter::once(required_by_method) [INFO] [stdout] 171 | | .chain(bounds_for_generic_types) [INFO] [stdout] 172 | | .chain(bounds_for_lifetimes) [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/derive_butcher/field.rs:173:20 [INFO] [stdout] | [INFO] [stdout] 159 | let required_by_method = self.method.required_traits_for(&self.ty, lt); [INFO] [stdout] | ------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 173 | .chain(self.additional_traits.clone()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/derive_butcher/field.rs:236:12 [INFO] [stdout] | [INFO] [stdout] 229 | let traits = if input.is_empty() { [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 236 | Ok(FieldMetadata(method, traits)) [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/derive_butcher/structs.rs:76:12 [INFO] [stdout] | [INFO] [stdout] 25 | pub(super) fn from(input: DeriveInput) -> Result { [INFO] [stdout] | ------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 26 | let name = input.ident; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 27 | let vis = input.vis; [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 28 | [INFO] [stdout] 29 | let generics_for_butchered = input.generics.params.iter().cloned().collect::>(); [INFO] [stdout] | ---------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 30 | [INFO] [stdout] 31 | let where_clause_for_butchered = input.generics.where_clause; [INFO] [stdout] | -------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 32 | [INFO] [stdout] 33 | let data = match input.data { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 34 | Data::Struct(d) => d, [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 39 | let (fields, kind) = match data.fields { [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 40 | Fields::Named(fields) => Ok((fields.named, StructKind::Named)), [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 41 | Fields::Unnamed(fields) => Ok((fields.unnamed, StructKind::Tupled)), [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 46 | let mut generic_types = HashSet::new(); [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 47 | let mut lifetimes = HashSet::new(); [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 59 | let fields = fields [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 76 | Ok(ButcheredStruct { [INFO] [stdout] | ____________^ [INFO] [stdout] 77 | | name, [INFO] [stdout] 78 | | fields, [INFO] [stdout] 79 | | vis, [INFO] [stdout] ... | [INFO] [stdout] 82 | | kind, [INFO] [stdout] 83 | | }) [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |_________these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/derive_butcher/structs.rs:63:52 [INFO] [stdout] | [INFO] [stdout] 63 | .fold(Ok(Vec::new()), |acc, res| match (acc, res) { [INFO] [stdout] | --- --- ^^^^^^^^^^ [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/derive_butcher/structs.rs:150:37 [INFO] [stdout] | [INFO] [stdout] 150 | .map(|(name, ty, vis)| (name.expand_main_struct_field(), ty, vis)) [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: aborting due to 14 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `butcher_proc_macro` (lib) due to 15 previous errors [INFO] running `Command { std: "docker" "inspect" "4aa0d44cf15e2fed6f71dbf5d20e926f7fc5dfdb89110eaa972e7e431aea675e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4aa0d44cf15e2fed6f71dbf5d20e926f7fc5dfdb89110eaa972e7e431aea675e", kill_on_drop: false }` [INFO] [stdout] 4aa0d44cf15e2fed6f71dbf5d20e926f7fc5dfdb89110eaa972e7e431aea675e