[INFO] fetching crate concordium-smart-contract-engine 6.0.0... [INFO] checking concordium-smart-contract-engine-6.0.0 against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] extracting crate concordium-smart-contract-engine 6.0.0 into /workspace/builds/worker-5-tc2/source [INFO] validating manifest of crates.io crate concordium-smart-contract-engine 6.0.0 on toolchain ccf408f4326a858c00dd845a64a86b16f360a801 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate concordium-smart-contract-engine 6.0.0 [INFO] finished tweaking crates.io crate concordium-smart-contract-engine 6.0.0 [INFO] tweaked toml for crates.io crate concordium-smart-contract-engine 6.0.0 written to /workspace/builds/worker-5-tc2/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 222 packages to latest compatible versions [INFO] [stderr] Adding ahash v0.7.8 (available: v0.8.11) [INFO] [stderr] Adding anes v0.1.6 (available: v0.2.0) [INFO] [stderr] Adding arrayvec v0.5.2 (available: v0.7.6) [INFO] [stderr] Adding base64 v0.21.7 (available: v0.22.1) [INFO] [stderr] Adding bitflags v1.3.2 (available: v2.6.0) [INFO] [stderr] Adding bytecheck v0.6.12 (available: v0.8.0) [INFO] [stderr] Adding bytecheck_derive v0.6.12 (available: v0.8.0) [INFO] [stderr] Adding config v0.11.0 (available: v0.14.0) [INFO] [stderr] Adding convert_case v0.4.0 (available: v0.6.0) [INFO] [stderr] Adding derive_more v0.99.18 (available: v1.0.0) [INFO] [stderr] Adding directories v4.0.1 (available: v5.0.1) [INFO] [stderr] Adding dirs-sys v0.3.7 (available: v0.4.1) [INFO] [stderr] Adding env_logger v0.8.4 (available: v0.11.5) [INFO] [stderr] Adding fixedbitset v0.4.2 (available: v0.5.7) [INFO] [stderr] Adding generic-array v0.14.7 (available: v1.1.0) [INFO] [stderr] Adding hashbrown v0.11.2 (available: v0.14.5) [INFO] [stderr] Adding hashbrown v0.12.3 (available: v0.14.5) [INFO] [stderr] Adding hermit-abi v0.1.19 (available: v0.4.0) [INFO] [stderr] Adding itertools v0.10.5 (available: v0.13.0) [INFO] [stderr] Adding lazy_static v0.2.11 (available: v1.5.0) [INFO] [stderr] Adding lexical-core v0.7.6 (available: v1.0.2) [INFO] [stderr] Adding nom v5.1.3 (available: v7.1.3) [INFO] [stderr] Adding num-traits v0.1.43 (available: v0.2.19) [INFO] [stderr] Adding num_enum v0.6.1 (available: v0.7.3) [INFO] [stderr] Adding num_enum_derive v0.6.1 (available: v0.7.3) [INFO] [stderr] Adding ordered-float v2.10.1 (available: v4.3.0) [INFO] [stderr] Adding proc-macro-crate v1.3.1 (available: v3.2.0) [INFO] [stderr] Adding ptr_meta v0.1.4 (available: v0.3.0) [INFO] [stderr] Adding ptr_meta_derive v0.1.4 (available: v0.3.0) [INFO] [stderr] Adding ptree v0.4.0 (available: v0.5.0) [INFO] [stderr] Adding radium v0.7.0 (available: v1.1.0) [INFO] [stderr] Adding rend v0.4.2 (available: v0.5.1) [INFO] [stderr] Adding rkyv v0.7.45 (available: v0.8.8) [INFO] [stderr] Adding rkyv_derive v0.7.45 (available: v0.8.8) [INFO] [stderr] Adding rust-ini v0.13.0 (available: v0.21.1) [INFO] [stderr] Adding secp256k1 v0.22.2 (available: v0.29.1) [INFO] [stderr] Adding secp256k1-sys v0.5.2 (available: v0.10.1) [INFO] [stderr] Adding serde v0.8.23 (available: v1.0.210) [INFO] [stderr] Adding serde-hjson v0.9.1 (available: v1.1.0) [INFO] [stderr] Adding syn v1.0.109 (available: v2.0.77) [INFO] [stderr] Adding toml v0.5.11 (available: v0.8.19) [INFO] [stderr] Adding toml_edit v0.19.15 (available: v0.22.22) [INFO] [stderr] Adding wasi v0.11.0+wasi-snapshot-preview1 (available: v0.13.2+wasi-0.2.1) [INFO] [stderr] Adding windows-core v0.52.0 (available: v0.58.0) [INFO] [stderr] Adding windows-sys v0.52.0 (available: v0.59.0) [INFO] [stderr] Adding winnow v0.5.40 (available: v0.6.20) [INFO] [stderr] Adding wyz v0.5.1 (available: v0.6.1) [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-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 6de75d0000aac467fc48f3f9c75bcf09dba9c79ad22bfed7b34e2b8cf731be4f [INFO] running `Command { std: "docker" "start" "-a" "6de75d0000aac467fc48f3f9c75bcf09dba9c79ad22bfed7b34e2b8cf731be4f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "6de75d0000aac467fc48f3f9c75bcf09dba9c79ad22bfed7b34e2b8cf731be4f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6de75d0000aac467fc48f3f9c75bcf09dba9c79ad22bfed7b34e2b8cf731be4f", kill_on_drop: false }` [INFO] [stdout] 6de75d0000aac467fc48f3f9c75bcf09dba9c79ad22bfed7b34e2b8cf731be4f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-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] 17df4a5551964becc8cb847376189151fdbc1d49cbc426a60bec8b1ecefa78f4 [INFO] running `Command { std: "docker" "start" "-a" "17df4a5551964becc8cb847376189151fdbc1d49cbc426a60bec8b1ecefa78f4", kill_on_drop: false }` [INFO] [stderr] Copying to /tmp/fixit [INFO] [stderr] Running `cargo fix --edition` [INFO] [stderr] Migrating Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Fixed Cargo.toml (3 fixes) [INFO] [stderr] Compiling serde v1.0.210 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling syn v2.0.77 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Compiling winnow v0.5.40 [INFO] [stderr] Compiling toml_datetime v0.6.8 [INFO] [stderr] Compiling cc v1.1.21 [INFO] [stderr] Compiling rustc_version v0.4.1 [INFO] [stderr] Checking sha2 v0.10.8 [INFO] [stderr] Compiling thiserror v1.0.64 [INFO] [stderr] Compiling rust_decimal v1.36.0 [INFO] [stderr] Compiling curve25519-dalek v4.1.3 [INFO] [stderr] Checking iana-time-zone v0.1.61 [INFO] [stderr] Checking arrayvec v0.7.6 [INFO] [stderr] Checking either v1.13.0 [INFO] [stderr] Compiling anyhow v1.0.89 [INFO] [stderr] Checking bs58 v0.5.1 [INFO] [stderr] Checking half v2.4.1 [INFO] [stderr] Checking plotters-backend v0.3.7 [INFO] [stderr] Checking signature v2.2.0 [INFO] [stderr] Checking fnv v1.0.7 [INFO] [stderr] Checking base64 v0.21.7 [INFO] [stderr] Checking hashbrown v0.11.2 [INFO] [stderr] Checking ciborium-io v0.2.2 [INFO] [stderr] Compiling convert_case v0.4.0 [INFO] [stderr] Checking anstyle v1.0.8 [INFO] [stderr] Checking allocator-api2 v0.2.18 [INFO] [stderr] Checking clap_lex v0.7.2 [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Checking chrono v0.4.38 [INFO] [stderr] Checking clap_builder v4.5.18 [INFO] [stderr] Checking num-bigint v0.4.6 [INFO] [stderr] Checking ciborium-ll v0.2.2 [INFO] [stderr] Checking plotters-svg v0.3.7 [INFO] [stderr] Compiling secp256k1-sys v0.5.2 [INFO] [stderr] Checking itertools v0.10.5 [INFO] [stderr] Checking tinyvec_macros v0.1.1 [INFO] [stderr] Checking keccak v0.1.5 [INFO] [stderr] Compiling toml_edit v0.19.15 [INFO] [stderr] Checking leb128 v0.2.5 [INFO] [stderr] Checking cast v0.3.0 [INFO] [stderr] Checking sha3 v0.10.8 [INFO] [stderr] Checking env_logger v0.8.4 [INFO] [stderr] Checking tinyvec v1.8.0 [INFO] [stderr] Checking rayon v1.10.0 [INFO] [stderr] Checking plotters v0.3.7 [INFO] [stderr] Checking clap v4.5.18 [INFO] [stderr] Checking criterion-plot v0.5.0 [INFO] [stderr] Checking anes v0.1.6 [INFO] [stderr] Checking oorandom v11.1.4 [INFO] [stderr] Compiling proc-macro-crate v1.3.1 [INFO] [stderr] Compiling serde_derive v1.0.210 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Compiling zeroize_derive v1.4.2 [INFO] [stderr] Compiling thiserror-impl v1.0.64 [INFO] [stderr] Compiling curve25519-dalek-derive v0.1.1 [INFO] [stderr] Compiling num_enum_derive v0.6.1 [INFO] [stderr] Compiling concordium-contracts-common-derive v4.1.0 [INFO] [stderr] Checking zeroize v1.8.1 [INFO] [stderr] Compiling derive_more v0.99.18 [INFO] [stderr] Checking secp256k1 v0.22.2 [INFO] [stderr] Checking zerocopy v0.7.35 [INFO] [stderr] Checking num_enum v0.6.1 [INFO] [stderr] Checking ppv-lite86 v0.2.20 [INFO] [stderr] Checking ahash v0.8.11 [INFO] [stderr] Checking hashbrown v0.14.5 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking quickcheck v1.0.3 [INFO] [stderr] Checking serde_json v1.0.128 [INFO] [stderr] Checking ed25519 v2.2.3 [INFO] [stderr] Checking ciborium v0.2.2 [INFO] [stderr] Checking ed25519-zebra v4.0.3 [INFO] [stderr] Checking concordium-contracts-common v9.2.0 [INFO] [stderr] Checking tinytemplate v1.2.1 [INFO] [stderr] Checking criterion v0.5.1 [INFO] [stderr] Checking concordium-wasm v5.0.0 [INFO] [stderr] Checking concordium-smart-contract-engine v6.0.0 (/tmp/fixit) [INFO] [stderr] Migrating src/lib.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `concordium_smart_contract_engine` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/lib.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/lib.rs:84:6 [INFO] [stderr] | [INFO] [stderr] 84 | ($goal:expr_2021 => $params: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/lib.rs:84:25 [INFO] [stderr] | [INFO] [stderr] 84 | ($goal:expr_2021 => $params: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/lib.rs:87:6 [INFO] [stderr] | [INFO] [stderr] 87 | ($goal:expr_2021 => []; $result: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/lib.rs:87:29 [INFO] [stderr] | [INFO] [stderr] 87 | ($goal:expr_2021 => []; $result: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/lib.rs:90:6 [INFO] [stderr] | [INFO] [stderr] 90 | ($goal:expr_2021 => $params:expr_2021; $result: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/lib.rs:90:25 [INFO] [stderr] | [INFO] [stderr] 90 | ($goal:expr_2021 => $params:expr_2021; $result: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/lib.rs:90:44 [INFO] [stderr] | [INFO] [stderr] 90 | ($goal:expr_2021 => $params:expr_2021; $result: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 7 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/v1/types.rs:815:16 [INFO] [stdout] | [INFO] [stdout] 815 | pub fn new(gen: InstanceCounter, idx: usize) -> 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] = 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/v1/types.rs:817:30 [INFO] [stdout] | [INFO] [stdout] 817 | index: u64::from(gen) << 32 | idx as u64, [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/v1/types.rs:839:21 [INFO] [stdout] | [INFO] [stdout] 839 | pub fn new_some(gen: InstanceCounter, idx: usize) -> 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/v1/types.rs:841:30 [INFO] [stdout] | [INFO] [stdout] 841 | index: u64::from(gen) << 32 | idx as u64, [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/v1/types.rs:880:24 [INFO] [stdout] | [INFO] [stdout] 880 | pub fn new_ok_some(gen: InstanceCounter, idx: usize) -> 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/v1/types.rs:882:30 [INFO] [stdout] | [INFO] [stdout] 882 | index: u64::from(gen) << 32 | idx as u64, [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/v1/types.rs:926:24 [INFO] [stdout] | [INFO] [stdout] 926 | pub fn new_ok_some(gen: InstanceCounter, idx: usize) -> 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/v1/types.rs:928:30 [INFO] [stdout] | [INFO] [stdout] 928 | index: u64::from(gen) << 32 | idx as u64, [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/v1/types.rs:1122:14 [INFO] [stdout] | [INFO] [stdout] 1122 | let (gen, idx) = iter.split(); [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/v1/types.rs:1123:12 [INFO] [stdout] | [INFO] [stdout] 1123 | if gen != self.current_generation { [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/v1/types.rs:1150:14 [INFO] [stdout] | [INFO] [stdout] 1150 | let (gen, idx) = iter.split(); [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/v1/types.rs:1151:12 [INFO] [stdout] | [INFO] [stdout] 1151 | if gen != self.current_generation { [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/v1/types.rs:1177:14 [INFO] [stdout] | [INFO] [stdout] 1177 | let (gen, idx) = iter.split(); [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/v1/types.rs:1178:12 [INFO] [stdout] | [INFO] [stdout] 1178 | if gen != self.current_generation { [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/v1/types.rs:1196:14 [INFO] [stdout] | [INFO] [stdout] 1196 | let (gen, idx) = iter.split(); [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/v1/types.rs:1197:12 [INFO] [stdout] | [INFO] [stdout] 1197 | if gen != self.current_generation { [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/v1/types.rs:1219:14 [INFO] [stdout] | [INFO] [stdout] 1219 | let (gen, idx) = entry.split(); [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/v1/types.rs:1220:12 [INFO] [stdout] | [INFO] [stdout] 1220 | if gen != self.current_generation { [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/v1/types.rs:1251:14 [INFO] [stdout] | [INFO] [stdout] 1251 | let (gen, idx) = entry.split(); [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/v1/types.rs:1252:12 [INFO] [stdout] | [INFO] [stdout] 1252 | if gen != self.current_generation { [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/v1/types.rs:1293:14 [INFO] [stdout] | [INFO] [stdout] 1293 | let (gen, idx) = entry.split(); [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/v1/types.rs:1294:12 [INFO] [stdout] | [INFO] [stdout] 1294 | if gen != self.current_generation { [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/v1/types.rs:1322:14 [INFO] [stdout] | [INFO] [stdout] 1322 | let (gen, idx) = entry.split(); [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/v1/types.rs:1323:12 [INFO] [stdout] | [INFO] [stdout] 1323 | if gen != self.current_generation { [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/lib.rs:84:12 [INFO] [stdout] | [INFO] [stdout] 84 | ($goal:expr => $params: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] 84 | ($goal:expr_2021 => $params: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/lib.rs:84:28 [INFO] [stdout] | [INFO] [stdout] 84 | ($goal:expr => $params: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] 84 | ($goal:expr => $params: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/lib.rs:87:12 [INFO] [stdout] | [INFO] [stdout] 87 | ($goal:expr => []; $result: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] 87 | ($goal:expr_2021 => []; $result: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/lib.rs:87:32 [INFO] [stdout] | [INFO] [stdout] 87 | ($goal:expr => []; $result: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] 87 | ($goal:expr => []; $result: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/lib.rs:90:12 [INFO] [stdout] | [INFO] [stdout] 90 | ($goal:expr => $params:expr; $result: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] 90 | ($goal:expr_2021 => $params:expr; $result: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/lib.rs:90:28 [INFO] [stdout] | [INFO] [stdout] 90 | ($goal:expr => $params:expr; $result: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] 90 | ($goal:expr => $params:expr_2021; $result: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/lib.rs:90:42 [INFO] [stdout] | [INFO] [stdout] 90 | ($goal:expr => $params:expr; $result: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] 90 | ($goal:expr => $params:expr; $result:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils.rs:295:24 [INFO] [stdout] | [INFO] [stdout] 295 | if let Some(err) = msg.downcast_ref::() { [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/utils.rs:302:21 [INFO] [stdout] | [INFO] [stdout] 302 | } 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] 295 ~ match msg.downcast_ref::() { Some(err) => { [INFO] [stdout] 296 | let result = TestResult { [INFO] [stdout] ... [INFO] [stdout] 301 | out.push(result); [INFO] [stdout] 302 ~ } _ => { [INFO] [stdout] 303 | let result = TestResult { [INFO] [stdout] ... [INFO] [stdout] 313 | out.push(result); [INFO] [stdout] 314 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils.rs:545:28 [INFO] [stdout] | [INFO] [stdout] 545 | let (ptr, memory) = if let machine::ExecutionOutcome::Success { [INFO] [stdout] | ____________________________^ [INFO] [stdout] 546 | | result: Some(Value::I32(ptr)), [INFO] [stdout] 547 | | memory, [INFO] [stdout] 548 | | } = artifact.run(&mut TrapHost, schema_fn_name, &[])? [INFO] [stdout] | |_________------------------------------------------------^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/utils.rs:551:5 [INFO] [stdout] | [INFO] [stdout] 551 | } 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] 545 ~ let (ptr, memory) = match artifact.run(&mut TrapHost, schema_fn_name, &[])? [INFO] [stdout] 546 ~ { machine::ExecutionOutcome::Success { [INFO] [stdout] 547 + result: Some(Value::I32(ptr)), [INFO] [stdout] 548 + memory, [INFO] [stdout] 549 ~ } => { [INFO] [stdout] 550 | (ptr as u32 as usize, memory) [INFO] [stdout] 551 ~ } _ => { [INFO] [stdout] 552 | bail!("Schema derivation function is malformed.") [INFO] [stdout] 553 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/api.rs:428:12 [INFO] [stdout] | [INFO] [stdout] 428 | if let Some(inner) = self.inner.as_mut() { [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/v1/trie/api.rs:430:9 [INFO] [stdout] | [INFO] [stdout] 430 | } 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] 428 ~ match self.inner.as_mut() { Some(inner) => { [INFO] [stdout] 429 | inner.lock().normalize(inner.root); [INFO] [stdout] 430 ~ } _ => { [INFO] [stdout] 431 | let root = 0; [INFO] [stdout] ... [INFO] [stdout] 447 | } [INFO] [stdout] 448 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/api.rs:457:12 [INFO] [stdout] | [INFO] [stdout] 457 | if let Some(inner) = self.inner.as_mut() { [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/v1/trie/api.rs:471:9 [INFO] [stdout] | [INFO] [stdout] 471 | } 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] 457 ~ match self.inner.as_mut() { Some(inner) => { [INFO] [stdout] 458 | let mut trie = inner.lock(); [INFO] [stdout] ... [INFO] [stdout] 470 | } [INFO] [stdout] 471 ~ } _ => { [INFO] [stdout] 472 | let root = 0; [INFO] [stdout] ... [INFO] [stdout] 489 | self.clone() [INFO] [stdout] 490 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/low_level.rs:1086:16 [INFO] [stdout] | [INFO] [stdout] 1086 | if let Ok(only_child) = child.try_unwrap() { [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/v1/trie/low_level.rs:1090:13 [INFO] [stdout] | [INFO] [stdout] 1090 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1086 ~ match child.try_unwrap() { Ok(only_child) => { [INFO] [stdout] 1087 | if let Some(memory_child) = only_child.get_value() { [INFO] [stdout] 1088 | stack.push(memory_child.data); [INFO] [stdout] 1089 | } [INFO] [stdout] 1090 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/low_level.rs:1087:20 [INFO] [stdout] | [INFO] [stdout] 1087 | if let Some(memory_child) = only_child.get_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/v1/trie/low_level.rs:1089:17 [INFO] [stdout] | [INFO] [stdout] 1089 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1087 ~ match only_child.get_value() { Some(memory_child) => { [INFO] [stdout] 1088 | stack.push(memory_child.data); [INFO] [stdout] 1089 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/low_level.rs:1092:15 [INFO] [stdout] | [INFO] [stdout] 1092 | while let Some(mut node) = stack.pop() { [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/v1/trie/low_level.rs:1101:9 [INFO] [stdout] | [INFO] [stdout] 1101 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/low_level.rs:1095:20 [INFO] [stdout] | [INFO] [stdout] 1095 | if let Ok(only_child) = child.try_unwrap() { [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/v1/trie/low_level.rs:1099:17 [INFO] [stdout] | [INFO] [stdout] 1099 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1095 ~ match child.try_unwrap() { Ok(only_child) => { [INFO] [stdout] 1096 | if let Some(memory_child) = only_child.get_value() { [INFO] [stdout] 1097 | stack.push(memory_child.data); [INFO] [stdout] 1098 | } [INFO] [stdout] 1099 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/low_level.rs:1096:24 [INFO] [stdout] | [INFO] [stdout] 1096 | if let Some(memory_child) = only_child.get_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/v1/trie/low_level.rs:1098:21 [INFO] [stdout] | [INFO] [stdout] 1098 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1096 ~ match only_child.get_value() { Some(memory_child) => { [INFO] [stdout] 1097 | stack.push(memory_child.data); [INFO] [stdout] 1098 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/low_level.rs:1490:15 [INFO] [stdout] | [INFO] [stdout] 1490 | while let Some(node) = stack.pop() { [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/v1/trie/low_level.rs:1499:9 [INFO] [stdout] | [INFO] [stdout] 1499 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/low_level.rs:1571:15 [INFO] [stdout] | [INFO] [stdout] 1571 | while let Some(node) = stack.pop() { [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/v1/trie/low_level.rs:1578:9 [INFO] [stdout] | [INFO] [stdout] 1578 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/low_level.rs:1660:15 [INFO] [stdout] | [INFO] [stdout] 1660 | while let Some((node_ref, children_processed)) = stack.pop() { [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/v1/trie/low_level.rs:1698:9 [INFO] [stdout] | [INFO] [stdout] 1698 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/low_level.rs:1794:15 [INFO] [stdout] | [INFO] [stdout] 1794 | while let Some((hashed_node, children_processed)) = stack.pop() { [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/v1/trie/low_level.rs:1814:9 [INFO] [stdout] | [INFO] [stdout] 1814 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/low_level.rs:2472:16 [INFO] [stdout] | [INFO] [stdout] 2472 | if let Some((_, children)) = owned_nodes[idx].children.get_owned() { [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/v1/trie/low_level.rs:2476:13 [INFO] [stdout] | [INFO] [stdout] 2476 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 2472 ~ match owned_nodes[idx].children.get_owned() { Some((_, children)) => { [INFO] [stdout] 2473 | for c in children { [INFO] [stdout] 2474 | reachable_stack.push(c.index()); [INFO] [stdout] 2475 | } [INFO] [stdout] 2476 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/low_level.rs:2559:12 [INFO] [stdout] | [INFO] [stdout] 2559 | if let Some((_, root)) = nodes_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/v1/trie/low_level.rs:2562:9 [INFO] [stdout] | [INFO] [stdout] 2562 | } 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] 2559 ~ match nodes_iter.next() { Some((_, root)) => { [INFO] [stdout] 2560 | assert!(nodes_iter.next().is_none(), "Invariant violation."); [INFO] [stdout] 2561 | Some(root.1) [INFO] [stdout] 2562 ~ } _ => { [INFO] [stdout] 2563 | unreachable!("Invariant violation. Root not in the nodes map."); [INFO] [stdout] 2564 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/low_level.rs:2674:36 [INFO] [stdout] | [INFO] [stdout] 2674 | ... if let Some((_, children)) = father_node.children.get_owned_mut() { [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/v1/trie/low_level.rs:2679:33 [INFO] [stdout] | [INFO] [stdout] 2679 | ... } 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] 2674 ~ match father_node.children.get_owned_mut() { Some((_, children)) => { [INFO] [stdout] 2675 | let child_place: &mut KeyIndexPair<4> = [INFO] [stdout] ... [INFO] [stdout] 2678 | *child_place = KeyIndexPair::new(step, child.index()); [INFO] [stdout] 2679 ~ } _ => { [INFO] [stdout] 2680 | unsafe { std::hint::unreachable_unchecked() } [INFO] [stdout] 2681 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/low_level.rs:2740:44 [INFO] [stdout] | [INFO] [stdout] 2740 | ... if let Some((_, children)) = [INFO] [stdout] | __________________________^ [INFO] [stdout] 2741 | | ... grandfather_node.children.get_owned_mut() [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/v1/trie/low_level.rs:2747:41 [INFO] [stdout] | [INFO] [stdout] 2747 | ... } 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] 2740 ~ match grandfather_node.children.get_owned_mut() [INFO] [stdout] 2741 ~ { Some((_, children)) => { [INFO] [stdout] 2742 | let child_place: &mut KeyIndexPair<4> = [INFO] [stdout] ... [INFO] [stdout] 2745 | *child_place = KeyIndexPair::new(step, child.index()); [INFO] [stdout] 2746 ~ } _ => { [INFO] [stdout] 2747 | unsafe { std::hint::unreachable_unchecked() } [INFO] [stdout] 2748 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/low_level.rs:2869:28 [INFO] [stdout] | [INFO] [stdout] 2869 | if let Some((generation, children)) = to_invalidate.children.get_owned() { [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/v1/trie/low_level.rs:2879:25 [INFO] [stdout] | [INFO] [stdout] 2879 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 2869 ~ match to_invalidate.children.get_owned() { Some((generation, children)) => { [INFO] [stdout] 2870 | // if children are of a previous generation then, again, we [INFO] [stdout] ... [INFO] [stdout] 2878 | } [INFO] [stdout] 2879 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/low_level.rs:2926:40 [INFO] [stdout] | [INFO] [stdout] 2926 | ... if let Some((_, children)) = [INFO] [stdout] | __________________________^ [INFO] [stdout] 2927 | | ... grandparent_node.children.get_owned_mut() [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/v1/trie/low_level.rs:2933:37 [INFO] [stdout] | [INFO] [stdout] 2933 | ... } 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] 2926 ~ match grandparent_node.children.get_owned_mut() [INFO] [stdout] 2927 ~ { Some((_, children)) => { [INFO] [stdout] 2928 | let child_place: &mut KeyIndexPair<4> = [INFO] [stdout] ... [INFO] [stdout] 2931 | *child_place = KeyIndexPair::new(step, child.index()); [INFO] [stdout] 2932 ~ } _ => { [INFO] [stdout] 2933 | unsafe { std::hint::unreachable_unchecked() } [INFO] [stdout] 2934 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/low_level.rs:3050:28 [INFO] [stdout] | [INFO] [stdout] 3050 | if let Some((_, children)) = parent_node.children.get_owned_mut() { [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/v1/trie/low_level.rs:3055:25 [INFO] [stdout] | [INFO] [stdout] 3055 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 3050 ~ match parent_node.children.get_owned_mut() { Some((_, children)) => { [INFO] [stdout] 3051 | if let Some(key_and_index) = children.get_mut(child_idx) { [INFO] [stdout] ... [INFO] [stdout] 3054 | } [INFO] [stdout] 3055 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/low_level.rs:3184:28 [INFO] [stdout] | [INFO] [stdout] 3184 | if let Some((_, children)) = parent_node.children.get_owned_mut() { [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/v1/trie/low_level.rs:3189:25 [INFO] [stdout] | [INFO] [stdout] 3189 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 3184 ~ match parent_node.children.get_owned_mut() { Some((_, children)) => { [INFO] [stdout] 3185 | if let Some(key_and_index) = children.get_mut(child_idx) { [INFO] [stdout] ... [INFO] [stdout] 3188 | } [INFO] [stdout] 3189 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/low_level.rs:3279:15 [INFO] [stdout] | [INFO] [stdout] 3279 | while let Some((node, idx)) = queue.pop_front() { [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/v1/trie/low_level.rs:3308:9 [INFO] [stdout] | [INFO] [stdout] 3308 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/low_level.rs:3349:20 [INFO] [stdout] | [INFO] [stdout] 3349 | if let CachedRef::Memory { [INFO] [stdout] | ____________________^ [INFO] [stdout] 3350 | | value, [INFO] [stdout] 3351 | | } = &mut *parent [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/v1/trie/low_level.rs:3354:17 [INFO] [stdout] | [INFO] [stdout] 3354 | } 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] 3349 ~ match &mut *parent [INFO] [stdout] 3350 ~ { CachedRef::Memory { [INFO] [stdout] 3351 + value, [INFO] [stdout] 3352 ~ } => { [INFO] [stdout] 3353 | value.data.children.push((Chunk::new(key), new_node.clone())); [INFO] [stdout] 3354 ~ } _ => { [INFO] [stdout] 3355 | // all values are allocated in this function, so in-memory. [INFO] [stdout] 3356 | unsafe { std::hint::unreachable_unchecked() }; [INFO] [stdout] 3357 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/low_level.rs:3365:12 [INFO] [stdout] | [INFO] [stdout] 3365 | if let Some(root) = parents.into_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/v1/trie/low_level.rs:3376:9 [INFO] [stdout] | [INFO] [stdout] 3376 | } 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] 3365 ~ match parents.into_iter().next() { Some(root) => { [INFO] [stdout] 3366 | let rw = std::mem::replace(&mut *root.borrow_mut(), INVALID_NODE_CACHED_REF); [INFO] [stdout] ... [INFO] [stdout] 3375 | } [INFO] [stdout] 3376 ~ } _ => { [INFO] [stdout] 3377 | // all values are allocated in this function, so in-memory, and there is at [INFO] [stdout] 3378 | // least one. [INFO] [stdout] 3379 | unsafe { std::hint::unreachable_unchecked() }; [INFO] [stdout] 3380 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/low_level.rs:3367:16 [INFO] [stdout] | [INFO] [stdout] 3367 | if let CachedRef::Memory { [INFO] [stdout] | ________________^ [INFO] [stdout] 3368 | | value, [INFO] [stdout] 3369 | | } = rw [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/v1/trie/low_level.rs:3372:13 [INFO] [stdout] | [INFO] [stdout] 3372 | } 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] 3367 ~ match rw [INFO] [stdout] 3368 ~ { CachedRef::Memory { [INFO] [stdout] 3369 + value, [INFO] [stdout] 3370 ~ } => { [INFO] [stdout] 3371 | Ok(value) [INFO] [stdout] 3372 ~ } _ => { [INFO] [stdout] 3373 | // all values are allocated in this function, so in-memory. [INFO] [stdout] 3374 | unsafe { std::hint::unreachable_unchecked() }; [INFO] [stdout] 3375 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/low_level.rs:3484:16 [INFO] [stdout] | [INFO] [stdout] 3484 | if let InlineOrHashed::Indirect(value) = &*value.borrow() { [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/v1/trie/low_level.rs:3491:13 [INFO] [stdout] | [INFO] [stdout] 3491 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 3484 ~ match &*value.borrow() { InlineOrHashed::Indirect(value) => { [INFO] [stdout] 3485 | if let CachedRef::Memory { [INFO] [stdout] ... [INFO] [stdout] 3490 | } [INFO] [stdout] 3491 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/low_level.rs:3485:20 [INFO] [stdout] | [INFO] [stdout] 3485 | if let CachedRef::Memory { [INFO] [stdout] | ____________________^ [INFO] [stdout] 3486 | | .. [INFO] [stdout] 3487 | | } = value.data [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/v1/trie/low_level.rs:3490:17 [INFO] [stdout] | [INFO] [stdout] 3490 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 3485 ~ match value.data [INFO] [stdout] 3486 ~ { CachedRef::Memory { [INFO] [stdout] 3487 + .. [INFO] [stdout] 3488 ~ } => { [INFO] [stdout] 3489 | return false; [INFO] [stdout] 3490 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/low_level.rs:3494:16 [INFO] [stdout] | [INFO] [stdout] 3494 | if let CachedRef::Memory { [INFO] [stdout] | ________________^ [INFO] [stdout] 3495 | | .. [INFO] [stdout] 3496 | | } = &*child.1.borrow() [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/v1/trie/low_level.rs:3499:13 [INFO] [stdout] | [INFO] [stdout] 3499 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 3494 ~ match &*child.1.borrow() [INFO] [stdout] 3495 ~ { CachedRef::Memory { [INFO] [stdout] 3496 + .. [INFO] [stdout] 3497 ~ } => { [INFO] [stdout] 3498 | return false; [INFO] [stdout] 3499 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/low_level.rs:3510:16 [INFO] [stdout] | [INFO] [stdout] 3510 | if let InlineOrHashed::Indirect(value) = &*value.borrow() { [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/v1/trie/low_level.rs:3512:13 [INFO] [stdout] | [INFO] [stdout] 3512 | } 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] 3510 ~ match &*value.borrow() { InlineOrHashed::Indirect(value) => { [INFO] [stdout] 3511 | return !matches!(&value.data, CachedRef::Disk { .. }); [INFO] [stdout] 3512 ~ } _ => { [INFO] [stdout] 3513 | // [InlineOrHashed::Inline] are not [CachedRef]'s [INFO] [stdout] 3514 | return false; [INFO] [stdout] 3515 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/types.rs:1025:12 [INFO] [stdout] | [INFO] [stdout] 1025 | if let Some(id) = self.state_trie.get_entry(&mut self.backing_store, 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/v1/types.rs:1029:9 [INFO] [stdout] | [INFO] [stdout] 1029 | } 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] 1025 ~ match self.state_trie.get_entry(&mut self.backing_store, key) { Some(id) => { [INFO] [stdout] 1026 | let idx = self.entry_mapping.len(); [INFO] [stdout] 1027 | self.entry_mapping.push(id); [INFO] [stdout] 1028 | InstanceStateEntryOption::new_some(self.current_generation, idx) [INFO] [stdout] 1029 ~ } _ => { [INFO] [stdout] 1030 | InstanceStateEntryOption::NEW_NONE [INFO] [stdout] 1031 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/types.rs:1041:12 [INFO] [stdout] | [INFO] [stdout] 1041 | if let Ok(id) = self.state_trie.insert(&mut self.backing_store, key, Vec::new()) { [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/v1/types.rs:1045:9 [INFO] [stdout] | [INFO] [stdout] 1045 | } 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] 1041 ~ match self.state_trie.insert(&mut self.backing_store, key, Vec::new()) { Ok(id) => { [INFO] [stdout] 1042 | let idx = self.entry_mapping.len(); [INFO] [stdout] 1043 | self.entry_mapping.push(id.0); [INFO] [stdout] 1044 | Ok(InstanceStateEntryOption::new_some(self.current_generation, idx)) [INFO] [stdout] 1045 ~ } _ => { [INFO] [stdout] 1046 | Ok(InstanceStateEntryOption::NEW_NONE) [INFO] [stdout] 1047 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/types.rs:1058:12 [INFO] [stdout] | [INFO] [stdout] 1058 | if let Ok(deleted) = self.state_trie.delete(&mut self.backing_store, 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/v1/types.rs:1064:9 [INFO] [stdout] | [INFO] [stdout] 1064 | } 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] 1058 ~ match self.state_trie.delete(&mut self.backing_store, key) { Ok(deleted) => { [INFO] [stdout] 1059 | if deleted { [INFO] [stdout] ... [INFO] [stdout] 1063 | } [INFO] [stdout] 1064 ~ } _ => { [INFO] [stdout] 1065 | // tree was locked [INFO] [stdout] 1066 | Ok(0) [INFO] [stdout] 1067 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/types.rs:1081:12 [INFO] [stdout] | [INFO] [stdout] 1081 | if let Ok(b) = self.state_trie.delete_prefix(&mut self.backing_store, key, energy)? { [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/v1/types.rs:1087:9 [INFO] [stdout] | [INFO] [stdout] 1087 | } 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] 1081 ~ match self.state_trie.delete_prefix(&mut self.backing_store, key, energy)? { Ok(b) => { [INFO] [stdout] 1082 | if b { [INFO] [stdout] ... [INFO] [stdout] 1086 | } [INFO] [stdout] 1087 ~ } _ => { [INFO] [stdout] 1088 | Ok(0) [INFO] [stdout] 1089 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/types.rs:1099:12 [INFO] [stdout] | [INFO] [stdout] 1099 | if let Ok(iter) = self.state_trie.iter(&mut self.backing_store, prefix) { [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/v1/types.rs:1107:9 [INFO] [stdout] | [INFO] [stdout] 1107 | } 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] 1099 ~ match self.state_trie.iter(&mut self.backing_store, prefix) { Ok(iter) => { [INFO] [stdout] 1100 | if let Some(iter) = iter { [INFO] [stdout] ... [INFO] [stdout] 1106 | } [INFO] [stdout] 1107 ~ } _ => { [INFO] [stdout] 1108 | InstanceStateIteratorResultOption::NEW_ERR [INFO] [stdout] 1109 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/types.rs:1100:16 [INFO] [stdout] | [INFO] [stdout] 1100 | if let Some(iter) = iter { [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/v1/types.rs:1104:13 [INFO] [stdout] | [INFO] [stdout] 1104 | } 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] 1100 ~ match iter { Some(iter) => { [INFO] [stdout] 1101 | let iter_id = self.iterators.len(); [INFO] [stdout] 1102 | self.iterators.push(Some(iter)); [INFO] [stdout] 1103 | InstanceStateIteratorResultOption::new_ok_some(self.current_generation, iter_id) [INFO] [stdout] 1104 ~ } _ => { [INFO] [stdout] 1105 | InstanceStateIteratorResultOption::NEW_OK_NONE [INFO] [stdout] 1106 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/types.rs:1126:12 [INFO] [stdout] | [INFO] [stdout] 1126 | if let Some(iter) = self.iterators.get_mut(idx).and_then(Option::as_mut) { [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/v1/types.rs:1134:9 [INFO] [stdout] | [INFO] [stdout] 1134 | } 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] 1126 ~ match self.iterators.get_mut(idx).and_then(Option::as_mut) { Some(iter) => { [INFO] [stdout] 1127 | if let Some(id) = self.state_trie.next(&mut self.backing_store, iter, energy)? { [INFO] [stdout] ... [INFO] [stdout] 1133 | } [INFO] [stdout] 1134 ~ } _ => { [INFO] [stdout] 1135 | Ok(InstanceStateEntryResultOption::NEW_ERR) [INFO] [stdout] 1136 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/types.rs:1127:16 [INFO] [stdout] | [INFO] [stdout] 1127 | if let Some(id) = self.state_trie.next(&mut self.backing_store, iter, energy)? { [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/v1/types.rs:1131:13 [INFO] [stdout] | [INFO] [stdout] 1131 | } 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] 1127 ~ match self.state_trie.next(&mut self.backing_store, iter, energy)? { Some(id) => { [INFO] [stdout] 1128 | let idx = self.entry_mapping.len(); [INFO] [stdout] 1129 | self.entry_mapping.push(id); [INFO] [stdout] 1130 | Ok(InstanceStateEntryResultOption::new_ok_some(self.current_generation, idx)) [INFO] [stdout] 1131 ~ } _ => { [INFO] [stdout] 1132 | Ok(InstanceStateEntryResultOption::NEW_OK_NONE) [INFO] [stdout] 1133 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/types.rs:1181:12 [INFO] [stdout] | [INFO] [stdout] 1181 | if let Some(iter) = self.iterators.get(idx).and_then(Option::as_ref) { [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/v1/types.rs:1183:9 [INFO] [stdout] | [INFO] [stdout] 1183 | } 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] 1181 ~ match self.iterators.get(idx).and_then(Option::as_ref) { Some(iter) => { [INFO] [stdout] 1182 | iter.get_key().len() as u32 [INFO] [stdout] 1183 ~ } _ => { [INFO] [stdout] 1184 | u32::MAX [INFO] [stdout] 1185 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/types.rs:1200:12 [INFO] [stdout] | [INFO] [stdout] 1200 | if let Some(iter) = self.iterators.get(idx).and_then(Option::as_ref) { [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/v1/types.rs:1206:9 [INFO] [stdout] | [INFO] [stdout] 1206 | } 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] 1200 ~ match self.iterators.get(idx).and_then(Option::as_ref) { Some(iter) => { [INFO] [stdout] 1201 | let key = iter.get_key(); [INFO] [stdout] ... [INFO] [stdout] 1205 | num_copied as u32 [INFO] [stdout] 1206 ~ } _ => { [INFO] [stdout] 1207 | u32::MAX [INFO] [stdout] 1208 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/types.rs:1256:16 [INFO] [stdout] | [INFO] [stdout] 1256 | if let Some(v) = self.state_trie.get_mut(*entry, &mut self.backing_store, energy)? { [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/v1/types.rs:1281:13 [INFO] [stdout] | [INFO] [stdout] 1281 | } 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] 1256 ~ match self.state_trie.get_mut(*entry, &mut self.backing_store, energy)? { Some(v) => { [INFO] [stdout] 1257 | let offset = offset as usize; [INFO] [stdout] ... [INFO] [stdout] 1280 | } [INFO] [stdout] 1281 ~ } _ => { [INFO] [stdout] 1282 | // Entry has been invalidated. [INFO] [stdout] 1283 | Ok(u32::MAX) [INFO] [stdout] 1284 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/types.rs:1331:16 [INFO] [stdout] | [INFO] [stdout] 1331 | if let Some(v) = self.state_trie.get_mut( [INFO] [stdout] | ________________^ - [INFO] [stdout] | |______________________________| [INFO] [stdout] 1332 | || entry, [INFO] [stdout] 1333 | || &mut self.backing_store, [INFO] [stdout] 1334 | || &mut ResizeAllocateCounter { [INFO] [stdout] ... || [INFO] [stdout] 1337 | || }, [INFO] [stdout] 1338 | || )? { [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] | [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/v1/types.rs:1351:13 [INFO] [stdout] | [INFO] [stdout] 1351 | } 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] 1331 ~ match self.state_trie.get_mut( [INFO] [stdout] 1332 | entry, [INFO] [stdout] ... [INFO] [stdout] 1337 | }, [INFO] [stdout] 1338 ~ )? { Some(v) => { [INFO] [stdout] 1339 | let existing_len = v.len(); [INFO] [stdout] ... [INFO] [stdout] 1350 | Ok(1) [INFO] [stdout] 1351 ~ } _ => { [INFO] [stdout] 1352 | Ok(u32::MAX) [INFO] [stdout] 1353 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 72 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating benches/trie_benches.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `concordium_smart_contract_engine` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/lib.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/lib.rs:84:6 [INFO] [stderr] | [INFO] [stderr] 84 | ($goal:expr_2021 => $params: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/lib.rs:84:25 [INFO] [stderr] | [INFO] [stderr] 84 | ($goal:expr_2021 => $params: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/lib.rs:87:6 [INFO] [stderr] | [INFO] [stderr] 87 | ($goal:expr_2021 => []; $result: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/lib.rs:87:29 [INFO] [stderr] | [INFO] [stderr] 87 | ($goal:expr_2021 => []; $result: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/lib.rs:90:6 [INFO] [stderr] | [INFO] [stderr] 90 | ($goal:expr_2021 => $params:expr_2021; $result: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/lib.rs:90:25 [INFO] [stderr] | [INFO] [stderr] 90 | ($goal:expr_2021 => $params:expr_2021; $result: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/lib.rs:90:44 [INFO] [stderr] | [INFO] [stderr] 90 | ($goal:expr_2021 => $params:expr_2021; $result: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 7 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/v1/tests.rs:644:10 [INFO] [stdout] | [INFO] [stdout] 644 | let (gen, idx) = entry.split(); [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/v1/tests.rs:645:53 [INFO] [stdout] | [INFO] [stdout] 645 | let entry_invalid_gen = InstanceStateEntry::new(gen + 1, idx); // invalid generation [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/v1/tests.rs:674:10 [INFO] [stdout] | [INFO] [stdout] 674 | let (gen, iter_idx) = iter.split(); [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/v1/tests.rs:675:75 [INFO] [stdout] | [INFO] [stdout] 675 | let iter_invalid_gen = InstanceStateIteratorResultOption::new_ok_some(gen + 1, iter_idx) [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/v1/types.rs:815:16 [INFO] [stdout] | [INFO] [stdout] 815 | pub fn new(gen: InstanceCounter, idx: usize) -> 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/v1/types.rs:817:30 [INFO] [stdout] | [INFO] [stdout] 817 | index: u64::from(gen) << 32 | idx as u64, [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/v1/types.rs:839:21 [INFO] [stdout] | [INFO] [stdout] 839 | pub fn new_some(gen: InstanceCounter, idx: usize) -> 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/v1/types.rs:841:30 [INFO] [stdout] | [INFO] [stdout] 841 | index: u64::from(gen) << 32 | idx as u64, [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/v1/types.rs:880:24 [INFO] [stdout] | [INFO] [stdout] 880 | pub fn new_ok_some(gen: InstanceCounter, idx: usize) -> 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/v1/types.rs:882:30 [INFO] [stdout] | [INFO] [stdout] 882 | index: u64::from(gen) << 32 | idx as u64, [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/v1/types.rs:926:24 [INFO] [stdout] | [INFO] [stdout] 926 | pub fn new_ok_some(gen: InstanceCounter, idx: usize) -> 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/v1/types.rs:928:30 [INFO] [stdout] | [INFO] [stdout] 928 | index: u64::from(gen) << 32 | idx as u64, [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/v1/types.rs:1122:14 [INFO] [stdout] | [INFO] [stdout] 1122 | let (gen, idx) = iter.split(); [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/v1/types.rs:1123:12 [INFO] [stdout] | [INFO] [stdout] 1123 | if gen != self.current_generation { [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/v1/types.rs:1150:14 [INFO] [stdout] | [INFO] [stdout] 1150 | let (gen, idx) = iter.split(); [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/v1/types.rs:1151:12 [INFO] [stdout] | [INFO] [stdout] 1151 | if gen != self.current_generation { [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/v1/types.rs:1177:14 [INFO] [stdout] | [INFO] [stdout] 1177 | let (gen, idx) = iter.split(); [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/v1/types.rs:1178:12 [INFO] [stdout] | [INFO] [stdout] 1178 | if gen != self.current_generation { [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/v1/types.rs:1196:14 [INFO] [stdout] | [INFO] [stdout] 1196 | let (gen, idx) = iter.split(); [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/v1/types.rs:1197:12 [INFO] [stdout] | [INFO] [stdout] 1197 | if gen != self.current_generation { [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/v1/types.rs:1219:14 [INFO] [stdout] | [INFO] [stdout] 1219 | let (gen, idx) = entry.split(); [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/v1/types.rs:1220:12 [INFO] [stdout] | [INFO] [stdout] 1220 | if gen != self.current_generation { [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/v1/types.rs:1251:14 [INFO] [stdout] | [INFO] [stdout] 1251 | let (gen, idx) = entry.split(); [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/v1/types.rs:1252:12 [INFO] [stdout] | [INFO] [stdout] 1252 | if gen != self.current_generation { [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/v1/types.rs:1293:14 [INFO] [stdout] | [INFO] [stdout] 1293 | let (gen, idx) = entry.split(); [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/v1/types.rs:1294:12 [INFO] [stdout] | [INFO] [stdout] 1294 | if gen != self.current_generation { [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/v1/types.rs:1322:14 [INFO] [stdout] | [INFO] [stdout] 1322 | let (gen, idx) = entry.split(); [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/v1/types.rs:1323:12 [INFO] [stdout] | [INFO] [stdout] 1323 | if gen != self.current_generation { [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/lib.rs:84:12 [INFO] [stdout] | [INFO] [stdout] 84 | ($goal:expr => $params: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] 84 | ($goal:expr_2021 => $params: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/lib.rs:84:28 [INFO] [stdout] | [INFO] [stdout] 84 | ($goal:expr => $params: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] 84 | ($goal:expr => $params: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/lib.rs:87:12 [INFO] [stdout] | [INFO] [stdout] 87 | ($goal:expr => []; $result: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] 87 | ($goal:expr_2021 => []; $result: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/lib.rs:87:32 [INFO] [stdout] | [INFO] [stdout] 87 | ($goal:expr => []; $result: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] 87 | ($goal:expr => []; $result: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/lib.rs:90:12 [INFO] [stdout] | [INFO] [stdout] 90 | ($goal:expr => $params:expr; $result: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] 90 | ($goal:expr_2021 => $params:expr; $result: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/lib.rs:90:28 [INFO] [stdout] | [INFO] [stdout] 90 | ($goal:expr => $params:expr; $result: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] 90 | ($goal:expr => $params:expr_2021; $result: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/lib.rs:90:42 [INFO] [stdout] | [INFO] [stdout] 90 | ($goal:expr => $params:expr; $result: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] 90 | ($goal:expr => $params:expr; $result:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils.rs:295:24 [INFO] [stdout] | [INFO] [stdout] 295 | if let Some(err) = msg.downcast_ref::() { [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/utils.rs:302:21 [INFO] [stdout] | [INFO] [stdout] 302 | } 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] 295 ~ match msg.downcast_ref::() { Some(err) => { [INFO] [stdout] 296 | let result = TestResult { [INFO] [stdout] ... [INFO] [stdout] 301 | out.push(result); [INFO] [stdout] 302 ~ } _ => { [INFO] [stdout] 303 | let result = TestResult { [INFO] [stdout] ... [INFO] [stdout] 313 | out.push(result); [INFO] [stdout] 314 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils.rs:545:28 [INFO] [stdout] | [INFO] [stdout] 545 | let (ptr, memory) = if let machine::ExecutionOutcome::Success { [INFO] [stdout] | ____________________________^ [INFO] [stdout] 546 | | result: Some(Value::I32(ptr)), [INFO] [stdout] 547 | | memory, [INFO] [stdout] 548 | | } = artifact.run(&mut TrapHost, schema_fn_name, &[])? [INFO] [stdout] | |_________------------------------------------------------^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/utils.rs:551:5 [INFO] [stdout] | [INFO] [stdout] 551 | } 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] 545 ~ let (ptr, memory) = match artifact.run(&mut TrapHost, schema_fn_name, &[])? [INFO] [stdout] 546 ~ { machine::ExecutionOutcome::Success { [INFO] [stdout] 547 + result: Some(Value::I32(ptr)), [INFO] [stdout] 548 + memory, [INFO] [stdout] 549 ~ } => { [INFO] [stdout] 550 | (ptr as u32 as usize, memory) [INFO] [stdout] 551 ~ } _ => { [INFO] [stdout] 552 | bail!("Schema derivation function is malformed.") [INFO] [stdout] 553 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils.rs:764:12 [INFO] [stdout] | [INFO] [stdout] 764 | if let Err(e) = super::get_embedded_schema_v1(&data[8..]) { [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/utils.rs:766:9 [INFO] [stdout] | [INFO] [stdout] 766 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 764 ~ match super::get_embedded_schema_v1(&data[8..]) { Err(e) => { [INFO] [stdout] 765 | panic!("Failed to parse versioned v1 module schema: {}", e); [INFO] [stdout] 766 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/crypto_primitives_tests.rs:44:8 [INFO] [stdout] | [INFO] [stdout] 44 | if let Some(trie) = node.freeze(&mut loader, &mut EmptyCollector) { [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/v1/crypto_primitives_tests.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 46 | } 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] 44 ~ match node.freeze(&mut loader, &mut EmptyCollector) { Some(trie) => { [INFO] [stdout] 45 | (PersistentState::from(trie).thaw(), loader) [INFO] [stdout] 46 ~ } _ => { [INFO] [stdout] 47 | (PersistentState::Empty.thaw(), loader) [INFO] [stdout] 48 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/tests.rs:28:27 [INFO] [stdout] | [INFO] [stdout] 28 | let mut iterator = if let Some(i) = [INFO] [stdout] | ___________________________^ [INFO] [stdout] 29 | | trie.iter(loader, &[]).expect("This is the first iterator, so no overflow.") [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/v1/trie/tests.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | } 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] 28 ~ let mut iterator = match trie.iter(loader, &[]).expect("This is the first iterator, so no overflow.") [INFO] [stdout] 29 ~ { Some(i) => { [INFO] [stdout] 30 | i [INFO] [stdout] 31 ~ } _ => { [INFO] [stdout] 32 | ensure!(reference.is_empty(), "Reference map is empty, but trie is not."); [INFO] [stdout] 33 | return Ok(()); [INFO] [stdout] 34 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/tests.rs:73:25 [INFO] [stdout] | [INFO] [stdout] 73 | let frozen = if let Some(t) = trie.freeze(&mut loader, &mut EmptyCollector) { [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/v1/trie/tests.rs:75:9 [INFO] [stdout] | [INFO] [stdout] 75 | } 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] 73 ~ let frozen = match trie.freeze(&mut loader, &mut EmptyCollector) { Some(t) => { [INFO] [stdout] 74 | t [INFO] [stdout] 75 ~ } _ => { [INFO] [stdout] 76 | ensure!(reference.is_empty(), "Reference map is empty, but trie is not."); [INFO] [stdout] 77 | return Ok(()); [INFO] [stdout] 78 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/tests.rs:92:25 [INFO] [stdout] | [INFO] [stdout] 92 | let frozen = if let Some(t) = thawed.freeze(&mut loader, &mut EmptyCollector) { [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/v1/trie/tests.rs:94:9 [INFO] [stdout] | [INFO] [stdout] 94 | } 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] 92 ~ let frozen = match thawed.freeze(&mut loader, &mut EmptyCollector) { Some(t) => { [INFO] [stdout] 93 | t [INFO] [stdout] 94 ~ } _ => { [INFO] [stdout] 95 | ensure!(reference.is_empty(), "Reference map is empty, but trie is not."); [INFO] [stdout] 96 | return Ok(()); [INFO] [stdout] 97 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/tests.rs:114:25 [INFO] [stdout] | [INFO] [stdout] 114 | let frozen = if let Some(t) = trie.freeze(&mut loader, &mut EmptyCollector) { [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/v1/trie/tests.rs:116:9 [INFO] [stdout] | [INFO] [stdout] 116 | } 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] 114 ~ let frozen = match trie.freeze(&mut loader, &mut EmptyCollector) { Some(t) => { [INFO] [stdout] 115 | t [INFO] [stdout] 116 ~ } _ => { [INFO] [stdout] 117 | ensure!(reference.is_empty(), "Reference map is empty, but trie is not."); [INFO] [stdout] 118 | return Ok(()); [INFO] [stdout] 119 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/tests.rs:134:25 [INFO] [stdout] | [INFO] [stdout] 134 | let frozen = if let Some(t) = thawed.freeze(&mut loader, &mut EmptyCollector) { [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/v1/trie/tests.rs:136:9 [INFO] [stdout] | [INFO] [stdout] 136 | } 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] 134 ~ let frozen = match thawed.freeze(&mut loader, &mut EmptyCollector) { Some(t) => { [INFO] [stdout] 135 | t [INFO] [stdout] 136 ~ } _ => { [INFO] [stdout] 137 | ensure!(reference.is_empty(), "Reference map is empty, but trie is not."); [INFO] [stdout] 138 | return Ok(()); [INFO] [stdout] 139 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/tests.rs:153:29 [INFO] [stdout] | [INFO] [stdout] 153 | let mut frozen = if let Some(t) = trie.freeze(&mut loader, &mut EmptyCollector) { [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/v1/trie/tests.rs:155:9 [INFO] [stdout] | [INFO] [stdout] 155 | } 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] 153 ~ let mut frozen = match trie.freeze(&mut loader, &mut EmptyCollector) { Some(t) => { [INFO] [stdout] 154 | t [INFO] [stdout] 155 ~ } _ => { [INFO] [stdout] 156 | ensure!( [INFO] [stdout] ... [INFO] [stdout] 161 | return Ok(()); [INFO] [stdout] 162 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/tests.rs:180:29 [INFO] [stdout] | [INFO] [stdout] 180 | let mut frozen = if let Some(t) = trie.freeze(&mut loader, &mut EmptyCollector) { [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/v1/trie/tests.rs:182:9 [INFO] [stdout] | [INFO] [stdout] 182 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 180 ~ let mut frozen = match trie.freeze(&mut loader, &mut EmptyCollector) { Some(t) => { [INFO] [stdout] 181 | t [INFO] [stdout] 182 ~ } _ => { [INFO] [stdout] 183 | ensure!(reference.is_empty(), "Reference map is empty, but trie is not."); [INFO] [stdout] 184 | return Ok(()); [INFO] [stdout] 185 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/tests.rs:215:29 [INFO] [stdout] | [INFO] [stdout] 215 | let mut frozen = if let Some(t) = trie.freeze(&mut loader, &mut collector) { [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/v1/trie/tests.rs:227:9 [INFO] [stdout] | [INFO] [stdout] 227 | } 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] 215 ~ let mut frozen = match trie.freeze(&mut loader, &mut collector) { Some(t) => { [INFO] [stdout] 216 | // Check that the computed size at least accounts for all the data. [INFO] [stdout] ... [INFO] [stdout] 226 | t [INFO] [stdout] 227 ~ } _ => { [INFO] [stdout] 228 | ensure!(reference.is_empty(), "Reference map is empty, but trie is not."); [INFO] [stdout] 229 | return Ok(()); [INFO] [stdout] 230 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/tests.rs:282:25 [INFO] [stdout] | [INFO] [stdout] 282 | let frozen = if let Some(t) = trie.freeze(&mut loader, &mut EmptyCollector) { [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/v1/trie/tests.rs:284:9 [INFO] [stdout] | [INFO] [stdout] 284 | } 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] 282 ~ let frozen = match trie.freeze(&mut loader, &mut EmptyCollector) { Some(t) => { [INFO] [stdout] 283 | t [INFO] [stdout] 284 ~ } _ => { [INFO] [stdout] 285 | ensure!(reference.is_empty(), "Reference map is empty, but trie is not."); [INFO] [stdout] 286 | return Ok(()); [INFO] [stdout] 287 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/tests.rs:314:29 [INFO] [stdout] | [INFO] [stdout] 314 | let mut frozen = if let Some(t) = trie.freeze(&mut loader, &mut EmptyCollector) { [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/v1/trie/tests.rs:316:9 [INFO] [stdout] | [INFO] [stdout] 316 | } 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] 314 ~ let mut frozen = match trie.freeze(&mut loader, &mut EmptyCollector) { Some(t) => { [INFO] [stdout] 315 | t [INFO] [stdout] 316 ~ } _ => { [INFO] [stdout] 317 | ensure!(reference.is_empty(), "Reference map is empty, but trie is not."); [INFO] [stdout] 318 | return Ok(()); [INFO] [stdout] 319 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/tests.rs:345:29 [INFO] [stdout] | [INFO] [stdout] 345 | let frozen = if let Some(t) = trie.freeze(&mut loader, &mut EmptyCollector) { [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/v1/trie/tests.rs:347:13 [INFO] [stdout] | [INFO] [stdout] 347 | } 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] 345 ~ let frozen = match trie.freeze(&mut loader, &mut EmptyCollector) { Some(t) => { [INFO] [stdout] 346 | t [INFO] [stdout] 347 ~ } _ => { [INFO] [stdout] 348 | ensure!(inputs.is_empty(), "Empty tree, but non-empty inputs."); [INFO] [stdout] 349 | return Ok(()); [INFO] [stdout] 350 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/tests.rs:358:31 [INFO] [stdout] | [INFO] [stdout] 358 | let frozen_1 = if let Some(t) = trie_1.freeze(&mut loader_1, &mut EmptyCollector) { [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/v1/trie/tests.rs:360:13 [INFO] [stdout] | [INFO] [stdout] 360 | } 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] 358 ~ let frozen_1 = match trie_1.freeze(&mut loader_1, &mut EmptyCollector) { Some(t) => { [INFO] [stdout] 359 | t [INFO] [stdout] 360 ~ } _ => { [INFO] [stdout] 361 | bail!("The first tree was not empty, but the second one is."); [INFO] [stdout] 362 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/tests.rs:402:24 [INFO] [stdout] | [INFO] [stdout] 402 | if let Some(e) = trie.get_entry(&mut loader, &input.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/v1/trie/tests.rs:404:21 [INFO] [stdout] | [INFO] [stdout] 404 | } 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] 402 ~ match trie.get_entry(&mut loader, &input.0) { Some(e) => { [INFO] [stdout] 403 | entries_under_prefix.push(e); [INFO] [stdout] 404 ~ } _ => { [INFO] [stdout] 405 | bail!("The key {:?} should have been present in the trie.", input.0); [INFO] [stdout] 406 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/tests.rs:452:24 [INFO] [stdout] | [INFO] [stdout] 452 | if let Ok(option_iterator) = trie.iter(&mut loader, prefix) { [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/v1/trie/tests.rs:456:21 [INFO] [stdout] | [INFO] [stdout] 456 | } 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] 452 ~ match trie.iter(&mut loader, prefix) { Ok(option_iterator) => { [INFO] [stdout] 453 | if let Some(iterator) = option_iterator { [INFO] [stdout] 454 | locked_prefixes.push(iterator); [INFO] [stdout] 455 | } [INFO] [stdout] 456 ~ } _ => { [INFO] [stdout] 457 | // We are not testing overflow behaviour here, so just terminate the test. [INFO] [stdout] 458 | return Ok(()); [INFO] [stdout] 459 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/tests.rs:453:28 [INFO] [stdout] | [INFO] [stdout] 453 | if let Some(iterator) = option_iterator { [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/v1/trie/tests.rs:455:25 [INFO] [stdout] | [INFO] [stdout] 455 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 453 ~ match option_iterator { Some(iterator) => { [INFO] [stdout] 454 | locked_prefixes.push(iterator); [INFO] [stdout] 455 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/tests.rs:555:20 [INFO] [stdout] | [INFO] [stdout] 555 | if let Some(locked_prefixes) = generation_cleanup_stack.pop() { [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/v1/trie/tests.rs:559:17 [INFO] [stdout] | [INFO] [stdout] 559 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 555 ~ match generation_cleanup_stack.pop() { Some(locked_prefixes) => { [INFO] [stdout] 556 | for iter in &locked_prefixes { [INFO] [stdout] 557 | ensure!(trie.delete_iter(iter), "Iterator {:?} should be removed", iter,); [INFO] [stdout] 558 | } [INFO] [stdout] 559 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/tests.rs:563:20 [INFO] [stdout] | [INFO] [stdout] 563 | if let Ok(Some(iterator)) = trie.iter(&mut loader, prefix) { [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/v1/trie/tests.rs:565:17 [INFO] [stdout] | [INFO] [stdout] 565 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 563 ~ match trie.iter(&mut loader, prefix) { Ok(Some(iterator)) => { [INFO] [stdout] 564 | locked_prefixes.push(iterator); [INFO] [stdout] 565 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/tests.rs:656:16 [INFO] [stdout] | [INFO] [stdout] 656 | if let Some(iter) = trie [INFO] [stdout] | ________________^ - [INFO] [stdout] | |_________________________________| [INFO] [stdout] 657 | || .iter(&mut loader, &locked_prefix) [INFO] [stdout] 658 | || .expect("This is the first iterator, so no overflow.") [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] | [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/v1/trie/tests.rs:748:13 [INFO] [stdout] | [INFO] [stdout] 748 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 656 ~ match trie [INFO] [stdout] 657 | .iter(&mut loader, &locked_prefix) [INFO] [stdout] 658 | .expect("This is the first iterator, so no overflow.") [INFO] [stdout] 659 ~ { Some(iter) => { [INFO] [stdout] 660 | let mut locked_prefix_extended = locked_prefix.clone(); [INFO] [stdout] ... [INFO] [stdout] 747 | ); [INFO] [stdout] 748 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/tests.rs:803:23 [INFO] [stdout] | [INFO] [stdout] 803 | let trie = if let Some(trie) = trie.freeze(&mut loader, &mut EmptyCollector) { [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/v1/trie/tests.rs:805:9 [INFO] [stdout] | [INFO] [stdout] 805 | } else if reference.is_empty() { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 803 ~ let trie = match trie.freeze(&mut loader, &mut EmptyCollector) { Some(trie) => { [INFO] [stdout] 804 | trie [INFO] [stdout] 805 ~ } _ => if reference.is_empty() { [INFO] [stdout] 806 | return Ok(()); [INFO] [stdout] 807 | } else { [INFO] [stdout] 808 | bail!("Failure to freeze should only happen for an empty collection."); [INFO] [stdout] 809 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/tests.rs:826:23 [INFO] [stdout] | [INFO] [stdout] 826 | let trie = if let Some(trie) = trie.freeze(&mut loader, &mut EmptyCollector) { [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/v1/trie/tests.rs:828:9 [INFO] [stdout] | [INFO] [stdout] 828 | } 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] 826 ~ let trie = match trie.freeze(&mut loader, &mut EmptyCollector) { Some(trie) => { [INFO] [stdout] 827 | trie [INFO] [stdout] 828 ~ } _ => { [INFO] [stdout] 829 | ensure!(reference.is_empty(), "Cannot freeze, but reference is not empty."); [INFO] [stdout] 830 | return Ok(()); [INFO] [stdout] 831 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/tests.rs:856:23 [INFO] [stdout] | [INFO] [stdout] 856 | let trie = if let Some(trie) = trie.freeze(&mut loader, &mut EmptyCollector) { [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/v1/trie/tests.rs:858:9 [INFO] [stdout] | [INFO] [stdout] 858 | } 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] 856 ~ let trie = match trie.freeze(&mut loader, &mut EmptyCollector) { Some(trie) => { [INFO] [stdout] 857 | trie [INFO] [stdout] 858 ~ } _ => { [INFO] [stdout] 859 | ensure!(reference.is_empty(), "Cannot freeze, but reference is not empty."); [INFO] [stdout] 860 | return Ok(()); [INFO] [stdout] 861 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/tests.rs:863:29 [INFO] [stdout] | [INFO] [stdout] 863 | let mut trie_1 = if let Some(trie_1) = trie_1.freeze(&mut loader_1, &mut EmptyCollector) { [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/v1/trie/tests.rs:865:9 [INFO] [stdout] | [INFO] [stdout] 865 | } 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] 863 ~ let mut trie_1 = match trie_1.freeze(&mut loader_1, &mut EmptyCollector) { Some(trie_1) => { [INFO] [stdout] 864 | trie_1 [INFO] [stdout] 865 ~ } _ => { [INFO] [stdout] 866 | ensure!(reference.is_empty(), "Cannot freeze, but reference is not empty."); [INFO] [stdout] 867 | return Ok(()); [INFO] [stdout] 868 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/tests.rs:912:20 [INFO] [stdout] | [INFO] [stdout] 912 | if let Some(entry) = trie.get_entry(&mut loader, k) { [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/v1/trie/tests.rs:923:17 [INFO] [stdout] | [INFO] [stdout] 923 | } 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] 912 ~ match trie.get_entry(&mut loader, k) { Some(entry) => { [INFO] [stdout] 913 | if let Some(v) = trie [INFO] [stdout] ... [INFO] [stdout] 922 | // the [INFO] [stdout] 923 ~ } _ => { [INFO] [stdout] 924 | return false; [INFO] [stdout] 925 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/tests.rs:913:24 [INFO] [stdout] | [INFO] [stdout] 913 | if let Some(v) = trie [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] 914 | | .get_mut(entry, &mut loader, &mut EmptyCounter) [INFO] [stdout] 915 | | .expect("Empty counter does not error.") [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/v1/trie/tests.rs:918:21 [INFO] [stdout] | [INFO] [stdout] 918 | } 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] 913 ~ match trie [INFO] [stdout] 914 | .get_mut(entry, &mut loader, &mut EmptyCounter) [INFO] [stdout] 915 | .expect("Empty counter does not error.") [INFO] [stdout] 916 ~ { Some(v) => { [INFO] [stdout] 917 | *v = vec![17]; [INFO] [stdout] 918 ~ } _ => { [INFO] [stdout] 919 | return false; [INFO] [stdout] 920 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/tests.rs:938:41 [INFO] [stdout] | [INFO] [stdout] 938 | let mut iterator_gen_1 = if let Some(i) = [INFO] [stdout] | _________________________________________^ [INFO] [stdout] 939 | | trie.iter(&mut loader, &[]).expect("This is the first iterator, so no overflow.") [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/v1/trie/tests.rs:942:13 [INFO] [stdout] | [INFO] [stdout] 942 | } 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] 938 ~ let mut iterator_gen_1 = match trie.iter(&mut loader, &[]).expect("This is the first iterator, so no overflow.") [INFO] [stdout] 939 ~ { Some(i) => { [INFO] [stdout] 940 | i [INFO] [stdout] 941 ~ } _ => { [INFO] [stdout] 942 | return joined_reference.is_empty(); [INFO] [stdout] 943 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/tests.rs:946:20 [INFO] [stdout] | [INFO] [stdout] 946 | if let Some(entry) = trie [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] 947 | | .next(&mut loader, &mut iterator_gen_1, &mut EmptyCounter) [INFO] [stdout] 948 | | .expect("Empty counter does not fail.") [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/v1/trie/tests.rs:961:17 [INFO] [stdout] | [INFO] [stdout] 961 | } 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] 946 ~ match trie [INFO] [stdout] 947 | .next(&mut loader, &mut iterator_gen_1, &mut EmptyCounter) [INFO] [stdout] 948 | .expect("Empty counter does not fail.") [INFO] [stdout] 949 ~ { Some(entry) => { [INFO] [stdout] 950 | let lookup_result = trie [INFO] [stdout] ... [INFO] [stdout] 960 | } [INFO] [stdout] 961 ~ } _ => { [INFO] [stdout] 962 | return false; [INFO] [stdout] 963 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/tests.rs:976:31 [INFO] [stdout] | [INFO] [stdout] 976 | let mut iterator = if let Some(i) = [INFO] [stdout] | _______________________________^ [INFO] [stdout] 977 | | trie.iter(&mut loader, &[]).expect("This is the first iterator, so no overflow.") [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/v1/trie/tests.rs:980:9 [INFO] [stdout] | [INFO] [stdout] 980 | } 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] 976 ~ let mut iterator = match trie.iter(&mut loader, &[]).expect("This is the first iterator, so no overflow.") [INFO] [stdout] 977 ~ { Some(i) => { [INFO] [stdout] 978 | i [INFO] [stdout] 979 ~ } _ => { [INFO] [stdout] 980 | return reference.is_empty(); [INFO] [stdout] 981 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/tests.rs:984:16 [INFO] [stdout] | [INFO] [stdout] 984 | if let Some(entry) = trie [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] 985 | | .next(&mut loader, &mut iterator, &mut EmptyCounter) [INFO] [stdout] 986 | | .expect("Empty counter does not fail.") [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/v1/trie/tests.rs:994:13 [INFO] [stdout] | [INFO] [stdout] 994 | } 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] 984 ~ match trie [INFO] [stdout] 985 | .next(&mut loader, &mut iterator, &mut EmptyCounter) [INFO] [stdout] 986 | .expect("Empty counter does not fail.") [INFO] [stdout] 987 ~ { Some(entry) => { [INFO] [stdout] 988 | if !trie.with_entry(entry, &mut loader, |ev| v == ev).unwrap_or(false) { [INFO] [stdout] ... [INFO] [stdout] 993 | } [INFO] [stdout] 994 ~ } _ => { [INFO] [stdout] 995 | return false; [INFO] [stdout] 996 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/tests.rs:1014:31 [INFO] [stdout] | [INFO] [stdout] 1014 | let mut iterator = if let Some(i) = [INFO] [stdout] | _______________________________^ [INFO] [stdout] 1015 | | trie.iter(&mut loader, &prefix).expect("This is the first iterator, so no overflow.") [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/v1/trie/tests.rs:1018:9 [INFO] [stdout] | [INFO] [stdout] 1018 | } 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] 1014 ~ let mut iterator = match trie.iter(&mut loader, &prefix).expect("This is the first iterator, so no overflow.") [INFO] [stdout] 1015 ~ { Some(i) => { [INFO] [stdout] 1016 | i [INFO] [stdout] 1017 ~ } _ => { [INFO] [stdout] 1018 | for (k, _) in reference_iter { [INFO] [stdout] ... [INFO] [stdout] 1028 | return Ok(()); [INFO] [stdout] 1029 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/tests.rs:1039:20 [INFO] [stdout] | [INFO] [stdout] 1039 | if let Some(entry) = trie [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] 1040 | | .next(&mut loader, &mut iterator, &mut EmptyCounter) [INFO] [stdout] 1041 | | .expect("Empty counter does not fail.") [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/v1/trie/tests.rs:1054:17 [INFO] [stdout] | [INFO] [stdout] 1054 | } 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] 1039 ~ match trie [INFO] [stdout] 1040 | .next(&mut loader, &mut iterator, &mut EmptyCounter) [INFO] [stdout] 1041 | .expect("Empty counter does not fail.") [INFO] [stdout] 1042 ~ { Some(entry) => { [INFO] [stdout] 1043 | ensure!( [INFO] [stdout] ... [INFO] [stdout] 1053 | ); [INFO] [stdout] 1054 ~ } _ => { [INFO] [stdout] 1055 | bail!( [INFO] [stdout] ... [INFO] [stdout] 1059 | ); [INFO] [stdout] 1060 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/api.rs:428:12 [INFO] [stdout] | [INFO] [stdout] 428 | if let Some(inner) = self.inner.as_mut() { [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/v1/trie/api.rs:430:9 [INFO] [stdout] | [INFO] [stdout] 430 | } 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] 428 ~ match self.inner.as_mut() { Some(inner) => { [INFO] [stdout] 429 | inner.lock().normalize(inner.root); [INFO] [stdout] 430 ~ } _ => { [INFO] [stdout] 431 | let root = 0; [INFO] [stdout] ... [INFO] [stdout] 447 | } [INFO] [stdout] 448 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/api.rs:457:12 [INFO] [stdout] | [INFO] [stdout] 457 | if let Some(inner) = self.inner.as_mut() { [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/v1/trie/api.rs:471:9 [INFO] [stdout] | [INFO] [stdout] 471 | } 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] 457 ~ match self.inner.as_mut() { Some(inner) => { [INFO] [stdout] 458 | let mut trie = inner.lock(); [INFO] [stdout] ... [INFO] [stdout] 470 | } [INFO] [stdout] 471 ~ } _ => { [INFO] [stdout] 472 | let root = 0; [INFO] [stdout] ... [INFO] [stdout] 489 | self.clone() [INFO] [stdout] 490 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/low_level.rs:1086:16 [INFO] [stdout] | [INFO] [stdout] 1086 | if let Ok(only_child) = child.try_unwrap() { [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/v1/trie/low_level.rs:1090:13 [INFO] [stdout] | [INFO] [stdout] 1090 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1086 ~ match child.try_unwrap() { Ok(only_child) => { [INFO] [stdout] 1087 | if let Some(memory_child) = only_child.get_value() { [INFO] [stdout] 1088 | stack.push(memory_child.data); [INFO] [stdout] 1089 | } [INFO] [stdout] 1090 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/low_level.rs:1087:20 [INFO] [stdout] | [INFO] [stdout] 1087 | if let Some(memory_child) = only_child.get_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/v1/trie/low_level.rs:1089:17 [INFO] [stdout] | [INFO] [stdout] 1089 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1087 ~ match only_child.get_value() { Some(memory_child) => { [INFO] [stdout] 1088 | stack.push(memory_child.data); [INFO] [stdout] 1089 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/low_level.rs:1092:15 [INFO] [stdout] | [INFO] [stdout] 1092 | while let Some(mut node) = stack.pop() { [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/v1/trie/low_level.rs:1101:9 [INFO] [stdout] | [INFO] [stdout] 1101 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/low_level.rs:1095:20 [INFO] [stdout] | [INFO] [stdout] 1095 | if let Ok(only_child) = child.try_unwrap() { [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/v1/trie/low_level.rs:1099:17 [INFO] [stdout] | [INFO] [stdout] 1099 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1095 ~ match child.try_unwrap() { Ok(only_child) => { [INFO] [stdout] 1096 | if let Some(memory_child) = only_child.get_value() { [INFO] [stdout] 1097 | stack.push(memory_child.data); [INFO] [stdout] 1098 | } [INFO] [stdout] 1099 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/low_level.rs:1096:24 [INFO] [stdout] | [INFO] [stdout] 1096 | if let Some(memory_child) = only_child.get_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/v1/trie/low_level.rs:1098:21 [INFO] [stdout] | [INFO] [stdout] 1098 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1096 ~ match only_child.get_value() { Some(memory_child) => { [INFO] [stdout] 1097 | stack.push(memory_child.data); [INFO] [stdout] 1098 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/low_level.rs:1490:15 [INFO] [stdout] | [INFO] [stdout] 1490 | while let Some(node) = stack.pop() { [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/v1/trie/low_level.rs:1499:9 [INFO] [stdout] | [INFO] [stdout] 1499 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/low_level.rs:1571:15 [INFO] [stdout] | [INFO] [stdout] 1571 | while let Some(node) = stack.pop() { [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/v1/trie/low_level.rs:1578:9 [INFO] [stdout] | [INFO] [stdout] 1578 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/low_level.rs:1660:15 [INFO] [stdout] | [INFO] [stdout] 1660 | while let Some((node_ref, children_processed)) = stack.pop() { [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/v1/trie/low_level.rs:1698:9 [INFO] [stdout] | [INFO] [stdout] 1698 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/low_level.rs:1794:15 [INFO] [stdout] | [INFO] [stdout] 1794 | while let Some((hashed_node, children_processed)) = stack.pop() { [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/v1/trie/low_level.rs:1814:9 [INFO] [stdout] | [INFO] [stdout] 1814 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/low_level.rs:2472:16 [INFO] [stdout] | [INFO] [stdout] 2472 | if let Some((_, children)) = owned_nodes[idx].children.get_owned() { [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/v1/trie/low_level.rs:2476:13 [INFO] [stdout] | [INFO] [stdout] 2476 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 2472 ~ match owned_nodes[idx].children.get_owned() { Some((_, children)) => { [INFO] [stdout] 2473 | for c in children { [INFO] [stdout] 2474 | reachable_stack.push(c.index()); [INFO] [stdout] 2475 | } [INFO] [stdout] 2476 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/low_level.rs:2559:12 [INFO] [stdout] | [INFO] [stdout] 2559 | if let Some((_, root)) = nodes_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/v1/trie/low_level.rs:2562:9 [INFO] [stdout] | [INFO] [stdout] 2562 | } 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] 2559 ~ match nodes_iter.next() { Some((_, root)) => { [INFO] [stdout] 2560 | assert!(nodes_iter.next().is_none(), "Invariant violation."); [INFO] [stdout] 2561 | Some(root.1) [INFO] [stdout] 2562 ~ } _ => { [INFO] [stdout] 2563 | unreachable!("Invariant violation. Root not in the nodes map."); [INFO] [stdout] 2564 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/low_level.rs:2674:36 [INFO] [stdout] | [INFO] [stdout] 2674 | ... if let Some((_, children)) = father_node.children.get_owned_mut() { [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/v1/trie/low_level.rs:2679:33 [INFO] [stdout] | [INFO] [stdout] 2679 | ... } 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] 2674 ~ match father_node.children.get_owned_mut() { Some((_, children)) => { [INFO] [stdout] 2675 | let child_place: &mut KeyIndexPair<4> = [INFO] [stdout] ... [INFO] [stdout] 2678 | *child_place = KeyIndexPair::new(step, child.index()); [INFO] [stdout] 2679 ~ } _ => { [INFO] [stdout] 2680 | unsafe { std::hint::unreachable_unchecked() } [INFO] [stdout] 2681 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/low_level.rs:2740:44 [INFO] [stdout] | [INFO] [stdout] 2740 | ... if let Some((_, children)) = [INFO] [stdout] | __________________________^ [INFO] [stdout] 2741 | | ... grandfather_node.children.get_owned_mut() [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/v1/trie/low_level.rs:2747:41 [INFO] [stdout] | [INFO] [stdout] 2747 | ... } 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] 2740 ~ match grandfather_node.children.get_owned_mut() [INFO] [stdout] 2741 ~ { Some((_, children)) => { [INFO] [stdout] 2742 | let child_place: &mut KeyIndexPair<4> = [INFO] [stdout] ... [INFO] [stdout] 2745 | *child_place = KeyIndexPair::new(step, child.index()); [INFO] [stdout] 2746 ~ } _ => { [INFO] [stdout] 2747 | unsafe { std::hint::unreachable_unchecked() } [INFO] [stdout] 2748 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/low_level.rs:2869:28 [INFO] [stdout] | [INFO] [stdout] 2869 | if let Some((generation, children)) = to_invalidate.children.get_owned() { [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/v1/trie/low_level.rs:2879:25 [INFO] [stdout] | [INFO] [stdout] 2879 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 2869 ~ match to_invalidate.children.get_owned() { Some((generation, children)) => { [INFO] [stdout] 2870 | // if children are of a previous generation then, again, we [INFO] [stdout] ... [INFO] [stdout] 2878 | } [INFO] [stdout] 2879 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/low_level.rs:2926:40 [INFO] [stdout] | [INFO] [stdout] 2926 | ... if let Some((_, children)) = [INFO] [stdout] | __________________________^ [INFO] [stdout] 2927 | | ... grandparent_node.children.get_owned_mut() [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/v1/trie/low_level.rs:2933:37 [INFO] [stdout] | [INFO] [stdout] 2933 | ... } 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] 2926 ~ match grandparent_node.children.get_owned_mut() [INFO] [stdout] 2927 ~ { Some((_, children)) => { [INFO] [stdout] 2928 | let child_place: &mut KeyIndexPair<4> = [INFO] [stdout] ... [INFO] [stdout] 2931 | *child_place = KeyIndexPair::new(step, child.index()); [INFO] [stdout] 2932 ~ } _ => { [INFO] [stdout] 2933 | unsafe { std::hint::unreachable_unchecked() } [INFO] [stdout] 2934 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/low_level.rs:3050:28 [INFO] [stdout] | [INFO] [stdout] 3050 | if let Some((_, children)) = parent_node.children.get_owned_mut() { [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/v1/trie/low_level.rs:3055:25 [INFO] [stdout] | [INFO] [stdout] 3055 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 3050 ~ match parent_node.children.get_owned_mut() { Some((_, children)) => { [INFO] [stdout] 3051 | if let Some(key_and_index) = children.get_mut(child_idx) { [INFO] [stdout] ... [INFO] [stdout] 3054 | } [INFO] [stdout] 3055 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/low_level.rs:3184:28 [INFO] [stdout] | [INFO] [stdout] 3184 | if let Some((_, children)) = parent_node.children.get_owned_mut() { [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/v1/trie/low_level.rs:3189:25 [INFO] [stdout] | [INFO] [stdout] 3189 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 3184 ~ match parent_node.children.get_owned_mut() { Some((_, children)) => { [INFO] [stdout] 3185 | if let Some(key_and_index) = children.get_mut(child_idx) { [INFO] [stdout] ... [INFO] [stdout] 3188 | } [INFO] [stdout] 3189 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/low_level.rs:3279:15 [INFO] [stdout] | [INFO] [stdout] 3279 | while let Some((node, idx)) = queue.pop_front() { [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/v1/trie/low_level.rs:3308:9 [INFO] [stdout] | [INFO] [stdout] 3308 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/low_level.rs:3349:20 [INFO] [stdout] | [INFO] [stdout] 3349 | if let CachedRef::Memory { [INFO] [stdout] | ____________________^ [INFO] [stdout] 3350 | | value, [INFO] [stdout] 3351 | | } = &mut *parent [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/v1/trie/low_level.rs:3354:17 [INFO] [stdout] | [INFO] [stdout] 3354 | } 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] 3349 ~ match &mut *parent [INFO] [stdout] 3350 ~ { CachedRef::Memory { [INFO] [stdout] 3351 + value, [INFO] [stdout] 3352 ~ } => { [INFO] [stdout] 3353 | value.data.children.push((Chunk::new(key), new_node.clone())); [INFO] [stdout] 3354 ~ } _ => { [INFO] [stdout] 3355 | // all values are allocated in this function, so in-memory. [INFO] [stdout] 3356 | unsafe { std::hint::unreachable_unchecked() }; [INFO] [stdout] 3357 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/low_level.rs:3365:12 [INFO] [stdout] | [INFO] [stdout] 3365 | if let Some(root) = parents.into_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/v1/trie/low_level.rs:3376:9 [INFO] [stdout] | [INFO] [stdout] 3376 | } 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] 3365 ~ match parents.into_iter().next() { Some(root) => { [INFO] [stdout] 3366 | let rw = std::mem::replace(&mut *root.borrow_mut(), INVALID_NODE_CACHED_REF); [INFO] [stdout] ... [INFO] [stdout] 3375 | } [INFO] [stdout] 3376 ~ } _ => { [INFO] [stdout] 3377 | // all values are allocated in this function, so in-memory, and there is at [INFO] [stdout] 3378 | // least one. [INFO] [stdout] 3379 | unsafe { std::hint::unreachable_unchecked() }; [INFO] [stdout] 3380 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/low_level.rs:3367:16 [INFO] [stdout] | [INFO] [stdout] 3367 | if let CachedRef::Memory { [INFO] [stdout] | ________________^ [INFO] [stdout] 3368 | | value, [INFO] [stdout] 3369 | | } = rw [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/v1/trie/low_level.rs:3372:13 [INFO] [stdout] | [INFO] [stdout] 3372 | } 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] 3367 ~ match rw [INFO] [stdout] 3368 ~ { CachedRef::Memory { [INFO] [stdout] 3369 + value, [INFO] [stdout] 3370 ~ } => { [INFO] [stdout] 3371 | Ok(value) [INFO] [stdout] 3372 ~ } _ => { [INFO] [stdout] 3373 | // all values are allocated in this function, so in-memory. [INFO] [stdout] 3374 | unsafe { std::hint::unreachable_unchecked() }; [INFO] [stdout] 3375 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/low_level.rs:3484:16 [INFO] [stdout] | [INFO] [stdout] 3484 | if let InlineOrHashed::Indirect(value) = &*value.borrow() { [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/v1/trie/low_level.rs:3491:13 [INFO] [stdout] | [INFO] [stdout] 3491 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 3484 ~ match &*value.borrow() { InlineOrHashed::Indirect(value) => { [INFO] [stdout] 3485 | if let CachedRef::Memory { [INFO] [stdout] ... [INFO] [stdout] 3490 | } [INFO] [stdout] 3491 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/low_level.rs:3485:20 [INFO] [stdout] | [INFO] [stdout] 3485 | if let CachedRef::Memory { [INFO] [stdout] | ____________________^ [INFO] [stdout] 3486 | | .. [INFO] [stdout] 3487 | | } = value.data [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/v1/trie/low_level.rs:3490:17 [INFO] [stdout] | [INFO] [stdout] 3490 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 3485 ~ match value.data [INFO] [stdout] 3486 ~ { CachedRef::Memory { [INFO] [stdout] 3487 + .. [INFO] [stdout] 3488 ~ } => { [INFO] [stdout] 3489 | return false; [INFO] [stdout] 3490 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/low_level.rs:3494:16 [INFO] [stdout] | [INFO] [stdout] 3494 | if let CachedRef::Memory { [INFO] [stdout] | ________________^ [INFO] [stdout] 3495 | | .. [INFO] [stdout] 3496 | | } = &*child.1.borrow() [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/v1/trie/low_level.rs:3499:13 [INFO] [stdout] | [INFO] [stdout] 3499 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 3494 ~ match &*child.1.borrow() [INFO] [stdout] 3495 ~ { CachedRef::Memory { [INFO] [stdout] 3496 + .. [INFO] [stdout] 3497 ~ } => { [INFO] [stdout] 3498 | return false; [INFO] [stdout] 3499 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/trie/low_level.rs:3510:16 [INFO] [stdout] | [INFO] [stdout] 3510 | if let InlineOrHashed::Indirect(value) = &*value.borrow() { [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/v1/trie/low_level.rs:3512:13 [INFO] [stdout] | [INFO] [stdout] 3512 | } 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] 3510 ~ match &*value.borrow() { InlineOrHashed::Indirect(value) => { [INFO] [stdout] 3511 | return !matches!(&value.data, CachedRef::Disk { .. }); [INFO] [stdout] 3512 ~ } _ => { [INFO] [stdout] 3513 | // [InlineOrHashed::Inline] are not [CachedRef]'s [INFO] [stdout] 3514 | return false; [INFO] [stdout] 3515 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/types.rs:1025:12 [INFO] [stdout] | [INFO] [stdout] 1025 | if let Some(id) = self.state_trie.get_entry(&mut self.backing_store, 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/v1/types.rs:1029:9 [INFO] [stdout] | [INFO] [stdout] 1029 | } 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] 1025 ~ match self.state_trie.get_entry(&mut self.backing_store, key) { Some(id) => { [INFO] [stdout] 1026 | let idx = self.entry_mapping.len(); [INFO] [stdout] 1027 | self.entry_mapping.push(id); [INFO] [stdout] 1028 | InstanceStateEntryOption::new_some(self.current_generation, idx) [INFO] [stdout] 1029 ~ } _ => { [INFO] [stdout] 1030 | InstanceStateEntryOption::NEW_NONE [INFO] [stdout] 1031 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/types.rs:1041:12 [INFO] [stdout] | [INFO] [stdout] 1041 | if let Ok(id) = self.state_trie.insert(&mut self.backing_store, key, Vec::new()) { [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/v1/types.rs:1045:9 [INFO] [stdout] | [INFO] [stdout] 1045 | } 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] 1041 ~ match self.state_trie.insert(&mut self.backing_store, key, Vec::new()) { Ok(id) => { [INFO] [stdout] 1042 | let idx = self.entry_mapping.len(); [INFO] [stdout] 1043 | self.entry_mapping.push(id.0); [INFO] [stdout] 1044 | Ok(InstanceStateEntryOption::new_some(self.current_generation, idx)) [INFO] [stdout] 1045 ~ } _ => { [INFO] [stdout] 1046 | Ok(InstanceStateEntryOption::NEW_NONE) [INFO] [stdout] 1047 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/types.rs:1058:12 [INFO] [stdout] | [INFO] [stdout] 1058 | if let Ok(deleted) = self.state_trie.delete(&mut self.backing_store, 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/v1/types.rs:1064:9 [INFO] [stdout] | [INFO] [stdout] 1064 | } 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] 1058 ~ match self.state_trie.delete(&mut self.backing_store, key) { Ok(deleted) => { [INFO] [stdout] 1059 | if deleted { [INFO] [stdout] ... [INFO] [stdout] 1063 | } [INFO] [stdout] 1064 ~ } _ => { [INFO] [stdout] 1065 | // tree was locked [INFO] [stdout] 1066 | Ok(0) [INFO] [stdout] 1067 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/types.rs:1081:12 [INFO] [stdout] | [INFO] [stdout] 1081 | if let Ok(b) = self.state_trie.delete_prefix(&mut self.backing_store, key, energy)? { [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/v1/types.rs:1087:9 [INFO] [stdout] | [INFO] [stdout] 1087 | } 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] 1081 ~ match self.state_trie.delete_prefix(&mut self.backing_store, key, energy)? { Ok(b) => { [INFO] [stdout] 1082 | if b { [INFO] [stdout] ... [INFO] [stdout] 1086 | } [INFO] [stdout] 1087 ~ } _ => { [INFO] [stdout] 1088 | Ok(0) [INFO] [stdout] 1089 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/types.rs:1099:12 [INFO] [stdout] | [INFO] [stdout] 1099 | if let Ok(iter) = self.state_trie.iter(&mut self.backing_store, prefix) { [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/v1/types.rs:1107:9 [INFO] [stdout] | [INFO] [stdout] 1107 | } 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] 1099 ~ match self.state_trie.iter(&mut self.backing_store, prefix) { Ok(iter) => { [INFO] [stdout] 1100 | if let Some(iter) = iter { [INFO] [stdout] ... [INFO] [stdout] 1106 | } [INFO] [stdout] 1107 ~ } _ => { [INFO] [stdout] 1108 | InstanceStateIteratorResultOption::NEW_ERR [INFO] [stdout] 1109 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/types.rs:1100:16 [INFO] [stdout] | [INFO] [stdout] 1100 | if let Some(iter) = iter { [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/v1/types.rs:1104:13 [INFO] [stdout] | [INFO] [stdout] 1104 | } 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] 1100 ~ match iter { Some(iter) => { [INFO] [stdout] 1101 | let iter_id = self.iterators.len(); [INFO] [stdout] 1102 | self.iterators.push(Some(iter)); [INFO] [stdout] 1103 | InstanceStateIteratorResultOption::new_ok_some(self.current_generation, iter_id) [INFO] [stdout] 1104 ~ } _ => { [INFO] [stdout] 1105 | InstanceStateIteratorResultOption::NEW_OK_NONE [INFO] [stdout] 1106 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/types.rs:1126:12 [INFO] [stdout] | [INFO] [stdout] 1126 | if let Some(iter) = self.iterators.get_mut(idx).and_then(Option::as_mut) { [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/v1/types.rs:1134:9 [INFO] [stdout] | [INFO] [stdout] 1134 | } 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] 1126 ~ match self.iterators.get_mut(idx).and_then(Option::as_mut) { Some(iter) => { [INFO] [stdout] 1127 | if let Some(id) = self.state_trie.next(&mut self.backing_store, iter, energy)? { [INFO] [stdout] ... [INFO] [stdout] 1133 | } [INFO] [stdout] 1134 ~ } _ => { [INFO] [stdout] 1135 | Ok(InstanceStateEntryResultOption::NEW_ERR) [INFO] [stdout] 1136 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/types.rs:1127:16 [INFO] [stdout] | [INFO] [stdout] 1127 | if let Some(id) = self.state_trie.next(&mut self.backing_store, iter, energy)? { [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/v1/types.rs:1131:13 [INFO] [stdout] | [INFO] [stdout] 1131 | } 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] 1127 ~ match self.state_trie.next(&mut self.backing_store, iter, energy)? { Some(id) => { [INFO] [stdout] 1128 | let idx = self.entry_mapping.len(); [INFO] [stdout] 1129 | self.entry_mapping.push(id); [INFO] [stdout] 1130 | Ok(InstanceStateEntryResultOption::new_ok_some(self.current_generation, idx)) [INFO] [stdout] 1131 ~ } _ => { [INFO] [stdout] 1132 | Ok(InstanceStateEntryResultOption::NEW_OK_NONE) [INFO] [stdout] 1133 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/types.rs:1181:12 [INFO] [stdout] | [INFO] [stdout] 1181 | if let Some(iter) = self.iterators.get(idx).and_then(Option::as_ref) { [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/v1/types.rs:1183:9 [INFO] [stdout] | [INFO] [stdout] 1183 | } 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] 1181 ~ match self.iterators.get(idx).and_then(Option::as_ref) { Some(iter) => { [INFO] [stdout] 1182 | iter.get_key().len() as u32 [INFO] [stdout] 1183 ~ } _ => { [INFO] [stdout] 1184 | u32::MAX [INFO] [stdout] 1185 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/types.rs:1200:12 [INFO] [stdout] | [INFO] [stdout] 1200 | if let Some(iter) = self.iterators.get(idx).and_then(Option::as_ref) { [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/v1/types.rs:1206:9 [INFO] [stdout] | [INFO] [stdout] 1206 | } 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] 1200 ~ match self.iterators.get(idx).and_then(Option::as_ref) { Some(iter) => { [INFO] [stdout] 1201 | let key = iter.get_key(); [INFO] [stdout] ... [INFO] [stdout] 1205 | num_copied as u32 [INFO] [stdout] 1206 ~ } _ => { [INFO] [stdout] 1207 | u32::MAX [INFO] [stdout] 1208 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/types.rs:1256:16 [INFO] [stdout] | [INFO] [stdout] 1256 | if let Some(v) = self.state_trie.get_mut(*entry, &mut self.backing_store, energy)? { [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/v1/types.rs:1281:13 [INFO] [stdout] | [INFO] [stdout] 1281 | } 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] 1256 ~ match self.state_trie.get_mut(*entry, &mut self.backing_store, energy)? { Some(v) => { [INFO] [stdout] 1257 | let offset = offset as usize; [INFO] [stdout] ... [INFO] [stdout] 1280 | } [INFO] [stdout] 1281 ~ } _ => { [INFO] [stdout] 1282 | // Entry has been invalidated. [INFO] [stdout] 1283 | Ok(u32::MAX) [INFO] [stdout] 1284 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/v1/types.rs:1331:16 [INFO] [stdout] | [INFO] [stdout] 1331 | if let Some(v) = self.state_trie.get_mut( [INFO] [stdout] | ________________^ - [INFO] [stdout] | |______________________________| [INFO] [stdout] 1332 | || entry, [INFO] [stdout] 1333 | || &mut self.backing_store, [INFO] [stdout] 1334 | || &mut ResizeAllocateCounter { [INFO] [stdout] ... || [INFO] [stdout] 1337 | || }, [INFO] [stdout] 1338 | || )? { [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] | [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/v1/types.rs:1351:13 [INFO] [stdout] | [INFO] [stdout] 1351 | } 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] 1331 ~ match self.state_trie.get_mut( [INFO] [stdout] 1332 | entry, [INFO] [stdout] ... [INFO] [stdout] 1337 | }, [INFO] [stdout] 1338 ~ )? { Some(v) => { [INFO] [stdout] 1339 | let existing_len = v.len(); [INFO] [stdout] ... [INFO] [stdout] 1350 | Ok(1) [INFO] [stdout] 1351 ~ } _ => { [INFO] [stdout] 1352 | Ok(u32::MAX) [INFO] [stdout] 1353 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 108 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating benches/wasm.rs from 2021 edition to 2024 [INFO] [stderr] Fixed benches/wasm.rs (1 fix) [INFO] [stderr] Migrating benches/v1-host-functions.rs from 2021 edition to 2024 [INFO] [stderr] Fixed benches/v1-host-functions.rs (1 fix) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 20.59s [INFO] [stderr] Running `cargo check` to verify 2024 [INFO] [stderr] Checking concordium-smart-contract-engine v6.0.0 (/tmp/fixit) [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/v1/tests.rs:644:10 [INFO] [stdout] | [INFO] [stdout] 644 | let (gen, idx) = entry.split(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 644 | let (r#gen, idx) = entry.split(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/v1/tests.rs:645:53 [INFO] [stdout] | [INFO] [stdout] 645 | let entry_invalid_gen = InstanceStateEntry::new(gen + 1, idx); // invalid generation [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/v1/tests.rs:674:10 [INFO] [stdout] | [INFO] [stdout] 674 | let (gen, iter_idx) = iter.split(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 674 | let (r#gen, iter_idx) = iter.split(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/v1/tests.rs:675:75 [INFO] [stdout] | [INFO] [stdout] 675 | let iter_invalid_gen = InstanceStateIteratorResultOption::new_ok_some(gen + 1, iter_idx) [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/v1/types.rs:815:16 [INFO] [stdout] | [INFO] [stdout] 815 | pub fn new(gen: InstanceCounter, idx: usize) -> 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] 815 | pub fn new(r#gen: InstanceCounter, idx: usize) -> Self { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/v1/types.rs:817:30 [INFO] [stdout] | [INFO] [stdout] 817 | index: u64::from(gen) << 32 | idx as u64, [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/v1/types.rs:839:21 [INFO] [stdout] | [INFO] [stdout] 839 | pub fn new_some(gen: InstanceCounter, idx: usize) -> 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] 839 | pub fn new_some(r#gen: InstanceCounter, idx: usize) -> Self { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/v1/types.rs:841:30 [INFO] [stdout] | [INFO] [stdout] 841 | index: u64::from(gen) << 32 | idx as u64, [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/v1/types.rs:880:24 [INFO] [stdout] | [INFO] [stdout] 880 | pub fn new_ok_some(gen: InstanceCounter, idx: usize) -> 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] 880 | pub fn new_ok_some(r#gen: InstanceCounter, idx: usize) -> Self { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/v1/types.rs:882:30 [INFO] [stdout] | [INFO] [stdout] 882 | index: u64::from(gen) << 32 | idx as u64, [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/v1/types.rs:926:24 [INFO] [stdout] | [INFO] [stdout] 926 | pub fn new_ok_some(gen: InstanceCounter, idx: usize) -> 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] 926 | pub fn new_ok_some(r#gen: InstanceCounter, idx: usize) -> Self { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/v1/types.rs:928:30 [INFO] [stdout] | [INFO] [stdout] 928 | index: u64::from(gen) << 32 | idx as u64, [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/v1/types.rs:1122:14 [INFO] [stdout] | [INFO] [stdout] 1122 | let (gen, idx) = iter.split(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 1122 | let (r#gen, idx) = iter.split(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/v1/types.rs:1123:12 [INFO] [stdout] | [INFO] [stdout] 1123 | if gen != self.current_generation { [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/v1/types.rs:815:16 [INFO] [stdout] | [INFO] [stdout] 815 | pub fn new(gen: InstanceCounter, idx: usize) -> 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] 815 | pub fn new(r#gen: InstanceCounter, idx: usize) -> Self { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/v1/types.rs:817:30 [INFO] [stdout] | [INFO] [stdout] 817 | index: u64::from(gen) << 32 | idx as u64, [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/v1/types.rs:1150:14 [INFO] [stdout] | [INFO] [stdout] 1150 | let (gen, idx) = iter.split(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 1150 | let (r#gen, idx) = iter.split(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/v1/types.rs:1151:12 [INFO] [stdout] | [INFO] [stdout] 1151 | if gen != self.current_generation { [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/v1/types.rs:839:21 [INFO] [stdout] | [INFO] [stdout] 839 | pub fn new_some(gen: InstanceCounter, idx: usize) -> 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] 839 | pub fn new_some(r#gen: InstanceCounter, idx: usize) -> Self { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/v1/types.rs:1177:14 [INFO] [stdout] | [INFO] [stdout] 1177 | let (gen, idx) = iter.split(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 1177 | let (r#gen, idx) = iter.split(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/v1/types.rs:1178:12 [INFO] [stdout] | [INFO] [stdout] 1178 | if gen != self.current_generation { [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/v1/types.rs:1196:14 [INFO] [stdout] | [INFO] [stdout] 1196 | let (gen, idx) = iter.split(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 1196 | let (r#gen, idx) = iter.split(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/v1/types.rs:841:30 [INFO] [stdout] | [INFO] [stdout] 841 | index: u64::from(gen) << 32 | idx as u64, [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/v1/types.rs:1197:12 [INFO] [stdout] | [INFO] [stdout] 1197 | if gen != self.current_generation { [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/v1/types.rs:1219:14 [INFO] [stdout] | [INFO] [stdout] 1219 | let (gen, idx) = entry.split(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 1219 | let (r#gen, idx) = entry.split(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/v1/types.rs:1220:12 [INFO] [stdout] | [INFO] [stdout] 1220 | if gen != self.current_generation { [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/v1/types.rs:880:24 [INFO] [stdout] | [INFO] [stdout] 880 | pub fn new_ok_some(gen: InstanceCounter, idx: usize) -> 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] 880 | pub fn new_ok_some(r#gen: InstanceCounter, idx: usize) -> Self { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/v1/types.rs:1251:14 [INFO] [stdout] | [INFO] [stdout] 1251 | let (gen, idx) = entry.split(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 1251 | let (r#gen, idx) = entry.split(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/v1/types.rs:1252:12 [INFO] [stdout] | [INFO] [stdout] 1252 | if gen != self.current_generation { [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/v1/types.rs:1293:14 [INFO] [stdout] | [INFO] [stdout] 1293 | let (gen, idx) = entry.split(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 1293 | let (r#gen, idx) = entry.split(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/v1/types.rs:882:30 [INFO] [stdout] | [INFO] [stdout] 882 | index: u64::from(gen) << 32 | idx as u64, [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/v1/types.rs:1294:12 [INFO] [stdout] | [INFO] [stdout] 1294 | if gen != self.current_generation { [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/v1/types.rs:1322:14 [INFO] [stdout] | [INFO] [stdout] 1322 | let (gen, idx) = entry.split(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 1322 | let (r#gen, idx) = entry.split(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/v1/types.rs:1323:12 [INFO] [stdout] | [INFO] [stdout] 1323 | if gen != self.current_generation { [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/v1/types.rs:926:24 [INFO] [stdout] | [INFO] [stdout] 926 | pub fn new_ok_some(gen: InstanceCounter, idx: usize) -> 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] 926 | pub fn new_ok_some(r#gen: InstanceCounter, idx: usize) -> Self { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/v1/types.rs:928:30 [INFO] [stdout] | [INFO] [stdout] 928 | index: u64::from(gen) << 32 | idx as u64, [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/v1/types.rs:1122:14 [INFO] [stdout] | [INFO] [stdout] 1122 | let (gen, idx) = iter.split(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 1122 | let (r#gen, idx) = iter.split(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/v1/types.rs:1123:12 [INFO] [stdout] | [INFO] [stdout] 1123 | if gen != self.current_generation { [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/v1/types.rs:1150:14 [INFO] [stdout] | [INFO] [stdout] 1150 | let (gen, idx) = iter.split(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 1150 | let (r#gen, idx) = iter.split(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/v1/types.rs:1151:12 [INFO] [stdout] | [INFO] [stdout] 1151 | if gen != self.current_generation { [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/v1/types.rs:1177:14 [INFO] [stdout] | [INFO] [stdout] 1177 | let (gen, idx) = iter.split(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 1177 | let (r#gen, idx) = iter.split(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/v1/types.rs:1178:12 [INFO] [stdout] | [INFO] [stdout] 1178 | if gen != self.current_generation { [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/v1/types.rs:1196:14 [INFO] [stdout] | [INFO] [stdout] 1196 | let (gen, idx) = iter.split(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 1196 | let (r#gen, idx) = iter.split(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/v1/types.rs:1197:12 [INFO] [stdout] | [INFO] [stdout] 1197 | if gen != self.current_generation { [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/v1/types.rs:1219:14 [INFO] [stdout] | [INFO] [stdout] 1219 | let (gen, idx) = entry.split(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 1219 | let (r#gen, idx) = entry.split(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/v1/types.rs:1220:12 [INFO] [stdout] | [INFO] [stdout] 1220 | if gen != self.current_generation { [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/v1/types.rs:1251:14 [INFO] [stdout] | [INFO] [stdout] 1251 | let (gen, idx) = entry.split(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 1251 | let (r#gen, idx) = entry.split(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/v1/types.rs:1252:12 [INFO] [stdout] | [INFO] [stdout] 1252 | if gen != self.current_generation { [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/v1/types.rs:1293:14 [INFO] [stdout] | [INFO] [stdout] 1293 | let (gen, idx) = entry.split(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 1293 | let (r#gen, idx) = entry.split(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/v1/types.rs:1294:12 [INFO] [stdout] | [INFO] [stdout] 1294 | if gen != self.current_generation { [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/v1/types.rs:1322:14 [INFO] [stdout] | [INFO] [stdout] 1322 | let (gen, idx) = entry.split(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 1322 | let (r#gen, idx) = entry.split(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/v1/types.rs:1323:12 [INFO] [stdout] | [INFO] [stdout] 1323 | if gen != self.current_generation { [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Context` [INFO] [stdout] --> src/v1/types.rs:8:28 [INFO] [stdout] | [INFO] [stdout] 8 | use anyhow::{bail, ensure, Context}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Context` [INFO] [stdout] --> src/v1/types.rs:8:28 [INFO] [stdout] | [INFO] [stdout] 8 | use anyhow::{bail, ensure, Context}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 24 previous errors; 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `concordium-smart-contract-engine` (lib) due to 25 previous errors; 1 warning emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: aborting due to 28 previous errors; 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `concordium-smart-contract-engine` (lib test) due to 29 previous errors; 1 warning emitted [INFO] [stderr] error: failed to check after updating to 2024 [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `cargo check --frozen --all --all-targets --message-format=json` (exit status: 101) [INFO] running `Command { std: "docker" "inspect" "17df4a5551964becc8cb847376189151fdbc1d49cbc426a60bec8b1ecefa78f4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "17df4a5551964becc8cb847376189151fdbc1d49cbc426a60bec8b1ecefa78f4", kill_on_drop: false }` [INFO] [stdout] 17df4a5551964becc8cb847376189151fdbc1d49cbc426a60bec8b1ecefa78f4