[INFO] fetching crate tokay 0.6.6... [INFO] checking tokay-0.6.6 against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] extracting crate tokay 0.6.6 into /workspace/builds/worker-2-tc2/source [INFO] validating manifest of crates.io crate tokay 0.6.6 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 tokay 0.6.6 [INFO] finished tweaking crates.io crate tokay 0.6.6 [INFO] tweaked toml for crates.io crate tokay 0.6.6 written to /workspace/builds/worker-2-tc2/source/Cargo.toml [INFO] crate crates.io crate tokay 0.6.6 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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] 6a40527ef3d4029b9e27b50e684df8318b0503bf037131726d2438b412ac71a8 [INFO] running `Command { std: "docker" "start" "-a" "6a40527ef3d4029b9e27b50e684df8318b0503bf037131726d2438b412ac71a8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "6a40527ef3d4029b9e27b50e684df8318b0503bf037131726d2438b412ac71a8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6a40527ef3d4029b9e27b50e684df8318b0503bf037131726d2438b412ac71a8", kill_on_drop: false }` [INFO] [stdout] 6a40527ef3d4029b9e27b50e684df8318b0503bf037131726d2438b412ac71a8 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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] ff8386dcb4d98423dba9a62cdacb9b362fe65a7f968c8ef7491e80919c09231b [INFO] running `Command { std: "docker" "start" "-a" "ff8386dcb4d98423dba9a62cdacb9b362fe65a7f968c8ef7491e80919c09231b", kill_on_drop: false }` [INFO] [stderr] Copying to /tmp/fixit [INFO] [stderr] Running `cargo fix --edition` [INFO] [stderr] Migrating Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Compiling libc v0.2.153 [INFO] [stderr] Compiling proc-macro2 v1.0.79 [INFO] [stderr] Compiling unicode-ident v1.0.12 [INFO] [stderr] Compiling num-traits v0.2.18 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Compiling memoffset v0.6.5 [INFO] [stderr] Checking utf8parse v0.2.1 [INFO] [stderr] Checking memchr v2.7.1 [INFO] [stderr] Compiling num-bigint v0.4.4 [INFO] [stderr] Compiling unicode-width v0.1.11 [INFO] [stderr] Compiling smallvec v1.13.2 [INFO] [stderr] Checking anstyle-parse v0.2.3 [INFO] [stderr] Compiling num-rational v0.4.1 [INFO] [stderr] Compiling rustix v0.38.32 [INFO] [stderr] Compiling endian-type v0.1.2 [INFO] [stderr] Compiling nibble_vec v0.1.0 [INFO] [stderr] Checking regex-syntax v0.8.2 [INFO] [stderr] Compiling inventory v0.1.11 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Checking bitflags v2.5.0 [INFO] [stderr] Compiling quote v1.0.35 [INFO] [stderr] Checking colorchoice v1.0.0 [INFO] [stderr] Checking anstyle v1.0.6 [INFO] [stderr] Compiling syn v2.0.53 [INFO] [stderr] Checking anstyle-query v1.0.2 [INFO] [stderr] Compiling cfg_aliases v0.1.1 [INFO] [stderr] Checking anstream v0.6.13 [INFO] [stderr] Compiling nix v0.28.0 [INFO] [stderr] Compiling radix_trie v0.2.1 [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Compiling textwrap v0.11.0 [INFO] [stderr] Checking linux-raw-sys v0.4.13 [INFO] [stderr] Compiling vec_map v0.8.2 [INFO] [stderr] Checking regex-automata v0.4.6 [INFO] [stderr] Compiling ansi_term v0.12.1 [INFO] [stderr] Checking log v0.4.21 [INFO] [stderr] Compiling dirs-sys-next v0.1.2 [INFO] [stderr] Compiling fd-lock v2.0.0 [INFO] [stderr] Compiling nix v0.20.2 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling unicode-segmentation v1.11.0 [INFO] [stderr] Compiling dirs-next v2.0.0 [INFO] [stderr] Compiling strsim v0.8.0 [INFO] [stderr] Compiling yaml-rust v0.3.5 [INFO] [stderr] Compiling clap v2.34.0 [INFO] [stderr] Checking num-iter v0.1.44 [INFO] [stderr] Checking num-complex v0.4.5 [INFO] [stderr] Checking regex v1.10.3 [INFO] [stderr] Checking strsim v0.11.0 [INFO] [stderr] Checking clap_lex v0.7.0 [INFO] [stderr] Checking clap_builder v4.5.2 [INFO] [stderr] Checking num v0.4.1 [INFO] [stderr] Checking env_filter v0.1.0 [INFO] [stderr] Checking humantime v2.1.0 [INFO] [stderr] Checking fd-lock v4.0.2 [INFO] [stderr] Checking home v0.5.9 [INFO] [stderr] Compiling rustyline v8.2.0 [INFO] [stderr] Checking hashbrown v0.14.3 [INFO] [stderr] Compiling ghost v0.1.17 [INFO] [stderr] Compiling clap_derive v4.5.3 [INFO] [stderr] Compiling glob v0.3.1 [INFO] [stderr] Checking indexmap v2.2.5 [INFO] [stderr] Checking env_logger v0.11.3 [INFO] [stderr] Checking num-parse v0.1.2 [INFO] [stderr] Checking charclass v0.2.0 [INFO] [stderr] Compiling inventory-impl v0.1.11 [INFO] [stderr] Compiling ctor v0.1.26 [INFO] [stderr] Checking rustyline v14.0.0 [INFO] [stderr] Checking clap v4.5.3 [INFO] [stderr] Compiling tokay v0.4.0 [INFO] [stderr] Compiling tokay-macros v0.5.0 [INFO] [stderr] Checking tokay v0.6.6 (/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 `tokay` [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/value/mod.rs:64:14 [INFO] [stdout] | [INFO] [stdout] 64 | ( $value: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] 64 | ( $value:expr_2021 ) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: call to deprecated safe function `std::env::set_var` is unsafe and requires unsafe block [INFO] [stdout] --> src/compiler/compiler.rs:190:13 [INFO] [stdout] | [INFO] [stdout] 190 | std::env::set_var("RUST_LOG", log.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [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 #27970 [INFO] [stdout] = note: `--force-warn deprecated-safe-2024` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: you can wrap the call in an `unsafe` block if you can guarantee that the environment access only happens in single-threaded code [INFO] [stdout] | [INFO] [stdout] 190 + // TODO: Audit that the environment access only happens in single-threaded code. [INFO] [stdout] 191 ~ unsafe { std::env::set_var("RUST_LOG", log.clone()) }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/builtin/mod.rs:162:12 [INFO] [stdout] | [INFO] [stdout] 162 | if let Some(mut capture) = context.get_capture(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/builtin/mod.rs:165:9 [INFO] [stdout] | [INFO] [stdout] 165 | } [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] 162 ~ match context.get_capture(0) { Some(mut capture) => { [INFO] [stdout] 163 | let value = capture.extract(context.thread.reader); [INFO] [stdout] 164 | print!("{}", value.to_string()); [INFO] [stdout] 165 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/ast.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 26 | if let Some(list) = ast.borrow().object::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^------------^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 34 | } else if let Some(dict) = ast.borrow().object::() { [INFO] [stdout] | ------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler/ast.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | } else if let Some(dict) = ast.borrow().object::() { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler/ast.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 26 ~ match ast.borrow().object::() { Some(list) => { [INFO] [stdout] 27 | let mut ops = Vec::new(); [INFO] [stdout] ... [INFO] [stdout] 33 | ImlOp::from(ops) [INFO] [stdout] 34 ~ } _ => { match ast.borrow().object::() { Some(dict) => { [INFO] [stdout] 35 | traverse_node_rvalue(scope, dict, Rvalue::CallOrLoad) [INFO] [stdout] 36 ~ } _ => { [INFO] [stdout] 37 | ImlOp::load(scope, None, ImlValue::from(RefValue::from(ast.clone()))) [INFO] [stdout] 38 ~ }}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] * src/value/mod.rs [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/ast.rs:844:16 [INFO] [stdout] | [INFO] [stdout] 844 | if let ScopeLevel::Parselet(parselet) = &scope.level { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler/ast.rs:871:13 [INFO] [stdout] | [INFO] [stdout] 871 | } 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] 844 ~ match &scope.level { ScopeLevel::Parselet(parselet) => { [INFO] [stdout] 845 | let parselet = parselet.borrow(); [INFO] [stdout] ... [INFO] [stdout] 870 | } [INFO] [stdout] 871 ~ } _ => { [INFO] [stdout] 872 | scope.push_error( [INFO] [stdout] ... [INFO] [stdout] 875 | ); [INFO] [stdout] 876 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/ast.rs:885:24 [INFO] [stdout] | [INFO] [stdout] 885 | if let Some(list) = ast.borrow().object::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^------------^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 896 | } else if let Some(dict) = ast.borrow().object::() { [INFO] [stdout] | ------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler/ast.rs:896:21 [INFO] [stdout] | [INFO] [stdout] 896 | } else if let Some(dict) = ast.borrow().object::() { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler/ast.rs:898:21 [INFO] [stdout] | [INFO] [stdout] 898 | } 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] 885 ~ match ast.borrow().object::() { Some(list) => { [INFO] [stdout] 886 | let mut alts = Vec::new(); [INFO] [stdout] ... [INFO] [stdout] 895 | ImlOp::Alt { alts } [INFO] [stdout] 896 ~ } _ => { match ast.borrow().object::() { Some(dict) => { [INFO] [stdout] 897 | traverse_node_rvalue(scope, dict, Rvalue::CallOrLoad) [INFO] [stdout] 898 ~ } _ => { [INFO] [stdout] 899 | unreachable!(); [INFO] [stdout] 900 ~ }}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/ast.rs:1274:28 [INFO] [stdout] | [INFO] [stdout] 1274 | if let Ok(value) = value.unary_op(parts[2]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler/ast.rs:1280:25 [INFO] [stdout] | [INFO] [stdout] 1280 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1274 ~ match value.unary_op(parts[2]) { Ok(value) => { [INFO] [stdout] 1275 | return ImlOp::load( [INFO] [stdout] ... [INFO] [stdout] 1279 | ); [INFO] [stdout] 1280 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/ast.rs:1342:36 [INFO] [stdout] | [INFO] [stdout] 1342 | ... if let Ok(value) = left.binary_op(right, parts[2]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler/ast.rs:1348:33 [INFO] [stdout] | [INFO] [stdout] 1348 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1342 ~ match left.binary_op(right, parts[2]) { Ok(value) => { [INFO] [stdout] 1343 | return ImlOp::load( [INFO] [stdout] ... [INFO] [stdout] 1347 | ); [INFO] [stdout] 1348 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/ast.rs:1672:12 [INFO] [stdout] | [INFO] [stdout] 1672 | if let Some(d) = value.object::() { [INFO] [stdout] | ^^^^^^^^^^^^^^-----^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 1718 | } else if let Some(l) = value.object::() { [INFO] [stdout] | ----- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler/ast.rs:1718:9 [INFO] [stdout] | [INFO] [stdout] 1718 | } else if let Some(l) = value.object::() { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler/ast.rs:1722:9 [INFO] [stdout] | [INFO] [stdout] 1722 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1672 ~ match value.object::() { Some(d) => { [INFO] [stdout] 1673 | let emit = d["emit"].to_string(); [INFO] [stdout] ... [INFO] [stdout] 1717 | } [INFO] [stdout] 1718 ~ } _ => { match value.object::() { Some(l) => { [INFO] [stdout] 1719 | for item in l.iter() { [INFO] [stdout] 1720 | print(item, indent); [INFO] [stdout] 1721 | } [INFO] [stdout] 1722 ~ } _ => {}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/ast.rs:1805:12 [INFO] [stdout] | [INFO] [stdout] 1805 | if let Some(d) = value.object::() { [INFO] [stdout] | ^^^^^^^^^^^^^^-----^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 1843 | } else if let Some(l) = value.object::() { [INFO] [stdout] | ----- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler/ast.rs:1843:9 [INFO] [stdout] | [INFO] [stdout] 1843 | } else if let Some(l) = value.object::() { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler/ast.rs:1866:9 [INFO] [stdout] | [INFO] [stdout] 1866 | } 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] 1805 ~ match value.object::() { Some(d) => { [INFO] [stdout] 1806 | let emit = d["emit"].to_string(); [INFO] [stdout] ... [INFO] [stdout] 1842 | ); [INFO] [stdout] 1843 ~ } _ => { match value.object::() { Some(l) => { [INFO] [stdout] 1844 | print!( [INFO] [stdout] ... [INFO] [stdout] 1865 | ); [INFO] [stdout] 1866 ~ } _ => { [INFO] [stdout] 1867 | assert!( [INFO] [stdout] ... [INFO] [stdout] 1874 | print!("{}", value.repr()); [INFO] [stdout] 1875 ~ }}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/compiler.rs:214:12 [INFO] [stdout] | [INFO] [stdout] 214 | if let Some(value) = statics.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/compiler/compiler.rs:217:9 [INFO] [stdout] | [INFO] [stdout] 217 | } 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] 214 ~ match statics.get(&value) { Some(value) => { [INFO] [stdout] 215 | log::trace!("value already known"); [INFO] [stdout] 216 | ImlValue::Value(value.clone()) [INFO] [stdout] 217 ~ } _ => { [INFO] [stdout] 218 | statics.insert(value.clone()); [INFO] [stdout] ... [INFO] [stdout] 221 | ImlValue::Value(value) [INFO] [stdout] 222 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/iml/imlprogram.rs:127:20 [INFO] [stdout] | [INFO] [stdout] 127 | if let Some(mut parselet) = parselet { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^-------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler/iml/imlprogram.rs:137:17 [INFO] [stdout] | [INFO] [stdout] 137 | } 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] 127 ~ match parselet { Some(mut parselet) => { [INFO] [stdout] 128 | if let ImlValue::Parselet(imlparselet) = iml { [INFO] [stdout] ... [INFO] [stdout] 136 | RefValue::from(parselet) [INFO] [stdout] 137 ~ } _ => { [INFO] [stdout] 138 | iml.unwrap() [INFO] [stdout] 139 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/iml/imlvalue.rs:186:33 [INFO] [stdout] | [INFO] [stdout] 186 | else if let Some(narg) = instance.nargs.shift_remove(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/compiler/iml/imlvalue.rs:188:25 [INFO] [stdout] | [INFO] [stdout] 188 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 186 ~ else { match instance.nargs.shift_remove(name) { Some(narg) => { [INFO] [stdout] 187 | (narg.0, Some(narg.1.resolve(scope))) [INFO] [stdout] 188 ~ } _ => { [INFO] [stdout] 189 | (instance.offset.clone(), default.clone()) [INFO] [stdout] 190 ~ }}}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/iml/imlvalue.rs:195:28 [INFO] [stdout] | [INFO] [stdout] 195 | if let (offset, Some(value)) = &arg { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler/iml/imlvalue.rs:215:25 [INFO] [stdout] | [INFO] [stdout] 215 | } 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] 195 ~ match &arg { (offset, Some(value)) => { [INFO] [stdout] 196 | if value.is_consuming() { [INFO] [stdout] ... [INFO] [stdout] 214 | } [INFO] [stdout] 215 ~ } _ => { [INFO] [stdout] 216 | scope.push_error( [INFO] [stdout] ... [INFO] [stdout] 219 | ); [INFO] [stdout] 220 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/iml/imlvalue.rs:385:12 [INFO] [stdout] | [INFO] [stdout] 385 | if let Some(op) = op { [INFO] [stdout] | ^^^^^^^^^^^^^^^-- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler/iml/imlvalue.rs:398:9 [INFO] [stdout] | [INFO] [stdout] 398 | } 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] 385 ~ match op { Some(op) => { [INFO] [stdout] 386 | ops.push(op); // Push the op [INFO] [stdout] ... [INFO] [stdout] 397 | } [INFO] [stdout] 398 ~ } _ => { [INFO] [stdout] 399 | // Register new static [INFO] [stdout] ... [INFO] [stdout] 427 | } [INFO] [stdout] 428 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] The following errors were reported: [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/error.rs:63:12 [INFO] [stdout] | [INFO] [stdout] 63 | if let Some(s) = value.object::() { [INFO] [stdout] | ^^^^^^^^^^^^^^-----^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/error.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 65 | } 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] 63 ~ match value.object::() { Some(s) => { [INFO] [stdout] 64 | msg.push_str(&format!(": '{}'", s)) [INFO] [stdout] 65 ~ } _ => { [INFO] [stdout] 66 | msg.push_str(&format!(": {}", value.repr())) [INFO] [stdout] 67 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/reader.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 52 | if let Ok(n) = self.reader.read_line(&mut self.buffer) { [INFO] [stdout] | ^^^^^^^^^^^^--------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/reader.rs:59:9 [INFO] [stdout] | [INFO] [stdout] 59 | } 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] 52 ~ match self.reader.read_line(&mut self.buffer) { Ok(n) => { [INFO] [stdout] 53 | if n == 0 { [INFO] [stdout] ... [INFO] [stdout] 58 | Some(n) [INFO] [stdout] 59 ~ } _ => { [INFO] [stdout] 60 | self.eof = true; [INFO] [stdout] 61 | None [INFO] [stdout] 62 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] --> src/value/mod.rs:64:7 [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/dict.rs:43:16 [INFO] [stdout] | [INFO] [stdout] 43 | if let Some(key) = key.object::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^---^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/dict.rs:64:13 [INFO] [stdout] | [INFO] [stdout] 64 | } 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] 43 ~ match key.object::() { Some(key) => { [INFO] [stdout] 44 | // check if identifier is allowed, otherwise put in "quotation marks" [INFO] [stdout] ... [INFO] [stdout] 63 | } [INFO] [stdout] 64 ~ } _ => { [INFO] [stdout] 65 | ret.push_str(&key.repr()); [INFO] [stdout] 66 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/dict.rs:109:12 [INFO] [stdout] | [INFO] [stdout] 109 | if let Some(dict) = dict.object::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^----^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/dict.rs:111:9 [INFO] [stdout] | [INFO] [stdout] 111 | } 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] 109 ~ match dict.object::() { Some(dict) => { [INFO] [stdout] 110 | Ok(RefValue::from(dict.len())) [INFO] [stdout] 111 ~ } _ => { [INFO] [stdout] 112 | Err(Error::from(format!( [INFO] [stdout] ... [INFO] [stdout] 117 | ))) [INFO] [stdout] 118 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 64 | ( $value:expr_2021 ) => { [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/dict.rs:124:12 [INFO] [stdout] | [INFO] [stdout] 124 | if let Some(dict) = dict.object::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^----^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/dict.rs:126:9 [INFO] [stdout] | [INFO] [stdout] 126 | } 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] 124 ~ match dict.object::() { Some(dict) => { [INFO] [stdout] 125 | Ok(RefValue::from(dict.clone())) [INFO] [stdout] 126 ~ } _ => { [INFO] [stdout] 127 | Err(Error::from(format!( [INFO] [stdout] ... [INFO] [stdout] 132 | ))) [INFO] [stdout] 133 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/dict.rs:150:12 [INFO] [stdout] | [INFO] [stdout] 150 | if let Some(dict) = dict.object::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^----^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/dict.rs:156:9 [INFO] [stdout] | [INFO] [stdout] 156 | } 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] 150 ~ match dict.object::() { Some(dict) => { [INFO] [stdout] 151 | if let Some((key, _)) = dict.get_index(index.to_usize()?) { [INFO] [stdout] ... [INFO] [stdout] 155 | } [INFO] [stdout] 156 ~ } _ => { [INFO] [stdout] 157 | Err(Error::from(format!( [INFO] [stdout] ... [INFO] [stdout] 162 | ))) [INFO] [stdout] 163 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/dict.rs:151:16 [INFO] [stdout] | [INFO] [stdout] 151 | if let Some((key, _)) = dict.get_index(index.to_usize()?) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/dict.rs:153:13 [INFO] [stdout] | [INFO] [stdout] 153 | } 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] 151 ~ match dict.get_index(index.to_usize()?) { Some((key, _)) => { [INFO] [stdout] 152 | Ok(key.clone()) [INFO] [stdout] 153 ~ } _ => { [INFO] [stdout] 154 | Ok(value!(void)) [INFO] [stdout] 155 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/dict.rs:180:12 [INFO] [stdout] | [INFO] [stdout] 180 | if let Some(dict) = dict.object::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^----^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/dict.rs:186:9 [INFO] [stdout] | [INFO] [stdout] 186 | } 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 ~ match dict.object::() { Some(dict) => { [INFO] [stdout] 181 | if let Some((key, value)) = dict.get_index(index.to_usize()?) { [INFO] [stdout] ... [INFO] [stdout] 185 | } [INFO] [stdout] 186 ~ } _ => { [INFO] [stdout] 187 | Err(Error::from(format!( [INFO] [stdout] ... [INFO] [stdout] 192 | ))) [INFO] [stdout] 193 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/dict.rs:181:16 [INFO] [stdout] | [INFO] [stdout] 181 | if let Some((key, value)) = dict.get_index(index.to_usize()?) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/dict.rs:183:13 [INFO] [stdout] | [INFO] [stdout] 183 | } 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] 181 ~ match dict.get_index(index.to_usize()?) { Some((key, value)) => { [INFO] [stdout] 182 | Ok(value!([(key.clone()), (value.clone())])) [INFO] [stdout] 183 ~ } _ => { [INFO] [stdout] 184 | Ok(value!(void)) [INFO] [stdout] 185 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/dict.rs:208:12 [INFO] [stdout] | [INFO] [stdout] 208 | if let Some(dict) = dict.object::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^----^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/dict.rs:224:9 [INFO] [stdout] | [INFO] [stdout] 224 | } 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] 208 ~ match dict.object::() { Some(dict) => { [INFO] [stdout] 209 | if let Some(item) = dict.get(&item) { [INFO] [stdout] ... [INFO] [stdout] 223 | } [INFO] [stdout] 224 ~ } _ => { [INFO] [stdout] 225 | Err(Error::from(format!( [INFO] [stdout] ... [INFO] [stdout] 230 | ))) [INFO] [stdout] 231 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/dict.rs:209:16 [INFO] [stdout] | [INFO] [stdout] 209 | if let Some(item) = dict.get(&item) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^----^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/dict.rs:211:13 [INFO] [stdout] | [INFO] [stdout] 211 | } 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] 209 ~ match dict.get(&item) { Some(item) => { [INFO] [stdout] 210 | Ok(item.clone()) [INFO] [stdout] 211 ~ } _ => { [INFO] [stdout] 212 | // In case index is an int that can be turned into an usize, [INFO] [stdout] ... [INFO] [stdout] 222 | Ok(default) [INFO] [stdout] 223 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: aborting due to 1 previous error [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/dict.rs:245:12 [INFO] [stdout] | [INFO] [stdout] 245 | if let Some(dict) = dict.object_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/value/dict.rs:253:9 [INFO] [stdout] | [INFO] [stdout] 253 | } 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] 245 ~ match dict.object_mut::() { Some(dict) => { [INFO] [stdout] 246 | if value.is_void() { [INFO] [stdout] ... [INFO] [stdout] 252 | } [INFO] [stdout] 253 ~ } _ => { [INFO] [stdout] 254 | Err(Error::from(format!( [INFO] [stdout] ... [INFO] [stdout] 259 | ))) [INFO] [stdout] 260 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/dict.rs:267:16 [INFO] [stdout] | [INFO] [stdout] 267 | if let Ok(other) = other.try_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/value/dict.rs:289:13 [INFO] [stdout] | [INFO] [stdout] 289 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 267 ~ match other.try_borrow() { Ok(other) => { [INFO] [stdout] 268 | if let Some(dict) = dict.object_mut::() { [INFO] [stdout] ... [INFO] [stdout] 288 | } [INFO] [stdout] 289 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/dict.rs:269:24 [INFO] [stdout] | [INFO] [stdout] 269 | if let Some(other) = other.object::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^-----^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/dict.rs:273:21 [INFO] [stdout] | [INFO] [stdout] 273 | } 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] 269 ~ match other.object::() { Some(other) => { [INFO] [stdout] 270 | for (k, v) in other.iter() { [INFO] [stdout] 271 | dict.insert(k.clone(), v.clone()); [INFO] [stdout] 272 | } [INFO] [stdout] 273 ~ } _ => { [INFO] [stdout] 274 | return Err(Error::from(format!( [INFO] [stdout] ... [INFO] [stdout] 279 | ))); [INFO] [stdout] 280 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Original diagnostics will follow. [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/dict.rs:299:19 [INFO] [stdout] | [INFO] [stdout] 299 | Ok(if let Some(old) = dict.insert(key, 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/value/dict.rs:301:13 [INFO] [stdout] | [INFO] [stdout] 301 | } 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] 299 ~ Ok(match dict.insert(key, value) { Some(old) => { [INFO] [stdout] 300 | old [INFO] [stdout] 301 ~ } _ => { [INFO] [stdout] 302 | value!(void) [INFO] [stdout] 303 ~ }}) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/dict.rs:319:30 [INFO] [stdout] | [INFO] [stdout] 319 | return Ok(if let Some(last) = dict.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/value/dict.rs:321:17 [INFO] [stdout] | [INFO] [stdout] 321 | } 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] 319 ~ return Ok(match dict.pop() { Some(last) => { [INFO] [stdout] 320 | last.1 [INFO] [stdout] 321 ~ } _ => { [INFO] [stdout] 322 | default [INFO] [stdout] 323 ~ }}); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/dict.rs:326:19 [INFO] [stdout] | [INFO] [stdout] 326 | Ok(if let Some(value) = dict.shift_remove(&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/value/dict.rs:328:13 [INFO] [stdout] | [INFO] [stdout] 328 | } 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] 326 ~ Ok(match dict.shift_remove(&key) { Some(value) => { [INFO] [stdout] 327 | value [INFO] [stdout] 328 ~ } _ => { [INFO] [stdout] 329 | default [INFO] [stdout] 330 ~ }}) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/iter/iter.rs:56:17 [INFO] [stdout] | [INFO] [stdout] 56 | else if let Ok(Some(iter)) = value.call_method("iter", context, 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/value/iter/iter.rs:58:9 [INFO] [stdout] | [INFO] [stdout] 58 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 56 ~ else { match value.call_method("iter", context, Vec::new()) { Ok(Some(iter)) => { [INFO] [stdout] 57 | Ok(iter) [INFO] [stdout] 58 ~ } _ => { [INFO] [stdout] 59 | Ok(RefValue::from(MethodIter::new(value))) [INFO] [stdout] 60 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/iter/iter.rs:68:12 [INFO] [stdout] | [INFO] [stdout] 68 | if let Some(iter) = iter.object_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/value/iter/iter.rs:74:9 [INFO] [stdout] | [INFO] [stdout] 74 | } 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] 68 ~ match iter.object_mut::() { Some(iter) => { [INFO] [stdout] 69 | Ok(RefValue::from( [INFO] [stdout] ... [INFO] [stdout] 73 | )) [INFO] [stdout] 74 ~ } _ => { [INFO] [stdout] 75 | Err(Error::from(format!( [INFO] [stdout] ... [INFO] [stdout] 80 | ))) [INFO] [stdout] 81 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/iter/iter.rs:88:16 [INFO] [stdout] | [INFO] [stdout] 88 | if let Some(iter) = iter.object_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/value/iter/iter.rs:90:13 [INFO] [stdout] | [INFO] [stdout] 90 | } 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] 88 ~ match iter.object_mut::() { Some(iter) => { [INFO] [stdout] 89 | iter.count() [INFO] [stdout] 90 ~ } _ => { [INFO] [stdout] 91 | 1 [INFO] [stdout] 92 ~ }}, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/iter/iter.rs:100:16 [INFO] [stdout] | [INFO] [stdout] 100 | if let Some(iter) = iter.object_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/value/iter/iter.rs:102:13 [INFO] [stdout] | [INFO] [stdout] 102 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 100 ~ match iter.object_mut::() { Some(iter) => { [INFO] [stdout] 101 | iter.iter.rev()?; [INFO] [stdout] 102 ~ } _ => { [INFO] [stdout] 103 | return Err(Error::from(format!( [INFO] [stdout] ... [INFO] [stdout] 108 | ))); [INFO] [stdout] 109 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/iter/iter.rs:118:12 [INFO] [stdout] | [INFO] [stdout] 118 | if let Some(iter) = iter.object_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/value/iter/iter.rs:127:9 [INFO] [stdout] | [INFO] [stdout] 127 | } 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] 118 ~ match iter.object_mut::() { Some(iter) => { [INFO] [stdout] 119 | let mut context = context; [INFO] [stdout] ... [INFO] [stdout] 126 | Ok(RefValue::from(list)) [INFO] [stdout] 127 ~ } _ => { [INFO] [stdout] 128 | return Err(Error::from(format!( [INFO] [stdout] ... [INFO] [stdout] 133 | ))); [INFO] [stdout] 134 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/iter/iter.rs:122:19 [INFO] [stdout] | [INFO] [stdout] 122 | while let Some(item) = iter.iter.next(context.as_deref_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/value/iter/iter.rs:124:13 [INFO] [stdout] | [INFO] [stdout] 124 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/iter/mapiter.rs:39:15 [INFO] [stdout] | [INFO] [stdout] 39 | while let Some(next) = { [INFO] [stdout] | _______________^ - [INFO] [stdout] | |________________________________| [INFO] [stdout] 40 | || let mut iter = self.iter.borrow_mut(); [INFO] [stdout] 41 | || let iter = iter.object_mut::().expect("Iter object expected"); [INFO] [stdout] 42 | || iter.iter.next(context.as_deref_mut()) [INFO] [stdout] 43 | || } { [INFO] [stdout] | ||_________^ 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/value/iter/mapiter.rs:54:9 [INFO] [stdout] | [INFO] [stdout] 54 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/iter/methoditer.rs:71:12 [INFO] [stdout] | [INFO] [stdout] 71 | if let Some(index) = &self.index { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/iter/methoditer.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 79 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 71 ~ match &self.index { Some(index) => { [INFO] [stdout] 72 | format!( [INFO] [stdout] ... [INFO] [stdout] 78 | ) [INFO] [stdout] 79 ~ } _ => { [INFO] [stdout] 80 | format!( [INFO] [stdout] ... [INFO] [stdout] 85 | ) [INFO] [stdout] 86 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/list.rs:90:30 [INFO] [stdout] | [INFO] [stdout] 90 | Ok(RefValue::from(if let Some(list) = list.object::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^----^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/list.rs:92:9 [INFO] [stdout] | [INFO] [stdout] 92 | } 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] 90 ~ Ok(RefValue::from(match list.object::() { Some(list) => { [INFO] [stdout] 91 | list.len() [INFO] [stdout] 92 ~ } _ => { [INFO] [stdout] 93 | 1 [INFO] [stdout] 94 ~ }})) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/list.rs:106:16 [INFO] [stdout] | [INFO] [stdout] 106 | if let Some(value) = list.object::().unwrap().get(item) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/list.rs:108:13 [INFO] [stdout] | [INFO] [stdout] 108 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 106 ~ match list.object::().unwrap().get(item) { Some(value) => { [INFO] [stdout] 107 | return Ok(value.clone()); [INFO] [stdout] 108 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/list.rs:148:20 [INFO] [stdout] | [INFO] [stdout] 148 | if let Some(list) = item.borrow().object::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^-------------^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/list.rs:152:17 [INFO] [stdout] | [INFO] [stdout] 152 | } 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] 148 ~ match item.borrow().object::() { Some(list) => { [INFO] [stdout] 149 | for item in list.iter() { [INFO] [stdout] 150 | ret.push(item.clone()); [INFO] [stdout] 151 | } [INFO] [stdout] 152 ~ } _ => { [INFO] [stdout] 153 | ret.push(item.clone()); [INFO] [stdout] 154 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/list.rs:180:16 [INFO] [stdout] | [INFO] [stdout] 180 | if let Some(append) = to_append.object::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^---------^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/list.rs:187:13 [INFO] [stdout] | [INFO] [stdout] 187 | } 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 ~ match to_append.object::() { Some(append) => { [INFO] [stdout] 181 | inner.reserve(append.len()); [INFO] [stdout] ... [INFO] [stdout] 186 | // Otherwise, just push append to the list. [INFO] [stdout] 187 ~ } _ => { [INFO] [stdout] 188 | inner.push(append.clone()); [INFO] [stdout] 189 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/list.rs:215:12 [INFO] [stdout] | [INFO] [stdout] 215 | if let Some(append) = append.borrow().object::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^---------------^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/list.rs:222:9 [INFO] [stdout] | [INFO] [stdout] 222 | } 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 ~ match append.borrow().object::() { Some(append) => { [INFO] [stdout] 216 | list.reserve(append.len()); [INFO] [stdout] ... [INFO] [stdout] 221 | // Otherwise, just push append to the list. [INFO] [stdout] 222 ~ } _ => { [INFO] [stdout] 223 | list.push(append.clone()); [INFO] [stdout] 224 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/parselet.rs:94:16 [INFO] [stdout] | [INFO] [stdout] 94 | if let Some((reader_end, result)) = thread.memo.get(&(reader_start.offset, id)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/parselet.rs:97:13 [INFO] [stdout] | [INFO] [stdout] 97 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 94 ~ match thread.memo.get(&(reader_start.offset, id)) { Some((reader_end, result)) => { [INFO] [stdout] 95 | thread.reader.reset(*reader_end); [INFO] [stdout] 96 | return result.clone(); [INFO] [stdout] 97 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/parselet.rs:148:24 [INFO] [stdout] | [INFO] [stdout] 148 | if let Some(value) = nargs.remove_str(&arg.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/value/parselet.rs:151:21 [INFO] [stdout] | [INFO] [stdout] 151 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 148 ~ match nargs.remove_str(&arg.0) { Some(value) => { [INFO] [stdout] 149 | *var = Capture::Value(value, None, 0); [INFO] [stdout] 150 | continue; [INFO] [stdout] 151 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/parselet.rs:173:16 [INFO] [stdout] | [INFO] [stdout] 173 | if let Some((name, _)) = nargs.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/value/parselet.rs:188:13 [INFO] [stdout] | [INFO] [stdout] 188 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 173 ~ match nargs.pop() { Some((name, _)) => { [INFO] [stdout] 174 | return Err(match nargs.len() { [INFO] [stdout] ... [INFO] [stdout] 187 | .into(); [INFO] [stdout] 188 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/refvalue.rs:118:20 [INFO] [stdout] | [INFO] [stdout] 118 | if let Ok(that) = operand.try_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/value/refvalue.rs:165:17 [INFO] [stdout] | [INFO] [stdout] 165 | } 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] 118 ~ match operand.try_borrow() { Ok(that) => { [INFO] [stdout] 119 | match (&mut *this, &*that) { [INFO] [stdout] ... [INFO] [stdout] 164 | } [INFO] [stdout] 165 ~ } _ => { [INFO] [stdout] 166 | None [INFO] [stdout] 167 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/str.rs:129:12 [INFO] [stdout] | [INFO] [stdout] 129 | if let Some(append) = append.borrow().object::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^---------------^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/str.rs:131:9 [INFO] [stdout] | [INFO] [stdout] 131 | } 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] 129 ~ match append.borrow().object::() { Some(append) => { [INFO] [stdout] 130 | string.push_str(append.as_str()); [INFO] [stdout] 131 ~ } _ => { [INFO] [stdout] 132 | string.push_str(&append.to_string()); // todo: this might me done more memory saving [INFO] [stdout] 133 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/str.rs:148:15 [INFO] [stdout] | [INFO] [stdout] 148 | Ok(if let Some(postfix) = postfix.object::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^-------^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/str.rs:150:9 [INFO] [stdout] | [INFO] [stdout] 150 | } 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] 148 ~ Ok(match postfix.object::() { Some(postfix) => { [INFO] [stdout] 149 | value!(string.ends_with(postfix.as_str())) [INFO] [stdout] 150 ~ } _ => { [INFO] [stdout] 151 | value!(string.ends_with(&postfix.to_string())) [INFO] [stdout] 152 ~ }}) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/str.rs:246:15 [INFO] [stdout] | [INFO] [stdout] 246 | Ok(if let Some(prefix) = prefix.object::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/str.rs:248:9 [INFO] [stdout] | [INFO] [stdout] 248 | } 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] 246 ~ Ok(match prefix.object::() { Some(prefix) => { [INFO] [stdout] 247 | value!(string.starts_with(prefix.as_str())) [INFO] [stdout] 248 ~ } _ => { [INFO] [stdout] 249 | value!(string.starts_with(&prefix.to_string())) [INFO] [stdout] 250 ~ }}) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/value.rs:49:16 [INFO] [stdout] | [INFO] [stdout] 49 | if let Ok(inner) = o.into_any().downcast::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^---------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/value.rs:51:13 [INFO] [stdout] | [INFO] [stdout] 51 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 49 ~ match o.into_any().downcast::() { Ok(inner) => { [INFO] [stdout] 50 | return Some(*inner); [INFO] [stdout] 51 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/value.rs:60:12 [INFO] [stdout] | [INFO] [stdout] 60 | if let Ok(value) = value.to_bigint() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^-----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/value.rs:62:9 [INFO] [stdout] | [INFO] [stdout] 62 | } 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] 60 ~ match value.to_bigint() { Ok(value) => { [INFO] [stdout] 61 | Ok(RefValue::from(value)) [INFO] [stdout] 62 ~ } _ => { [INFO] [stdout] 63 | Err(Error::from(format!( [INFO] [stdout] ... [INFO] [stdout] 66 | ))) [INFO] [stdout] 67 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/value.rs:70:12 [INFO] [stdout] | [INFO] [stdout] 70 | if let Ok(value) = value.to_f64() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^-----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/value.rs:72:9 [INFO] [stdout] | [INFO] [stdout] 72 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 70 ~ match value.to_f64() { Ok(value) => { [INFO] [stdout] 71 | Ok(RefValue::from(value)) [INFO] [stdout] 72 ~ } _ => { [INFO] [stdout] 73 | Err(Error::from(format!( [INFO] [stdout] ... [INFO] [stdout] 76 | ))) [INFO] [stdout] 77 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm/capture.rs:23:24 [INFO] [stdout] | [INFO] [stdout] 23 | if let Some(alias) = alias.object::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^-----^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/vm/capture.rs:25:21 [INFO] [stdout] | [INFO] [stdout] 25 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 23 ~ match alias.object::() { Some(alias) => { [INFO] [stdout] 24 | return alias.as_str() == name; [INFO] [stdout] 25 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm/capture.rs:99:20 [INFO] [stdout] | [INFO] [stdout] 99 | if let Ok(value) = value.try_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/vm/capture.rs:101:17 [INFO] [stdout] | [INFO] [stdout] 101 | } 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] 99 ~ match value.try_borrow() { Ok(value) => { [INFO] [stdout] 100 | write!(f, "[{:x?}] {} ({})", value.id(), value.repr(), severity) [INFO] [stdout] 101 ~ } _ => { [INFO] [stdout] 102 | write!(f, " ({})", severity) [INFO] [stdout] 103 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm/context.rs:335:24 [INFO] [stdout] | [INFO] [stdout] 335 | if let Some(alias) = alias { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/vm/context.rs:344:21 [INFO] [stdout] | [INFO] [stdout] 344 | } 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] 335 ~ match alias { Some(alias) => { [INFO] [stdout] 336 | // Move list items into dict when this is the first entry [INFO] [stdout] ... [INFO] [stdout] 343 | dict.insert(RefValue::from(alias), value); [INFO] [stdout] 344 ~ } _ => { [INFO] [stdout] 345 | // Eiher collect into list, or insert into the dict [INFO] [stdout] ... [INFO] [stdout] 350 | } [INFO] [stdout] 351 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm/context.rs:365:24 [INFO] [stdout] | [INFO] [stdout] 365 | if let Some(alias) = alias { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/vm/context.rs:382:21 [INFO] [stdout] | [INFO] [stdout] 382 | } else if !value.is_void() { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 365 ~ match alias { Some(alias) => { [INFO] [stdout] 366 | // Move list items into dict when this is the first entry [INFO] [stdout] ... [INFO] [stdout] 381 | ); [INFO] [stdout] 382 ~ } _ => if !value.is_void() { [INFO] [stdout] 383 | // Eiher collect into list, or insert into the dict [INFO] [stdout] ... [INFO] [stdout] 388 | } [INFO] [stdout] 389 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm/context.rs:436:20 [INFO] [stdout] | [INFO] [stdout] 436 | if let Capture::Value(value, ..) = &mut self.var { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/vm/context.rs:443:17 [INFO] [stdout] | [INFO] [stdout] 443 | } else if self.stack.len() > self.frame.capture_start { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 436 ~ match &mut self.var { Capture::Value(value, ..) => { [INFO] [stdout] 437 | state = Ok(Accept::Push(Capture::Value( [INFO] [stdout] ... [INFO] [stdout] 442 | // Otherwise, push last value [INFO] [stdout] 443 ~ } _ => if self.stack.len() > self.frame.capture_start { [INFO] [stdout] 444 | state = [INFO] [stdout] 445 | Ok(Accept::Push(self.stack.pop().unwrap()) [INFO] [stdout] 446 | .into_push(self.parselet.severity)); [INFO] [stdout] 447 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm/op.rs:301:27 [INFO] [stdout] | [INFO] [stdout] 301 | Ok(if let Some(value) = 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/vm/op.rs:303:21 [INFO] [stdout] | [INFO] [stdout] 303 | } 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] 301 ~ Ok(match value { Some(value) => { [INFO] [stdout] 302 | Accept::Push(Capture::Value(value, None, 10)) [INFO] [stdout] 303 ~ } _ => { [INFO] [stdout] 304 | context.stack.push(Capture::Empty); [INFO] [stdout] 305 | Accept::Hold [INFO] [stdout] 306 ~ }}) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm/op.rs:436:24 [INFO] [stdout] | [INFO] [stdout] 436 | if let Some(nargs) = nargs.into_object::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^--------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/vm/op.rs:438:21 [INFO] [stdout] | [INFO] [stdout] 438 | } 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] 436 ~ match nargs.into_object::() { Some(nargs) => { [INFO] [stdout] 437 | target.call_direct(context, *args, Some(nargs)) [INFO] [stdout] 438 ~ } _ => { [INFO] [stdout] 439 | panic!("nargs operand required to be dict") [INFO] [stdout] 440 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm/op.rs:459:24 [INFO] [stdout] | [INFO] [stdout] 459 | if let Some(nargs) = nargs.into_object::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^--------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/vm/op.rs:465:21 [INFO] [stdout] | [INFO] [stdout] 465 | } 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] 459 ~ match nargs.into_object::() { Some(nargs) => { [INFO] [stdout] 460 | context.thread.program.statics[addr_args.0].call_direct( [INFO] [stdout] ... [INFO] [stdout] 464 | ) [INFO] [stdout] 465 ~ } _ => { [INFO] [stdout] 466 | panic!("nargs operand required to be dict") [INFO] [stdout] 467 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm/op.rs:498:42 [INFO] [stdout] | [INFO] [stdout] 498 | let mut capture = if let Some(alias) = index.object::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^-----^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/vm/op.rs:502:21 [INFO] [stdout] | [INFO] [stdout] 502 | } 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] 498 ~ let mut capture = match index.object::() { Some(alias) => { [INFO] [stdout] 499 | context [INFO] [stdout] 500 | .get_capture_by_name(alias.as_str()) [INFO] [stdout] 501 | .unwrap_or(Capture::Empty) [INFO] [stdout] 502 ~ } _ => { [INFO] [stdout] 503 | context [INFO] [stdout] 504 | .get_capture(index.to_usize()?) [INFO] [stdout] 505 | .unwrap_or(Capture::Empty) [INFO] [stdout] 506 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm/op.rs:582:24 [INFO] [stdout] | [INFO] [stdout] 582 | if let Some(alias) = index.object::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^-----^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/vm/op.rs:592:21 [INFO] [stdout] | [INFO] [stdout] 592 | } 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] 582 ~ match index.object::() { Some(alias) => { [INFO] [stdout] 583 | if matches!(op, Op::StoreCapture) { [INFO] [stdout] ... [INFO] [stdout] 591 | } [INFO] [stdout] 592 ~ } _ => { [INFO] [stdout] 593 | if matches!(op, Op::StoreCapture) { [INFO] [stdout] ... [INFO] [stdout] 601 | } [INFO] [stdout] 602 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm/program.rs:27:16 [INFO] [stdout] | [INFO] [stdout] 27 | if let Some(parselet) = self.statics[i].borrow().object::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^------------------------^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/vm/program.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 27 ~ match self.statics[i].borrow().object::() { Some(parselet) => { [INFO] [stdout] 28 | return parselet.clone(); [INFO] [stdout] 29 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm/program.rs:56:19 [INFO] [stdout] | [INFO] [stdout] 56 | } else if let Ok(file) = File::open(filename) { [INFO] [stdout] | ^^^^^^^^^^^^^^^-------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/vm/program.rs:58:9 [INFO] [stdout] | [INFO] [stdout] 58 | } 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] 56 ~ } else { match File::open(filename) { Ok(file) => { [INFO] [stdout] 57 | self.run_from_reader(Reader::new(Some(filename.to_string()), Box::new(file))) [INFO] [stdout] 58 ~ } _ => { [INFO] [stdout] 59 | Err(Error::new( [INFO] [stdout] ... [INFO] [stdout] 62 | )) [INFO] [stdout] 63 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 67 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `tokay` [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/value/mod.rs:64:14 [INFO] [stdout] | [INFO] [stdout] 64 | ( $value: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] 64 | ( $value:expr_2021 ) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/value/mod.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/value/mod.rs:64:7 [INFO] [stderr] | [INFO] [stderr] 64 | ( $value: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 1 previous error [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: call to deprecated safe function `std::env::set_var` is unsafe and requires unsafe block [INFO] [stdout] --> src/compiler/compiler.rs:190:13 [INFO] [stdout] | [INFO] [stdout] 190 | std::env::set_var("RUST_LOG", log.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [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 #27970 [INFO] [stdout] = note: `--force-warn deprecated-safe-2024` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: you can wrap the call in an `unsafe` block if you can guarantee that the environment access only happens in single-threaded code [INFO] [stdout] | [INFO] [stdout] 190 + // TODO: Audit that the environment access only happens in single-threaded code. [INFO] [stdout] 191 ~ unsafe { std::env::set_var("RUST_LOG", log.clone()) }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/builtin/mod.rs:162:12 [INFO] [stdout] | [INFO] [stdout] 162 | if let Some(mut capture) = context.get_capture(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/builtin/mod.rs:165:9 [INFO] [stdout] | [INFO] [stdout] 165 | } [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] 162 ~ match context.get_capture(0) { Some(mut capture) => { [INFO] [stdout] 163 | let value = capture.extract(context.thread.reader); [INFO] [stdout] 164 | print!("{}", value.to_string()); [INFO] [stdout] 165 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/ast.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 26 | if let Some(list) = ast.borrow().object::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^------------^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 34 | } else if let Some(dict) = ast.borrow().object::() { [INFO] [stdout] | ------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler/ast.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | } else if let Some(dict) = ast.borrow().object::() { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler/ast.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 26 ~ match ast.borrow().object::() { Some(list) => { [INFO] [stdout] 27 | let mut ops = Vec::new(); [INFO] [stdout] ... [INFO] [stdout] 33 | ImlOp::from(ops) [INFO] [stdout] 34 ~ } _ => { match ast.borrow().object::() { Some(dict) => { [INFO] [stdout] 35 | traverse_node_rvalue(scope, dict, Rvalue::CallOrLoad) [INFO] [stdout] 36 ~ } _ => { [INFO] [stdout] 37 | ImlOp::load(scope, None, ImlValue::from(RefValue::from(ast.clone()))) [INFO] [stdout] 38 ~ }}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/ast.rs:844:16 [INFO] [stdout] | [INFO] [stdout] 844 | if let ScopeLevel::Parselet(parselet) = &scope.level { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler/ast.rs:871:13 [INFO] [stdout] | [INFO] [stdout] 871 | } 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] 844 ~ match &scope.level { ScopeLevel::Parselet(parselet) => { [INFO] [stdout] 845 | let parselet = parselet.borrow(); [INFO] [stdout] ... [INFO] [stdout] 870 | } [INFO] [stdout] 871 ~ } _ => { [INFO] [stdout] 872 | scope.push_error( [INFO] [stdout] ... [INFO] [stdout] 875 | ); [INFO] [stdout] 876 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/ast.rs:885:24 [INFO] [stdout] | [INFO] [stdout] 885 | if let Some(list) = ast.borrow().object::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^------------^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 896 | } else if let Some(dict) = ast.borrow().object::() { [INFO] [stdout] | ------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler/ast.rs:896:21 [INFO] [stdout] | [INFO] [stdout] 896 | } else if let Some(dict) = ast.borrow().object::() { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler/ast.rs:898:21 [INFO] [stdout] | [INFO] [stdout] 898 | } 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] 885 ~ match ast.borrow().object::() { Some(list) => { [INFO] [stdout] 886 | let mut alts = Vec::new(); [INFO] [stdout] ... [INFO] [stdout] 895 | ImlOp::Alt { alts } [INFO] [stdout] 896 ~ } _ => { match ast.borrow().object::() { Some(dict) => { [INFO] [stdout] 897 | traverse_node_rvalue(scope, dict, Rvalue::CallOrLoad) [INFO] [stdout] 898 ~ } _ => { [INFO] [stdout] 899 | unreachable!(); [INFO] [stdout] 900 ~ }}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/ast.rs:1274:28 [INFO] [stdout] | [INFO] [stdout] 1274 | if let Ok(value) = value.unary_op(parts[2]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler/ast.rs:1280:25 [INFO] [stdout] | [INFO] [stdout] 1280 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1274 ~ match value.unary_op(parts[2]) { Ok(value) => { [INFO] [stdout] 1275 | return ImlOp::load( [INFO] [stdout] ... [INFO] [stdout] 1279 | ); [INFO] [stdout] 1280 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/ast.rs:1342:36 [INFO] [stdout] | [INFO] [stdout] 1342 | ... if let Ok(value) = left.binary_op(right, parts[2]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler/ast.rs:1348:33 [INFO] [stdout] | [INFO] [stdout] 1348 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1342 ~ match left.binary_op(right, parts[2]) { Ok(value) => { [INFO] [stdout] 1343 | return ImlOp::load( [INFO] [stdout] ... [INFO] [stdout] 1347 | ); [INFO] [stdout] 1348 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/ast.rs:1672:12 [INFO] [stdout] | [INFO] [stdout] 1672 | if let Some(d) = value.object::() { [INFO] [stdout] | ^^^^^^^^^^^^^^-----^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 1718 | } else if let Some(l) = value.object::() { [INFO] [stdout] | ----- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler/ast.rs:1718:9 [INFO] [stdout] | [INFO] [stdout] 1718 | } else if let Some(l) = value.object::() { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler/ast.rs:1722:9 [INFO] [stdout] | [INFO] [stdout] 1722 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1672 ~ match value.object::() { Some(d) => { [INFO] [stdout] 1673 | let emit = d["emit"].to_string(); [INFO] [stdout] ... [INFO] [stdout] 1717 | } [INFO] [stdout] 1718 ~ } _ => { match value.object::() { Some(l) => { [INFO] [stdout] 1719 | for item in l.iter() { [INFO] [stdout] 1720 | print(item, indent); [INFO] [stdout] 1721 | } [INFO] [stdout] 1722 ~ } _ => {}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/ast.rs:1805:12 [INFO] [stdout] | [INFO] [stdout] 1805 | if let Some(d) = value.object::() { [INFO] [stdout] | ^^^^^^^^^^^^^^-----^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 1843 | } else if let Some(l) = value.object::() { [INFO] [stdout] | ----- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler/ast.rs:1843:9 [INFO] [stdout] | [INFO] [stdout] 1843 | } else if let Some(l) = value.object::() { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler/ast.rs:1866:9 [INFO] [stdout] | [INFO] [stdout] 1866 | } 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] 1805 ~ match value.object::() { Some(d) => { [INFO] [stdout] 1806 | let emit = d["emit"].to_string(); [INFO] [stdout] ... [INFO] [stdout] 1842 | ); [INFO] [stdout] 1843 ~ } _ => { match value.object::() { Some(l) => { [INFO] [stdout] 1844 | print!( [INFO] [stdout] ... [INFO] [stdout] 1865 | ); [INFO] [stdout] 1866 ~ } _ => { [INFO] [stdout] 1867 | assert!( [INFO] [stdout] ... [INFO] [stdout] 1874 | print!("{}", value.repr()); [INFO] [stdout] 1875 ~ }}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/compiler.rs:214:12 [INFO] [stdout] | [INFO] [stdout] 214 | if let Some(value) = statics.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/compiler/compiler.rs:217:9 [INFO] [stdout] | [INFO] [stdout] 217 | } 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] 214 ~ match statics.get(&value) { Some(value) => { [INFO] [stdout] 215 | log::trace!("value already known"); [INFO] [stdout] 216 | ImlValue::Value(value.clone()) [INFO] [stdout] 217 ~ } _ => { [INFO] [stdout] 218 | statics.insert(value.clone()); [INFO] [stdout] ... [INFO] [stdout] 221 | ImlValue::Value(value) [INFO] [stdout] 222 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/iml/imlprogram.rs:127:20 [INFO] [stdout] | [INFO] [stdout] 127 | if let Some(mut parselet) = parselet { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^-------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler/iml/imlprogram.rs:137:17 [INFO] [stdout] | [INFO] [stdout] 137 | } 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] 127 ~ match parselet { Some(mut parselet) => { [INFO] [stdout] 128 | if let ImlValue::Parselet(imlparselet) = iml { [INFO] [stdout] ... [INFO] [stdout] 136 | RefValue::from(parselet) [INFO] [stdout] 137 ~ } _ => { [INFO] [stdout] 138 | iml.unwrap() [INFO] [stdout] 139 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/iml/imlvalue.rs:186:33 [INFO] [stdout] | [INFO] [stdout] 186 | else if let Some(narg) = instance.nargs.shift_remove(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/compiler/iml/imlvalue.rs:188:25 [INFO] [stdout] | [INFO] [stdout] 188 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 186 ~ else { match instance.nargs.shift_remove(name) { Some(narg) => { [INFO] [stdout] 187 | (narg.0, Some(narg.1.resolve(scope))) [INFO] [stdout] 188 ~ } _ => { [INFO] [stdout] 189 | (instance.offset.clone(), default.clone()) [INFO] [stdout] 190 ~ }}}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/iml/imlvalue.rs:195:28 [INFO] [stdout] | [INFO] [stdout] 195 | if let (offset, Some(value)) = &arg { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler/iml/imlvalue.rs:215:25 [INFO] [stdout] | [INFO] [stdout] 215 | } 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] 195 ~ match &arg { (offset, Some(value)) => { [INFO] [stdout] 196 | if value.is_consuming() { [INFO] [stdout] ... [INFO] [stdout] 214 | } [INFO] [stdout] 215 ~ } _ => { [INFO] [stdout] 216 | scope.push_error( [INFO] [stdout] ... [INFO] [stdout] 219 | ); [INFO] [stdout] 220 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/iml/imlvalue.rs:385:12 [INFO] [stdout] | [INFO] [stdout] 385 | if let Some(op) = op { [INFO] [stdout] | ^^^^^^^^^^^^^^^-- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler/iml/imlvalue.rs:398:9 [INFO] [stdout] | [INFO] [stdout] 398 | } 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] 385 ~ match op { Some(op) => { [INFO] [stdout] 386 | ops.push(op); // Push the op [INFO] [stdout] ... [INFO] [stdout] 397 | } [INFO] [stdout] 398 ~ } _ => { [INFO] [stdout] 399 | // Register new static [INFO] [stdout] ... [INFO] [stdout] 427 | } [INFO] [stdout] 428 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/error.rs:63:12 [INFO] [stdout] | [INFO] [stdout] 63 | if let Some(s) = value.object::() { [INFO] [stdout] | ^^^^^^^^^^^^^^-----^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/error.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 65 | } 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] 63 ~ match value.object::() { Some(s) => { [INFO] [stdout] 64 | msg.push_str(&format!(": '{}'", s)) [INFO] [stdout] 65 ~ } _ => { [INFO] [stdout] 66 | msg.push_str(&format!(": {}", value.repr())) [INFO] [stdout] 67 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/reader.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 52 | if let Ok(n) = self.reader.read_line(&mut self.buffer) { [INFO] [stdout] | ^^^^^^^^^^^^--------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/reader.rs:59:9 [INFO] [stdout] | [INFO] [stdout] 59 | } 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] 52 ~ match self.reader.read_line(&mut self.buffer) { Ok(n) => { [INFO] [stdout] 53 | if n == 0 { [INFO] [stdout] ... [INFO] [stdout] 58 | Some(n) [INFO] [stdout] 59 ~ } _ => { [INFO] [stdout] 60 | self.eof = true; [INFO] [stdout] 61 | None [INFO] [stdout] 62 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/dict.rs:43:16 [INFO] [stdout] | [INFO] [stdout] 43 | if let Some(key) = key.object::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^---^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/dict.rs:64:13 [INFO] [stdout] | [INFO] [stdout] 64 | } 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] 43 ~ match key.object::() { Some(key) => { [INFO] [stdout] 44 | // check if identifier is allowed, otherwise put in "quotation marks" [INFO] [stdout] ... [INFO] [stdout] 63 | } [INFO] [stdout] 64 ~ } _ => { [INFO] [stdout] 65 | ret.push_str(&key.repr()); [INFO] [stdout] 66 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/dict.rs:109:12 [INFO] [stdout] | [INFO] [stdout] 109 | if let Some(dict) = dict.object::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^----^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/dict.rs:111:9 [INFO] [stdout] | [INFO] [stdout] 111 | } 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] 109 ~ match dict.object::() { Some(dict) => { [INFO] [stdout] 110 | Ok(RefValue::from(dict.len())) [INFO] [stdout] 111 ~ } _ => { [INFO] [stdout] 112 | Err(Error::from(format!( [INFO] [stdout] ... [INFO] [stdout] 117 | ))) [INFO] [stdout] 118 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/dict.rs:124:12 [INFO] [stdout] | [INFO] [stdout] 124 | if let Some(dict) = dict.object::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^----^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/dict.rs:126:9 [INFO] [stdout] | [INFO] [stdout] 126 | } 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] 124 ~ match dict.object::() { Some(dict) => { [INFO] [stdout] 125 | Ok(RefValue::from(dict.clone())) [INFO] [stdout] 126 ~ } _ => { [INFO] [stdout] 127 | Err(Error::from(format!( [INFO] [stdout] ... [INFO] [stdout] 132 | ))) [INFO] [stdout] 133 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/dict.rs:150:12 [INFO] [stdout] | [INFO] [stdout] 150 | if let Some(dict) = dict.object::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^----^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/dict.rs:156:9 [INFO] [stdout] | [INFO] [stdout] 156 | } 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] 150 ~ match dict.object::() { Some(dict) => { [INFO] [stdout] 151 | if let Some((key, _)) = dict.get_index(index.to_usize()?) { [INFO] [stdout] ... [INFO] [stdout] 155 | } [INFO] [stdout] 156 ~ } _ => { [INFO] [stdout] 157 | Err(Error::from(format!( [INFO] [stdout] ... [INFO] [stdout] 162 | ))) [INFO] [stdout] 163 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/dict.rs:151:16 [INFO] [stdout] | [INFO] [stdout] 151 | if let Some((key, _)) = dict.get_index(index.to_usize()?) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/dict.rs:153:13 [INFO] [stdout] | [INFO] [stdout] 153 | } 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] 151 ~ match dict.get_index(index.to_usize()?) { Some((key, _)) => { [INFO] [stdout] 152 | Ok(key.clone()) [INFO] [stdout] 153 ~ } _ => { [INFO] [stdout] 154 | Ok(value!(void)) [INFO] [stdout] 155 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/dict.rs:180:12 [INFO] [stdout] | [INFO] [stdout] 180 | if let Some(dict) = dict.object::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^----^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/dict.rs:186:9 [INFO] [stdout] | [INFO] [stdout] 186 | } 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 ~ match dict.object::() { Some(dict) => { [INFO] [stdout] 181 | if let Some((key, value)) = dict.get_index(index.to_usize()?) { [INFO] [stdout] ... [INFO] [stdout] 185 | } [INFO] [stdout] 186 ~ } _ => { [INFO] [stdout] 187 | Err(Error::from(format!( [INFO] [stdout] ... [INFO] [stdout] 192 | ))) [INFO] [stdout] 193 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/dict.rs:181:16 [INFO] [stdout] | [INFO] [stdout] 181 | if let Some((key, value)) = dict.get_index(index.to_usize()?) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/dict.rs:183:13 [INFO] [stdout] | [INFO] [stdout] 183 | } 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] 181 ~ match dict.get_index(index.to_usize()?) { Some((key, value)) => { [INFO] [stdout] 182 | Ok(value!([(key.clone()), (value.clone())])) [INFO] [stdout] 183 ~ } _ => { [INFO] [stdout] 184 | Ok(value!(void)) [INFO] [stdout] 185 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/dict.rs:208:12 [INFO] [stdout] | [INFO] [stdout] 208 | if let Some(dict) = dict.object::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^----^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/dict.rs:224:9 [INFO] [stdout] | [INFO] [stdout] 224 | } 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] 208 ~ match dict.object::() { Some(dict) => { [INFO] [stdout] 209 | if let Some(item) = dict.get(&item) { [INFO] [stdout] ... [INFO] [stdout] 223 | } [INFO] [stdout] 224 ~ } _ => { [INFO] [stdout] 225 | Err(Error::from(format!( [INFO] [stdout] ... [INFO] [stdout] 230 | ))) [INFO] [stdout] 231 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/dict.rs:209:16 [INFO] [stdout] | [INFO] [stdout] 209 | if let Some(item) = dict.get(&item) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^----^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/dict.rs:211:13 [INFO] [stdout] | [INFO] [stdout] 211 | } 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] 209 ~ match dict.get(&item) { Some(item) => { [INFO] [stdout] 210 | Ok(item.clone()) [INFO] [stdout] 211 ~ } _ => { [INFO] [stdout] 212 | // In case index is an int that can be turned into an usize, [INFO] [stdout] ... [INFO] [stdout] 222 | Ok(default) [INFO] [stdout] 223 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/dict.rs:245:12 [INFO] [stdout] | [INFO] [stdout] 245 | if let Some(dict) = dict.object_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/value/dict.rs:253:9 [INFO] [stdout] | [INFO] [stdout] 253 | } 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] 245 ~ match dict.object_mut::() { Some(dict) => { [INFO] [stdout] 246 | if value.is_void() { [INFO] [stdout] ... [INFO] [stdout] 252 | } [INFO] [stdout] 253 ~ } _ => { [INFO] [stdout] 254 | Err(Error::from(format!( [INFO] [stdout] ... [INFO] [stdout] 259 | ))) [INFO] [stdout] 260 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/dict.rs:267:16 [INFO] [stdout] | [INFO] [stdout] 267 | if let Ok(other) = other.try_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/value/dict.rs:289:13 [INFO] [stdout] | [INFO] [stdout] 289 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 267 ~ match other.try_borrow() { Ok(other) => { [INFO] [stdout] 268 | if let Some(dict) = dict.object_mut::() { [INFO] [stdout] ... [INFO] [stdout] 288 | } [INFO] [stdout] 289 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/dict.rs:269:24 [INFO] [stdout] | [INFO] [stdout] 269 | if let Some(other) = other.object::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^-----^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/dict.rs:273:21 [INFO] [stdout] | [INFO] [stdout] 273 | } 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] 269 ~ match other.object::() { Some(other) => { [INFO] [stdout] 270 | for (k, v) in other.iter() { [INFO] [stdout] 271 | dict.insert(k.clone(), v.clone()); [INFO] [stdout] 272 | } [INFO] [stdout] 273 ~ } _ => { [INFO] [stdout] 274 | return Err(Error::from(format!( [INFO] [stdout] ... [INFO] [stdout] 279 | ))); [INFO] [stdout] 280 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/dict.rs:299:19 [INFO] [stdout] | [INFO] [stdout] 299 | Ok(if let Some(old) = dict.insert(key, 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/value/dict.rs:301:13 [INFO] [stdout] | [INFO] [stdout] 301 | } 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] 299 ~ Ok(match dict.insert(key, value) { Some(old) => { [INFO] [stdout] 300 | old [INFO] [stdout] 301 ~ } _ => { [INFO] [stdout] 302 | value!(void) [INFO] [stdout] 303 ~ }}) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/dict.rs:319:30 [INFO] [stdout] | [INFO] [stdout] 319 | return Ok(if let Some(last) = dict.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/value/dict.rs:321:17 [INFO] [stdout] | [INFO] [stdout] 321 | } 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] 319 ~ return Ok(match dict.pop() { Some(last) => { [INFO] [stdout] 320 | last.1 [INFO] [stdout] 321 ~ } _ => { [INFO] [stdout] 322 | default [INFO] [stdout] 323 ~ }}); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/dict.rs:326:19 [INFO] [stdout] | [INFO] [stdout] 326 | Ok(if let Some(value) = dict.shift_remove(&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/value/dict.rs:328:13 [INFO] [stdout] | [INFO] [stdout] 328 | } 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] 326 ~ Ok(match dict.shift_remove(&key) { Some(value) => { [INFO] [stdout] 327 | value [INFO] [stdout] 328 ~ } _ => { [INFO] [stdout] 329 | default [INFO] [stdout] 330 ~ }}) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/iter/iter.rs:56:17 [INFO] [stdout] | [INFO] [stdout] 56 | else if let Ok(Some(iter)) = value.call_method("iter", context, 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/value/iter/iter.rs:58:9 [INFO] [stdout] | [INFO] [stdout] 58 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 56 ~ else { match value.call_method("iter", context, Vec::new()) { Ok(Some(iter)) => { [INFO] [stdout] 57 | Ok(iter) [INFO] [stdout] 58 ~ } _ => { [INFO] [stdout] 59 | Ok(RefValue::from(MethodIter::new(value))) [INFO] [stdout] 60 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/iter/iter.rs:68:12 [INFO] [stdout] | [INFO] [stdout] 68 | if let Some(iter) = iter.object_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/value/iter/iter.rs:74:9 [INFO] [stdout] | [INFO] [stdout] 74 | } 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] 68 ~ match iter.object_mut::() { Some(iter) => { [INFO] [stdout] 69 | Ok(RefValue::from( [INFO] [stdout] ... [INFO] [stdout] 73 | )) [INFO] [stdout] 74 ~ } _ => { [INFO] [stdout] 75 | Err(Error::from(format!( [INFO] [stdout] ... [INFO] [stdout] 80 | ))) [INFO] [stdout] 81 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/iter/iter.rs:88:16 [INFO] [stdout] | [INFO] [stdout] 88 | if let Some(iter) = iter.object_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/value/iter/iter.rs:90:13 [INFO] [stdout] | [INFO] [stdout] 90 | } 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] 88 ~ match iter.object_mut::() { Some(iter) => { [INFO] [stdout] 89 | iter.count() [INFO] [stdout] 90 ~ } _ => { [INFO] [stdout] 91 | 1 [INFO] [stdout] 92 ~ }}, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/iter/iter.rs:100:16 [INFO] [stdout] | [INFO] [stdout] 100 | if let Some(iter) = iter.object_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/value/iter/iter.rs:102:13 [INFO] [stdout] | [INFO] [stdout] 102 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 100 ~ match iter.object_mut::() { Some(iter) => { [INFO] [stdout] 101 | iter.iter.rev()?; [INFO] [stdout] 102 ~ } _ => { [INFO] [stdout] 103 | return Err(Error::from(format!( [INFO] [stdout] ... [INFO] [stdout] 108 | ))); [INFO] [stdout] 109 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/iter/iter.rs:118:12 [INFO] [stdout] | [INFO] [stdout] 118 | if let Some(iter) = iter.object_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/value/iter/iter.rs:127:9 [INFO] [stdout] | [INFO] [stdout] 127 | } 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] 118 ~ match iter.object_mut::() { Some(iter) => { [INFO] [stdout] 119 | let mut context = context; [INFO] [stdout] ... [INFO] [stdout] 126 | Ok(RefValue::from(list)) [INFO] [stdout] 127 ~ } _ => { [INFO] [stdout] 128 | return Err(Error::from(format!( [INFO] [stdout] ... [INFO] [stdout] 133 | ))); [INFO] [stdout] 134 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/iter/iter.rs:122:19 [INFO] [stdout] | [INFO] [stdout] 122 | while let Some(item) = iter.iter.next(context.as_deref_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/value/iter/iter.rs:124:13 [INFO] [stdout] | [INFO] [stdout] 124 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/iter/mapiter.rs:39:15 [INFO] [stdout] | [INFO] [stdout] 39 | while let Some(next) = { [INFO] [stdout] | _______________^ - [INFO] [stdout] | |________________________________| [INFO] [stdout] 40 | || let mut iter = self.iter.borrow_mut(); [INFO] [stdout] 41 | || let iter = iter.object_mut::().expect("Iter object expected"); [INFO] [stdout] 42 | || iter.iter.next(context.as_deref_mut()) [INFO] [stdout] 43 | || } { [INFO] [stdout] | ||_________^ 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/value/iter/mapiter.rs:54:9 [INFO] [stdout] | [INFO] [stdout] 54 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/iter/methoditer.rs:71:12 [INFO] [stdout] | [INFO] [stdout] 71 | if let Some(index) = &self.index { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/iter/methoditer.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 79 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 71 ~ match &self.index { Some(index) => { [INFO] [stdout] 72 | format!( [INFO] [stdout] ... [INFO] [stdout] 78 | ) [INFO] [stdout] 79 ~ } _ => { [INFO] [stdout] 80 | format!( [INFO] [stdout] ... [INFO] [stdout] 85 | ) [INFO] [stdout] 86 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/list.rs:90:30 [INFO] [stdout] | [INFO] [stdout] 90 | Ok(RefValue::from(if let Some(list) = list.object::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^----^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/list.rs:92:9 [INFO] [stdout] | [INFO] [stdout] 92 | } 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] 90 ~ Ok(RefValue::from(match list.object::() { Some(list) => { [INFO] [stdout] 91 | list.len() [INFO] [stdout] 92 ~ } _ => { [INFO] [stdout] 93 | 1 [INFO] [stdout] 94 ~ }})) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/list.rs:106:16 [INFO] [stdout] | [INFO] [stdout] 106 | if let Some(value) = list.object::().unwrap().get(item) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/list.rs:108:13 [INFO] [stdout] | [INFO] [stdout] 108 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 106 ~ match list.object::().unwrap().get(item) { Some(value) => { [INFO] [stdout] 107 | return Ok(value.clone()); [INFO] [stdout] 108 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/list.rs:148:20 [INFO] [stdout] | [INFO] [stdout] 148 | if let Some(list) = item.borrow().object::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^-------------^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/list.rs:152:17 [INFO] [stdout] | [INFO] [stdout] 152 | } 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] 148 ~ match item.borrow().object::() { Some(list) => { [INFO] [stdout] 149 | for item in list.iter() { [INFO] [stdout] 150 | ret.push(item.clone()); [INFO] [stdout] 151 | } [INFO] [stdout] 152 ~ } _ => { [INFO] [stdout] 153 | ret.push(item.clone()); [INFO] [stdout] 154 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/list.rs:180:16 [INFO] [stdout] | [INFO] [stdout] 180 | if let Some(append) = to_append.object::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^---------^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/list.rs:187:13 [INFO] [stdout] | [INFO] [stdout] 187 | } 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 ~ match to_append.object::() { Some(append) => { [INFO] [stdout] 181 | inner.reserve(append.len()); [INFO] [stdout] ... [INFO] [stdout] 186 | // Otherwise, just push append to the list. [INFO] [stdout] 187 ~ } _ => { [INFO] [stdout] 188 | inner.push(append.clone()); [INFO] [stdout] 189 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/list.rs:215:12 [INFO] [stdout] | [INFO] [stdout] 215 | if let Some(append) = append.borrow().object::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^---------------^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/list.rs:222:9 [INFO] [stdout] | [INFO] [stdout] 222 | } 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 ~ match append.borrow().object::() { Some(append) => { [INFO] [stdout] 216 | list.reserve(append.len()); [INFO] [stdout] ... [INFO] [stdout] 221 | // Otherwise, just push append to the list. [INFO] [stdout] 222 ~ } _ => { [INFO] [stdout] 223 | list.push(append.clone()); [INFO] [stdout] 224 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/parselet.rs:94:16 [INFO] [stdout] | [INFO] [stdout] 94 | if let Some((reader_end, result)) = thread.memo.get(&(reader_start.offset, id)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/parselet.rs:97:13 [INFO] [stdout] | [INFO] [stdout] 97 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 94 ~ match thread.memo.get(&(reader_start.offset, id)) { Some((reader_end, result)) => { [INFO] [stdout] 95 | thread.reader.reset(*reader_end); [INFO] [stdout] 96 | return result.clone(); [INFO] [stdout] 97 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/parselet.rs:148:24 [INFO] [stdout] | [INFO] [stdout] 148 | if let Some(value) = nargs.remove_str(&arg.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/value/parselet.rs:151:21 [INFO] [stdout] | [INFO] [stdout] 151 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 148 ~ match nargs.remove_str(&arg.0) { Some(value) => { [INFO] [stdout] 149 | *var = Capture::Value(value, None, 0); [INFO] [stdout] 150 | continue; [INFO] [stdout] 151 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/parselet.rs:173:16 [INFO] [stdout] | [INFO] [stdout] 173 | if let Some((name, _)) = nargs.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/value/parselet.rs:188:13 [INFO] [stdout] | [INFO] [stdout] 188 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 173 ~ match nargs.pop() { Some((name, _)) => { [INFO] [stdout] 174 | return Err(match nargs.len() { [INFO] [stdout] ... [INFO] [stdout] 187 | .into(); [INFO] [stdout] 188 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/refvalue.rs:118:20 [INFO] [stdout] | [INFO] [stdout] 118 | if let Ok(that) = operand.try_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/value/refvalue.rs:165:17 [INFO] [stdout] | [INFO] [stdout] 165 | } 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] 118 ~ match operand.try_borrow() { Ok(that) => { [INFO] [stdout] 119 | match (&mut *this, &*that) { [INFO] [stdout] ... [INFO] [stdout] 164 | } [INFO] [stdout] 165 ~ } _ => { [INFO] [stdout] 166 | None [INFO] [stdout] 167 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/str.rs:129:12 [INFO] [stdout] | [INFO] [stdout] 129 | if let Some(append) = append.borrow().object::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^---------------^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/str.rs:131:9 [INFO] [stdout] | [INFO] [stdout] 131 | } 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] 129 ~ match append.borrow().object::() { Some(append) => { [INFO] [stdout] 130 | string.push_str(append.as_str()); [INFO] [stdout] 131 ~ } _ => { [INFO] [stdout] 132 | string.push_str(&append.to_string()); // todo: this might me done more memory saving [INFO] [stdout] 133 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/str.rs:148:15 [INFO] [stdout] | [INFO] [stdout] 148 | Ok(if let Some(postfix) = postfix.object::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^-------^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/str.rs:150:9 [INFO] [stdout] | [INFO] [stdout] 150 | } 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] 148 ~ Ok(match postfix.object::() { Some(postfix) => { [INFO] [stdout] 149 | value!(string.ends_with(postfix.as_str())) [INFO] [stdout] 150 ~ } _ => { [INFO] [stdout] 151 | value!(string.ends_with(&postfix.to_string())) [INFO] [stdout] 152 ~ }}) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/str.rs:246:15 [INFO] [stdout] | [INFO] [stdout] 246 | Ok(if let Some(prefix) = prefix.object::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/str.rs:248:9 [INFO] [stdout] | [INFO] [stdout] 248 | } 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] 246 ~ Ok(match prefix.object::() { Some(prefix) => { [INFO] [stdout] 247 | value!(string.starts_with(prefix.as_str())) [INFO] [stdout] 248 ~ } _ => { [INFO] [stdout] 249 | value!(string.starts_with(&prefix.to_string())) [INFO] [stdout] 250 ~ }}) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/value.rs:49:16 [INFO] [stdout] | [INFO] [stdout] 49 | if let Ok(inner) = o.into_any().downcast::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^---------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/value.rs:51:13 [INFO] [stdout] | [INFO] [stdout] 51 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 49 ~ match o.into_any().downcast::() { Ok(inner) => { [INFO] [stdout] 50 | return Some(*inner); [INFO] [stdout] 51 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/value.rs:60:12 [INFO] [stdout] | [INFO] [stdout] 60 | if let Ok(value) = value.to_bigint() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^-----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/value.rs:62:9 [INFO] [stdout] | [INFO] [stdout] 62 | } 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] 60 ~ match value.to_bigint() { Ok(value) => { [INFO] [stdout] 61 | Ok(RefValue::from(value)) [INFO] [stdout] 62 ~ } _ => { [INFO] [stdout] 63 | Err(Error::from(format!( [INFO] [stdout] ... [INFO] [stdout] 66 | ))) [INFO] [stdout] 67 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/value/value.rs:70:12 [INFO] [stdout] | [INFO] [stdout] 70 | if let Ok(value) = value.to_f64() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^-----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/value/value.rs:72:9 [INFO] [stdout] | [INFO] [stdout] 72 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 70 ~ match value.to_f64() { Ok(value) => { [INFO] [stdout] 71 | Ok(RefValue::from(value)) [INFO] [stdout] 72 ~ } _ => { [INFO] [stdout] 73 | Err(Error::from(format!( [INFO] [stdout] ... [INFO] [stdout] 76 | ))) [INFO] [stdout] 77 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm/capture.rs:23:24 [INFO] [stdout] | [INFO] [stdout] 23 | if let Some(alias) = alias.object::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^-----^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/vm/capture.rs:25:21 [INFO] [stdout] | [INFO] [stdout] 25 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 23 ~ match alias.object::() { Some(alias) => { [INFO] [stdout] 24 | return alias.as_str() == name; [INFO] [stdout] 25 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm/capture.rs:99:20 [INFO] [stdout] | [INFO] [stdout] 99 | if let Ok(value) = value.try_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/vm/capture.rs:101:17 [INFO] [stdout] | [INFO] [stdout] 101 | } 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] 99 ~ match value.try_borrow() { Ok(value) => { [INFO] [stdout] 100 | write!(f, "[{:x?}] {} ({})", value.id(), value.repr(), severity) [INFO] [stdout] 101 ~ } _ => { [INFO] [stdout] 102 | write!(f, " ({})", severity) [INFO] [stdout] 103 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm/context.rs:335:24 [INFO] [stdout] | [INFO] [stdout] 335 | if let Some(alias) = alias { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/vm/context.rs:344:21 [INFO] [stdout] | [INFO] [stdout] 344 | } 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] 335 ~ match alias { Some(alias) => { [INFO] [stdout] 336 | // Move list items into dict when this is the first entry [INFO] [stdout] ... [INFO] [stdout] 343 | dict.insert(RefValue::from(alias), value); [INFO] [stdout] 344 ~ } _ => { [INFO] [stdout] 345 | // Eiher collect into list, or insert into the dict [INFO] [stdout] ... [INFO] [stdout] 350 | } [INFO] [stdout] 351 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm/context.rs:365:24 [INFO] [stdout] | [INFO] [stdout] 365 | if let Some(alias) = alias { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/vm/context.rs:382:21 [INFO] [stdout] | [INFO] [stdout] 382 | } else if !value.is_void() { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 365 ~ match alias { Some(alias) => { [INFO] [stdout] 366 | // Move list items into dict when this is the first entry [INFO] [stdout] ... [INFO] [stdout] 381 | ); [INFO] [stdout] 382 ~ } _ => if !value.is_void() { [INFO] [stdout] 383 | // Eiher collect into list, or insert into the dict [INFO] [stdout] ... [INFO] [stdout] 388 | } [INFO] [stdout] 389 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm/context.rs:436:20 [INFO] [stdout] | [INFO] [stdout] 436 | if let Capture::Value(value, ..) = &mut self.var { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/vm/context.rs:443:17 [INFO] [stdout] | [INFO] [stdout] 443 | } else if self.stack.len() > self.frame.capture_start { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 436 ~ match &mut self.var { Capture::Value(value, ..) => { [INFO] [stdout] 437 | state = Ok(Accept::Push(Capture::Value( [INFO] [stdout] ... [INFO] [stdout] 442 | // Otherwise, push last value [INFO] [stdout] 443 ~ } _ => if self.stack.len() > self.frame.capture_start { [INFO] [stdout] 444 | state = [INFO] [stdout] 445 | Ok(Accept::Push(self.stack.pop().unwrap()) [INFO] [stdout] 446 | .into_push(self.parselet.severity)); [INFO] [stdout] 447 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm/op.rs:301:27 [INFO] [stdout] | [INFO] [stdout] 301 | Ok(if let Some(value) = 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/vm/op.rs:303:21 [INFO] [stdout] | [INFO] [stdout] 303 | } 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] 301 ~ Ok(match value { Some(value) => { [INFO] [stdout] 302 | Accept::Push(Capture::Value(value, None, 10)) [INFO] [stdout] 303 ~ } _ => { [INFO] [stdout] 304 | context.stack.push(Capture::Empty); [INFO] [stdout] 305 | Accept::Hold [INFO] [stdout] 306 ~ }}) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm/op.rs:436:24 [INFO] [stdout] | [INFO] [stdout] 436 | if let Some(nargs) = nargs.into_object::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^--------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/vm/op.rs:438:21 [INFO] [stdout] | [INFO] [stdout] 438 | } 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] 436 ~ match nargs.into_object::() { Some(nargs) => { [INFO] [stdout] 437 | target.call_direct(context, *args, Some(nargs)) [INFO] [stdout] 438 ~ } _ => { [INFO] [stdout] 439 | panic!("nargs operand required to be dict") [INFO] [stdout] 440 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm/op.rs:459:24 [INFO] [stdout] | [INFO] [stdout] 459 | if let Some(nargs) = nargs.into_object::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^--------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/vm/op.rs:465:21 [INFO] [stdout] | [INFO] [stdout] 465 | } 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] 459 ~ match nargs.into_object::() { Some(nargs) => { [INFO] [stdout] 460 | context.thread.program.statics[addr_args.0].call_direct( [INFO] [stdout] ... [INFO] [stdout] 464 | ) [INFO] [stdout] 465 ~ } _ => { [INFO] [stdout] 466 | panic!("nargs operand required to be dict") [INFO] [stdout] 467 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm/op.rs:498:42 [INFO] [stdout] | [INFO] [stdout] 498 | let mut capture = if let Some(alias) = index.object::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^-----^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/vm/op.rs:502:21 [INFO] [stdout] | [INFO] [stdout] 502 | } 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] 498 ~ let mut capture = match index.object::() { Some(alias) => { [INFO] [stdout] 499 | context [INFO] [stdout] 500 | .get_capture_by_name(alias.as_str()) [INFO] [stdout] 501 | .unwrap_or(Capture::Empty) [INFO] [stdout] 502 ~ } _ => { [INFO] [stdout] 503 | context [INFO] [stdout] 504 | .get_capture(index.to_usize()?) [INFO] [stdout] 505 | .unwrap_or(Capture::Empty) [INFO] [stdout] 506 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm/op.rs:582:24 [INFO] [stdout] | [INFO] [stdout] 582 | if let Some(alias) = index.object::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^-----^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/vm/op.rs:592:21 [INFO] [stdout] | [INFO] [stdout] 592 | } 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] 582 ~ match index.object::() { Some(alias) => { [INFO] [stdout] 583 | if matches!(op, Op::StoreCapture) { [INFO] [stdout] ... [INFO] [stdout] 591 | } [INFO] [stdout] 592 ~ } _ => { [INFO] [stdout] 593 | if matches!(op, Op::StoreCapture) { [INFO] [stdout] ... [INFO] [stdout] 601 | } [INFO] [stdout] 602 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm/program.rs:27:16 [INFO] [stdout] | [INFO] [stdout] 27 | if let Some(parselet) = self.statics[i].borrow().object::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^------------------------^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/vm/program.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 27 ~ match self.statics[i].borrow().object::() { Some(parselet) => { [INFO] [stdout] 28 | return parselet.clone(); [INFO] [stdout] 29 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm/program.rs:56:19 [INFO] [stdout] | [INFO] [stdout] 56 | } else if let Ok(file) = File::open(filename) { [INFO] [stdout] | ^^^^^^^^^^^^^^^-------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/vm/program.rs:58:9 [INFO] [stdout] | [INFO] [stdout] 58 | } 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] 56 ~ } else { match File::open(filename) { Ok(file) => { [INFO] [stdout] 57 | self.run_from_reader(Reader::new(Some(filename.to_string()), Box::new(file))) [INFO] [stdout] 58 ~ } _ => { [INFO] [stdout] 59 | Err(Error::new( [INFO] [stdout] ... [INFO] [stdout] 62 | )) [INFO] [stdout] 63 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 67 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating src/main.rs from 2021 edition to 2024 [INFO] [stderr] Fixed src/main.rs (4 fixes) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 40.16s [INFO] [stderr] Running `cargo check` to verify 2024 [INFO] [stderr] Checking tokay v0.6.6 (/tmp/fixit) [INFO] [stdout] error[E0133]: call to unsafe function `set_var` is unsafe and requires unsafe block [INFO] [stdout] --> src/compiler/compiler.rs:190:13 [INFO] [stdout] | [INFO] [stdout] 190 | std::env::set_var("RUST_LOG", log.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0133]: call to unsafe function `set_var` is unsafe and requires unsafe block [INFO] [stdout] --> src/compiler/compiler.rs:190:13 [INFO] [stdout] | [INFO] [stdout] 190 | std::env::set_var("RUST_LOG", log.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] error: could not compile `tokay` (lib) due to 2 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] error: could not compile `tokay` (lib test) due to 2 previous errors [INFO] [stderr] error: failed to check after updating to 2024 [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `cargo check --frozen --all --all-targets --message-format=json` (exit status: 101) [INFO] running `Command { std: "docker" "inspect" "ff8386dcb4d98423dba9a62cdacb9b362fe65a7f968c8ef7491e80919c09231b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ff8386dcb4d98423dba9a62cdacb9b362fe65a7f968c8ef7491e80919c09231b", kill_on_drop: false }` [INFO] [stdout] ff8386dcb4d98423dba9a62cdacb9b362fe65a7f968c8ef7491e80919c09231b