[INFO] fetching crate trixy 0.4.0... [INFO] checking trixy-0.4.0 against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] extracting crate trixy 0.4.0 into /workspace/builds/worker-1-tc2/source [INFO] validating manifest of crates.io crate trixy 0.4.0 on toolchain ccf408f4326a858c00dd845a64a86b16f360a801 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate trixy 0.4.0 [INFO] finished tweaking crates.io crate trixy 0.4.0 [INFO] tweaked toml for crates.io crate trixy 0.4.0 written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] crate crates.io crate trixy 0.4.0 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" "+ccf408f4326a858c00dd845a64a86b16f360a801" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [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:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 602032edfeadc3afea4f9acc72e34d22678c4a2948b5bd6a2fe60fd984112691 [INFO] running `Command { std: "docker" "start" "-a" "602032edfeadc3afea4f9acc72e34d22678c4a2948b5bd6a2fe60fd984112691", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "602032edfeadc3afea4f9acc72e34d22678c4a2948b5bd6a2fe60fd984112691", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "602032edfeadc3afea4f9acc72e34d22678c4a2948b5bd6a2fe60fd984112691", kill_on_drop: false }` [INFO] [stdout] 602032edfeadc3afea4f9acc72e34d22678c4a2948b5bd6a2fe60fd984112691 [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" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 327bd76e618c54d319369ac257629964a9ec0652a892863dabe90c18f8d90599 [INFO] running `Command { std: "docker" "start" "-a" "327bd76e618c54d319369ac257629964a9ec0652a892863dabe90c18f8d90599", kill_on_drop: false }` [INFO] [stderr] Copying to /tmp/fixit [INFO] [stderr] Running `cargo fix --edition` [INFO] [stderr] Migrating Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Fixed Cargo.toml (12 fixes) [INFO] [stderr] Compiling proc-macro2 v1.0.86 [INFO] [stderr] Compiling unicode-ident v1.0.12 [INFO] [stderr] Compiling version_check v0.9.4 [INFO] [stderr] Checking memchr v2.7.4 [INFO] [stderr] Compiling pulldown-cmark v0.11.0 [INFO] [stderr] Compiling thiserror v1.0.61 [INFO] [stderr] Compiling prettyplease v0.2.20 [INFO] [stderr] Checking unicode-width v0.1.13 [INFO] [stderr] Compiling libc v0.2.155 [INFO] [stderr] Checking regex-syntax v0.8.4 [INFO] [stderr] Checking pulldown-cmark-escape v0.11.0 [INFO] [stderr] Checking unicode-segmentation v1.11.0 [INFO] [stderr] Checking bitflags v2.6.0 [INFO] [stderr] Checking log v0.4.22 [INFO] [stderr] Checking diff v0.1.13 [INFO] [stderr] Checking yansi v0.5.1 [INFO] [stderr] Checking getopts v0.2.21 [INFO] [stderr] Checking pretty_assertions v1.4.0 [INFO] [stderr] Compiling unicase v2.7.0 [INFO] [stderr] Checking convert_case v0.6.0 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Checking quote v1.0.36 [INFO] [stderr] Checking syn v2.0.68 [INFO] [stderr] Checking regex-automata v0.4.7 [INFO] [stderr] Compiling thiserror-impl v1.0.61 [INFO] [stderr] Checking regex v1.10.5 [INFO] [stderr] Checking trixy v0.4.0 (/tmp/fixit) [INFO] [stderr] Migrating src/lib.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `trixy` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/parser/parsing/checked/mod.rs [INFO] [stderr] * src/types/mod.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/parser/parsing/checked/mod.rs:54:6 [INFO] [stderr] | [INFO] [stderr] 54 | ($name:expr_2021, $($types:ident),*) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/types/mod.rs:32:6 [INFO] [stderr] | [INFO] [stderr] 32 | ($path:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: unsafe attribute used without unsafe [INFO] [stdout] --> src/types/traits/convert_trait.rs:120:3 [INFO] [stdout] | [INFO] [stdout] 120 | #[no_mangle] [INFO] [stdout] | ^^^^^^^^^ usage of unsafe attribute [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123757 [INFO] [stdout] = note: `--force-warn unsafe-attr-outside-unsafe` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: wrap the attribute in `unsafe(...)` [INFO] [stdout] | [INFO] [stdout] 120 | #[unsafe(no_mangle)] [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe attribute used without unsafe [INFO] [stdout] --> src/types/traits/errno.rs:66:3 [INFO] [stdout] | [INFO] [stdout] 66 | #[no_mangle] [INFO] [stdout] | ^^^^^^^^^ usage of unsafe attribute [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123757 [INFO] [stdout] help: wrap the attribute in `unsafe(...)` [INFO] [stdout] | [INFO] [stdout] 66 | #[unsafe(no_mangle)] [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe attribute used without unsafe [INFO] [stdout] --> src/types/traits/errno.rs:85:3 [INFO] [stdout] | [INFO] [stdout] 85 | #[no_mangle] [INFO] [stdout] | ^^^^^^^^^ usage of unsafe attribute [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123757 [INFO] [stdout] help: wrap the attribute in `unsafe(...)` [INFO] [stdout] | [INFO] [stdout] 85 | #[unsafe(no_mangle)] [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/parser/parsing/checked/mod.rs:54:12 [INFO] [stdout] | [INFO] [stdout] 54 | ($name:expr, $($types:ident),*) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 54 | ($name:expr_2021, $($types:ident),*) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/types/mod.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 32 | ($path:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 32 | ($path:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/types/traits/errno.rs:99:18 [INFO] [stdout] | [INFO] [stdout] 99 | let buffer = slice::from_raw_parts_mut(buffer as *mut u8, length as usize); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/types/traits/errno.rs:86:1 [INFO] [stdout] | [INFO] [stdout] 86 | pub unsafe extern "C" fn last_error_message(buffer: *mut c_char, length: c_int) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `--force-warn unsafe-op-in-unsafe-fn` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::intrinsics::copy_nonoverlapping` is unsafe and requires unsafe block [INFO] [stdout] --> src/types/traits/errno.rs:111:5 [INFO] [stdout] | [INFO] [stdout] 111 | / ptr::copy_nonoverlapping( [INFO] [stdout] 112 | | error_message.as_ptr(), [INFO] [stdout] 113 | | buffer.as_mut_ptr(), [INFO] [stdout] 114 | | error_message.len(), [INFO] [stdout] 115 | | ); [INFO] [stdout] | |_____^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/macros/config/file_tree/markdown_representation.rs:138:15 [INFO] [stdout] | [INFO] [stdout] 138 | while let Some(Event::Text(CowStr::Borrowed(text))) = iter.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/macros/config/file_tree/markdown_representation.rs:150:9 [INFO] [stdout] | [INFO] [stdout] 150 | } [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/macros/config/file_tree/markdown_representation.rs:166:11 [INFO] [stdout] | [INFO] [stdout] 166 | while let Some(Event::Start(Tag::Paragraph)) = iter.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/macros/config/file_tree/markdown_representation.rs:168:5 [INFO] [stdout] | [INFO] [stdout] 168 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/macros/config/file_tree/markdown_representation.rs:180:33 [INFO] [stdout] | [INFO] [stdout] 180 | let file_path: PathBuf = if let Some(Event::Code(CowStr::Borrowed(path))) = iter.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/macros/config/file_tree/markdown_representation.rs:182:5 [INFO] [stdout] | [INFO] [stdout] 182 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 180 ~ let file_path: PathBuf = match iter.next() { Some(Event::Code(CowStr::Borrowed(path))) => { [INFO] [stdout] 181 | path.into() [INFO] [stdout] 182 ~ } _ => { [INFO] [stdout] 183 | return Err(FileTreeParseError::NoPath); [INFO] [stdout] 184 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/macros/config/file_tree/markdown_representation.rs:189:38 [INFO] [stdout] | [INFO] [stdout] 189 | let file_language: Language = if let Some(Event::Start(Tag::CodeBlock( [INFO] [stdout] | ______________________________________^ [INFO] [stdout] 190 | | CodeBlockKind::Fenced(CowStr::Borrowed(language)), [INFO] [stdout] 191 | | ))) = iter.next() [INFO] [stdout] | |___________----------^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/macros/config/file_tree/markdown_representation.rs:194:5 [INFO] [stdout] | [INFO] [stdout] 194 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 189 ~ let file_language: Language = match iter.next() [INFO] [stdout] 190 ~ { Some(Event::Start(Tag::CodeBlock( [INFO] [stdout] 191 + CodeBlockKind::Fenced(CowStr::Borrowed(language)), [INFO] [stdout] 192 ~ ))) => { [INFO] [stdout] 193 | language.parse()? [INFO] [stdout] 194 ~ } _ => { [INFO] [stdout] 195 | return Err(FileTreeParseError::NoLanguage); [INFO] [stdout] 196 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/macros/config/file_tree/markdown_representation.rs:198:33 [INFO] [stdout] | [INFO] [stdout] 198 | let file_value: String = if let Some(Event::Text(CowStr::Borrowed(value))) = iter.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/macros/config/file_tree/markdown_representation.rs:200:5 [INFO] [stdout] | [INFO] [stdout] 200 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 198 ~ let file_value: String = match iter.next() { Some(Event::Text(CowStr::Borrowed(value))) => { [INFO] [stdout] 199 | value.into() [INFO] [stdout] 200 ~ } _ => { [INFO] [stdout] 201 | return Err(FileTreeParseError::NoValue); [INFO] [stdout] 202 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/macros/generate/convert/auxiliary/c/function/mod.rs:38:34 [INFO] [stdout] | [INFO] [stdout] 38 | let function_output = if let Some(out) = &self.output { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/macros/generate/convert/auxiliary/c/function/mod.rs:54:9 [INFO] [stdout] | [INFO] [stdout] 54 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 38 ~ let function_output = match &self.output { Some(out) => { [INFO] [stdout] 39 | if Type::is_void(self.output.as_ref()) { [INFO] [stdout] ... [INFO] [stdout] 53 | } [INFO] [stdout] 54 ~ } _ => { [INFO] [stdout] 55 | TokenStream2::default() [INFO] [stdout] 56 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/macros/generate/convert/auxiliary/c/function/mod.rs:76:41 [INFO] [stdout] | [INFO] [stdout] 76 | let (output, output_comma) = if let Some(output) = &self.output { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/macros/generate/convert/auxiliary/c/function/mod.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 79 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 76 ~ let (output, output_comma) = match &self.output { Some(output) => { [INFO] [stdout] 77 | let output = output.to_auxiliary_c(true, None); [INFO] [stdout] 78 | (quote! { #output }, quote! {,}) [INFO] [stdout] 79 ~ } _ => { [INFO] [stdout] 80 | (TokenStream2::default(), TokenStream2::default()) [INFO] [stdout] 81 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/macros/generate/convert/auxiliary/c/type/doc_named_type.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 27 | if let Some(r#type) = self.r#type.to_auxiliary_c(false, Some(&self.name)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^--------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/macros/generate/convert/auxiliary/c/type/doc_named_type.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 36 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 27 ~ match self.r#type.to_auxiliary_c(false, Some(&self.name)) { Some(r#type) => { [INFO] [stdout] 28 | let doc_comments: String = Attribute::to_auxiliary_c_merged(&self.attributes); [INFO] [stdout] ... [INFO] [stdout] 35 | } [INFO] [stdout] 36 ~ } _ => { [INFO] [stdout] 37 | None [INFO] [stdout] 38 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/macros/generate/convert/auxiliary/c/type/doc_named_type.rs:31:16 [INFO] [stdout] | [INFO] [stdout] 31 | if let Type::Function { .. } = self.r#type { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/macros/generate/convert/auxiliary/c/type/doc_named_type.rs:33:13 [INFO] [stdout] | [INFO] [stdout] 33 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 31 ~ match self.r#type { Type::Function { .. } => { [INFO] [stdout] 32 | Some(format!("{}{};\n", doc_comments, r#type)) [INFO] [stdout] 33 ~ } _ => { [INFO] [stdout] 34 | Some(format!("{}{} {};\n", doc_comments, r#type, ident)) [INFO] [stdout] 35 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/macros/generate/convert/auxiliary/c/type/named_type.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 30 | if let Some(c_type) = self.r#type.to_auxiliary_c(false, Some(&self.name)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^--------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/macros/generate/convert/auxiliary/c/type/named_type.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 30 ~ match self.r#type.to_auxiliary_c(false, Some(&self.name)) { Some(c_type) => { [INFO] [stdout] 31 | let ident = self.name.to_rust(); [INFO] [stdout] ... [INFO] [stdout] 41 | } [INFO] [stdout] 42 ~ } _ => { [INFO] [stdout] 43 | None [INFO] [stdout] 44 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/macros/generate/convert/auxiliary/c/type/named_type.rs:33:16 [INFO] [stdout] | [INFO] [stdout] 33 | if let Type::Function { .. } = self.r#type { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/macros/generate/convert/auxiliary/c/type/named_type.rs:37:13 [INFO] [stdout] | [INFO] [stdout] 37 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 33 ~ match self.r#type { Type::Function { .. } => { [INFO] [stdout] 34 | Some(quote! { [INFO] [stdout] 35 | #c_type [INFO] [stdout] 36 | }) [INFO] [stdout] 37 ~ } _ => { [INFO] [stdout] 38 | Some(quote! { [INFO] [stdout] 39 | #c_type #ident [INFO] [stdout] 40 | }) [INFO] [stdout] 41 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/macros/generate/convert/host/c/function/mod.rs:69:12 [INFO] [stdout] | [INFO] [stdout] 69 | if let Some(r#type) = &self.output { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/macros/generate/convert/host/c/function/mod.rs:107:9 [INFO] [stdout] | [INFO] [stdout] 107 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 69 ~ match &self.output { Some(r#type) => { [INFO] [stdout] 70 | if let Some(output_ident) = r#type.to_c() { [INFO] [stdout] ... [INFO] [stdout] 106 | } [INFO] [stdout] 107 ~ } _ => { [INFO] [stdout] 108 | no_output() [INFO] [stdout] 109 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/macros/generate/convert/host/c/function/mod.rs:70:16 [INFO] [stdout] | [INFO] [stdout] 70 | if let Some(output_ident) = r#type.to_c() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/macros/generate/convert/host/c/function/mod.rs:104:13 [INFO] [stdout] | [INFO] [stdout] 104 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 70 ~ match r#type.to_c() { Some(output_ident) => { [INFO] [stdout] 71 | quote! { [INFO] [stdout] ... [INFO] [stdout] 103 | } [INFO] [stdout] 104 ~ } _ => { [INFO] [stdout] 105 | no_output() [INFO] [stdout] 106 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/macros/generate/convert/host/c/namespace/mod.rs:166:28 [INFO] [stdout] | [INFO] [stdout] 166 | if let Some(output) = &r#fn.output { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/macros/generate/convert/host/c/namespace/mod.rs:168:25 [INFO] [stdout] | [INFO] [stdout] 168 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 166 ~ match &r#fn.output { Some(output) => { [INFO] [stdout] 167 | iter::once(Some(output.clone())) [INFO] [stdout] 168 ~ } _ => { [INFO] [stdout] 169 | iter::once(None) [INFO] [stdout] 170 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/macros/generate/convert/host/c/type/doc_named_type.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 35 | if let Some(named_type) = &Into::::into(self).to_c() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/macros/generate/convert/host/c/type/doc_named_type.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 40 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 35 ~ match &Into::::into(self).to_c() { Some(named_type) => { [INFO] [stdout] 36 | Some(quote! { [INFO] [stdout] ... [INFO] [stdout] 39 | }) [INFO] [stdout] 40 ~ } _ => { [INFO] [stdout] 41 | None [INFO] [stdout] 42 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/macros/generate/convert/host/c/type/named_type.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 32 | if let Some(r#type) = self.r#type.to_c() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/macros/generate/convert/host/c/type/named_type.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 36 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 32 ~ match self.r#type.to_c() { Some(r#type) => { [INFO] [stdout] 33 | Some(quote! { [INFO] [stdout] 34 | #ident : #r#type [INFO] [stdout] 35 | }) [INFO] [stdout] 36 ~ } _ => { [INFO] [stdout] 37 | None [INFO] [stdout] 38 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/macros/generate/convert/host/rust/type/mod.rs:100:36 [INFO] [stdout] | [INFO] [stdout] 100 | let nasp_path = if let Some(path) = &Variant::to_rust_path(&identifier.variant) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^------------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/macros/generate/convert/host/rust/type/mod.rs:110:17 [INFO] [stdout] | [INFO] [stdout] 110 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 100 ~ let nasp_path = match &Variant::to_rust_path(&identifier.variant) { Some(path) => { [INFO] [stdout] 101 | if path.is_empty() { [INFO] [stdout] ... [INFO] [stdout] 109 | } [INFO] [stdout] 110 ~ } _ => { [INFO] [stdout] 111 | quote! {} [INFO] [stdout] 112 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/macros/generate/convert/host/rust/type/doc_named_type.rs:36:12 [INFO] [stdout] | [INFO] [stdout] 36 | if let Some(named_type) = Into::::into(self).to_rust() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^--------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/macros/generate/convert/host/rust/type/doc_named_type.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 36 ~ match Into::::into(self).to_rust() { Some(named_type) => { [INFO] [stdout] 37 | Some(quote! { [INFO] [stdout] ... [INFO] [stdout] 40 | }) [INFO] [stdout] 41 ~ } _ => { [INFO] [stdout] 42 | None [INFO] [stdout] 43 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/macros/generate/convert/host/rust/type/named_type.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 30 | if let Some(r#type) = self.r#type.to_rust() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^--------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/macros/generate/convert/host/rust/type/named_type.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 35 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 30 ~ match self.r#type.to_rust() { Some(r#type) => { [INFO] [stdout] 31 | let ident = self.name.to_rust(); [INFO] [stdout] ... [INFO] [stdout] 34 | }) [INFO] [stdout] 35 ~ } _ => { [INFO] [stdout] 36 | None [INFO] [stdout] 37 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/parser/parsing/checked/mod.rs:200:25 [INFO] [stdout] | [INFO] [stdout] 200 | let output = if let Some(r#type) = function.output { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^--------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/parser/parsing/checked/mod.rs:202:9 [INFO] [stdout] | [INFO] [stdout] 202 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 200 ~ let output = match function.output { Some(r#type) => { [INFO] [stdout] 201 | Some(self.process_type(r#type, parent_namespaces)?) [INFO] [stdout] 202 ~ } _ => { [INFO] [stdout] 203 | None [INFO] [stdout] 204 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:98:24 [INFO] [stdout] | [INFO] [stdout] 98 | if let Some(val) = self.last_value { [INFO] [stdout] | ^^^^^^^^^^^^^^^^--------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:100:21 [INFO] [stdout] | [INFO] [stdout] 100 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 98 ~ match self.last_value { Some(val) => { [INFO] [stdout] 99 | Ok(val) [INFO] [stdout] 100 ~ } _ => { [INFO] [stdout] 101 | Err(err) [INFO] [stdout] 102 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 28 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] Migrating tests/result/main.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `trixy` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/parser/lexing/mod.rs [INFO] [stderr] * src/parser/parsing/checked/mod.rs [INFO] [stderr] * src/types/mod.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/parser/lexing/mod.rs:374:36 [INFO] [stderr] | [INFO] [stderr] 374 | ($name:ident, $from:tt, => $to:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/parser/lexing/mod.rs:383:36 [INFO] [stderr] | [INFO] [stderr] 383 | ($name:ident, $from:tt, => $to:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/parser/parsing/checked/mod.rs:54:6 [INFO] [stderr] | [INFO] [stderr] 54 | ($name:expr_2021, $($types:ident),*) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/types/mod.rs:32:6 [INFO] [stderr] | [INFO] [stderr] 32 | ($path:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error: aborting due to 4 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: unsafe attribute used without unsafe [INFO] [stdout] --> src/types/traits/convert_trait.rs:120:3 [INFO] [stdout] | [INFO] [stdout] 120 | #[no_mangle] [INFO] [stdout] | ^^^^^^^^^ usage of unsafe attribute [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123757 [INFO] [stdout] = note: `--force-warn unsafe-attr-outside-unsafe` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: wrap the attribute in `unsafe(...)` [INFO] [stdout] | [INFO] [stdout] 120 | #[unsafe(no_mangle)] [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe attribute used without unsafe [INFO] [stdout] --> src/types/traits/errno.rs:66:3 [INFO] [stdout] | [INFO] [stdout] 66 | #[no_mangle] [INFO] [stdout] | ^^^^^^^^^ usage of unsafe attribute [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123757 [INFO] [stdout] help: wrap the attribute in `unsafe(...)` [INFO] [stdout] | [INFO] [stdout] 66 | #[unsafe(no_mangle)] [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe attribute used without unsafe [INFO] [stdout] --> src/types/traits/errno.rs:85:3 [INFO] [stdout] | [INFO] [stdout] 85 | #[no_mangle] [INFO] [stdout] | ^^^^^^^^^ usage of unsafe attribute [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123757 [INFO] [stdout] help: wrap the attribute in `unsafe(...)` [INFO] [stdout] | [INFO] [stdout] 85 | #[unsafe(no_mangle)] [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/parser/lexing/mod.rs:374:40 [INFO] [stdout] | [INFO] [stdout] 374 | ($name:ident, $from:tt, => $to:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 374 | ($name:ident, $from:tt, => $to:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/parser/lexing/mod.rs:383:40 [INFO] [stdout] | [INFO] [stdout] 383 | ($name:ident, $from:tt, => $to:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 383 | ($name:ident, $from:tt, => $to:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/parser/parsing/checked/mod.rs:54:12 [INFO] [stdout] | [INFO] [stdout] 54 | ($name:expr, $($types:ident),*) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 54 | ($name:expr_2021, $($types:ident),*) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/types/mod.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 32 | ($path:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 32 | ($path:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/types/traits/errno.rs:99:18 [INFO] [stdout] | [INFO] [stdout] 99 | let buffer = slice::from_raw_parts_mut(buffer as *mut u8, length as usize); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/types/traits/errno.rs:86:1 [INFO] [stdout] | [INFO] [stdout] 86 | pub unsafe extern "C" fn last_error_message(buffer: *mut c_char, length: c_int) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `--force-warn unsafe-op-in-unsafe-fn` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::intrinsics::copy_nonoverlapping` is unsafe and requires unsafe block [INFO] [stdout] --> src/types/traits/errno.rs:111:5 [INFO] [stdout] | [INFO] [stdout] 111 | / ptr::copy_nonoverlapping( [INFO] [stdout] 112 | | error_message.as_ptr(), [INFO] [stdout] 113 | | buffer.as_mut_ptr(), [INFO] [stdout] 114 | | error_message.len(), [INFO] [stdout] 115 | | ); [INFO] [stdout] | |_____^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/macros/config/file_tree/markdown_representation.rs:138:15 [INFO] [stdout] | [INFO] [stdout] 138 | while let Some(Event::Text(CowStr::Borrowed(text))) = iter.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/macros/config/file_tree/markdown_representation.rs:150:9 [INFO] [stdout] | [INFO] [stdout] 150 | } [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/macros/config/file_tree/markdown_representation.rs:166:11 [INFO] [stdout] | [INFO] [stdout] 166 | while let Some(Event::Start(Tag::Paragraph)) = iter.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/macros/config/file_tree/markdown_representation.rs:168:5 [INFO] [stdout] | [INFO] [stdout] 168 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/macros/config/file_tree/markdown_representation.rs:180:33 [INFO] [stdout] | [INFO] [stdout] 180 | let file_path: PathBuf = if let Some(Event::Code(CowStr::Borrowed(path))) = iter.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/macros/config/file_tree/markdown_representation.rs:182:5 [INFO] [stdout] | [INFO] [stdout] 182 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 180 ~ let file_path: PathBuf = match iter.next() { Some(Event::Code(CowStr::Borrowed(path))) => { [INFO] [stdout] 181 | path.into() [INFO] [stdout] 182 ~ } _ => { [INFO] [stdout] 183 | return Err(FileTreeParseError::NoPath); [INFO] [stdout] 184 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/macros/config/file_tree/markdown_representation.rs:189:38 [INFO] [stdout] | [INFO] [stdout] 189 | let file_language: Language = if let Some(Event::Start(Tag::CodeBlock( [INFO] [stdout] | ______________________________________^ [INFO] [stdout] 190 | | CodeBlockKind::Fenced(CowStr::Borrowed(language)), [INFO] [stdout] 191 | | ))) = iter.next() [INFO] [stdout] | |___________----------^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/macros/config/file_tree/markdown_representation.rs:194:5 [INFO] [stdout] | [INFO] [stdout] 194 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 189 ~ let file_language: Language = match iter.next() [INFO] [stdout] 190 ~ { Some(Event::Start(Tag::CodeBlock( [INFO] [stdout] 191 + CodeBlockKind::Fenced(CowStr::Borrowed(language)), [INFO] [stdout] 192 ~ ))) => { [INFO] [stdout] 193 | language.parse()? [INFO] [stdout] 194 ~ } _ => { [INFO] [stdout] 195 | return Err(FileTreeParseError::NoLanguage); [INFO] [stdout] 196 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/macros/config/file_tree/markdown_representation.rs:198:33 [INFO] [stdout] | [INFO] [stdout] 198 | let file_value: String = if let Some(Event::Text(CowStr::Borrowed(value))) = iter.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/macros/config/file_tree/markdown_representation.rs:200:5 [INFO] [stdout] | [INFO] [stdout] 200 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 198 ~ let file_value: String = match iter.next() { Some(Event::Text(CowStr::Borrowed(value))) => { [INFO] [stdout] 199 | value.into() [INFO] [stdout] 200 ~ } _ => { [INFO] [stdout] 201 | return Err(FileTreeParseError::NoValue); [INFO] [stdout] 202 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/macros/generate/convert/auxiliary/c/function/mod.rs:38:34 [INFO] [stdout] | [INFO] [stdout] 38 | let function_output = if let Some(out) = &self.output { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/macros/generate/convert/auxiliary/c/function/mod.rs:54:9 [INFO] [stdout] | [INFO] [stdout] 54 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 38 ~ let function_output = match &self.output { Some(out) => { [INFO] [stdout] 39 | if Type::is_void(self.output.as_ref()) { [INFO] [stdout] ... [INFO] [stdout] 53 | } [INFO] [stdout] 54 ~ } _ => { [INFO] [stdout] 55 | TokenStream2::default() [INFO] [stdout] 56 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/macros/generate/convert/auxiliary/c/function/mod.rs:76:41 [INFO] [stdout] | [INFO] [stdout] 76 | let (output, output_comma) = if let Some(output) = &self.output { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/macros/generate/convert/auxiliary/c/function/mod.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 79 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 76 ~ let (output, output_comma) = match &self.output { Some(output) => { [INFO] [stdout] 77 | let output = output.to_auxiliary_c(true, None); [INFO] [stdout] 78 | (quote! { #output }, quote! {,}) [INFO] [stdout] 79 ~ } _ => { [INFO] [stdout] 80 | (TokenStream2::default(), TokenStream2::default()) [INFO] [stdout] 81 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/macros/generate/convert/auxiliary/c/type/doc_named_type.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 27 | if let Some(r#type) = self.r#type.to_auxiliary_c(false, Some(&self.name)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^--------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/macros/generate/convert/auxiliary/c/type/doc_named_type.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 36 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 27 ~ match self.r#type.to_auxiliary_c(false, Some(&self.name)) { Some(r#type) => { [INFO] [stdout] 28 | let doc_comments: String = Attribute::to_auxiliary_c_merged(&self.attributes); [INFO] [stdout] ... [INFO] [stdout] 35 | } [INFO] [stdout] 36 ~ } _ => { [INFO] [stdout] 37 | None [INFO] [stdout] 38 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/macros/generate/convert/auxiliary/c/type/doc_named_type.rs:31:16 [INFO] [stdout] | [INFO] [stdout] 31 | if let Type::Function { .. } = self.r#type { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/macros/generate/convert/auxiliary/c/type/doc_named_type.rs:33:13 [INFO] [stdout] | [INFO] [stdout] 33 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 31 ~ match self.r#type { Type::Function { .. } => { [INFO] [stdout] 32 | Some(format!("{}{};\n", doc_comments, r#type)) [INFO] [stdout] 33 ~ } _ => { [INFO] [stdout] 34 | Some(format!("{}{} {};\n", doc_comments, r#type, ident)) [INFO] [stdout] 35 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/macros/generate/convert/auxiliary/c/type/named_type.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 30 | if let Some(c_type) = self.r#type.to_auxiliary_c(false, Some(&self.name)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^--------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/macros/generate/convert/auxiliary/c/type/named_type.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 30 ~ match self.r#type.to_auxiliary_c(false, Some(&self.name)) { Some(c_type) => { [INFO] [stdout] 31 | let ident = self.name.to_rust(); [INFO] [stdout] ... [INFO] [stdout] 41 | } [INFO] [stdout] 42 ~ } _ => { [INFO] [stdout] 43 | None [INFO] [stdout] 44 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/macros/generate/convert/auxiliary/c/type/named_type.rs:33:16 [INFO] [stdout] | [INFO] [stdout] 33 | if let Type::Function { .. } = self.r#type { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/macros/generate/convert/auxiliary/c/type/named_type.rs:37:13 [INFO] [stdout] | [INFO] [stdout] 37 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 33 ~ match self.r#type { Type::Function { .. } => { [INFO] [stdout] 34 | Some(quote! { [INFO] [stdout] 35 | #c_type [INFO] [stdout] 36 | }) [INFO] [stdout] 37 ~ } _ => { [INFO] [stdout] 38 | Some(quote! { [INFO] [stdout] 39 | #c_type #ident [INFO] [stdout] 40 | }) [INFO] [stdout] 41 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/macros/generate/convert/host/c/function/mod.rs:69:12 [INFO] [stdout] | [INFO] [stdout] 69 | if let Some(r#type) = &self.output { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/macros/generate/convert/host/c/function/mod.rs:107:9 [INFO] [stdout] | [INFO] [stdout] 107 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 69 ~ match &self.output { Some(r#type) => { [INFO] [stdout] 70 | if let Some(output_ident) = r#type.to_c() { [INFO] [stdout] ... [INFO] [stdout] 106 | } [INFO] [stdout] 107 ~ } _ => { [INFO] [stdout] 108 | no_output() [INFO] [stdout] 109 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/macros/generate/convert/host/c/function/mod.rs:70:16 [INFO] [stdout] | [INFO] [stdout] 70 | if let Some(output_ident) = r#type.to_c() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/macros/generate/convert/host/c/function/mod.rs:104:13 [INFO] [stdout] | [INFO] [stdout] 104 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 70 ~ match r#type.to_c() { Some(output_ident) => { [INFO] [stdout] 71 | quote! { [INFO] [stdout] ... [INFO] [stdout] 103 | } [INFO] [stdout] 104 ~ } _ => { [INFO] [stdout] 105 | no_output() [INFO] [stdout] 106 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/macros/generate/convert/host/c/namespace/mod.rs:166:28 [INFO] [stdout] | [INFO] [stdout] 166 | if let Some(output) = &r#fn.output { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/macros/generate/convert/host/c/namespace/mod.rs:168:25 [INFO] [stdout] | [INFO] [stdout] 168 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 166 ~ match &r#fn.output { Some(output) => { [INFO] [stdout] 167 | iter::once(Some(output.clone())) [INFO] [stdout] 168 ~ } _ => { [INFO] [stdout] 169 | iter::once(None) [INFO] [stdout] 170 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/macros/generate/convert/host/c/type/doc_named_type.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 35 | if let Some(named_type) = &Into::::into(self).to_c() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/macros/generate/convert/host/c/type/doc_named_type.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 40 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 35 ~ match &Into::::into(self).to_c() { Some(named_type) => { [INFO] [stdout] 36 | Some(quote! { [INFO] [stdout] ... [INFO] [stdout] 39 | }) [INFO] [stdout] 40 ~ } _ => { [INFO] [stdout] 41 | None [INFO] [stdout] 42 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/macros/generate/convert/host/c/type/named_type.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 32 | if let Some(r#type) = self.r#type.to_c() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/macros/generate/convert/host/c/type/named_type.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 36 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 32 ~ match self.r#type.to_c() { Some(r#type) => { [INFO] [stdout] 33 | Some(quote! { [INFO] [stdout] 34 | #ident : #r#type [INFO] [stdout] 35 | }) [INFO] [stdout] 36 ~ } _ => { [INFO] [stdout] 37 | None [INFO] [stdout] 38 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/macros/generate/convert/host/rust/type/mod.rs:100:36 [INFO] [stdout] | [INFO] [stdout] 100 | let nasp_path = if let Some(path) = &Variant::to_rust_path(&identifier.variant) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^------------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/macros/generate/convert/host/rust/type/mod.rs:110:17 [INFO] [stdout] | [INFO] [stdout] 110 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 100 ~ let nasp_path = match &Variant::to_rust_path(&identifier.variant) { Some(path) => { [INFO] [stdout] 101 | if path.is_empty() { [INFO] [stdout] ... [INFO] [stdout] 109 | } [INFO] [stdout] 110 ~ } _ => { [INFO] [stdout] 111 | quote! {} [INFO] [stdout] 112 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/macros/generate/convert/host/rust/type/doc_named_type.rs:36:12 [INFO] [stdout] | [INFO] [stdout] 36 | if let Some(named_type) = Into::::into(self).to_rust() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^--------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/macros/generate/convert/host/rust/type/doc_named_type.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 36 ~ match Into::::into(self).to_rust() { Some(named_type) => { [INFO] [stdout] 37 | Some(quote! { [INFO] [stdout] ... [INFO] [stdout] 40 | }) [INFO] [stdout] 41 ~ } _ => { [INFO] [stdout] 42 | None [INFO] [stdout] 43 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/macros/generate/convert/host/rust/type/named_type.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 30 | if let Some(r#type) = self.r#type.to_rust() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^--------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/macros/generate/convert/host/rust/type/named_type.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 35 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 30 ~ match self.r#type.to_rust() { Some(r#type) => { [INFO] [stdout] 31 | let ident = self.name.to_rust(); [INFO] [stdout] ... [INFO] [stdout] 34 | }) [INFO] [stdout] 35 ~ } _ => { [INFO] [stdout] 36 | None [INFO] [stdout] 37 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/parser/parsing/checked/mod.rs:200:25 [INFO] [stdout] | [INFO] [stdout] 200 | let output = if let Some(r#type) = function.output { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^--------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/parser/parsing/checked/mod.rs:202:9 [INFO] [stdout] | [INFO] [stdout] 202 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 200 ~ let output = match function.output { Some(r#type) => { [INFO] [stdout] 201 | Some(self.process_type(r#type, parent_namespaces)?) [INFO] [stdout] 202 ~ } _ => { [INFO] [stdout] 203 | None [INFO] [stdout] 204 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:98:24 [INFO] [stdout] | [INFO] [stdout] 98 | if let Some(val) = self.last_value { [INFO] [stdout] | ^^^^^^^^^^^^^^^^--------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:100:21 [INFO] [stdout] | [INFO] [stdout] 100 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 98 ~ match self.last_value { Some(val) => { [INFO] [stdout] 99 | Ok(val) [INFO] [stdout] 100 ~ } _ => { [INFO] [stdout] 101 | Err(err) [INFO] [stdout] 102 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 30 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] Fixed tests/result/api.rs (2 fixes) [INFO] [stderr] Migrating tests/error_derive/main.rs from 2021 edition to 2024 [INFO] [stdout] warning: unused variable: `trixy_output` [INFO] [stdout] --> tests/result/main.rs:35:43 [INFO] [stdout] | [INFO] [stdout] 35 | trinitrix::Trinitrix::get_a { trixy_output } => todo!(), [INFO] [stdout] | ^^^^^^^^^^^^ help: try ignoring the field: `trixy_output: _` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `trixy_output` [INFO] [stdout] --> tests/result/main.rs:36:43 [INFO] [stdout] | [INFO] [stdout] 36 | trinitrix::Trinitrix::get_b { trixy_output } => todo!(), [INFO] [stdout] | ^^^^^^^^^^^^ help: try ignoring the field: `trixy_output: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `callback_function` is never used [INFO] [stdout] --> tests/error_derive/main.rs:32:4 [INFO] [stdout] | [INFO] [stdout] 32 | fn callback_function(cmd: Commands) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating tests/void_input/main.rs from 2021 edition to 2024 [INFO] [stderr] Fixed tests/void_input/api.rs (1 fix) [INFO] [stderr] Migrating tests/doc_comments/main.rs from 2021 edition to 2024 [INFO] [stdout] warning: unused variable: `trixy_output` [INFO] [stdout] --> tests/void_input/main.rs:34:32 [INFO] [stdout] | [INFO] [stdout] 34 | Commands::void_input { trixy_output } => todo!(), [INFO] [stdout] | ^^^^^^^^^^^^ help: try ignoring the field: `trixy_output: _` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Fixed tests/doc_comments/api.rs (1 fix) [INFO] [stderr] Migrating tests/attribute_doc_comments/main.rs from 2021 edition to 2024 [INFO] [stdout] warning: unused variable: `trixy_output` [INFO] [stdout] --> tests/doc_comments/main.rs:35:40 [INFO] [stdout] | [INFO] [stdout] 35 | trinitrix::Trinitrix::hi { trixy_output, name } => todo!(), [INFO] [stdout] | ^^^^^^^^^^^^ help: try ignoring the field: `trixy_output: _` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> tests/doc_comments/main.rs:35:54 [INFO] [stdout] | [INFO] [stdout] 35 | trinitrix::Trinitrix::hi { trixy_output, name } => todo!(), [INFO] [stdout] | ^^^^ help: try ignoring the field: `name: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Fixed tests/attribute_doc_comments/api.rs (1 fix) [INFO] [stderr] Migrating tests/multi_line_doc_comment/main.rs from 2021 edition to 2024 [INFO] [stdout] warning: unused variable: `trixy_output` [INFO] [stdout] --> tests/attribute_doc_comments/main.rs:35:40 [INFO] [stdout] | [INFO] [stdout] 35 | trinitrix::Trinitrix::hi { trixy_output, name } => todo!(), [INFO] [stdout] | ^^^^^^^^^^^^ help: try ignoring the field: `trixy_output: _` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> tests/attribute_doc_comments/main.rs:35:54 [INFO] [stdout] | [INFO] [stdout] 35 | trinitrix::Trinitrix::hi { trixy_output, name } => todo!(), [INFO] [stdout] | ^^^^ help: try ignoring the field: `name: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Fixed tests/multi_line_doc_comment/api.rs (1 fix) [INFO] [stderr] Migrating tests/trinitrix_api/main.rs from 2021 edition to 2024 [INFO] [stdout] warning: unused variable: `trixy_output` [INFO] [stdout] --> tests/multi_line_doc_comment/main.rs:35:40 [INFO] [stdout] | [INFO] [stdout] 35 | trinitrix::Trinitrix::hi { trixy_output, name } => todo!(), [INFO] [stdout] | ^^^^^^^^^^^^ help: try ignoring the field: `trixy_output: _` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> tests/multi_line_doc_comment/main.rs:35:54 [INFO] [stdout] | [INFO] [stdout] 35 | trinitrix::Trinitrix::hi { trixy_output, name } => todo!(), [INFO] [stdout] | ^^^^ help: try ignoring the field: `name: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Fixed tests/trinitrix_api/api.rs (11 fixes) [INFO] [stderr] Migrating tests/utf8_in_doc_comment/main.rs from 2021 edition to 2024 [INFO] [stdout] warning: unused variable: `message` [INFO] [stdout] --> tests/trinitrix_api/main.rs:38:58 [INFO] [stdout] | [INFO] [stdout] 38 | trinitrix::api::Api::room_message_send { message } => todo!(), [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `message: _` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mode` [INFO] [stdout] --> tests/trinitrix_api/main.rs:40:56 [INFO] [stdout] | [INFO] [stdout] 40 | trinitrix::api::ui::Ui::set_mode { mode } => todo!(), [INFO] [stdout] | ^^^^ help: try ignoring the field: `mode: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mode` [INFO] [stdout] --> tests/trinitrix_api/main.rs:46:25 [INFO] [stdout] | [INFO] [stdout] 46 | mode, [INFO] [stdout] | ^^^^ help: try ignoring the field: `mode: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> tests/trinitrix_api/main.rs:47:25 [INFO] [stdout] | [INFO] [stdout] 47 | key, [INFO] [stdout] | ^^^ help: try ignoring the field: `key: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `callback` [INFO] [stdout] --> tests/trinitrix_api/main.rs:48:25 [INFO] [stdout] | [INFO] [stdout] 48 | callback, [INFO] [stdout] | ^^^^^^^^ help: try ignoring the field: `callback: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mode` [INFO] [stdout] --> tests/trinitrix_api/main.rs:50:64 [INFO] [stdout] | [INFO] [stdout] 50 | trinitrix::api::keymaps::Keymaps::remove { mode, key } => todo!(), [INFO] [stdout] | ^^^^ help: try ignoring the field: `mode: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> tests/trinitrix_api/main.rs:50:70 [INFO] [stdout] | [INFO] [stdout] 50 | trinitrix::api::keymaps::Keymaps::remove { mode, key } => todo!(), [INFO] [stdout] | ^^^ help: try ignoring the field: `key: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mode` [INFO] [stdout] --> tests/trinitrix_api/main.rs:51:61 [INFO] [stdout] | [INFO] [stdout] 51 | trinitrix::api::keymaps::Keymaps::get { mode } => todo!(), [INFO] [stdout] | ^^^^ help: try ignoring the field: `mode: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `error_message` [INFO] [stdout] --> tests/trinitrix_api/main.rs:54:61 [INFO] [stdout] | [INFO] [stdout] 54 | trinitrix::api::raw::Raw::raise_error { error_message } => todo!(), [INFO] [stdout] | ^^^^^^^^^^^^^ help: try ignoring the field: `error_message: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `output_message` [INFO] [stdout] --> tests/trinitrix_api/main.rs:55:64 [INFO] [stdout] | [INFO] [stdout] 55 | trinitrix::api::raw::Raw::display_output { output_message } => todo!(), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try ignoring the field: `output_message: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> tests/trinitrix_api/main.rs:56:72 [INFO] [stdout] | [INFO] [stdout] 56 | trinitrix::api::raw::Raw::send_input_unprocessed { input } => todo!(), [INFO] [stdout] | ^^^^^ help: try ignoring the field: `input: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 11 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `callback_function` is never used [INFO] [stdout] --> tests/utf8_in_doc_comment/main.rs:32:4 [INFO] [stdout] | [INFO] [stdout] 32 | fn callback_function(cmd: Commands) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating tests/void/main.rs from 2021 edition to 2024 [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Fixed tests/void/api.rs (1 fix) [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> tests/void/main.rs:34:31 [INFO] [stdout] | [INFO] [stdout] 34 | Commands::no_return { name } => todo!(), [INFO] [stdout] | ^^^^ help: try ignoring the field: `name: _` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating tests/vec_and_option/main.rs from 2021 edition to 2024 [INFO] [stderr] Fixed tests/vec_and_option/api.rs (3 fixes) [INFO] [stderr] Migrating tests/functions/main.rs from 2021 edition to 2024 [INFO] [stdout] warning: unused variable: `trixy_output` [INFO] [stdout] --> tests/vec_and_option/main.rs:36:17 [INFO] [stdout] | [INFO] [stdout] 36 | trixy_output, [INFO] [stdout] | ^^^^^^^^^^^^ help: try ignoring the field: `trixy_output: _` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `values` [INFO] [stdout] --> tests/vec_and_option/main.rs:37:17 [INFO] [stdout] | [INFO] [stdout] 37 | values, [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `values: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Fixed tests/functions/api.rs (2 fixes) [INFO] [stderr] Migrating tests/types/main.rs from 2021 edition to 2024 [INFO] [stdout] warning: unused variable: `callback` [INFO] [stdout] --> tests/functions/main.rs:34:46 [INFO] [stdout] | [INFO] [stdout] 34 | Commands::call_me_back_outstanding { callback } => todo!(), [INFO] [stdout] | ^^^^^^^^ help: try ignoring the field: `callback: _` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `callback` [INFO] [stdout] --> tests/functions/main.rs:36:38 [INFO] [stdout] | [INFO] [stdout] 36 | one::One::call_me_back { callback } => todo!(), [INFO] [stdout] | ^^^^^^^^ help: try ignoring the field: `callback: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Fixed tests/types/api.rs (1 fix) [INFO] [stdout] warning: unused variable: `callback` [INFO] [stdout] --> tests/types/main.rs:35:44 [INFO] [stdout] | [INFO] [stdout] 35 | test::Test::execute_callback { callback, priority } => todo!(), [INFO] [stdout] | ^^^^^^^^ help: try ignoring the field: `callback: _` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating tests/empty_doc_comment/main.rs from 2021 edition to 2024 [INFO] [stdout] warning: unused variable: `priority` [INFO] [stdout] --> tests/types/main.rs:35:54 [INFO] [stdout] | [INFO] [stdout] 35 | test::Test::execute_callback { callback, priority } => todo!(), [INFO] [stdout] | ^^^^^^^^ help: try ignoring the field: `priority: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `callback_function` is never used [INFO] [stdout] --> tests/empty_doc_comment/main.rs:32:4 [INFO] [stdout] | [INFO] [stdout] 32 | fn callback_function(cmd: Commands) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 8.71s [INFO] [stderr] Running `cargo check` to verify 2024 [INFO] [stderr] Checking trixy v0.4.0 (/tmp/fixit) [INFO] [stdout] error: unsafe attribute used without unsafe [INFO] [stdout] --> src/types/traits/convert_trait.rs:120:3 [INFO] [stdout] | [INFO] [stdout] 120 | #[no_mangle] [INFO] [stdout] | ^^^^^^^^^ usage of unsafe attribute [INFO] [stdout] | [INFO] [stdout] help: wrap the attribute in `unsafe(...)` [INFO] [stdout] | [INFO] [stdout] 120 | #[unsafe(no_mangle)] [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: unsafe attribute used without unsafe [INFO] [stdout] --> src/types/traits/convert_trait.rs:120:3 [INFO] [stdout] | [INFO] [stdout] 120 | #[no_mangle] [INFO] [stdout] | ^^^^^^^^^ usage of unsafe attribute [INFO] [stdout] | [INFO] [stdout] help: wrap the attribute in `unsafe(...)` [INFO] [stdout] | [INFO] [stdout] 120 | #[unsafe(no_mangle)] [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: unsafe attribute used without unsafe [INFO] [stdout] --> src/types/traits/errno.rs:66:3 [INFO] [stdout] | [INFO] [stdout] 66 | #[no_mangle] [INFO] [stdout] | ^^^^^^^^^ usage of unsafe attribute [INFO] [stdout] | [INFO] [stdout] help: wrap the attribute in `unsafe(...)` [INFO] [stdout] | [INFO] [stdout] 66 | #[unsafe(no_mangle)] [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: unsafe attribute used without unsafe [INFO] [stdout] --> src/types/traits/errno.rs:85:3 [INFO] [stdout] | [INFO] [stdout] 85 | #[no_mangle] [INFO] [stdout] | ^^^^^^^^^ usage of unsafe attribute [INFO] [stdout] | [INFO] [stdout] help: wrap the attribute in `unsafe(...)` [INFO] [stdout] | [INFO] [stdout] 85 | #[unsafe(no_mangle)] [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: unsafe attribute used without unsafe [INFO] [stdout] --> src/types/traits/errno.rs:66:3 [INFO] [stdout] | [INFO] [stdout] 66 | #[no_mangle] [INFO] [stdout] | ^^^^^^^^^ usage of unsafe attribute [INFO] [stdout] | [INFO] [stdout] help: wrap the attribute in `unsafe(...)` [INFO] [stdout] | [INFO] [stdout] 66 | #[unsafe(no_mangle)] [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: unsafe attribute used without unsafe [INFO] [stdout] --> src/types/traits/errno.rs:85:3 [INFO] [stdout] | [INFO] [stdout] 85 | #[no_mangle] [INFO] [stdout] | ^^^^^^^^^ usage of unsafe attribute [INFO] [stdout] | [INFO] [stdout] help: wrap the attribute in `unsafe(...)` [INFO] [stdout] | [INFO] [stdout] 85 | #[unsafe(no_mangle)] [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/types/traits/errno.rs:99:18 [INFO] [stdout] | [INFO] [stdout] 99 | let buffer = slice::from_raw_parts_mut(buffer as *mut u8, length as usize); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/types/traits/errno.rs:86:1 [INFO] [stdout] | [INFO] [stdout] 86 | pub unsafe extern "C" fn last_error_message(buffer: *mut c_char, length: c_int) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(unsafe_op_in_unsafe_fn)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::intrinsics::copy_nonoverlapping` is unsafe and requires unsafe block [INFO] [stdout] --> src/types/traits/errno.rs:111:5 [INFO] [stdout] | [INFO] [stdout] 111 | / ptr::copy_nonoverlapping( [INFO] [stdout] 112 | | error_message.as_ptr(), [INFO] [stdout] 113 | | buffer.as_mut_ptr(), [INFO] [stdout] 114 | | error_message.len(), [INFO] [stdout] 115 | | ); [INFO] [stdout] | |_____^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 3 previous errors; 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/types/traits/errno.rs:99:18 [INFO] [stdout] | [INFO] [stdout] 99 | let buffer = slice::from_raw_parts_mut(buffer as *mut u8, length as usize); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/types/traits/errno.rs:86:1 [INFO] [stdout] | [INFO] [stdout] 86 | pub unsafe extern "C" fn last_error_message(buffer: *mut c_char, length: c_int) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(unsafe_op_in_unsafe_fn)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::intrinsics::copy_nonoverlapping` is unsafe and requires unsafe block [INFO] [stdout] --> src/types/traits/errno.rs:111:5 [INFO] [stdout] | [INFO] [stdout] 111 | / ptr::copy_nonoverlapping( [INFO] [stdout] 112 | | error_message.as_ptr(), [INFO] [stdout] 113 | | buffer.as_mut_ptr(), [INFO] [stdout] 114 | | error_message.len(), [INFO] [stdout] 115 | | ); [INFO] [stdout] | |_____^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `trixy` (lib test) due to 4 previous errors; 2 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: aborting due to 3 previous errors; 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] error: could not compile `trixy` (lib) due to 4 previous errors; 2 warnings emitted [INFO] [stderr] error: failed to check after updating to 2024 [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `cargo check --frozen --all --all-targets --message-format=json` (exit status: 101) [INFO] running `Command { std: "docker" "inspect" "327bd76e618c54d319369ac257629964a9ec0652a892863dabe90c18f8d90599", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "327bd76e618c54d319369ac257629964a9ec0652a892863dabe90c18f8d90599", kill_on_drop: false }` [INFO] [stdout] 327bd76e618c54d319369ac257629964a9ec0652a892863dabe90c18f8d90599