[INFO] fetching crate cxx-gen 0.7.128... [INFO] checking cxx-gen-0.7.128 against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] extracting crate cxx-gen 0.7.128 into /workspace/builds/worker-7-tc2/source [INFO] validating manifest of crates.io crate cxx-gen 0.7.128 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 cxx-gen 0.7.128 [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate cxx-gen 0.7.128 [INFO] tweaked toml for crates.io crate cxx-gen 0.7.128 written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 18 packages to latest compatible versions [INFO] [stderr] Adding unicode-width v0.1.14 (available: v0.2.0) [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-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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] 853693f766322def400d08279153aee0487ba0ad940a0cb5b167464b0221aafd [INFO] running `Command { std: "docker" "start" "-a" "853693f766322def400d08279153aee0487ba0ad940a0cb5b167464b0221aafd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "853693f766322def400d08279153aee0487ba0ad940a0cb5b167464b0221aafd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "853693f766322def400d08279153aee0487ba0ad940a0cb5b167464b0221aafd", kill_on_drop: false }` [INFO] [stdout] 853693f766322def400d08279153aee0487ba0ad940a0cb5b167464b0221aafd [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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] 50950452d695319fcc4dfe0eae64d2b9f294d15434cfeba137e6bf9bdfddc5dd [INFO] running `Command { std: "docker" "start" "-a" "50950452d695319fcc4dfe0eae64d2b9f294d15434cfeba137e6bf9bdfddc5dd", 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] Compiling proc-macro2 v1.0.86 [INFO] [stderr] Checking unicode-ident v1.0.13 [INFO] [stderr] Checking unicode-width v0.1.14 [INFO] [stderr] Checking termcolor v1.4.1 [INFO] [stderr] Checking codespan-reporting v0.11.1 [INFO] [stderr] Checking quote v1.0.37 [INFO] [stderr] Checking syn v2.0.77 [INFO] [stderr] Checking cxx-gen v0.7.128 (/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 `cxx_gen` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/gen/fs.rs [INFO] [stderr] * src/syntax/mangle.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/gen/fs.rs:39:6 [INFO] [stderr] | [INFO] [stderr] 39 | ($io_error:expr_2021, $fmt:expr_2021 $(, $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[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/gen/fs.rs:39:27 [INFO] [stderr] | [INFO] [stderr] 39 | ($io_error:expr_2021, $fmt:expr_2021 $(, $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[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/gen/fs.rs:39:46 [INFO] [stderr] | [INFO] [stderr] 39 | ($io_error:expr_2021, $fmt:expr_2021 $(, $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[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/syntax/mangle.rs:82:8 [INFO] [stderr] | [INFO] [stderr] 82 | ($($segment: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: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/lib.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 46 | mod gen; [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [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 #49716 [INFO] [stdout] = note: `--force-warn keyword-idents-2024` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/lib.rs:50:16 [INFO] [stdout] | [INFO] [stdout] 50 | pub use crate::gen::include::{Include, HEADER}; [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [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 #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/lib.rs:51:16 [INFO] [stdout] | [INFO] [stdout] 51 | pub use crate::gen::{CfgEvaluator, CfgResult, GeneratedCode, Opt}; [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [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 #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/lib.rs:59:25 [INFO] [stdout] | [INFO] [stdout] 59 | .map_err(crate::gen::Error::from) [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [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 #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/lib.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 61 | gen::generate(syntax, opt).map_err(Error::from) [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [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 #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/error.rs:10:28 [INFO] [stdout] | [INFO] [stdout] 10 | pub(crate) err: crate::gen::Error, [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [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 #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/error.rs:17:20 [INFO] [stdout] | [INFO] [stdout] 17 | crate::gen::Error::Syn(err) => Some(err.span()), [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [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 #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/error.rs:23:18 [INFO] [stdout] | [INFO] [stdout] 23 | impl From for Error { [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [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 #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/error.rs:24:25 [INFO] [stdout] | [INFO] [stdout] 24 | fn from(err: crate::gen::Error) -> Self { [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [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 #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/error.rs:53:20 [INFO] [stdout] | [INFO] [stdout] 53 | crate::gen::Error::Syn(err) => IntoIter::Syn(err.into_iter()), [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [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 #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/error.rs:71:51 [INFO] [stdout] | [INFO] [stdout] 71 | .map(|syn_err| Error::from(crate::gen::Error::Syn(syn_err))), [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [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 #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/gen/mod.rs:190:25 [INFO] [stdout] | [INFO] [stdout] 190 | header = write::gen(apis, types, opt, true); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [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 #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/gen/mod.rs:193:33 [INFO] [stdout] | [INFO] [stdout] 193 | implementation = write::gen(apis, types, opt, false); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [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 #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/gen/builtin.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::gen::block::Block; [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [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 #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/gen/builtin.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::gen::ifndef; [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [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 #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/gen/builtin.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::gen::out::{Content, OutFile}; [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [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 #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/gen/cfg.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::gen::{CfgEvaluator, CfgResult}; [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [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 #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/gen/check.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::gen::Opt; [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [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 #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/gen/error.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::gen::fs; [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [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 #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/gen/ifndef.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::gen::include::HEADER; [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [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 #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/gen/ifndef.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::gen::out::Content; [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [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 #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/gen/include.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::gen::out::{Content, OutFile}; [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [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 #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/gen/out.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::gen::block::Block; [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [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 #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/gen/out.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::gen::builtin::Builtins; [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [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 #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/gen/out.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::gen::include::Includes; [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [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 #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/gen/out.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::gen::Opt; [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [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 #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/gen/write.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::gen::block::Block; [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [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 #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/gen/write.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::gen::nested::NamespaceEntries; [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [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 #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/gen/write.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::gen::out::OutFile; [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [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 #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/gen/write.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::gen::{builtin, include, Opt}; [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [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 #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/gen/write.rs:17:15 [INFO] [stdout] | [INFO] [stdout] 17 | pub(super) fn gen(apis: &[Api], types: &Types, opt: &Opt, header: bool) -> Vec { [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [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 #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/gen/fs.rs:39:16 [INFO] [stdout] | [INFO] [stdout] 39 | ($io_error:expr, $fmt:expr $(, $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] = 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] 39 | ($io_error:expr_2021, $fmt:expr $(, $path:expr)* $(,)?) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/gen/fs.rs:39:27 [INFO] [stdout] | [INFO] [stdout] 39 | ($io_error:expr, $fmt:expr $(, $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] 39 | ($io_error:expr, $fmt:expr_2021 $(, $path:expr)* $(,)?) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/gen/fs.rs:39:42 [INFO] [stdout] | [INFO] [stdout] 39 | ($io_error:expr, $fmt:expr $(, $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] 39 | ($io_error:expr, $fmt:expr $(, $path: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/syntax/mangle.rs:82:17 [INFO] [stdout] | [INFO] [stdout] 82 | ($($segment: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] 82 | ($($segment:expr_2021),+ $(,)?) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gen/file.rs:67:8 [INFO] [stdout] | [INFO] [stdout] 67 | if let Meta::Path(_) = attr.meta { [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/gen/file.rs:69:5 [INFO] [stdout] | [INFO] [stdout] 69 | } else { [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 67 ~ match attr.meta { Meta::Path(_) => { [INFO] [stdout] 68 | Ok(Namespace::ROOT) [INFO] [stdout] 69 ~ } _ => { [INFO] [stdout] 70 | attr.parse_args_with(Namespace::parse_bridge_attr_namespace) [INFO] [stdout] 71 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gen/write.rs:73:16 [INFO] [stdout] | [INFO] [stdout] 73 | if let Some(receiver) = &efn.sig.receiver { [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/gen/write.rs:78:13 [INFO] [stdout] | [INFO] [stdout] 78 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 73 ~ match &efn.sig.receiver { Some(receiver) => { [INFO] [stdout] 74 | methods_for_type [INFO] [stdout] ... [INFO] [stdout] 77 | .push(efn); [INFO] [stdout] 78 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gen/write.rs:131:16 [INFO] [stdout] | [INFO] [stdout] 131 | if let Some(reasons) = out.types.required_trivial.get(&ety.name.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/gen/write.rs:133:13 [INFO] [stdout] | [INFO] [stdout] 133 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 131 ~ match out.types.required_trivial.get(&ety.name.rust) { Some(reasons) => { [INFO] [stdout] 132 | check_trivial_extern_type(out, ety, reasons); [INFO] [stdout] 133 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gen/write.rs:733:19 [INFO] [stdout] | [INFO] [stdout] 733 | } else if let Type::RustVec(_) = arg.ty { [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/gen/write.rs:736:9 [INFO] [stdout] | [INFO] [stdout] 736 | } 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] 733 ~ } else { match arg.ty { Type::RustVec(_) => { [INFO] [stdout] 734 | write_type_space(out, &arg.ty); [INFO] [stdout] 735 | write!(out, "const *{}", arg.name.cxx); [INFO] [stdout] 736 ~ } _ => { [INFO] [stdout] 737 | write_extern_arg(out, arg); [INFO] [stdout] 738 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gen/write.rs:822:12 [INFO] [stdout] | [INFO] [stdout] 822 | if let Type::RustBox(_) = &arg.ty { [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] 825 | } else if let Type::UniquePtr(_) = &arg.ty { [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] 835 | } else if let Type::RustVec(_) = arg.ty { [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/gen/write.rs:825:9 [INFO] [stdout] | [INFO] [stdout] 825 | } else if let Type::UniquePtr(_) = &arg.ty { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/gen/write.rs:828:9 [INFO] [stdout] | [INFO] [stdout] 828 | } else if arg.ty == RustString { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/gen/write.rs:839:9 [INFO] [stdout] | [INFO] [stdout] 839 | } else if out.types.needs_indirect_abi(&arg.ty) { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 822 ~ match &arg.ty { Type::RustBox(_) => { [INFO] [stdout] 823 | write_type(out, &arg.ty); [INFO] [stdout] 824 | write!(out, "::from_raw({})", arg.name.cxx); [INFO] [stdout] 825 ~ } _ => { match &arg.ty { Type::UniquePtr(_) => { [INFO] [stdout] 826 | write_type(out, &arg.ty); [INFO] [stdout] 827 | write!(out, "({})", arg.name.cxx); [INFO] [stdout] 828 ~ } _ => if arg.ty == RustString { [INFO] [stdout] 829 | out.builtin.unsafe_bitcopy = true; [INFO] [stdout] ... [INFO] [stdout] 834 | ); [INFO] [stdout] 835 ~ } else { match arg.ty { Type::RustVec(_) => { [INFO] [stdout] 836 | out.builtin.unsafe_bitcopy = true; [INFO] [stdout] 837 | write_type(out, &arg.ty); [INFO] [stdout] 838 | write!(out, "(::rust::unsafe_bitcopy, *{})", arg.name.cxx); [INFO] [stdout] 839 ~ } _ => if out.types.needs_indirect_abi(&arg.ty) { [INFO] [stdout] 840 | out.include.utility = true; [INFO] [stdout] ... [INFO] [stdout] 843 | write!(out, "{}", arg.name.cxx); [INFO] [stdout] 844 ~ }}}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gen/write.rs:865:12 [INFO] [stdout] | [INFO] [stdout] 865 | if let Type::Fn(f) = &arg.ty { [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/gen/write.rs:868:9 [INFO] [stdout] | [INFO] [stdout] 868 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 865 ~ match &arg.ty { Type::Fn(f) => { [INFO] [stdout] 866 | let var = &arg.name; [INFO] [stdout] 867 | write_function_pointer_trampoline(out, efn, var, f); [INFO] [stdout] 868 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gen/write.rs:1050:15 [INFO] [stdout] | [INFO] [stdout] 1050 | } else if let Some(ret) = &sig.ret { [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/gen/write.rs:1074:5 [INFO] [stdout] | [INFO] [stdout] 1074 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1050 ~ } else { match &sig.ret { Some(ret) => { [INFO] [stdout] 1051 | write!(out, "return "); [INFO] [stdout] ... [INFO] [stdout] 1073 | } [INFO] [stdout] 1074 ~ } _ => {}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gen/write.rs:1116:12 [INFO] [stdout] | [INFO] [stdout] 1116 | if let Some(Type::RustBox(_) | Type::UniquePtr(_) | Type::Str(_) | Type::SliceRef(_)) = [INFO] [stdout] | ____________^ [INFO] [stdout] 1117 | | &sig.ret [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/gen/write.rs:1120:9 [INFO] [stdout] | [INFO] [stdout] 1120 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1116 ~ match &sig.ret [INFO] [stdout] 1117 ~ { Some(Type::RustBox(_) | Type::UniquePtr(_) | Type::Str(_) | Type::SliceRef(_)) => { [INFO] [stdout] 1118 | write!(out, ")"); [INFO] [stdout] 1119 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/attrs.rs:199:16 [INFO] [stdout] | [INFO] [stdout] 199 | if let Expr::Lit(expr) = &meta.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/syntax/attrs.rs:203:13 [INFO] [stdout] | [INFO] [stdout] 203 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 199 ~ match &meta.value { Expr::Lit(expr) => { [INFO] [stdout] 200 | if let Lit::Str(lit) = &expr.lit { [INFO] [stdout] 201 | return Ok(DocAttribute::Doc(lit.clone())); [INFO] [stdout] 202 | } [INFO] [stdout] 203 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/attrs.rs:200:20 [INFO] [stdout] | [INFO] [stdout] 200 | if let Lit::Str(lit) = &expr.lit { [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/syntax/attrs.rs:202:17 [INFO] [stdout] | [INFO] [stdout] 202 | } [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 ~ match &expr.lit { Lit::Str(lit) => { [INFO] [stdout] 201 | return Ok(DocAttribute::Doc(lit.clone())); [INFO] [stdout] 202 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/attrs.rs:251:20 [INFO] [stdout] | [INFO] [stdout] 251 | if let Lit::Str(lit) = &expr.lit { [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/syntax/attrs.rs:253:17 [INFO] [stdout] | [INFO] [stdout] 253 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 251 ~ match &expr.lit { Lit::Str(lit) => { [INFO] [stdout] 252 | return ForeignName::parse(&lit.value(), lit.span()); [INFO] [stdout] 253 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/attrs.rs:256:20 [INFO] [stdout] | [INFO] [stdout] 256 | if let Some(ident) = expr.path.get_ident() { [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/syntax/attrs.rs:258:17 [INFO] [stdout] | [INFO] [stdout] 258 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 256 ~ match expr.path.get_ident() { Some(ident) => { [INFO] [stdout] 257 | return ForeignName::parse(&ident.to_string(), ident.span()); [INFO] [stdout] 258 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/attrs.rs:270:20 [INFO] [stdout] | [INFO] [stdout] 270 | if let Lit::Str(lit) = &expr.lit { [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/syntax/attrs.rs:272:17 [INFO] [stdout] | [INFO] [stdout] 272 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 270 ~ match &expr.lit { Lit::Str(lit) => { [INFO] [stdout] 271 | return lit.parse(); [INFO] [stdout] 272 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/attrs.rs:275:20 [INFO] [stdout] | [INFO] [stdout] 275 | if let Some(ident) = expr.path.get_ident() { [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/syntax/attrs.rs:277:17 [INFO] [stdout] | [INFO] [stdout] 277 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 275 ~ match expr.path.get_ident() { Some(ident) => { [INFO] [stdout] 276 | return Ok(ident.clone()); [INFO] [stdout] 277 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/check.rs:142:8 [INFO] [stdout] | [INFO] [stdout] 142 | if let Type::Ident(ident) = &ptr.inner { [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] 152 | } else if let Type::CxxVector(_) = &ptr.inner { [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/syntax/check.rs:152:5 [INFO] [stdout] | [INFO] [stdout] 152 | } else if let Type::CxxVector(_) = &ptr.inner { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/syntax/check.rs:154:5 [INFO] [stdout] | [INFO] [stdout] 154 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 142 ~ match &ptr.inner { Type::Ident(ident) => { [INFO] [stdout] 143 | if cx.types.rust.contains(&ident.rust) { [INFO] [stdout] ... [INFO] [stdout] 151 | } [INFO] [stdout] 152 ~ } _ => { match &ptr.inner { Type::CxxVector(_) => { [INFO] [stdout] 153 | return; [INFO] [stdout] 154 ~ } _ => {}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/check.rs:160:8 [INFO] [stdout] | [INFO] [stdout] 160 | if let Type::Ident(ident) = &ptr.inner { [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] 174 | } else if let Type::CxxVector(_) = &ptr.inner { [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/syntax/check.rs:174:5 [INFO] [stdout] | [INFO] [stdout] 174 | } else if let Type::CxxVector(_) = &ptr.inner { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/syntax/check.rs:177:5 [INFO] [stdout] | [INFO] [stdout] 177 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 160 ~ match &ptr.inner { Type::Ident(ident) => { [INFO] [stdout] 161 | if cx.types.rust.contains(&ident.rust) { [INFO] [stdout] ... [INFO] [stdout] 173 | } [INFO] [stdout] 174 ~ } _ => { match &ptr.inner { Type::CxxVector(_) => { [INFO] [stdout] 175 | cx.error(ptr, "std::shared_ptr is not supported yet"); [INFO] [stdout] 176 | return; [INFO] [stdout] 177 ~ } _ => {}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/check.rs:183:8 [INFO] [stdout] | [INFO] [stdout] 183 | if let Type::Ident(ident) = &ptr.inner { [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] 197 | } else if let Type::CxxVector(_) = &ptr.inner { [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/syntax/check.rs:197:5 [INFO] [stdout] | [INFO] [stdout] 197 | } else if let Type::CxxVector(_) = &ptr.inner { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/syntax/check.rs:200:5 [INFO] [stdout] | [INFO] [stdout] 200 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 183 ~ match &ptr.inner { Type::Ident(ident) => { [INFO] [stdout] 184 | if cx.types.rust.contains(&ident.rust) { [INFO] [stdout] ... [INFO] [stdout] 196 | } [INFO] [stdout] 197 ~ } _ => { match &ptr.inner { Type::CxxVector(_) => { [INFO] [stdout] 198 | cx.error(ptr, "std::weak_ptr is not supported yet"); [INFO] [stdout] 199 | return; [INFO] [stdout] 200 ~ } _ => {}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/check.rs:230:12 [INFO] [stdout] | [INFO] [stdout] 230 | if let Some(requires_pin) = match &ty.inner { [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] | | [INFO] [stdout] 231 | | Type::Ident(ident) if ident.rust == CxxString || is_opaque_cxx(cx, &ident.rust) => { [INFO] [stdout] 232 | | Some(ident.rust.to_string()) [INFO] [stdout] 233 | | } [INFO] [stdout] 234 | | Type::CxxVector(_) => Some("CxxVector<...>".to_owned()), [INFO] [stdout] 235 | | _ => None, [INFO] [stdout] 236 | | } { [INFO] [stdout] | |_________^ [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/syntax/check.rs:244:9 [INFO] [stdout] | [INFO] [stdout] 244 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 230 ~ match match &ty.inner { [INFO] [stdout] 231 | Type::Ident(ident) if ident.rust == CxxString || is_opaque_cxx(cx, &ident.rust) => { [INFO] [stdout] ... [INFO] [stdout] 235 | _ => None, [INFO] [stdout] 236 ~ } { Some(requires_pin) => { [INFO] [stdout] 237 | cx.error( [INFO] [stdout] ... [INFO] [stdout] 243 | ); [INFO] [stdout] 244 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/check.rs:307:12 [INFO] [stdout] | [INFO] [stdout] 307 | if let Type::Ptr(_) = arg.ty { [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/syntax/check.rs:314:9 [INFO] [stdout] | [INFO] [stdout] 314 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 307 ~ match arg.ty { Type::Ptr(_) => { [INFO] [stdout] 308 | if ty.unsafety.is_none() { [INFO] [stdout] ... [INFO] [stdout] 313 | } [INFO] [stdout] 314 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/check.rs:329:12 [INFO] [stdout] | [INFO] [stdout] 329 | if let Some(ety) = cx.types.untrusted.get(&name.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/syntax/check.rs:332:9 [INFO] [stdout] | [INFO] [stdout] 332 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 329 ~ match cx.types.untrusted.get(&name.rust) { Some(ety) => { [INFO] [stdout] 330 | let msg = "extern shared struct must be declared in an `unsafe extern` block"; [INFO] [stdout] 331 | cx.error(ety, msg); [INFO] [stdout] 332 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/check.rs:343:12 [INFO] [stdout] | [INFO] [stdout] 343 | if let Type::Fn(_) = field.ty { [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/syntax/check.rs:348:9 [INFO] [stdout] | [INFO] [stdout] 348 | } else if is_unsized(cx, &field.ty) { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 343 ~ match field.ty { Type::Fn(_) => { [INFO] [stdout] 344 | cx.error( [INFO] [stdout] ... [INFO] [stdout] 347 | ); [INFO] [stdout] 348 ~ } _ => if is_unsized(cx, &field.ty) { [INFO] [stdout] 349 | let desc = describe(cx, &field.ty); [INFO] [stdout] 350 | let msg = format!("using {} by value is not supported", desc); [INFO] [stdout] 351 | cx.error(field, msg); [INFO] [stdout] 352 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/check.rs:401:8 [INFO] [stdout] | [INFO] [stdout] 401 | if let Some(reasons) = cx.types.required_trivial.get(&ety.name.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/syntax/check.rs:407:5 [INFO] [stdout] | [INFO] [stdout] 407 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 401 ~ match cx.types.required_trivial.get(&ety.name.rust) { Some(reasons) => { [INFO] [stdout] 402 | let msg = format!( [INFO] [stdout] ... [INFO] [stdout] 406 | cx.error(ety, msg); [INFO] [stdout] 407 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/check.rs:467:12 [INFO] [stdout] | [INFO] [stdout] 467 | if let Type::Fn(_) = arg.ty { [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] 474 | } else if let Type::Ptr(_) = arg.ty { [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/syntax/check.rs:474:9 [INFO] [stdout] | [INFO] [stdout] 474 | } else if let Type::Ptr(_) = arg.ty { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/syntax/check.rs:481:9 [INFO] [stdout] | [INFO] [stdout] 481 | } else if is_unsized(cx, &arg.ty) { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 467 ~ match arg.ty { Type::Fn(_) => { [INFO] [stdout] 468 | if efn.lang == Lang::Rust { [INFO] [stdout] ... [INFO] [stdout] 473 | } [INFO] [stdout] 474 ~ } _ => { match arg.ty { Type::Ptr(_) => { [INFO] [stdout] 475 | if efn.sig.unsafety.is_none() { [INFO] [stdout] ... [INFO] [stdout] 480 | } [INFO] [stdout] 481 ~ } _ => if is_unsized(cx, &arg.ty) { [INFO] [stdout] 482 | let desc = describe(cx, &arg.ty); [INFO] [stdout] 483 | let msg = format!("passing {} by value is not supported", desc); [INFO] [stdout] 484 | cx.error(arg, msg); [INFO] [stdout] 485 ~ }}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/check.rs:530:16 [INFO] [stdout] | [INFO] [stdout] 530 | if let Type::Ident(inner) = &ty.inner { [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/syntax/check.rs:534:13 [INFO] [stdout] | [INFO] [stdout] 534 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 530 ~ match &ty.inner { Type::Ident(inner) => { [INFO] [stdout] 531 | if Atom::from(&inner.rust).is_none() { [INFO] [stdout] 532 | return; [INFO] [stdout] 533 | } [INFO] [stdout] 534 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/discriminant.rs:110:16 [INFO] [stdout] | [INFO] [stdout] 110 | if let Lit::Int(lit) = &expr.lit { [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/syntax/discriminant.rs:114:13 [INFO] [stdout] | [INFO] [stdout] 114 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 110 ~ match &expr.lit { Lit::Int(lit) => { [INFO] [stdout] 111 | let discriminant = lit.base10_parse::()?; [INFO] [stdout] 112 | let repr = parse_int_suffix(lit.suffix())?; [INFO] [stdout] 113 | return Ok((discriminant, repr)); [INFO] [stdout] 114 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/instantiate.rs:32:16 [INFO] [stdout] | [INFO] [stdout] 32 | if let Type::Ident(ident) = &ty.inner { [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/syntax/instantiate.rs:34:13 [INFO] [stdout] | [INFO] [stdout] 34 | } [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 &ty.inner { Type::Ident(ident) => { [INFO] [stdout] 33 | return Some(ImplKey::RustBox(NamedImplKey::new(ty, ident))); [INFO] [stdout] 34 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/instantiate.rs:36:16 [INFO] [stdout] | [INFO] [stdout] 36 | if let Type::Ident(ident) = &ty.inner { [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/syntax/instantiate.rs:38:13 [INFO] [stdout] | [INFO] [stdout] 38 | } [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 &ty.inner { Type::Ident(ident) => { [INFO] [stdout] 37 | return Some(ImplKey::RustVec(NamedImplKey::new(ty, ident))); [INFO] [stdout] 38 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/instantiate.rs:40:16 [INFO] [stdout] | [INFO] [stdout] 40 | if let Type::Ident(ident) = &ty.inner { [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/syntax/instantiate.rs:42:13 [INFO] [stdout] | [INFO] [stdout] 42 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 40 ~ match &ty.inner { Type::Ident(ident) => { [INFO] [stdout] 41 | return Some(ImplKey::UniquePtr(NamedImplKey::new(ty, ident))); [INFO] [stdout] 42 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/instantiate.rs:44:16 [INFO] [stdout] | [INFO] [stdout] 44 | if let Type::Ident(ident) = &ty.inner { [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/syntax/instantiate.rs:46:13 [INFO] [stdout] | [INFO] [stdout] 46 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 44 ~ match &ty.inner { Type::Ident(ident) => { [INFO] [stdout] 45 | return Some(ImplKey::SharedPtr(NamedImplKey::new(ty, ident))); [INFO] [stdout] 46 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/instantiate.rs:48:16 [INFO] [stdout] | [INFO] [stdout] 48 | if let Type::Ident(ident) = &ty.inner { [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/syntax/instantiate.rs:50:13 [INFO] [stdout] | [INFO] [stdout] 50 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 48 ~ match &ty.inner { Type::Ident(ident) => { [INFO] [stdout] 49 | return Some(ImplKey::WeakPtr(NamedImplKey::new(ty, ident))); [INFO] [stdout] 50 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/instantiate.rs:52:16 [INFO] [stdout] | [INFO] [stdout] 52 | if let Type::Ident(ident) = &ty.inner { [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/syntax/instantiate.rs:54:13 [INFO] [stdout] | [INFO] [stdout] 54 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 52 ~ match &ty.inner { Type::Ident(ident) => { [INFO] [stdout] 53 | return Some(ImplKey::CxxVector(NamedImplKey::new(ty, ident))); [INFO] [stdout] 54 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/namespace.rs:42:24 [INFO] [stdout] | [INFO] [stdout] 42 | if let Lit::Str(lit) = &expr.lit { [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/syntax/namespace.rs:45:21 [INFO] [stdout] | [INFO] [stdout] 45 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 42 ~ match &expr.lit { Lit::Str(lit) => { [INFO] [stdout] 43 | let segments = QualifiedName::parse_quoted(lit)?.segments; [INFO] [stdout] 44 | return Ok(Namespace { segments }); [INFO] [stdout] 45 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/parse.rs:222:15 [INFO] [stdout] | [INFO] [stdout] 222 | } else if let Some(where_clause) = &item.generics.where_clause { [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/syntax/parse.rs:224:5 [INFO] [stdout] | [INFO] [stdout] 224 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 222 ~ } else { match &item.generics.where_clause { Some(where_clause) => { [INFO] [stdout] 223 | cx.error(where_clause, "enum with where-clause is not supported"); [INFO] [stdout] 224 ~ } _ => {}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/parse.rs:426:20 [INFO] [stdout] | [INFO] [stdout] 426 | if let Some(receiver) = &mut efn.receiver { [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/syntax/parse.rs:430:17 [INFO] [stdout] | [INFO] [stdout] 430 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 426 ~ match &mut efn.receiver { Some(receiver) => { [INFO] [stdout] 427 | if receiver.ty.rust == "Self" { [INFO] [stdout] 428 | receiver.ty.rust = single_type.rust.clone(); [INFO] [stdout] 429 | } [INFO] [stdout] 430 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/parse.rs:609:24 [INFO] [stdout] | [INFO] [stdout] 609 | if let Type::Ref(reference) = ty { [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/syntax/parse.rs:625:21 [INFO] [stdout] | [INFO] [stdout] 625 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 609 ~ match ty { Type::Ref(reference) => { [INFO] [stdout] 610 | if let Type::Ident(ident) = reference.inner { [INFO] [stdout] ... [INFO] [stdout] 624 | } [INFO] [stdout] 625 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/parse.rs:610:28 [INFO] [stdout] | [INFO] [stdout] 610 | if let Type::Ident(ident) = reference.inner { [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/syntax/parse.rs:624:25 [INFO] [stdout] | [INFO] [stdout] 624 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 610 ~ match reference.inner { Type::Ident(ident) => { [INFO] [stdout] 611 | receiver = Some(Receiver { [INFO] [stdout] ... [INFO] [stdout] 623 | continue; [INFO] [stdout] 624 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/parse.rs:921:26 [INFO] [stdout] | [INFO] [stdout] 921 | }) if if let Some(derive) = path.get_ident().and_then(Derive::from) { [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/syntax/parse.rs:924:17 [INFO] [stdout] | [INFO] [stdout] 924 | } 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] 921 ~ }) if match path.get_ident().and_then(Derive::from) { Some(derive) => { [INFO] [stdout] 922 | bounds.push(derive); [INFO] [stdout] 923 | true [INFO] [stdout] 924 ~ } _ => { [INFO] [stdout] 925 | false [INFO] [stdout] 926 ~ }} => {} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/parse.rs:1048:12 [INFO] [stdout] | [INFO] [stdout] 1048 | if let Some(TokenTree::Punct(punct)) = 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/syntax/parse.rs:1056:9 [INFO] [stdout] | [INFO] [stdout] 1056 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1048 ~ match iter.next() { Some(TokenTree::Punct(punct)) => { [INFO] [stdout] 1049 | if punct.as_char() == '!' { [INFO] [stdout] ... [INFO] [stdout] 1055 | } [INFO] [stdout] 1056 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/parse.rs:1222:24 [INFO] [stdout] | [INFO] [stdout] 1222 | if let GenericArgument::Type(arg) = &generic.args[0] { [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/syntax/parse.rs:1230:21 [INFO] [stdout] | [INFO] [stdout] 1230 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1222 ~ match &generic.args[0] { GenericArgument::Type(arg) => { [INFO] [stdout] 1223 | let inner = parse_type(arg)?; [INFO] [stdout] ... [INFO] [stdout] 1229 | }))); [INFO] [stdout] 1230 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/parse.rs:1232:24 [INFO] [stdout] | [INFO] [stdout] 1232 | if let GenericArgument::Type(arg) = &generic.args[0] { [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/syntax/parse.rs:1240:21 [INFO] [stdout] | [INFO] [stdout] 1240 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1232 ~ match &generic.args[0] { GenericArgument::Type(arg) => { [INFO] [stdout] 1233 | let inner = parse_type(arg)?; [INFO] [stdout] ... [INFO] [stdout] 1239 | }))); [INFO] [stdout] 1240 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/parse.rs:1242:24 [INFO] [stdout] | [INFO] [stdout] 1242 | if let GenericArgument::Type(arg) = &generic.args[0] { [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/syntax/parse.rs:1250:21 [INFO] [stdout] | [INFO] [stdout] 1250 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1242 ~ match &generic.args[0] { GenericArgument::Type(arg) => { [INFO] [stdout] 1243 | let inner = parse_type(arg)?; [INFO] [stdout] ... [INFO] [stdout] 1249 | }))); [INFO] [stdout] 1250 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/parse.rs:1252:24 [INFO] [stdout] | [INFO] [stdout] 1252 | if let GenericArgument::Type(arg) = &generic.args[0] { [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/syntax/parse.rs:1260:21 [INFO] [stdout] | [INFO] [stdout] 1260 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1252 ~ match &generic.args[0] { GenericArgument::Type(arg) => { [INFO] [stdout] 1253 | let inner = parse_type(arg)?; [INFO] [stdout] ... [INFO] [stdout] 1259 | }))); [INFO] [stdout] 1260 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/parse.rs:1262:24 [INFO] [stdout] | [INFO] [stdout] 1262 | if let GenericArgument::Type(arg) = &generic.args[0] { [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/syntax/parse.rs:1270:21 [INFO] [stdout] | [INFO] [stdout] 1270 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1262 ~ match &generic.args[0] { GenericArgument::Type(arg) => { [INFO] [stdout] 1263 | let inner = parse_type(arg)?; [INFO] [stdout] ... [INFO] [stdout] 1269 | }))); [INFO] [stdout] 1270 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/parse.rs:1272:24 [INFO] [stdout] | [INFO] [stdout] 1272 | if let GenericArgument::Type(arg) = &generic.args[0] { [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/syntax/parse.rs:1280:21 [INFO] [stdout] | [INFO] [stdout] 1280 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1272 ~ match &generic.args[0] { GenericArgument::Type(arg) => { [INFO] [stdout] 1273 | let inner = parse_type(arg)?; [INFO] [stdout] ... [INFO] [stdout] 1279 | }))); [INFO] [stdout] 1280 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/parse.rs:1282:24 [INFO] [stdout] | [INFO] [stdout] 1282 | if let GenericArgument::Type(arg) = &generic.args[0] { [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/syntax/parse.rs:1291:21 [INFO] [stdout] | [INFO] [stdout] 1291 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1282 ~ match &generic.args[0] { GenericArgument::Type(arg) => { [INFO] [stdout] 1283 | let inner = parse_type(arg)?; [INFO] [stdout] ... [INFO] [stdout] 1290 | } [INFO] [stdout] 1291 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/parse.rs:1285:28 [INFO] [stdout] | [INFO] [stdout] 1285 | if let Type::Ref(mut inner) = inner { [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/syntax/parse.rs:1290:25 [INFO] [stdout] | [INFO] [stdout] 1290 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1285 ~ match inner { Type::Ref(mut inner) => { [INFO] [stdout] 1286 | inner.pinned = true; [INFO] [stdout] ... [INFO] [stdout] 1289 | return Ok(Type::Ref(inner)); [INFO] [stdout] 1290 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/parse.rs:1443:16 [INFO] [stdout] | [INFO] [stdout] 1443 | if let PathArguments::AngleBracketed(generic) = &segment.arguments { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/syntax/parse.rs:1451:13 [INFO] [stdout] | [INFO] [stdout] 1451 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1443 ~ match &segment.arguments { PathArguments::AngleBracketed(generic) => { [INFO] [stdout] 1444 | if ident == "Result" && generic.args.len() == 1 { [INFO] [stdout] ... [INFO] [stdout] 1450 | } [INFO] [stdout] 1451 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/parse.rs:1445:24 [INFO] [stdout] | [INFO] [stdout] 1445 | if let GenericArgument::Type(arg) = &generic.args[0] { [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/syntax/parse.rs:1449:21 [INFO] [stdout] | [INFO] [stdout] 1449 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1445 ~ match &generic.args[0] { GenericArgument::Type(arg) => { [INFO] [stdout] 1446 | ret = arg; [INFO] [stdout] 1447 | *throws_tokens = [INFO] [stdout] 1448 | Some((kw::Result(ident.span()), generic.lt_token, generic.gt_token)); [INFO] [stdout] 1449 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/toposort.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 39 | if let Type::Ident(ident) = &field.ty { [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/syntax/toposort.rs:46:9 [INFO] [stdout] | [INFO] [stdout] 46 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 39 ~ match &field.ty { Type::Ident(ident) => { [INFO] [stdout] 40 | if let Some(inner) = types.structs.get(&ident.rust) { [INFO] [stdout] ... [INFO] [stdout] 45 | } [INFO] [stdout] 46 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/toposort.rs:40:16 [INFO] [stdout] | [INFO] [stdout] 40 | if let Some(inner) = types.structs.get(&ident.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/syntax/toposort.rs:45:13 [INFO] [stdout] | [INFO] [stdout] 45 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 40 ~ match types.structs.get(&ident.rust) { Some(inner) => { [INFO] [stdout] 41 | if visit(cx, inner, sorted, marks, types).is_err() { [INFO] [stdout] ... [INFO] [stdout] 44 | } [INFO] [stdout] 45 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/trivial.rs:43:24 [INFO] [stdout] | [INFO] [stdout] 43 | if let Type::Ident(ident) = &field.ty { [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/syntax/trivial.rs:46:21 [INFO] [stdout] | [INFO] [stdout] 46 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 43 ~ match &field.ty { Type::Ident(ident) => { [INFO] [stdout] 44 | let reason = TrivialReason::StructField(strct); [INFO] [stdout] 45 | insist_extern_types_are_trivial(ident, reason); [INFO] [stdout] 46 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/trivial.rs:64:36 [INFO] [stdout] | [INFO] [stdout] 64 | ... if let Type::Ident(ident) = &ty.inner { [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/syntax/trivial.rs:67:33 [INFO] [stdout] | [INFO] [stdout] 67 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 64 ~ match &ty.inner { Type::Ident(ident) => { [INFO] [stdout] 65 | let reason = TrivialReason::UnpinnedMut(efn); [INFO] [stdout] 66 | insist_extern_types_are_trivial(ident, reason); [INFO] [stdout] 67 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/trivial.rs:73:20 [INFO] [stdout] | [INFO] [stdout] 73 | if let Some(ret) = &efn.ret { [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/syntax/trivial.rs:89:17 [INFO] [stdout] | [INFO] [stdout] 89 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 73 ~ match &efn.ret { Some(ret) => { [INFO] [stdout] 74 | match ret { [INFO] [stdout] ... [INFO] [stdout] 88 | } [INFO] [stdout] 89 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/trivial.rs:81:36 [INFO] [stdout] | [INFO] [stdout] 81 | ... if let Type::Ident(ident) = &ty.inner { [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/syntax/trivial.rs:84:33 [INFO] [stdout] | [INFO] [stdout] 84 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 81 ~ match &ty.inner { Type::Ident(ident) => { [INFO] [stdout] 82 | let reason = TrivialReason::UnpinnedMut(efn); [INFO] [stdout] 83 | insist_extern_types_are_trivial(ident, reason); [INFO] [stdout] 84 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/trivial.rs:98:20 [INFO] [stdout] | [INFO] [stdout] 98 | if let Type::Ident(ident) = &ty.inner { [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/syntax/trivial.rs:101:17 [INFO] [stdout] | [INFO] [stdout] 101 | } [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 &ty.inner { Type::Ident(ident) => { [INFO] [stdout] 99 | let reason = TrivialReason::BoxTarget; [INFO] [stdout] 100 | insist_extern_types_are_trivial(ident, reason); [INFO] [stdout] 101 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/trivial.rs:104:20 [INFO] [stdout] | [INFO] [stdout] 104 | if let Type::Ident(ident) = &ty.inner { [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/syntax/trivial.rs:107:17 [INFO] [stdout] | [INFO] [stdout] 107 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 104 ~ match &ty.inner { Type::Ident(ident) => { [INFO] [stdout] 105 | let reason = TrivialReason::VecElement; [INFO] [stdout] 106 | insist_extern_types_are_trivial(ident, reason); [INFO] [stdout] 107 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/trivial.rs:110:20 [INFO] [stdout] | [INFO] [stdout] 110 | if let Type::Ident(ident) = &ty.inner { [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/syntax/trivial.rs:115:17 [INFO] [stdout] | [INFO] [stdout] 115 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 110 ~ match &ty.inner { Type::Ident(ident) => { [INFO] [stdout] 111 | let reason = TrivialReason::SliceElement { [INFO] [stdout] ... [INFO] [stdout] 114 | insist_extern_types_are_trivial(ident, reason); [INFO] [stdout] 115 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/types.rs:151:24 [INFO] [stdout] | [INFO] [stdout] 151 | if let Some(ret) = &efn.ret { [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/syntax/types.rs:153:21 [INFO] [stdout] | [INFO] [stdout] 153 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 151 ~ match &efn.ret { Some(ret) => { [INFO] [stdout] 152 | visit(&mut all, ret); [INFO] [stdout] 153 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/types.rs:166:24 [INFO] [stdout] | [INFO] [stdout] 166 | if let Some(key) = imp.ty.impl_key() { [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/syntax/types.rs:168:21 [INFO] [stdout] | [INFO] [stdout] 168 | } [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 imp.ty.impl_key() { Some(key) => { [INFO] [stdout] 167 | impls.insert(key, Some(imp)); [INFO] [stdout] 168 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 94 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `cxx_gen` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/gen/fs.rs [INFO] [stderr] * src/syntax/mangle.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/gen/fs.rs:39:6 [INFO] [stderr] | [INFO] [stderr] 39 | ($io_error:expr_2021, $fmt:expr_2021 $(, $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[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/gen/fs.rs:39:27 [INFO] [stderr] | [INFO] [stderr] 39 | ($io_error:expr_2021, $fmt:expr_2021 $(, $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[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/gen/fs.rs:39:46 [INFO] [stderr] | [INFO] [stderr] 39 | ($io_error:expr_2021, $fmt:expr_2021 $(, $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[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/syntax/mangle.rs:82:8 [INFO] [stderr] | [INFO] [stderr] 82 | ($($segment: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: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/lib.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 46 | mod gen; [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [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 #49716 [INFO] [stdout] = note: `--force-warn keyword-idents-2024` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/lib.rs:50:16 [INFO] [stdout] | [INFO] [stdout] 50 | pub use crate::gen::include::{Include, HEADER}; [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [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 #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/lib.rs:51:16 [INFO] [stdout] | [INFO] [stdout] 51 | pub use crate::gen::{CfgEvaluator, CfgResult, GeneratedCode, Opt}; [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [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 #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/lib.rs:59:25 [INFO] [stdout] | [INFO] [stdout] 59 | .map_err(crate::gen::Error::from) [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [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 #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/lib.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 61 | gen::generate(syntax, opt).map_err(Error::from) [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [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 #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/error.rs:10:28 [INFO] [stdout] | [INFO] [stdout] 10 | pub(crate) err: crate::gen::Error, [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [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 #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/error.rs:17:20 [INFO] [stdout] | [INFO] [stdout] 17 | crate::gen::Error::Syn(err) => Some(err.span()), [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [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 #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/error.rs:23:18 [INFO] [stdout] | [INFO] [stdout] 23 | impl From for Error { [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [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 #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/error.rs:24:25 [INFO] [stdout] | [INFO] [stdout] 24 | fn from(err: crate::gen::Error) -> Self { [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [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 #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/error.rs:53:20 [INFO] [stdout] | [INFO] [stdout] 53 | crate::gen::Error::Syn(err) => IntoIter::Syn(err.into_iter()), [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [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 #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/error.rs:71:51 [INFO] [stdout] | [INFO] [stdout] 71 | .map(|syn_err| Error::from(crate::gen::Error::Syn(syn_err))), [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [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 #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/gen/mod.rs:190:25 [INFO] [stdout] | [INFO] [stdout] 190 | header = write::gen(apis, types, opt, true); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [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 #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/gen/mod.rs:193:33 [INFO] [stdout] | [INFO] [stdout] 193 | implementation = write::gen(apis, types, opt, false); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [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 #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/gen/builtin.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::gen::block::Block; [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [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 #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/gen/builtin.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::gen::ifndef; [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [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 #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/gen/builtin.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::gen::out::{Content, OutFile}; [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [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 #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/gen/cfg.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::gen::{CfgEvaluator, CfgResult}; [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [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 #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/gen/check.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::gen::Opt; [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [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 #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/gen/error.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::gen::fs; [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [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 #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/gen/ifndef.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::gen::include::HEADER; [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [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 #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/gen/ifndef.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::gen::out::Content; [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [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 #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/gen/include.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::gen::out::{Content, OutFile}; [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [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 #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/gen/out.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::gen::block::Block; [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [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 #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/gen/out.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::gen::builtin::Builtins; [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [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 #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/gen/out.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::gen::include::Includes; [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [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 #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/gen/out.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::gen::Opt; [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [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 #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/gen/write.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::gen::block::Block; [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [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 #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/gen/write.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::gen::nested::NamespaceEntries; [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [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 #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/gen/write.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::gen::out::OutFile; [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [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 #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/gen/write.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::gen::{builtin, include, Opt}; [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [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 #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/gen/write.rs:17:15 [INFO] [stdout] | [INFO] [stdout] 17 | pub(super) fn gen(apis: &[Api], types: &Types, opt: &Opt, header: bool) -> Vec { [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [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 #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/gen/fs.rs:39:16 [INFO] [stdout] | [INFO] [stdout] 39 | ($io_error:expr, $fmt:expr $(, $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] = 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] 39 | ($io_error:expr_2021, $fmt:expr $(, $path:expr)* $(,)?) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/gen/fs.rs:39:27 [INFO] [stdout] | [INFO] [stdout] 39 | ($io_error:expr, $fmt:expr $(, $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] 39 | ($io_error:expr, $fmt:expr_2021 $(, $path:expr)* $(,)?) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/gen/fs.rs:39:42 [INFO] [stdout] | [INFO] [stdout] 39 | ($io_error:expr, $fmt:expr $(, $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] 39 | ($io_error:expr, $fmt:expr $(, $path: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/syntax/mangle.rs:82:17 [INFO] [stdout] | [INFO] [stdout] 82 | ($($segment: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] 82 | ($($segment:expr_2021),+ $(,)?) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gen/file.rs:67:8 [INFO] [stdout] | [INFO] [stdout] 67 | if let Meta::Path(_) = attr.meta { [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/gen/file.rs:69:5 [INFO] [stdout] | [INFO] [stdout] 69 | } else { [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 67 ~ match attr.meta { Meta::Path(_) => { [INFO] [stdout] 68 | Ok(Namespace::ROOT) [INFO] [stdout] 69 ~ } _ => { [INFO] [stdout] 70 | attr.parse_args_with(Namespace::parse_bridge_attr_namespace) [INFO] [stdout] 71 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gen/write.rs:73:16 [INFO] [stdout] | [INFO] [stdout] 73 | if let Some(receiver) = &efn.sig.receiver { [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/gen/write.rs:78:13 [INFO] [stdout] | [INFO] [stdout] 78 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 73 ~ match &efn.sig.receiver { Some(receiver) => { [INFO] [stdout] 74 | methods_for_type [INFO] [stdout] ... [INFO] [stdout] 77 | .push(efn); [INFO] [stdout] 78 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gen/write.rs:131:16 [INFO] [stdout] | [INFO] [stdout] 131 | if let Some(reasons) = out.types.required_trivial.get(&ety.name.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/gen/write.rs:133:13 [INFO] [stdout] | [INFO] [stdout] 133 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 131 ~ match out.types.required_trivial.get(&ety.name.rust) { Some(reasons) => { [INFO] [stdout] 132 | check_trivial_extern_type(out, ety, reasons); [INFO] [stdout] 133 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gen/write.rs:733:19 [INFO] [stdout] | [INFO] [stdout] 733 | } else if let Type::RustVec(_) = arg.ty { [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/gen/write.rs:736:9 [INFO] [stdout] | [INFO] [stdout] 736 | } 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] 733 ~ } else { match arg.ty { Type::RustVec(_) => { [INFO] [stdout] 734 | write_type_space(out, &arg.ty); [INFO] [stdout] 735 | write!(out, "const *{}", arg.name.cxx); [INFO] [stdout] 736 ~ } _ => { [INFO] [stdout] 737 | write_extern_arg(out, arg); [INFO] [stdout] 738 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gen/write.rs:822:12 [INFO] [stdout] | [INFO] [stdout] 822 | if let Type::RustBox(_) = &arg.ty { [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] 825 | } else if let Type::UniquePtr(_) = &arg.ty { [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] 835 | } else if let Type::RustVec(_) = arg.ty { [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/gen/write.rs:825:9 [INFO] [stdout] | [INFO] [stdout] 825 | } else if let Type::UniquePtr(_) = &arg.ty { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/gen/write.rs:828:9 [INFO] [stdout] | [INFO] [stdout] 828 | } else if arg.ty == RustString { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/gen/write.rs:839:9 [INFO] [stdout] | [INFO] [stdout] 839 | } else if out.types.needs_indirect_abi(&arg.ty) { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 822 ~ match &arg.ty { Type::RustBox(_) => { [INFO] [stdout] 823 | write_type(out, &arg.ty); [INFO] [stdout] 824 | write!(out, "::from_raw({})", arg.name.cxx); [INFO] [stdout] 825 ~ } _ => { match &arg.ty { Type::UniquePtr(_) => { [INFO] [stdout] 826 | write_type(out, &arg.ty); [INFO] [stdout] 827 | write!(out, "({})", arg.name.cxx); [INFO] [stdout] 828 ~ } _ => if arg.ty == RustString { [INFO] [stdout] 829 | out.builtin.unsafe_bitcopy = true; [INFO] [stdout] ... [INFO] [stdout] 834 | ); [INFO] [stdout] 835 ~ } else { match arg.ty { Type::RustVec(_) => { [INFO] [stdout] 836 | out.builtin.unsafe_bitcopy = true; [INFO] [stdout] 837 | write_type(out, &arg.ty); [INFO] [stdout] 838 | write!(out, "(::rust::unsafe_bitcopy, *{})", arg.name.cxx); [INFO] [stdout] 839 ~ } _ => if out.types.needs_indirect_abi(&arg.ty) { [INFO] [stdout] 840 | out.include.utility = true; [INFO] [stdout] ... [INFO] [stdout] 843 | write!(out, "{}", arg.name.cxx); [INFO] [stdout] 844 ~ }}}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gen/write.rs:865:12 [INFO] [stdout] | [INFO] [stdout] 865 | if let Type::Fn(f) = &arg.ty { [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/gen/write.rs:868:9 [INFO] [stdout] | [INFO] [stdout] 868 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 865 ~ match &arg.ty { Type::Fn(f) => { [INFO] [stdout] 866 | let var = &arg.name; [INFO] [stdout] 867 | write_function_pointer_trampoline(out, efn, var, f); [INFO] [stdout] 868 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gen/write.rs:1050:15 [INFO] [stdout] | [INFO] [stdout] 1050 | } else if let Some(ret) = &sig.ret { [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/gen/write.rs:1074:5 [INFO] [stdout] | [INFO] [stdout] 1074 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1050 ~ } else { match &sig.ret { Some(ret) => { [INFO] [stdout] 1051 | write!(out, "return "); [INFO] [stdout] ... [INFO] [stdout] 1073 | } [INFO] [stdout] 1074 ~ } _ => {}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gen/write.rs:1116:12 [INFO] [stdout] | [INFO] [stdout] 1116 | if let Some(Type::RustBox(_) | Type::UniquePtr(_) | Type::Str(_) | Type::SliceRef(_)) = [INFO] [stdout] | ____________^ [INFO] [stdout] 1117 | | &sig.ret [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/gen/write.rs:1120:9 [INFO] [stdout] | [INFO] [stdout] 1120 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1116 ~ match &sig.ret [INFO] [stdout] 1117 ~ { Some(Type::RustBox(_) | Type::UniquePtr(_) | Type::Str(_) | Type::SliceRef(_)) => { [INFO] [stdout] 1118 | write!(out, ")"); [INFO] [stdout] 1119 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/attrs.rs:199:16 [INFO] [stdout] | [INFO] [stdout] 199 | if let Expr::Lit(expr) = &meta.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/syntax/attrs.rs:203:13 [INFO] [stdout] | [INFO] [stdout] 203 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 199 ~ match &meta.value { Expr::Lit(expr) => { [INFO] [stdout] 200 | if let Lit::Str(lit) = &expr.lit { [INFO] [stdout] 201 | return Ok(DocAttribute::Doc(lit.clone())); [INFO] [stdout] 202 | } [INFO] [stdout] 203 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/attrs.rs:200:20 [INFO] [stdout] | [INFO] [stdout] 200 | if let Lit::Str(lit) = &expr.lit { [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/syntax/attrs.rs:202:17 [INFO] [stdout] | [INFO] [stdout] 202 | } [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 ~ match &expr.lit { Lit::Str(lit) => { [INFO] [stdout] 201 | return Ok(DocAttribute::Doc(lit.clone())); [INFO] [stdout] 202 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/attrs.rs:251:20 [INFO] [stdout] | [INFO] [stdout] 251 | if let Lit::Str(lit) = &expr.lit { [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/syntax/attrs.rs:253:17 [INFO] [stdout] | [INFO] [stdout] 253 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 251 ~ match &expr.lit { Lit::Str(lit) => { [INFO] [stdout] 252 | return ForeignName::parse(&lit.value(), lit.span()); [INFO] [stdout] 253 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/attrs.rs:256:20 [INFO] [stdout] | [INFO] [stdout] 256 | if let Some(ident) = expr.path.get_ident() { [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/syntax/attrs.rs:258:17 [INFO] [stdout] | [INFO] [stdout] 258 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 256 ~ match expr.path.get_ident() { Some(ident) => { [INFO] [stdout] 257 | return ForeignName::parse(&ident.to_string(), ident.span()); [INFO] [stdout] 258 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/attrs.rs:270:20 [INFO] [stdout] | [INFO] [stdout] 270 | if let Lit::Str(lit) = &expr.lit { [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/syntax/attrs.rs:272:17 [INFO] [stdout] | [INFO] [stdout] 272 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 270 ~ match &expr.lit { Lit::Str(lit) => { [INFO] [stdout] 271 | return lit.parse(); [INFO] [stdout] 272 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/attrs.rs:275:20 [INFO] [stdout] | [INFO] [stdout] 275 | if let Some(ident) = expr.path.get_ident() { [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/syntax/attrs.rs:277:17 [INFO] [stdout] | [INFO] [stdout] 277 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 275 ~ match expr.path.get_ident() { Some(ident) => { [INFO] [stdout] 276 | return Ok(ident.clone()); [INFO] [stdout] 277 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/check.rs:142:8 [INFO] [stdout] | [INFO] [stdout] 142 | if let Type::Ident(ident) = &ptr.inner { [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] 152 | } else if let Type::CxxVector(_) = &ptr.inner { [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/syntax/check.rs:152:5 [INFO] [stdout] | [INFO] [stdout] 152 | } else if let Type::CxxVector(_) = &ptr.inner { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/syntax/check.rs:154:5 [INFO] [stdout] | [INFO] [stdout] 154 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 142 ~ match &ptr.inner { Type::Ident(ident) => { [INFO] [stdout] 143 | if cx.types.rust.contains(&ident.rust) { [INFO] [stdout] ... [INFO] [stdout] 151 | } [INFO] [stdout] 152 ~ } _ => { match &ptr.inner { Type::CxxVector(_) => { [INFO] [stdout] 153 | return; [INFO] [stdout] 154 ~ } _ => {}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/check.rs:160:8 [INFO] [stdout] | [INFO] [stdout] 160 | if let Type::Ident(ident) = &ptr.inner { [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] 174 | } else if let Type::CxxVector(_) = &ptr.inner { [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/syntax/check.rs:174:5 [INFO] [stdout] | [INFO] [stdout] 174 | } else if let Type::CxxVector(_) = &ptr.inner { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/syntax/check.rs:177:5 [INFO] [stdout] | [INFO] [stdout] 177 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 160 ~ match &ptr.inner { Type::Ident(ident) => { [INFO] [stdout] 161 | if cx.types.rust.contains(&ident.rust) { [INFO] [stdout] ... [INFO] [stdout] 173 | } [INFO] [stdout] 174 ~ } _ => { match &ptr.inner { Type::CxxVector(_) => { [INFO] [stdout] 175 | cx.error(ptr, "std::shared_ptr is not supported yet"); [INFO] [stdout] 176 | return; [INFO] [stdout] 177 ~ } _ => {}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/check.rs:183:8 [INFO] [stdout] | [INFO] [stdout] 183 | if let Type::Ident(ident) = &ptr.inner { [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] 197 | } else if let Type::CxxVector(_) = &ptr.inner { [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/syntax/check.rs:197:5 [INFO] [stdout] | [INFO] [stdout] 197 | } else if let Type::CxxVector(_) = &ptr.inner { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/syntax/check.rs:200:5 [INFO] [stdout] | [INFO] [stdout] 200 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 183 ~ match &ptr.inner { Type::Ident(ident) => { [INFO] [stdout] 184 | if cx.types.rust.contains(&ident.rust) { [INFO] [stdout] ... [INFO] [stdout] 196 | } [INFO] [stdout] 197 ~ } _ => { match &ptr.inner { Type::CxxVector(_) => { [INFO] [stdout] 198 | cx.error(ptr, "std::weak_ptr is not supported yet"); [INFO] [stdout] 199 | return; [INFO] [stdout] 200 ~ } _ => {}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/check.rs:230:12 [INFO] [stdout] | [INFO] [stdout] 230 | if let Some(requires_pin) = match &ty.inner { [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] | | [INFO] [stdout] 231 | | Type::Ident(ident) if ident.rust == CxxString || is_opaque_cxx(cx, &ident.rust) => { [INFO] [stdout] 232 | | Some(ident.rust.to_string()) [INFO] [stdout] 233 | | } [INFO] [stdout] 234 | | Type::CxxVector(_) => Some("CxxVector<...>".to_owned()), [INFO] [stdout] 235 | | _ => None, [INFO] [stdout] 236 | | } { [INFO] [stdout] | |_________^ [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/syntax/check.rs:244:9 [INFO] [stdout] | [INFO] [stdout] 244 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 230 ~ match match &ty.inner { [INFO] [stdout] 231 | Type::Ident(ident) if ident.rust == CxxString || is_opaque_cxx(cx, &ident.rust) => { [INFO] [stdout] ... [INFO] [stdout] 235 | _ => None, [INFO] [stdout] 236 ~ } { Some(requires_pin) => { [INFO] [stdout] 237 | cx.error( [INFO] [stdout] ... [INFO] [stdout] 243 | ); [INFO] [stdout] 244 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/check.rs:307:12 [INFO] [stdout] | [INFO] [stdout] 307 | if let Type::Ptr(_) = arg.ty { [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/syntax/check.rs:314:9 [INFO] [stdout] | [INFO] [stdout] 314 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 307 ~ match arg.ty { Type::Ptr(_) => { [INFO] [stdout] 308 | if ty.unsafety.is_none() { [INFO] [stdout] ... [INFO] [stdout] 313 | } [INFO] [stdout] 314 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/check.rs:329:12 [INFO] [stdout] | [INFO] [stdout] 329 | if let Some(ety) = cx.types.untrusted.get(&name.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/syntax/check.rs:332:9 [INFO] [stdout] | [INFO] [stdout] 332 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 329 ~ match cx.types.untrusted.get(&name.rust) { Some(ety) => { [INFO] [stdout] 330 | let msg = "extern shared struct must be declared in an `unsafe extern` block"; [INFO] [stdout] 331 | cx.error(ety, msg); [INFO] [stdout] 332 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/check.rs:343:12 [INFO] [stdout] | [INFO] [stdout] 343 | if let Type::Fn(_) = field.ty { [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/syntax/check.rs:348:9 [INFO] [stdout] | [INFO] [stdout] 348 | } else if is_unsized(cx, &field.ty) { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 343 ~ match field.ty { Type::Fn(_) => { [INFO] [stdout] 344 | cx.error( [INFO] [stdout] ... [INFO] [stdout] 347 | ); [INFO] [stdout] 348 ~ } _ => if is_unsized(cx, &field.ty) { [INFO] [stdout] 349 | let desc = describe(cx, &field.ty); [INFO] [stdout] 350 | let msg = format!("using {} by value is not supported", desc); [INFO] [stdout] 351 | cx.error(field, msg); [INFO] [stdout] 352 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/check.rs:401:8 [INFO] [stdout] | [INFO] [stdout] 401 | if let Some(reasons) = cx.types.required_trivial.get(&ety.name.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/syntax/check.rs:407:5 [INFO] [stdout] | [INFO] [stdout] 407 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 401 ~ match cx.types.required_trivial.get(&ety.name.rust) { Some(reasons) => { [INFO] [stdout] 402 | let msg = format!( [INFO] [stdout] ... [INFO] [stdout] 406 | cx.error(ety, msg); [INFO] [stdout] 407 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/check.rs:467:12 [INFO] [stdout] | [INFO] [stdout] 467 | if let Type::Fn(_) = arg.ty { [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] 474 | } else if let Type::Ptr(_) = arg.ty { [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/syntax/check.rs:474:9 [INFO] [stdout] | [INFO] [stdout] 474 | } else if let Type::Ptr(_) = arg.ty { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/syntax/check.rs:481:9 [INFO] [stdout] | [INFO] [stdout] 481 | } else if is_unsized(cx, &arg.ty) { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 467 ~ match arg.ty { Type::Fn(_) => { [INFO] [stdout] 468 | if efn.lang == Lang::Rust { [INFO] [stdout] ... [INFO] [stdout] 473 | } [INFO] [stdout] 474 ~ } _ => { match arg.ty { Type::Ptr(_) => { [INFO] [stdout] 475 | if efn.sig.unsafety.is_none() { [INFO] [stdout] ... [INFO] [stdout] 480 | } [INFO] [stdout] 481 ~ } _ => if is_unsized(cx, &arg.ty) { [INFO] [stdout] 482 | let desc = describe(cx, &arg.ty); [INFO] [stdout] 483 | let msg = format!("passing {} by value is not supported", desc); [INFO] [stdout] 484 | cx.error(arg, msg); [INFO] [stdout] 485 ~ }}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/check.rs:530:16 [INFO] [stdout] | [INFO] [stdout] 530 | if let Type::Ident(inner) = &ty.inner { [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/syntax/check.rs:534:13 [INFO] [stdout] | [INFO] [stdout] 534 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 530 ~ match &ty.inner { Type::Ident(inner) => { [INFO] [stdout] 531 | if Atom::from(&inner.rust).is_none() { [INFO] [stdout] 532 | return; [INFO] [stdout] 533 | } [INFO] [stdout] 534 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/discriminant.rs:110:16 [INFO] [stdout] | [INFO] [stdout] 110 | if let Lit::Int(lit) = &expr.lit { [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/syntax/discriminant.rs:114:13 [INFO] [stdout] | [INFO] [stdout] 114 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 110 ~ match &expr.lit { Lit::Int(lit) => { [INFO] [stdout] 111 | let discriminant = lit.base10_parse::()?; [INFO] [stdout] 112 | let repr = parse_int_suffix(lit.suffix())?; [INFO] [stdout] 113 | return Ok((discriminant, repr)); [INFO] [stdout] 114 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/instantiate.rs:32:16 [INFO] [stdout] | [INFO] [stdout] 32 | if let Type::Ident(ident) = &ty.inner { [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/syntax/instantiate.rs:34:13 [INFO] [stdout] | [INFO] [stdout] 34 | } [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 &ty.inner { Type::Ident(ident) => { [INFO] [stdout] 33 | return Some(ImplKey::RustBox(NamedImplKey::new(ty, ident))); [INFO] [stdout] 34 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/instantiate.rs:36:16 [INFO] [stdout] | [INFO] [stdout] 36 | if let Type::Ident(ident) = &ty.inner { [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/syntax/instantiate.rs:38:13 [INFO] [stdout] | [INFO] [stdout] 38 | } [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 &ty.inner { Type::Ident(ident) => { [INFO] [stdout] 37 | return Some(ImplKey::RustVec(NamedImplKey::new(ty, ident))); [INFO] [stdout] 38 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/instantiate.rs:40:16 [INFO] [stdout] | [INFO] [stdout] 40 | if let Type::Ident(ident) = &ty.inner { [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/syntax/instantiate.rs:42:13 [INFO] [stdout] | [INFO] [stdout] 42 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 40 ~ match &ty.inner { Type::Ident(ident) => { [INFO] [stdout] 41 | return Some(ImplKey::UniquePtr(NamedImplKey::new(ty, ident))); [INFO] [stdout] 42 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/instantiate.rs:44:16 [INFO] [stdout] | [INFO] [stdout] 44 | if let Type::Ident(ident) = &ty.inner { [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/syntax/instantiate.rs:46:13 [INFO] [stdout] | [INFO] [stdout] 46 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 44 ~ match &ty.inner { Type::Ident(ident) => { [INFO] [stdout] 45 | return Some(ImplKey::SharedPtr(NamedImplKey::new(ty, ident))); [INFO] [stdout] 46 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/instantiate.rs:48:16 [INFO] [stdout] | [INFO] [stdout] 48 | if let Type::Ident(ident) = &ty.inner { [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/syntax/instantiate.rs:50:13 [INFO] [stdout] | [INFO] [stdout] 50 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 48 ~ match &ty.inner { Type::Ident(ident) => { [INFO] [stdout] 49 | return Some(ImplKey::WeakPtr(NamedImplKey::new(ty, ident))); [INFO] [stdout] 50 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/instantiate.rs:52:16 [INFO] [stdout] | [INFO] [stdout] 52 | if let Type::Ident(ident) = &ty.inner { [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/syntax/instantiate.rs:54:13 [INFO] [stdout] | [INFO] [stdout] 54 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 52 ~ match &ty.inner { Type::Ident(ident) => { [INFO] [stdout] 53 | return Some(ImplKey::CxxVector(NamedImplKey::new(ty, ident))); [INFO] [stdout] 54 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/namespace.rs:42:24 [INFO] [stdout] | [INFO] [stdout] 42 | if let Lit::Str(lit) = &expr.lit { [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/syntax/namespace.rs:45:21 [INFO] [stdout] | [INFO] [stdout] 45 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 42 ~ match &expr.lit { Lit::Str(lit) => { [INFO] [stdout] 43 | let segments = QualifiedName::parse_quoted(lit)?.segments; [INFO] [stdout] 44 | return Ok(Namespace { segments }); [INFO] [stdout] 45 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/parse.rs:222:15 [INFO] [stdout] | [INFO] [stdout] 222 | } else if let Some(where_clause) = &item.generics.where_clause { [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/syntax/parse.rs:224:5 [INFO] [stdout] | [INFO] [stdout] 224 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 222 ~ } else { match &item.generics.where_clause { Some(where_clause) => { [INFO] [stdout] 223 | cx.error(where_clause, "enum with where-clause is not supported"); [INFO] [stdout] 224 ~ } _ => {}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/parse.rs:426:20 [INFO] [stdout] | [INFO] [stdout] 426 | if let Some(receiver) = &mut efn.receiver { [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/syntax/parse.rs:430:17 [INFO] [stdout] | [INFO] [stdout] 430 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 426 ~ match &mut efn.receiver { Some(receiver) => { [INFO] [stdout] 427 | if receiver.ty.rust == "Self" { [INFO] [stdout] 428 | receiver.ty.rust = single_type.rust.clone(); [INFO] [stdout] 429 | } [INFO] [stdout] 430 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/parse.rs:609:24 [INFO] [stdout] | [INFO] [stdout] 609 | if let Type::Ref(reference) = ty { [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/syntax/parse.rs:625:21 [INFO] [stdout] | [INFO] [stdout] 625 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 609 ~ match ty { Type::Ref(reference) => { [INFO] [stdout] 610 | if let Type::Ident(ident) = reference.inner { [INFO] [stdout] ... [INFO] [stdout] 624 | } [INFO] [stdout] 625 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/parse.rs:610:28 [INFO] [stdout] | [INFO] [stdout] 610 | if let Type::Ident(ident) = reference.inner { [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/syntax/parse.rs:624:25 [INFO] [stdout] | [INFO] [stdout] 624 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 610 ~ match reference.inner { Type::Ident(ident) => { [INFO] [stdout] 611 | receiver = Some(Receiver { [INFO] [stdout] ... [INFO] [stdout] 623 | continue; [INFO] [stdout] 624 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/parse.rs:921:26 [INFO] [stdout] | [INFO] [stdout] 921 | }) if if let Some(derive) = path.get_ident().and_then(Derive::from) { [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/syntax/parse.rs:924:17 [INFO] [stdout] | [INFO] [stdout] 924 | } 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] 921 ~ }) if match path.get_ident().and_then(Derive::from) { Some(derive) => { [INFO] [stdout] 922 | bounds.push(derive); [INFO] [stdout] 923 | true [INFO] [stdout] 924 ~ } _ => { [INFO] [stdout] 925 | false [INFO] [stdout] 926 ~ }} => {} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/parse.rs:1048:12 [INFO] [stdout] | [INFO] [stdout] 1048 | if let Some(TokenTree::Punct(punct)) = 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/syntax/parse.rs:1056:9 [INFO] [stdout] | [INFO] [stdout] 1056 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1048 ~ match iter.next() { Some(TokenTree::Punct(punct)) => { [INFO] [stdout] 1049 | if punct.as_char() == '!' { [INFO] [stdout] ... [INFO] [stdout] 1055 | } [INFO] [stdout] 1056 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/parse.rs:1222:24 [INFO] [stdout] | [INFO] [stdout] 1222 | if let GenericArgument::Type(arg) = &generic.args[0] { [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/syntax/parse.rs:1230:21 [INFO] [stdout] | [INFO] [stdout] 1230 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1222 ~ match &generic.args[0] { GenericArgument::Type(arg) => { [INFO] [stdout] 1223 | let inner = parse_type(arg)?; [INFO] [stdout] ... [INFO] [stdout] 1229 | }))); [INFO] [stdout] 1230 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/parse.rs:1232:24 [INFO] [stdout] | [INFO] [stdout] 1232 | if let GenericArgument::Type(arg) = &generic.args[0] { [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/syntax/parse.rs:1240:21 [INFO] [stdout] | [INFO] [stdout] 1240 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1232 ~ match &generic.args[0] { GenericArgument::Type(arg) => { [INFO] [stdout] 1233 | let inner = parse_type(arg)?; [INFO] [stdout] ... [INFO] [stdout] 1239 | }))); [INFO] [stdout] 1240 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/parse.rs:1242:24 [INFO] [stdout] | [INFO] [stdout] 1242 | if let GenericArgument::Type(arg) = &generic.args[0] { [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/syntax/parse.rs:1250:21 [INFO] [stdout] | [INFO] [stdout] 1250 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1242 ~ match &generic.args[0] { GenericArgument::Type(arg) => { [INFO] [stdout] 1243 | let inner = parse_type(arg)?; [INFO] [stdout] ... [INFO] [stdout] 1249 | }))); [INFO] [stdout] 1250 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/parse.rs:1252:24 [INFO] [stdout] | [INFO] [stdout] 1252 | if let GenericArgument::Type(arg) = &generic.args[0] { [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/syntax/parse.rs:1260:21 [INFO] [stdout] | [INFO] [stdout] 1260 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1252 ~ match &generic.args[0] { GenericArgument::Type(arg) => { [INFO] [stdout] 1253 | let inner = parse_type(arg)?; [INFO] [stdout] ... [INFO] [stdout] 1259 | }))); [INFO] [stdout] 1260 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/parse.rs:1262:24 [INFO] [stdout] | [INFO] [stdout] 1262 | if let GenericArgument::Type(arg) = &generic.args[0] { [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/syntax/parse.rs:1270:21 [INFO] [stdout] | [INFO] [stdout] 1270 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1262 ~ match &generic.args[0] { GenericArgument::Type(arg) => { [INFO] [stdout] 1263 | let inner = parse_type(arg)?; [INFO] [stdout] ... [INFO] [stdout] 1269 | }))); [INFO] [stdout] 1270 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/parse.rs:1272:24 [INFO] [stdout] | [INFO] [stdout] 1272 | if let GenericArgument::Type(arg) = &generic.args[0] { [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/syntax/parse.rs:1280:21 [INFO] [stdout] | [INFO] [stdout] 1280 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1272 ~ match &generic.args[0] { GenericArgument::Type(arg) => { [INFO] [stdout] 1273 | let inner = parse_type(arg)?; [INFO] [stdout] ... [INFO] [stdout] 1279 | }))); [INFO] [stdout] 1280 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/parse.rs:1282:24 [INFO] [stdout] | [INFO] [stdout] 1282 | if let GenericArgument::Type(arg) = &generic.args[0] { [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/syntax/parse.rs:1291:21 [INFO] [stdout] | [INFO] [stdout] 1291 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1282 ~ match &generic.args[0] { GenericArgument::Type(arg) => { [INFO] [stdout] 1283 | let inner = parse_type(arg)?; [INFO] [stdout] ... [INFO] [stdout] 1290 | } [INFO] [stdout] 1291 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/parse.rs:1285:28 [INFO] [stdout] | [INFO] [stdout] 1285 | if let Type::Ref(mut inner) = inner { [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/syntax/parse.rs:1290:25 [INFO] [stdout] | [INFO] [stdout] 1290 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1285 ~ match inner { Type::Ref(mut inner) => { [INFO] [stdout] 1286 | inner.pinned = true; [INFO] [stdout] ... [INFO] [stdout] 1289 | return Ok(Type::Ref(inner)); [INFO] [stdout] 1290 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/parse.rs:1443:16 [INFO] [stdout] | [INFO] [stdout] 1443 | if let PathArguments::AngleBracketed(generic) = &segment.arguments { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/syntax/parse.rs:1451:13 [INFO] [stdout] | [INFO] [stdout] 1451 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1443 ~ match &segment.arguments { PathArguments::AngleBracketed(generic) => { [INFO] [stdout] 1444 | if ident == "Result" && generic.args.len() == 1 { [INFO] [stdout] ... [INFO] [stdout] 1450 | } [INFO] [stdout] 1451 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/parse.rs:1445:24 [INFO] [stdout] | [INFO] [stdout] 1445 | if let GenericArgument::Type(arg) = &generic.args[0] { [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/syntax/parse.rs:1449:21 [INFO] [stdout] | [INFO] [stdout] 1449 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1445 ~ match &generic.args[0] { GenericArgument::Type(arg) => { [INFO] [stdout] 1446 | ret = arg; [INFO] [stdout] 1447 | *throws_tokens = [INFO] [stdout] 1448 | Some((kw::Result(ident.span()), generic.lt_token, generic.gt_token)); [INFO] [stdout] 1449 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/toposort.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 39 | if let Type::Ident(ident) = &field.ty { [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/syntax/toposort.rs:46:9 [INFO] [stdout] | [INFO] [stdout] 46 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 39 ~ match &field.ty { Type::Ident(ident) => { [INFO] [stdout] 40 | if let Some(inner) = types.structs.get(&ident.rust) { [INFO] [stdout] ... [INFO] [stdout] 45 | } [INFO] [stdout] 46 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/toposort.rs:40:16 [INFO] [stdout] | [INFO] [stdout] 40 | if let Some(inner) = types.structs.get(&ident.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/syntax/toposort.rs:45:13 [INFO] [stdout] | [INFO] [stdout] 45 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 40 ~ match types.structs.get(&ident.rust) { Some(inner) => { [INFO] [stdout] 41 | if visit(cx, inner, sorted, marks, types).is_err() { [INFO] [stdout] ... [INFO] [stdout] 44 | } [INFO] [stdout] 45 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/trivial.rs:43:24 [INFO] [stdout] | [INFO] [stdout] 43 | if let Type::Ident(ident) = &field.ty { [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/syntax/trivial.rs:46:21 [INFO] [stdout] | [INFO] [stdout] 46 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 43 ~ match &field.ty { Type::Ident(ident) => { [INFO] [stdout] 44 | let reason = TrivialReason::StructField(strct); [INFO] [stdout] 45 | insist_extern_types_are_trivial(ident, reason); [INFO] [stdout] 46 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/trivial.rs:64:36 [INFO] [stdout] | [INFO] [stdout] 64 | ... if let Type::Ident(ident) = &ty.inner { [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/syntax/trivial.rs:67:33 [INFO] [stdout] | [INFO] [stdout] 67 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 64 ~ match &ty.inner { Type::Ident(ident) => { [INFO] [stdout] 65 | let reason = TrivialReason::UnpinnedMut(efn); [INFO] [stdout] 66 | insist_extern_types_are_trivial(ident, reason); [INFO] [stdout] 67 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/trivial.rs:73:20 [INFO] [stdout] | [INFO] [stdout] 73 | if let Some(ret) = &efn.ret { [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/syntax/trivial.rs:89:17 [INFO] [stdout] | [INFO] [stdout] 89 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 73 ~ match &efn.ret { Some(ret) => { [INFO] [stdout] 74 | match ret { [INFO] [stdout] ... [INFO] [stdout] 88 | } [INFO] [stdout] 89 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/trivial.rs:81:36 [INFO] [stdout] | [INFO] [stdout] 81 | ... if let Type::Ident(ident) = &ty.inner { [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/syntax/trivial.rs:84:33 [INFO] [stdout] | [INFO] [stdout] 84 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 81 ~ match &ty.inner { Type::Ident(ident) => { [INFO] [stdout] 82 | let reason = TrivialReason::UnpinnedMut(efn); [INFO] [stdout] 83 | insist_extern_types_are_trivial(ident, reason); [INFO] [stdout] 84 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/trivial.rs:98:20 [INFO] [stdout] | [INFO] [stdout] 98 | if let Type::Ident(ident) = &ty.inner { [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/syntax/trivial.rs:101:17 [INFO] [stdout] | [INFO] [stdout] 101 | } [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 &ty.inner { Type::Ident(ident) => { [INFO] [stdout] 99 | let reason = TrivialReason::BoxTarget; [INFO] [stdout] 100 | insist_extern_types_are_trivial(ident, reason); [INFO] [stdout] 101 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/trivial.rs:104:20 [INFO] [stdout] | [INFO] [stdout] 104 | if let Type::Ident(ident) = &ty.inner { [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/syntax/trivial.rs:107:17 [INFO] [stdout] | [INFO] [stdout] 107 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 104 ~ match &ty.inner { Type::Ident(ident) => { [INFO] [stdout] 105 | let reason = TrivialReason::VecElement; [INFO] [stdout] 106 | insist_extern_types_are_trivial(ident, reason); [INFO] [stdout] 107 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/trivial.rs:110:20 [INFO] [stdout] | [INFO] [stdout] 110 | if let Type::Ident(ident) = &ty.inner { [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/syntax/trivial.rs:115:17 [INFO] [stdout] | [INFO] [stdout] 115 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 110 ~ match &ty.inner { Type::Ident(ident) => { [INFO] [stdout] 111 | let reason = TrivialReason::SliceElement { [INFO] [stdout] ... [INFO] [stdout] 114 | insist_extern_types_are_trivial(ident, reason); [INFO] [stdout] 115 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/types.rs:151:24 [INFO] [stdout] | [INFO] [stdout] 151 | if let Some(ret) = &efn.ret { [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/syntax/types.rs:153:21 [INFO] [stdout] | [INFO] [stdout] 153 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 151 ~ match &efn.ret { Some(ret) => { [INFO] [stdout] 152 | visit(&mut all, ret); [INFO] [stdout] 153 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/syntax/types.rs:166:24 [INFO] [stdout] | [INFO] [stdout] 166 | if let Some(key) = imp.ty.impl_key() { [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/syntax/types.rs:168:21 [INFO] [stdout] | [INFO] [stdout] 168 | } [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 imp.ty.impl_key() { Some(key) => { [INFO] [stdout] 167 | impls.insert(key, Some(imp)); [INFO] [stdout] 168 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 94 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating tests/test.rs from 2021 edition to 2024 [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.54s [INFO] [stderr] Running `cargo check` to verify 2024 [INFO] [stderr] Checking cxx-gen v0.7.128 (/tmp/fixit) [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/lib.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 46 | mod gen; [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 46 | mod r#gen; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/lib.rs:50:16 [INFO] [stdout] | [INFO] [stdout] 50 | pub use crate::gen::include::{Include, HEADER}; [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 50 | pub use crate::r#gen::include::{Include, HEADER}; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/lib.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 46 | mod gen; [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 46 | mod r#gen; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/lib.rs:51:16 [INFO] [stdout] | [INFO] [stdout] 51 | pub use crate::gen::{CfgEvaluator, CfgResult, GeneratedCode, Opt}; [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 51 | pub use crate::r#gen::{CfgEvaluator, CfgResult, GeneratedCode, Opt}; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/lib.rs:59:25 [INFO] [stdout] | [INFO] [stdout] 59 | .map_err(crate::gen::Error::from) [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 59 | .map_err(crate::r#gen::Error::from) [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/lib.rs:50:16 [INFO] [stdout] | [INFO] [stdout] 50 | pub use crate::gen::include::{Include, HEADER}; [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 50 | pub use crate::r#gen::include::{Include, HEADER}; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/lib.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 61 | gen::generate(syntax, opt).map_err(Error::from) [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/lib.rs:51:16 [INFO] [stdout] | [INFO] [stdout] 51 | pub use crate::gen::{CfgEvaluator, CfgResult, GeneratedCode, Opt}; [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 51 | pub use crate::r#gen::{CfgEvaluator, CfgResult, GeneratedCode, Opt}; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/lib.rs:59:25 [INFO] [stdout] | [INFO] [stdout] 59 | .map_err(crate::gen::Error::from) [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 59 | .map_err(crate::r#gen::Error::from) [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/lib.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 61 | gen::generate(syntax, opt).map_err(Error::from) [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/error.rs:10:28 [INFO] [stdout] | [INFO] [stdout] 10 | pub(crate) err: crate::gen::Error, [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 10 | pub(crate) err: crate::r#gen::Error, [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/error.rs:10:28 [INFO] [stdout] | [INFO] [stdout] 10 | pub(crate) err: crate::gen::Error, [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 10 | pub(crate) err: crate::r#gen::Error, [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/error.rs:17:20 [INFO] [stdout] | [INFO] [stdout] 17 | crate::gen::Error::Syn(err) => Some(err.span()), [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 17 | crate::r#gen::Error::Syn(err) => Some(err.span()), [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/error.rs:17:20 [INFO] [stdout] | [INFO] [stdout] 17 | crate::gen::Error::Syn(err) => Some(err.span()), [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 17 | crate::r#gen::Error::Syn(err) => Some(err.span()), [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/error.rs:23:18 [INFO] [stdout] | [INFO] [stdout] 23 | impl From for Error { [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 23 | impl From for Error { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/error.rs:24:25 [INFO] [stdout] | [INFO] [stdout] 24 | fn from(err: crate::gen::Error) -> Self { [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 24 | fn from(err: crate::r#gen::Error) -> Self { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/error.rs:23:18 [INFO] [stdout] | [INFO] [stdout] 23 | impl From for Error { [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 23 | impl From for Error { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/error.rs:24:25 [INFO] [stdout] | [INFO] [stdout] 24 | fn from(err: crate::gen::Error) -> Self { [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 24 | fn from(err: crate::r#gen::Error) -> Self { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/error.rs:53:20 [INFO] [stdout] | [INFO] [stdout] 53 | crate::gen::Error::Syn(err) => IntoIter::Syn(err.into_iter()), [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 53 | crate::r#gen::Error::Syn(err) => IntoIter::Syn(err.into_iter()), [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/error.rs:53:20 [INFO] [stdout] | [INFO] [stdout] 53 | crate::gen::Error::Syn(err) => IntoIter::Syn(err.into_iter()), [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 53 | crate::r#gen::Error::Syn(err) => IntoIter::Syn(err.into_iter()), [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/error.rs:71:51 [INFO] [stdout] | [INFO] [stdout] 71 | .map(|syn_err| Error::from(crate::gen::Error::Syn(syn_err))), [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 71 | .map(|syn_err| Error::from(crate::r#gen::Error::Syn(syn_err))), [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/error.rs:71:51 [INFO] [stdout] | [INFO] [stdout] 71 | .map(|syn_err| Error::from(crate::gen::Error::Syn(syn_err))), [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 71 | .map(|syn_err| Error::from(crate::r#gen::Error::Syn(syn_err))), [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/gen/mod.rs:190:25 [INFO] [stdout] | [INFO] [stdout] 190 | header = write::gen(apis, types, opt, true); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 190 | header = write::r#gen(apis, types, opt, true); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/gen/mod.rs:190:25 [INFO] [stdout] | [INFO] [stdout] 190 | header = write::gen(apis, types, opt, true); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 190 | header = write::r#gen(apis, types, opt, true); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/gen/mod.rs:193:33 [INFO] [stdout] | [INFO] [stdout] 193 | implementation = write::gen(apis, types, opt, false); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 193 | implementation = write::r#gen(apis, types, opt, false); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/gen/mod.rs:193:33 [INFO] [stdout] | [INFO] [stdout] 193 | implementation = write::gen(apis, types, opt, false); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 193 | implementation = write::r#gen(apis, types, opt, false); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/gen/builtin.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::gen::block::Block; [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 1 | use crate::r#gen::block::Block; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/gen/builtin.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::gen::ifndef; [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 2 | use crate::r#gen::ifndef; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/gen/builtin.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::gen::out::{Content, OutFile}; [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 3 | use crate::r#gen::out::{Content, OutFile}; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/gen/builtin.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::gen::block::Block; [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 1 | use crate::r#gen::block::Block; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/gen/builtin.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::gen::ifndef; [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 2 | use crate::r#gen::ifndef; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/gen/builtin.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::gen::out::{Content, OutFile}; [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 3 | use crate::r#gen::out::{Content, OutFile}; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/gen/cfg.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::gen::{CfgEvaluator, CfgResult}; [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 1 | use crate::r#gen::{CfgEvaluator, CfgResult}; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/gen/cfg.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::gen::{CfgEvaluator, CfgResult}; [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 1 | use crate::r#gen::{CfgEvaluator, CfgResult}; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/gen/check.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::gen::Opt; [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 1 | use crate::r#gen::Opt; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/gen/check.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::gen::Opt; [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 1 | use crate::r#gen::Opt; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/gen/error.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::gen::fs; [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 1 | use crate::r#gen::fs; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/gen/error.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::gen::fs; [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 1 | use crate::r#gen::fs; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/gen/ifndef.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::gen::include::HEADER; [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 1 | use crate::r#gen::include::HEADER; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/gen/ifndef.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::gen::out::Content; [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 2 | use crate::r#gen::out::Content; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/gen/ifndef.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::gen::include::HEADER; [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 1 | use crate::r#gen::include::HEADER; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/gen/include.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::gen::out::{Content, OutFile}; [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 1 | use crate::r#gen::out::{Content, OutFile}; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/gen/ifndef.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::gen::out::Content; [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 2 | use crate::r#gen::out::Content; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/gen/include.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::gen::out::{Content, OutFile}; [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 1 | use crate::r#gen::out::{Content, OutFile}; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/gen/out.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::gen::block::Block; [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 1 | use crate::r#gen::block::Block; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/gen/out.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::gen::builtin::Builtins; [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 2 | use crate::r#gen::builtin::Builtins; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/gen/out.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::gen::include::Includes; [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 3 | use crate::r#gen::include::Includes; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/gen/out.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::gen::Opt; [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 4 | use crate::r#gen::Opt; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/gen/out.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::gen::block::Block; [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 1 | use crate::r#gen::block::Block; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/gen/out.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::gen::builtin::Builtins; [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 2 | use crate::r#gen::builtin::Builtins; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/gen/out.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::gen::include::Includes; [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 3 | use crate::r#gen::include::Includes; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/gen/out.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::gen::Opt; [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 4 | use crate::r#gen::Opt; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/gen/write.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::gen::block::Block; [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 1 | use crate::r#gen::block::Block; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/gen/write.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::gen::nested::NamespaceEntries; [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 2 | use crate::r#gen::nested::NamespaceEntries; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/gen/write.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::gen::out::OutFile; [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 3 | use crate::r#gen::out::OutFile; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/gen/write.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::gen::{builtin, include, Opt}; [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 4 | use crate::r#gen::{builtin, include, Opt}; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/gen/write.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::gen::block::Block; [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 1 | use crate::r#gen::block::Block; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/gen/write.rs:17:15 [INFO] [stdout] | [INFO] [stdout] 17 | pub(super) fn gen(apis: &[Api], types: &Types, opt: &Opt, header: bool) -> Vec { [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 17 | pub(super) fn r#gen(apis: &[Api], types: &Types, opt: &Opt, header: bool) -> Vec { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/gen/write.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::gen::nested::NamespaceEntries; [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 2 | use crate::r#gen::nested::NamespaceEntries; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/gen/write.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::gen::out::OutFile; [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 3 | use crate::r#gen::out::OutFile; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/gen/write.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::gen::{builtin, include, Opt}; [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 4 | use crate::r#gen::{builtin, include, Opt}; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/gen/write.rs:17:15 [INFO] [stdout] | [INFO] [stdout] 17 | pub(super) fn gen(apis: &[Api], types: &Types, opt: &Opt, header: bool) -> Vec { [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 17 | pub(super) fn r#gen(apis: &[Api], types: &Types, opt: &Opt, header: bool) -> Vec { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 31 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 31 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `cxx-gen` (lib test) due to 32 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: could not compile `cxx-gen` (lib) due to 32 previous errors [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" "50950452d695319fcc4dfe0eae64d2b9f294d15434cfeba137e6bf9bdfddc5dd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "50950452d695319fcc4dfe0eae64d2b9f294d15434cfeba137e6bf9bdfddc5dd", kill_on_drop: false }` [INFO] [stdout] 50950452d695319fcc4dfe0eae64d2b9f294d15434cfeba137e6bf9bdfddc5dd